Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from 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 __IReferenceClockTimerControl_FWD_DEFINED__
     66 #define __IReferenceClockTimerControl_FWD_DEFINED__
     67 typedef interface IReferenceClockTimerControl IReferenceClockTimerControl;
     68 #endif
     69 
     70 #ifndef __IReferenceClock2_FWD_DEFINED__
     71 #define __IReferenceClock2_FWD_DEFINED__
     72 typedef interface IReferenceClock2 IReferenceClock2;
     73 #endif
     74 
     75 #ifndef __IMediaSample_FWD_DEFINED__
     76 #define __IMediaSample_FWD_DEFINED__
     77 typedef interface IMediaSample IMediaSample;
     78 #endif
     79 
     80 #ifndef __IMediaSample2_FWD_DEFINED__
     81 #define __IMediaSample2_FWD_DEFINED__
     82 typedef interface IMediaSample2 IMediaSample2;
     83 #endif
     84 
     85 #ifndef __IMediaSample2Config_FWD_DEFINED__
     86 #define __IMediaSample2Config_FWD_DEFINED__
     87 typedef interface IMediaSample2Config IMediaSample2Config;
     88 #endif
     89 
     90 #ifndef __IMemAllocator_FWD_DEFINED__
     91 #define __IMemAllocator_FWD_DEFINED__
     92 typedef interface IMemAllocator IMemAllocator;
     93 #endif
     94 
     95 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
     96 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
     97 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
     98 #endif
     99 
    100 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
    101 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
    102 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
    103 #endif
    104 
    105 #ifndef __IMemInputPin_FWD_DEFINED__
    106 #define __IMemInputPin_FWD_DEFINED__
    107 typedef interface IMemInputPin IMemInputPin;
    108 #endif
    109 
    110 #ifndef __IAMovieSetup_FWD_DEFINED__
    111 #define __IAMovieSetup_FWD_DEFINED__
    112 typedef interface IAMovieSetup IAMovieSetup;
    113 #endif
    114 
    115 #ifndef __IMediaSeeking_FWD_DEFINED__
    116 #define __IMediaSeeking_FWD_DEFINED__
    117 typedef interface IMediaSeeking IMediaSeeking;
    118 #endif
    119 
    120 #ifndef __IEnumRegFilters_FWD_DEFINED__
    121 #define __IEnumRegFilters_FWD_DEFINED__
    122 typedef interface IEnumRegFilters IEnumRegFilters;
    123 #endif
    124 
    125 #ifndef __IFilterMapper_FWD_DEFINED__
    126 #define __IFilterMapper_FWD_DEFINED__
    127 typedef interface IFilterMapper IFilterMapper;
    128 #endif
    129 
    130 #ifndef __IFilterMapper2_FWD_DEFINED__
    131 #define __IFilterMapper2_FWD_DEFINED__
    132 typedef interface IFilterMapper2 IFilterMapper2;
    133 #endif
    134 
    135 #ifndef __IFilterMapper3_FWD_DEFINED__
    136 #define __IFilterMapper3_FWD_DEFINED__
    137 typedef interface IFilterMapper3 IFilterMapper3;
    138 #endif
    139 
    140 #ifndef __IQualityControl_FWD_DEFINED__
    141 #define __IQualityControl_FWD_DEFINED__
    142 typedef interface IQualityControl IQualityControl;
    143 #endif
    144 
    145 #ifndef __IOverlayNotify_FWD_DEFINED__
    146 #define __IOverlayNotify_FWD_DEFINED__
    147 typedef interface IOverlayNotify IOverlayNotify;
    148 #endif
    149 
    150 #ifndef __IOverlayNotify2_FWD_DEFINED__
    151 #define __IOverlayNotify2_FWD_DEFINED__
    152 typedef interface IOverlayNotify2 IOverlayNotify2;
    153 #endif
    154 
    155 #ifndef __IOverlay_FWD_DEFINED__
    156 #define __IOverlay_FWD_DEFINED__
    157 typedef interface IOverlay IOverlay;
    158 #endif
    159 
    160 #ifndef __IMediaEventSink_FWD_DEFINED__
    161 #define __IMediaEventSink_FWD_DEFINED__
    162 typedef interface IMediaEventSink IMediaEventSink;
    163 #endif
    164 
    165 #ifndef __IFileSourceFilter_FWD_DEFINED__
    166 #define __IFileSourceFilter_FWD_DEFINED__
    167 typedef interface IFileSourceFilter IFileSourceFilter;
    168 #endif
    169 
    170 #ifndef __IFileSinkFilter_FWD_DEFINED__
    171 #define __IFileSinkFilter_FWD_DEFINED__
    172 typedef interface IFileSinkFilter IFileSinkFilter;
    173 #endif
    174 
    175 #ifndef __IFileSinkFilter2_FWD_DEFINED__
    176 #define __IFileSinkFilter2_FWD_DEFINED__
    177 typedef interface IFileSinkFilter2 IFileSinkFilter2;
    178 #endif
    179 
    180 #ifndef __IGraphBuilder_FWD_DEFINED__
    181 #define __IGraphBuilder_FWD_DEFINED__
    182 typedef interface IGraphBuilder IGraphBuilder;
    183 #endif
    184 
    185 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
    186 #define __ICaptureGraphBuilder_FWD_DEFINED__
    187 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
    188 #endif
    189 
    190 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
    191 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
    192 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
    193 #endif
    194 
    195 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
    196 #define __ICaptureGraphBuilder2_FWD_DEFINED__
    197 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
    198 #endif
    199 
    200 #ifndef __IConfigAviMux_FWD_DEFINED__
    201 #define __IConfigAviMux_FWD_DEFINED__
    202 typedef interface IConfigAviMux IConfigAviMux;
    203 #endif
    204 
    205 #ifndef __IConfigInterleaving_FWD_DEFINED__
    206 #define __IConfigInterleaving_FWD_DEFINED__
    207 typedef interface IConfigInterleaving IConfigInterleaving;
    208 #endif
    209 
    210 #ifndef __IAMClockSlave_FWD_DEFINED__
    211 #define __IAMClockSlave_FWD_DEFINED__
    212 typedef interface IAMClockSlave IAMClockSlave;
    213 #endif
    214 
    215 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__
    216 #define __IAMCertifiedOutputProtection_FWD_DEFINED__
    217 typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
    218 #endif
    219 
    220 #ifndef __IFilterGraph2_FWD_DEFINED__
    221 #define __IFilterGraph2_FWD_DEFINED__
    222 typedef interface IFilterGraph2 IFilterGraph2;
    223 #endif
    224 
    225 #ifndef __IStreamBuilder_FWD_DEFINED__
    226 #define __IStreamBuilder_FWD_DEFINED__
    227 typedef interface IStreamBuilder IStreamBuilder;
    228 #endif
    229 
    230 #ifndef __IAMStreamConfig_FWD_DEFINED__
    231 #define __IAMStreamConfig_FWD_DEFINED__
    232 typedef interface IAMStreamConfig IAMStreamConfig;
    233 #endif
    234 
    235 #ifndef __IAMVideoProcAmp_FWD_DEFINED__
    236 #define __IAMVideoProcAmp_FWD_DEFINED__
    237 typedef interface IAMVideoProcAmp IAMVideoProcAmp;
    238 #endif
    239 
    240 #ifndef __IAsyncReader_FWD_DEFINED__
    241 #define __IAsyncReader_FWD_DEFINED__
    242 typedef interface IAsyncReader IAsyncReader;
    243 #endif
    244 
    245 #ifndef __IGraphVersion_FWD_DEFINED__
    246 #define __IGraphVersion_FWD_DEFINED__
    247 typedef interface IGraphVersion IGraphVersion;
    248 #endif
    249 
    250 #ifndef __IResourceConsumer_FWD_DEFINED__
    251 #define __IResourceConsumer_FWD_DEFINED__
    252 typedef interface IResourceConsumer IResourceConsumer;
    253 #endif
    254 
    255 #ifndef __IResourceManager_FWD_DEFINED__
    256 #define __IResourceManager_FWD_DEFINED__
    257 typedef interface IResourceManager IResourceManager;
    258 #endif
    259 
    260 #ifndef __IAMStreamControl_FWD_DEFINED__
    261 #define __IAMStreamControl_FWD_DEFINED__
    262 typedef interface IAMStreamControl IAMStreamControl;
    263 #endif
    264 
    265 #ifndef __IKsPropertySet_FWD_DEFINED__
    266 #define __IKsPropertySet_FWD_DEFINED__
    267 typedef interface IKsPropertySet IKsPropertySet;
    268 #endif
    269 
    270 #ifndef __IMediaPropertyBag_FWD_DEFINED__
    271 #define __IMediaPropertyBag_FWD_DEFINED__
    272 typedef interface IMediaPropertyBag IMediaPropertyBag;
    273 #endif
    274 
    275 #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
    276 #define __IPersistMediaPropertyBag_FWD_DEFINED__
    277 typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
    278 #endif
    279 
    280 #ifndef __ISeekingPassThru_FWD_DEFINED__
    281 #define __ISeekingPassThru_FWD_DEFINED__
    282 typedef interface ISeekingPassThru ISeekingPassThru;
    283 #endif
    284 
    285 #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
    286 #define __IAMFilterMiscFlags_FWD_DEFINED__
    287 typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
    288 #endif
    289 
    290 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
    291 #define __IAMGraphBuilderCallback_FWD_DEFINED__
    292 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
    293 #endif
    294 
    295 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
    296 #define __IAMVfwCaptureDialogs_FWD_DEFINED__
    297 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
    298 #endif
    299 
    300 /* Headers for imported files */
    301 
    302 #include <unknwn.h>
    303 #include <objidl.h>
    304 #include <oaidl.h>
    305 
    306 #ifdef __cplusplus
    307 extern "C" {
    308 #endif
    309 
    310 /**
    311  * This file is part of the mingw-w64 runtime package.
    312  * No warranty is given; refer to the file DISCLAIMER within this package.
    313  */
    314 
    315 #include <winapifamily.h>
    316 
    317 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
    318 
    319 #define CDEF_CLASS_DEFAULT 0x1
    320 #define CDEF_BYPASS_CLASS_MANAGER 0x2
    321 #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x8
    322 #define CDEF_DEVMON_CMGR_DEVICE 0x10
    323 #define CDEF_DEVMON_DMO 0x20
    324 #define CDEF_DEVMON_PNP_DEVICE 0x40
    325 #define CDEF_DEVMON_FILTER 0x80
    326 
    327 #define CDEF_DEVMON_SELECTIVE_MASK 0xf0
    328 
    329 
    330 /*****************************************************************************
    331  * ICreateDevEnum interface
    332  */
    333 #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
    334 #define __ICreateDevEnum_INTERFACE_DEFINED__
    335 
    336 DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86);
    337 #if defined(__cplusplus) && !defined(CINTERFACE)
    338 MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86")
    339 ICreateDevEnum : public IUnknown
    340 {
    341     virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator(
    342         REFCLSID clsidDeviceClass,
    343         IEnumMoniker **ppEnumMoniker,
    344         DWORD dwFlags) = 0;
    345 
    346 };
    347 #ifdef __CRT_UUID_DECL
    348 __CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86)
    349 #endif
    350 #else
    351 typedef struct ICreateDevEnumVtbl {
    352     BEGIN_INTERFACE
    353 
    354     /*** IUnknown methods ***/
    355     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    356         ICreateDevEnum* This,
    357         REFIID riid,
    358         void **ppvObject);
    359 
    360     ULONG (STDMETHODCALLTYPE *AddRef)(
    361         ICreateDevEnum* This);
    362 
    363     ULONG (STDMETHODCALLTYPE *Release)(
    364         ICreateDevEnum* This);
    365 
    366     /*** ICreateDevEnum methods ***/
    367     HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)(
    368         ICreateDevEnum* This,
    369         REFCLSID clsidDeviceClass,
    370         IEnumMoniker **ppEnumMoniker,
    371         DWORD dwFlags);
    372 
    373     END_INTERFACE
    374 } ICreateDevEnumVtbl;
    375 interface ICreateDevEnum {
    376     CONST_VTBL ICreateDevEnumVtbl* lpVtbl;
    377 };
    378 
    379 #ifdef COBJMACROS
    380 #ifndef WIDL_C_INLINE_WRAPPERS
    381 /*** IUnknown methods ***/
    382 #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    383 #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This)
    384 #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This)
    385 /*** ICreateDevEnum methods ***/
    386 #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
    387 #else
    388 /*** IUnknown methods ***/
    389 static FORCEINLINE HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) {
    390     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    391 }
    392 static FORCEINLINE ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) {
    393     return This->lpVtbl->AddRef(This);
    394 }
    395 static FORCEINLINE ULONG ICreateDevEnum_Release(ICreateDevEnum* This) {
    396     return This->lpVtbl->Release(This);
    397 }
    398 /*** ICreateDevEnum methods ***/
    399 static FORCEINLINE HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) {
    400     return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags);
    401 }
    402 #endif
    403 #endif
    404 
    405 #endif
    406 
    407 HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy(
    408     ICreateDevEnum* This,
    409     REFCLSID clsidDeviceClass,
    410     IEnumMoniker **ppEnumMoniker,
    411     DWORD dwFlags);
    412 void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
    413     IRpcStubBuffer* This,
    414     IRpcChannelBuffer* pRpcChannelBuffer,
    415     PRPC_MESSAGE pRpcMessage,
    416     DWORD* pdwStubPhase);
    417 
    418 #endif  /* __ICreateDevEnum_INTERFACE_DEFINED__ */
    419 
    420 #endif
    421 /**
    422  * This file is part of the mingw-w64 runtime package.
    423  * No warranty is given; refer to the file DISCLAIMER within this package.
    424  */
    425 
    426 #include <winapifamily.h>
    427 
    428 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
    429 
    430 #define CHARS_IN_GUID 39
    431 
    432 #ifdef WINE_NO_UNICODE_MACROS
    433 #undef GetTimeFormat
    434 #endif
    435 
    436 typedef struct _AMMediaType {
    437     GUID majortype;
    438     GUID subtype;
    439     WINBOOL bFixedSizeSamples;
    440     WINBOOL bTemporalCompression;
    441     ULONG lSampleSize;
    442     GUID formattype;
    443     IUnknown *pUnk;
    444     ULONG cbFormat;
    445     BYTE *pbFormat;
    446 } AM_MEDIA_TYPE;
    447 
    448 typedef enum _PinDirection {
    449     PINDIR_INPUT = 0,
    450     PINDIR_OUTPUT = 1
    451 } PIN_DIRECTION;
    452 
    453 #define MAX_PIN_NAME 128
    454 #define MAX_FILTER_NAME 128
    455 
    456 #ifndef REFERENCE_TIME_DEFINED
    457 #define REFERENCE_TIME_DEFINED
    458 typedef LONGLONG REFERENCE_TIME;
    459 #endif
    460 
    461 #ifndef REFTIME_DEFINED
    462 #define REFTIME_DEFINED
    463 typedef double REFTIME;
    464 #endif
    465 
    466 typedef DWORD_PTR HSEMAPHORE;
    467 typedef DWORD_PTR HEVENT;
    468 
    469 typedef struct _AllocatorProperties {
    470     LONG cBuffers;
    471     LONG cbBuffer;
    472     LONG cbAlign;
    473     LONG cbPrefix;
    474 } ALLOCATOR_PROPERTIES;
    475 
    476 #ifndef __IAMovieSetup_FWD_DEFINED__
    477 #define __IAMovieSetup_FWD_DEFINED__
    478 typedef interface IAMovieSetup IAMovieSetup;
    479 #endif
    480 
    481 #ifndef __IEnumFilters_FWD_DEFINED__
    482 #define __IEnumFilters_FWD_DEFINED__
    483 typedef interface IEnumFilters IEnumFilters;
    484 #endif
    485 
    486 #ifndef __IEnumMediaTypes_FWD_DEFINED__
    487 #define __IEnumMediaTypes_FWD_DEFINED__
    488 typedef interface IEnumMediaTypes IEnumMediaTypes;
    489 #endif
    490 
    491 #ifndef __IEnumPins_FWD_DEFINED__
    492 #define __IEnumPins_FWD_DEFINED__
    493 typedef interface IEnumPins IEnumPins;
    494 #endif
    495 
    496 #ifndef __IBaseFilter_FWD_DEFINED__
    497 #define __IBaseFilter_FWD_DEFINED__
    498 typedef interface IBaseFilter IBaseFilter;
    499 #endif
    500 
    501 #ifndef __IFilterGraph_FWD_DEFINED__
    502 #define __IFilterGraph_FWD_DEFINED__
    503 typedef interface IFilterGraph IFilterGraph;
    504 #endif
    505 
    506 #ifndef __IMediaFilter_FWD_DEFINED__
    507 #define __IMediaFilter_FWD_DEFINED__
    508 typedef interface IMediaFilter IMediaFilter;
    509 #endif
    510 
    511 #ifndef __IMediaSample_FWD_DEFINED__
    512 #define __IMediaSample_FWD_DEFINED__
    513 typedef interface IMediaSample IMediaSample;
    514 #endif
    515 
    516 #ifndef __IMemAllocator_FWD_DEFINED__
    517 #define __IMemAllocator_FWD_DEFINED__
    518 typedef interface IMemAllocator IMemAllocator;
    519 #endif
    520 
    521 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
    522 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
    523 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
    524 #endif
    525 
    526 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
    527 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
    528 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
    529 #endif
    530 
    531 #ifndef __IMemInputPin_FWD_DEFINED__
    532 #define __IMemInputPin_FWD_DEFINED__
    533 typedef interface IMemInputPin IMemInputPin;
    534 #endif
    535 
    536 #ifndef __IPin_FWD_DEFINED__
    537 #define __IPin_FWD_DEFINED__
    538 typedef interface IPin IPin;
    539 #endif
    540 
    541 #ifndef __IReferenceClock_FWD_DEFINED__
    542 #define __IReferenceClock_FWD_DEFINED__
    543 typedef interface IReferenceClock IReferenceClock;
    544 #endif
    545 
    546 
    547 /*****************************************************************************
    548  * IPin interface
    549  */
    550 #ifndef __IPin_INTERFACE_DEFINED__
    551 #define __IPin_INTERFACE_DEFINED__
    552 
    553 typedef struct _PinInfo {
    554     IBaseFilter *pFilter;
    555     PIN_DIRECTION dir;
    556     WCHAR achName[128];
    557 } PIN_INFO;
    558 
    559 DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
    560 #if defined(__cplusplus) && !defined(CINTERFACE)
    561 MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
    562 IPin : public IUnknown
    563 {
    564     virtual HRESULT STDMETHODCALLTYPE Connect(
    565         IPin *pReceivePin,
    566         const AM_MEDIA_TYPE *pmt) = 0;
    567 
    568     virtual HRESULT STDMETHODCALLTYPE ReceiveConnection(
    569         IPin *pConnector,
    570         const AM_MEDIA_TYPE *pmt) = 0;
    571 
    572     virtual HRESULT STDMETHODCALLTYPE Disconnect(
    573         ) = 0;
    574 
    575     virtual HRESULT STDMETHODCALLTYPE ConnectedTo(
    576         IPin **pPin) = 0;
    577 
    578     virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType(
    579         AM_MEDIA_TYPE *pmt) = 0;
    580 
    581     virtual HRESULT STDMETHODCALLTYPE QueryPinInfo(
    582         PIN_INFO *pInfo) = 0;
    583 
    584     virtual HRESULT STDMETHODCALLTYPE QueryDirection(
    585         PIN_DIRECTION *pPinDir) = 0;
    586 
    587     virtual HRESULT STDMETHODCALLTYPE QueryId(
    588         LPWSTR *Id) = 0;
    589 
    590     virtual HRESULT STDMETHODCALLTYPE QueryAccept(
    591         const AM_MEDIA_TYPE *pmt) = 0;
    592 
    593     virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes(
    594         IEnumMediaTypes **ppEnum) = 0;
    595 
    596     virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections(
    597         IPin **apPin,
    598         ULONG *nPin) = 0;
    599 
    600     virtual HRESULT STDMETHODCALLTYPE EndOfStream(
    601         ) = 0;
    602 
    603     virtual HRESULT STDMETHODCALLTYPE BeginFlush(
    604         ) = 0;
    605 
    606     virtual HRESULT STDMETHODCALLTYPE EndFlush(
    607         ) = 0;
    608 
    609     virtual HRESULT STDMETHODCALLTYPE NewSegment(
    610         REFERENCE_TIME tStart,
    611         REFERENCE_TIME tStop,
    612         double dRate) = 0;
    613 
    614 };
    615 #ifdef __CRT_UUID_DECL
    616 __CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
    617 #endif
    618 #else
    619 typedef struct IPinVtbl {
    620     BEGIN_INTERFACE
    621 
    622     /*** IUnknown methods ***/
    623     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    624         IPin* This,
    625         REFIID riid,
    626         void **ppvObject);
    627 
    628     ULONG (STDMETHODCALLTYPE *AddRef)(
    629         IPin* This);
    630 
    631     ULONG (STDMETHODCALLTYPE *Release)(
    632         IPin* This);
    633 
    634     /*** IPin methods ***/
    635     HRESULT (STDMETHODCALLTYPE *Connect)(
    636         IPin* This,
    637         IPin *pReceivePin,
    638         const AM_MEDIA_TYPE *pmt);
    639 
    640     HRESULT (STDMETHODCALLTYPE *ReceiveConnection)(
    641         IPin* This,
    642         IPin *pConnector,
    643         const AM_MEDIA_TYPE *pmt);
    644 
    645     HRESULT (STDMETHODCALLTYPE *Disconnect)(
    646         IPin* This);
    647 
    648     HRESULT (STDMETHODCALLTYPE *ConnectedTo)(
    649         IPin* This,
    650         IPin **pPin);
    651 
    652     HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)(
    653         IPin* This,
    654         AM_MEDIA_TYPE *pmt);
    655 
    656     HRESULT (STDMETHODCALLTYPE *QueryPinInfo)(
    657         IPin* This,
    658         PIN_INFO *pInfo);
    659 
    660     HRESULT (STDMETHODCALLTYPE *QueryDirection)(
    661         IPin* This,
    662         PIN_DIRECTION *pPinDir);
    663 
    664     HRESULT (STDMETHODCALLTYPE *QueryId)(
    665         IPin* This,
    666         LPWSTR *Id);
    667 
    668     HRESULT (STDMETHODCALLTYPE *QueryAccept)(
    669         IPin* This,
    670         const AM_MEDIA_TYPE *pmt);
    671 
    672     HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)(
    673         IPin* This,
    674         IEnumMediaTypes **ppEnum);
    675 
    676     HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)(
    677         IPin* This,
    678         IPin **apPin,
    679         ULONG *nPin);
    680 
    681     HRESULT (STDMETHODCALLTYPE *EndOfStream)(
    682         IPin* This);
    683 
    684     HRESULT (STDMETHODCALLTYPE *BeginFlush)(
    685         IPin* This);
    686 
    687     HRESULT (STDMETHODCALLTYPE *EndFlush)(
    688         IPin* This);
    689 
    690     HRESULT (STDMETHODCALLTYPE *NewSegment)(
    691         IPin* This,
    692         REFERENCE_TIME tStart,
    693         REFERENCE_TIME tStop,
    694         double dRate);
    695 
    696     END_INTERFACE
    697 } IPinVtbl;
    698 interface IPin {
    699     CONST_VTBL IPinVtbl* lpVtbl;
    700 };
    701 
    702 #ifdef COBJMACROS
    703 #ifndef WIDL_C_INLINE_WRAPPERS
    704 /*** IUnknown methods ***/
    705 #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    706 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This)
    707 #define IPin_Release(This) (This)->lpVtbl->Release(This)
    708 /*** IPin methods ***/
    709 #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt)
    710 #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt)
    711 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This)
    712 #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin)
    713 #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt)
    714 #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo)
    715 #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir)
    716 #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id)
    717 #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt)
    718 #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum)
    719 #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin)
    720 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
    721 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
    722 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This)
    723 #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate)
    724 #else
    725 /*** IUnknown methods ***/
    726 static FORCEINLINE HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) {
    727     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    728 }
    729 static FORCEINLINE ULONG IPin_AddRef(IPin* This) {
    730     return This->lpVtbl->AddRef(This);
    731 }
    732 static FORCEINLINE ULONG IPin_Release(IPin* This) {
    733     return This->lpVtbl->Release(This);
    734 }
    735 /*** IPin methods ***/
    736 static FORCEINLINE HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) {
    737     return This->lpVtbl->Connect(This,pReceivePin,pmt);
    738 }
    739 static FORCEINLINE HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) {
    740     return This->lpVtbl->ReceiveConnection(This,pConnector,pmt);
    741 }
    742 static FORCEINLINE HRESULT IPin_Disconnect(IPin* This) {
    743     return This->lpVtbl->Disconnect(This);
    744 }
    745 static FORCEINLINE HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) {
    746     return This->lpVtbl->ConnectedTo(This,pPin);
    747 }
    748 static FORCEINLINE HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) {
    749     return This->lpVtbl->ConnectionMediaType(This,pmt);
    750 }
    751 static FORCEINLINE HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) {
    752     return This->lpVtbl->QueryPinInfo(This,pInfo);
    753 }
    754 static FORCEINLINE HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) {
    755     return This->lpVtbl->QueryDirection(This,pPinDir);
    756 }
    757 static FORCEINLINE HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) {
    758     return This->lpVtbl->QueryId(This,Id);
    759 }
    760 static FORCEINLINE HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) {
    761     return This->lpVtbl->QueryAccept(This,pmt);
    762 }
    763 static FORCEINLINE HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) {
    764     return This->lpVtbl->EnumMediaTypes(This,ppEnum);
    765 }
    766 static FORCEINLINE HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) {
    767     return This->lpVtbl->QueryInternalConnections(This,apPin,nPin);
    768 }
    769 static FORCEINLINE HRESULT IPin_EndOfStream(IPin* This) {
    770     return This->lpVtbl->EndOfStream(This);
    771 }
    772 static FORCEINLINE HRESULT IPin_BeginFlush(IPin* This) {
    773     return This->lpVtbl->BeginFlush(This);
    774 }
    775 static FORCEINLINE HRESULT IPin_EndFlush(IPin* This) {
    776     return This->lpVtbl->EndFlush(This);
    777 }
    778 static FORCEINLINE HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) {
    779     return This->lpVtbl->NewSegment(This,tStart,tStop,dRate);
    780 }
    781 #endif
    782 #endif
    783 
    784 #endif
    785 
    786 HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy(
    787     IPin* This,
    788     IPin *pReceivePin,
    789     const AM_MEDIA_TYPE *pmt);
    790 void __RPC_STUB IPin_Connect_Stub(
    791     IRpcStubBuffer* This,
    792     IRpcChannelBuffer* pRpcChannelBuffer,
    793     PRPC_MESSAGE pRpcMessage,
    794     DWORD* pdwStubPhase);
    795 HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy(
    796     IPin* This,
    797     IPin *pConnector,
    798     const AM_MEDIA_TYPE *pmt);
    799 void __RPC_STUB IPin_ReceiveConnection_Stub(
    800     IRpcStubBuffer* This,
    801     IRpcChannelBuffer* pRpcChannelBuffer,
    802     PRPC_MESSAGE pRpcMessage,
    803     DWORD* pdwStubPhase);
    804 HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy(
    805     IPin* This);
    806 void __RPC_STUB IPin_Disconnect_Stub(
    807     IRpcStubBuffer* This,
    808     IRpcChannelBuffer* pRpcChannelBuffer,
    809     PRPC_MESSAGE pRpcMessage,
    810     DWORD* pdwStubPhase);
    811 HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy(
    812     IPin* This,
    813     IPin **pPin);
    814 void __RPC_STUB IPin_ConnectedTo_Stub(
    815     IRpcStubBuffer* This,
    816     IRpcChannelBuffer* pRpcChannelBuffer,
    817     PRPC_MESSAGE pRpcMessage,
    818     DWORD* pdwStubPhase);
    819 HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy(
    820     IPin* This,
    821     AM_MEDIA_TYPE *pmt);
    822 void __RPC_STUB IPin_ConnectionMediaType_Stub(
    823     IRpcStubBuffer* This,
    824     IRpcChannelBuffer* pRpcChannelBuffer,
    825     PRPC_MESSAGE pRpcMessage,
    826     DWORD* pdwStubPhase);
    827 HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy(
    828     IPin* This,
    829     PIN_INFO *pInfo);
    830 void __RPC_STUB IPin_QueryPinInfo_Stub(
    831     IRpcStubBuffer* This,
    832     IRpcChannelBuffer* pRpcChannelBuffer,
    833     PRPC_MESSAGE pRpcMessage,
    834     DWORD* pdwStubPhase);
    835 HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy(
    836     IPin* This,
    837     PIN_DIRECTION *pPinDir);
    838 void __RPC_STUB IPin_QueryDirection_Stub(
    839     IRpcStubBuffer* This,
    840     IRpcChannelBuffer* pRpcChannelBuffer,
    841     PRPC_MESSAGE pRpcMessage,
    842     DWORD* pdwStubPhase);
    843 HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy(
    844     IPin* This,
    845     LPWSTR *Id);
    846 void __RPC_STUB IPin_QueryId_Stub(
    847     IRpcStubBuffer* This,
    848     IRpcChannelBuffer* pRpcChannelBuffer,
    849     PRPC_MESSAGE pRpcMessage,
    850     DWORD* pdwStubPhase);
    851 HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy(
    852     IPin* This,
    853     const AM_MEDIA_TYPE *pmt);
    854 void __RPC_STUB IPin_QueryAccept_Stub(
    855     IRpcStubBuffer* This,
    856     IRpcChannelBuffer* pRpcChannelBuffer,
    857     PRPC_MESSAGE pRpcMessage,
    858     DWORD* pdwStubPhase);
    859 HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy(
    860     IPin* This,
    861     IEnumMediaTypes **ppEnum);
    862 void __RPC_STUB IPin_EnumMediaTypes_Stub(
    863     IRpcStubBuffer* This,
    864     IRpcChannelBuffer* pRpcChannelBuffer,
    865     PRPC_MESSAGE pRpcMessage,
    866     DWORD* pdwStubPhase);
    867 HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy(
    868     IPin* This,
    869     IPin **apPin,
    870     ULONG *nPin);
    871 void __RPC_STUB IPin_QueryInternalConnections_Stub(
    872     IRpcStubBuffer* This,
    873     IRpcChannelBuffer* pRpcChannelBuffer,
    874     PRPC_MESSAGE pRpcMessage,
    875     DWORD* pdwStubPhase);
    876 HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy(
    877     IPin* This);
    878 void __RPC_STUB IPin_EndOfStream_Stub(
    879     IRpcStubBuffer* This,
    880     IRpcChannelBuffer* pRpcChannelBuffer,
    881     PRPC_MESSAGE pRpcMessage,
    882     DWORD* pdwStubPhase);
    883 HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy(
    884     IPin* This);
    885 void __RPC_STUB IPin_BeginFlush_Stub(
    886     IRpcStubBuffer* This,
    887     IRpcChannelBuffer* pRpcChannelBuffer,
    888     PRPC_MESSAGE pRpcMessage,
    889     DWORD* pdwStubPhase);
    890 HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy(
    891     IPin* This);
    892 void __RPC_STUB IPin_EndFlush_Stub(
    893     IRpcStubBuffer* This,
    894     IRpcChannelBuffer* pRpcChannelBuffer,
    895     PRPC_MESSAGE pRpcMessage,
    896     DWORD* pdwStubPhase);
    897 HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy(
    898     IPin* This,
    899     REFERENCE_TIME tStart,
    900     REFERENCE_TIME tStop,
    901     double dRate);
    902 void __RPC_STUB IPin_NewSegment_Stub(
    903     IRpcStubBuffer* This,
    904     IRpcChannelBuffer* pRpcChannelBuffer,
    905     PRPC_MESSAGE pRpcMessage,
    906     DWORD* pdwStubPhase);
    907 
    908 #endif  /* __IPin_INTERFACE_DEFINED__ */
    909 
    910 typedef IPin *PPIN;
    911 
    912 /*****************************************************************************
    913  * IEnumPins interface
    914  */
    915 #ifndef __IEnumPins_INTERFACE_DEFINED__
    916 #define __IEnumPins_INTERFACE_DEFINED__
    917 
    918 DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
    919 #if defined(__cplusplus) && !defined(CINTERFACE)
    920 MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
    921 IEnumPins : public IUnknown
    922 {
    923     virtual HRESULT STDMETHODCALLTYPE Next(
    924         ULONG cPins,
    925         IPin **ppPins,
    926         ULONG *pcFetched) = 0;
    927 
    928     virtual HRESULT STDMETHODCALLTYPE Skip(
    929         ULONG cPins) = 0;
    930 
    931     virtual HRESULT STDMETHODCALLTYPE Reset(
    932         ) = 0;
    933 
    934     virtual HRESULT STDMETHODCALLTYPE Clone(
    935         IEnumPins **ppEnum) = 0;
    936 
    937 };
    938 #ifdef __CRT_UUID_DECL
    939 __CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
    940 #endif
    941 #else
    942 typedef struct IEnumPinsVtbl {
    943     BEGIN_INTERFACE
    944 
    945     /*** IUnknown methods ***/
    946     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    947         IEnumPins* This,
    948         REFIID riid,
    949         void **ppvObject);
    950 
    951     ULONG (STDMETHODCALLTYPE *AddRef)(
    952         IEnumPins* This);
    953 
    954     ULONG (STDMETHODCALLTYPE *Release)(
    955         IEnumPins* This);
    956 
    957     /*** IEnumPins methods ***/
    958     HRESULT (STDMETHODCALLTYPE *Next)(
    959         IEnumPins* This,
    960         ULONG cPins,
    961         IPin **ppPins,
    962         ULONG *pcFetched);
    963 
    964     HRESULT (STDMETHODCALLTYPE *Skip)(
    965         IEnumPins* This,
    966         ULONG cPins);
    967 
    968     HRESULT (STDMETHODCALLTYPE *Reset)(
    969         IEnumPins* This);
    970 
    971     HRESULT (STDMETHODCALLTYPE *Clone)(
    972         IEnumPins* This,
    973         IEnumPins **ppEnum);
    974 
    975     END_INTERFACE
    976 } IEnumPinsVtbl;
    977 interface IEnumPins {
    978     CONST_VTBL IEnumPinsVtbl* lpVtbl;
    979 };
    980 
    981 #ifdef COBJMACROS
    982 #ifndef WIDL_C_INLINE_WRAPPERS
    983 /*** IUnknown methods ***/
    984 #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    985 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This)
    986 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This)
    987 /*** IEnumPins methods ***/
    988 #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched)
    989 #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins)
    990 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This)
    991 #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
    992 #else
    993 /*** IUnknown methods ***/
    994 static FORCEINLINE HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) {
    995     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    996 }
    997 static FORCEINLINE ULONG IEnumPins_AddRef(IEnumPins* This) {
    998     return This->lpVtbl->AddRef(This);
    999 }
   1000 static FORCEINLINE ULONG IEnumPins_Release(IEnumPins* This) {
   1001     return This->lpVtbl->Release(This);
   1002 }
   1003 /*** IEnumPins methods ***/
   1004 static FORCEINLINE HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) {
   1005     return This->lpVtbl->Next(This,cPins,ppPins,pcFetched);
   1006 }
   1007 static FORCEINLINE HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) {
   1008     return This->lpVtbl->Skip(This,cPins);
   1009 }
   1010 static FORCEINLINE HRESULT IEnumPins_Reset(IEnumPins* This) {
   1011     return This->lpVtbl->Reset(This);
   1012 }
   1013 static FORCEINLINE HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) {
   1014     return This->lpVtbl->Clone(This,ppEnum);
   1015 }
   1016 #endif
   1017 #endif
   1018 
   1019 #endif
   1020 
   1021 HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy(
   1022     IEnumPins* This,
   1023     ULONG cPins,
   1024     IPin **ppPins,
   1025     ULONG *pcFetched);
   1026 void __RPC_STUB IEnumPins_Next_Stub(
   1027     IRpcStubBuffer* This,
   1028     IRpcChannelBuffer* pRpcChannelBuffer,
   1029     PRPC_MESSAGE pRpcMessage,
   1030     DWORD* pdwStubPhase);
   1031 HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy(
   1032     IEnumPins* This,
   1033     ULONG cPins);
   1034 void __RPC_STUB IEnumPins_Skip_Stub(
   1035     IRpcStubBuffer* This,
   1036     IRpcChannelBuffer* pRpcChannelBuffer,
   1037     PRPC_MESSAGE pRpcMessage,
   1038     DWORD* pdwStubPhase);
   1039 HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy(
   1040     IEnumPins* This);
   1041 void __RPC_STUB IEnumPins_Reset_Stub(
   1042     IRpcStubBuffer* This,
   1043     IRpcChannelBuffer* pRpcChannelBuffer,
   1044     PRPC_MESSAGE pRpcMessage,
   1045     DWORD* pdwStubPhase);
   1046 HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy(
   1047     IEnumPins* This,
   1048     IEnumPins **ppEnum);
   1049 void __RPC_STUB IEnumPins_Clone_Stub(
   1050     IRpcStubBuffer* This,
   1051     IRpcChannelBuffer* pRpcChannelBuffer,
   1052     PRPC_MESSAGE pRpcMessage,
   1053     DWORD* pdwStubPhase);
   1054 
   1055 #endif  /* __IEnumPins_INTERFACE_DEFINED__ */
   1056 
   1057 typedef IEnumPins *PENUMPINS;
   1058 
   1059 /*****************************************************************************
   1060  * IEnumMediaTypes interface
   1061  */
   1062 #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
   1063 #define __IEnumMediaTypes_INTERFACE_DEFINED__
   1064 
   1065 DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a);
   1066 #if defined(__cplusplus) && !defined(CINTERFACE)
   1067 MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
   1068 IEnumMediaTypes : public IUnknown
   1069 {
   1070     virtual HRESULT STDMETHODCALLTYPE Next(
   1071         ULONG cMediaTypes,
   1072         AM_MEDIA_TYPE **ppMediaTypes,
   1073         ULONG *pcFetched) = 0;
   1074 
   1075     virtual HRESULT STDMETHODCALLTYPE Skip(
   1076         ULONG cMediaTypes) = 0;
   1077 
   1078     virtual HRESULT STDMETHODCALLTYPE Reset(
   1079         ) = 0;
   1080 
   1081     virtual HRESULT STDMETHODCALLTYPE Clone(
   1082         IEnumMediaTypes **ppEnum) = 0;
   1083 
   1084 };
   1085 #ifdef __CRT_UUID_DECL
   1086 __CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a)
   1087 #endif
   1088 #else
   1089 typedef struct IEnumMediaTypesVtbl {
   1090     BEGIN_INTERFACE
   1091 
   1092     /*** IUnknown methods ***/
   1093     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1094         IEnumMediaTypes* This,
   1095         REFIID riid,
   1096         void **ppvObject);
   1097 
   1098     ULONG (STDMETHODCALLTYPE *AddRef)(
   1099         IEnumMediaTypes* This);
   1100 
   1101     ULONG (STDMETHODCALLTYPE *Release)(
   1102         IEnumMediaTypes* This);
   1103 
   1104     /*** IEnumMediaTypes methods ***/
   1105     HRESULT (STDMETHODCALLTYPE *Next)(
   1106         IEnumMediaTypes* This,
   1107         ULONG cMediaTypes,
   1108         AM_MEDIA_TYPE **ppMediaTypes,
   1109         ULONG *pcFetched);
   1110 
   1111     HRESULT (STDMETHODCALLTYPE *Skip)(
   1112         IEnumMediaTypes* This,
   1113         ULONG cMediaTypes);
   1114 
   1115     HRESULT (STDMETHODCALLTYPE *Reset)(
   1116         IEnumMediaTypes* This);
   1117 
   1118     HRESULT (STDMETHODCALLTYPE *Clone)(
   1119         IEnumMediaTypes* This,
   1120         IEnumMediaTypes **ppEnum);
   1121 
   1122     END_INTERFACE
   1123 } IEnumMediaTypesVtbl;
   1124 interface IEnumMediaTypes {
   1125     CONST_VTBL IEnumMediaTypesVtbl* lpVtbl;
   1126 };
   1127 
   1128 #ifdef COBJMACROS
   1129 #ifndef WIDL_C_INLINE_WRAPPERS
   1130 /*** IUnknown methods ***/
   1131 #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1132 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This)
   1133 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This)
   1134 /*** IEnumMediaTypes methods ***/
   1135 #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched)
   1136 #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes)
   1137 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This)
   1138 #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   1139 #else
   1140 /*** IUnknown methods ***/
   1141 static FORCEINLINE HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) {
   1142     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1143 }
   1144 static FORCEINLINE ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) {
   1145     return This->lpVtbl->AddRef(This);
   1146 }
   1147 static FORCEINLINE ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) {
   1148     return This->lpVtbl->Release(This);
   1149 }
   1150 /*** IEnumMediaTypes methods ***/
   1151 static FORCEINLINE HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) {
   1152     return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched);
   1153 }
   1154 static FORCEINLINE HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) {
   1155     return This->lpVtbl->Skip(This,cMediaTypes);
   1156 }
   1157 static FORCEINLINE HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) {
   1158     return This->lpVtbl->Reset(This);
   1159 }
   1160 static FORCEINLINE HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) {
   1161     return This->lpVtbl->Clone(This,ppEnum);
   1162 }
   1163 #endif
   1164 #endif
   1165 
   1166 #endif
   1167 
   1168 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy(
   1169     IEnumMediaTypes* This,
   1170     ULONG cMediaTypes,
   1171     AM_MEDIA_TYPE **ppMediaTypes,
   1172     ULONG *pcFetched);
   1173 void __RPC_STUB IEnumMediaTypes_Next_Stub(
   1174     IRpcStubBuffer* This,
   1175     IRpcChannelBuffer* pRpcChannelBuffer,
   1176     PRPC_MESSAGE pRpcMessage,
   1177     DWORD* pdwStubPhase);
   1178 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy(
   1179     IEnumMediaTypes* This,
   1180     ULONG cMediaTypes);
   1181 void __RPC_STUB IEnumMediaTypes_Skip_Stub(
   1182     IRpcStubBuffer* This,
   1183     IRpcChannelBuffer* pRpcChannelBuffer,
   1184     PRPC_MESSAGE pRpcMessage,
   1185     DWORD* pdwStubPhase);
   1186 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy(
   1187     IEnumMediaTypes* This);
   1188 void __RPC_STUB IEnumMediaTypes_Reset_Stub(
   1189     IRpcStubBuffer* This,
   1190     IRpcChannelBuffer* pRpcChannelBuffer,
   1191     PRPC_MESSAGE pRpcMessage,
   1192     DWORD* pdwStubPhase);
   1193 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy(
   1194     IEnumMediaTypes* This,
   1195     IEnumMediaTypes **ppEnum);
   1196 void __RPC_STUB IEnumMediaTypes_Clone_Stub(
   1197     IRpcStubBuffer* This,
   1198     IRpcChannelBuffer* pRpcChannelBuffer,
   1199     PRPC_MESSAGE pRpcMessage,
   1200     DWORD* pdwStubPhase);
   1201 
   1202 #endif  /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
   1203 
   1204 typedef IEnumMediaTypes *PENUMMEDIATYPES;
   1205 
   1206 /*****************************************************************************
   1207  * IFilterGraph interface
   1208  */
   1209 #ifndef __IFilterGraph_INTERFACE_DEFINED__
   1210 #define __IFilterGraph_INTERFACE_DEFINED__
   1211 
   1212 DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1213 #if defined(__cplusplus) && !defined(CINTERFACE)
   1214 MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
   1215 IFilterGraph : public IUnknown
   1216 {
   1217     virtual HRESULT STDMETHODCALLTYPE AddFilter(
   1218         IBaseFilter *pFilter,
   1219         LPCWSTR pName) = 0;
   1220 
   1221     virtual HRESULT STDMETHODCALLTYPE RemoveFilter(
   1222         IBaseFilter *pFilter) = 0;
   1223 
   1224     virtual HRESULT STDMETHODCALLTYPE EnumFilters(
   1225         IEnumFilters **ppEnum) = 0;
   1226 
   1227     virtual HRESULT STDMETHODCALLTYPE FindFilterByName(
   1228         LPCWSTR pName,
   1229         IBaseFilter **ppFilter) = 0;
   1230 
   1231     virtual HRESULT STDMETHODCALLTYPE ConnectDirect(
   1232         IPin *ppinOut,
   1233         IPin *ppinIn,
   1234         const AM_MEDIA_TYPE *pmt) = 0;
   1235 
   1236     virtual HRESULT STDMETHODCALLTYPE Reconnect(
   1237         IPin *ppin) = 0;
   1238 
   1239     virtual HRESULT STDMETHODCALLTYPE Disconnect(
   1240         IPin *ppin) = 0;
   1241 
   1242     virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource(
   1243         ) = 0;
   1244 
   1245 };
   1246 #ifdef __CRT_UUID_DECL
   1247 __CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1248 #endif
   1249 #else
   1250 typedef struct IFilterGraphVtbl {
   1251     BEGIN_INTERFACE
   1252 
   1253     /*** IUnknown methods ***/
   1254     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1255         IFilterGraph* This,
   1256         REFIID riid,
   1257         void **ppvObject);
   1258 
   1259     ULONG (STDMETHODCALLTYPE *AddRef)(
   1260         IFilterGraph* This);
   1261 
   1262     ULONG (STDMETHODCALLTYPE *Release)(
   1263         IFilterGraph* This);
   1264 
   1265     /*** IFilterGraph methods ***/
   1266     HRESULT (STDMETHODCALLTYPE *AddFilter)(
   1267         IFilterGraph* This,
   1268         IBaseFilter *pFilter,
   1269         LPCWSTR pName);
   1270 
   1271     HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
   1272         IFilterGraph* This,
   1273         IBaseFilter *pFilter);
   1274 
   1275     HRESULT (STDMETHODCALLTYPE *EnumFilters)(
   1276         IFilterGraph* This,
   1277         IEnumFilters **ppEnum);
   1278 
   1279     HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
   1280         IFilterGraph* This,
   1281         LPCWSTR pName,
   1282         IBaseFilter **ppFilter);
   1283 
   1284     HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
   1285         IFilterGraph* This,
   1286         IPin *ppinOut,
   1287         IPin *ppinIn,
   1288         const AM_MEDIA_TYPE *pmt);
   1289 
   1290     HRESULT (STDMETHODCALLTYPE *Reconnect)(
   1291         IFilterGraph* This,
   1292         IPin *ppin);
   1293 
   1294     HRESULT (STDMETHODCALLTYPE *Disconnect)(
   1295         IFilterGraph* This,
   1296         IPin *ppin);
   1297 
   1298     HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
   1299         IFilterGraph* This);
   1300 
   1301     END_INTERFACE
   1302 } IFilterGraphVtbl;
   1303 interface IFilterGraph {
   1304     CONST_VTBL IFilterGraphVtbl* lpVtbl;
   1305 };
   1306 
   1307 #ifdef COBJMACROS
   1308 #ifndef WIDL_C_INLINE_WRAPPERS
   1309 /*** IUnknown methods ***/
   1310 #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1311 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This)
   1312 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This)
   1313 /*** IFilterGraph methods ***/
   1314 #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   1315 #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   1316 #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   1317 #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   1318 #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   1319 #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   1320 #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   1321 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   1322 #else
   1323 /*** IUnknown methods ***/
   1324 static FORCEINLINE HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) {
   1325     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1326 }
   1327 static FORCEINLINE ULONG IFilterGraph_AddRef(IFilterGraph* This) {
   1328     return This->lpVtbl->AddRef(This);
   1329 }
   1330 static FORCEINLINE ULONG IFilterGraph_Release(IFilterGraph* This) {
   1331     return This->lpVtbl->Release(This);
   1332 }
   1333 /*** IFilterGraph methods ***/
   1334 static FORCEINLINE HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) {
   1335     return This->lpVtbl->AddFilter(This,pFilter,pName);
   1336 }
   1337 static FORCEINLINE HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) {
   1338     return This->lpVtbl->RemoveFilter(This,pFilter);
   1339 }
   1340 static FORCEINLINE HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) {
   1341     return This->lpVtbl->EnumFilters(This,ppEnum);
   1342 }
   1343 static FORCEINLINE HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) {
   1344     return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
   1345 }
   1346 static FORCEINLINE HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
   1347     return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
   1348 }
   1349 static FORCEINLINE HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) {
   1350     return This->lpVtbl->Reconnect(This,ppin);
   1351 }
   1352 static FORCEINLINE HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) {
   1353     return This->lpVtbl->Disconnect(This,ppin);
   1354 }
   1355 static FORCEINLINE HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) {
   1356     return This->lpVtbl->SetDefaultSyncSource(This);
   1357 }
   1358 #endif
   1359 #endif
   1360 
   1361 #endif
   1362 
   1363 HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy(
   1364     IFilterGraph* This,
   1365     IBaseFilter *pFilter,
   1366     LPCWSTR pName);
   1367 void __RPC_STUB IFilterGraph_AddFilter_Stub(
   1368     IRpcStubBuffer* This,
   1369     IRpcChannelBuffer* pRpcChannelBuffer,
   1370     PRPC_MESSAGE pRpcMessage,
   1371     DWORD* pdwStubPhase);
   1372 HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy(
   1373     IFilterGraph* This,
   1374     IBaseFilter *pFilter);
   1375 void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
   1376     IRpcStubBuffer* This,
   1377     IRpcChannelBuffer* pRpcChannelBuffer,
   1378     PRPC_MESSAGE pRpcMessage,
   1379     DWORD* pdwStubPhase);
   1380 HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy(
   1381     IFilterGraph* This,
   1382     IEnumFilters **ppEnum);
   1383 void __RPC_STUB IFilterGraph_EnumFilters_Stub(
   1384     IRpcStubBuffer* This,
   1385     IRpcChannelBuffer* pRpcChannelBuffer,
   1386     PRPC_MESSAGE pRpcMessage,
   1387     DWORD* pdwStubPhase);
   1388 HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy(
   1389     IFilterGraph* This,
   1390     LPCWSTR pName,
   1391     IBaseFilter **ppFilter);
   1392 void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
   1393     IRpcStubBuffer* This,
   1394     IRpcChannelBuffer* pRpcChannelBuffer,
   1395     PRPC_MESSAGE pRpcMessage,
   1396     DWORD* pdwStubPhase);
   1397 HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy(
   1398     IFilterGraph* This,
   1399     IPin *ppinOut,
   1400     IPin *ppinIn,
   1401     const AM_MEDIA_TYPE *pmt);
   1402 void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
   1403     IRpcStubBuffer* This,
   1404     IRpcChannelBuffer* pRpcChannelBuffer,
   1405     PRPC_MESSAGE pRpcMessage,
   1406     DWORD* pdwStubPhase);
   1407 HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy(
   1408     IFilterGraph* This,
   1409     IPin *ppin);
   1410 void __RPC_STUB IFilterGraph_Reconnect_Stub(
   1411     IRpcStubBuffer* This,
   1412     IRpcChannelBuffer* pRpcChannelBuffer,
   1413     PRPC_MESSAGE pRpcMessage,
   1414     DWORD* pdwStubPhase);
   1415 HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy(
   1416     IFilterGraph* This,
   1417     IPin *ppin);
   1418 void __RPC_STUB IFilterGraph_Disconnect_Stub(
   1419     IRpcStubBuffer* This,
   1420     IRpcChannelBuffer* pRpcChannelBuffer,
   1421     PRPC_MESSAGE pRpcMessage,
   1422     DWORD* pdwStubPhase);
   1423 HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy(
   1424     IFilterGraph* This);
   1425 void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
   1426     IRpcStubBuffer* This,
   1427     IRpcChannelBuffer* pRpcChannelBuffer,
   1428     PRPC_MESSAGE pRpcMessage,
   1429     DWORD* pdwStubPhase);
   1430 
   1431 #endif  /* __IFilterGraph_INTERFACE_DEFINED__ */
   1432 
   1433 typedef IFilterGraph *PFILTERGRAPH;
   1434 
   1435 /*****************************************************************************
   1436  * IEnumFilters interface
   1437  */
   1438 #ifndef __IEnumFilters_INTERFACE_DEFINED__
   1439 #define __IEnumFilters_INTERFACE_DEFINED__
   1440 
   1441 DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1442 #if defined(__cplusplus) && !defined(CINTERFACE)
   1443 MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
   1444 IEnumFilters : public IUnknown
   1445 {
   1446     virtual HRESULT STDMETHODCALLTYPE Next(
   1447         ULONG cFilters,
   1448         IBaseFilter **ppFilter,
   1449         ULONG *pcFetched) = 0;
   1450 
   1451     virtual HRESULT STDMETHODCALLTYPE Skip(
   1452         ULONG cFilters) = 0;
   1453 
   1454     virtual HRESULT STDMETHODCALLTYPE Reset(
   1455         ) = 0;
   1456 
   1457     virtual HRESULT STDMETHODCALLTYPE Clone(
   1458         IEnumFilters **ppEnum) = 0;
   1459 
   1460 };
   1461 #ifdef __CRT_UUID_DECL
   1462 __CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1463 #endif
   1464 #else
   1465 typedef struct IEnumFiltersVtbl {
   1466     BEGIN_INTERFACE
   1467 
   1468     /*** IUnknown methods ***/
   1469     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1470         IEnumFilters* This,
   1471         REFIID riid,
   1472         void **ppvObject);
   1473 
   1474     ULONG (STDMETHODCALLTYPE *AddRef)(
   1475         IEnumFilters* This);
   1476 
   1477     ULONG (STDMETHODCALLTYPE *Release)(
   1478         IEnumFilters* This);
   1479 
   1480     /*** IEnumFilters methods ***/
   1481     HRESULT (STDMETHODCALLTYPE *Next)(
   1482         IEnumFilters* This,
   1483         ULONG cFilters,
   1484         IBaseFilter **ppFilter,
   1485         ULONG *pcFetched);
   1486 
   1487     HRESULT (STDMETHODCALLTYPE *Skip)(
   1488         IEnumFilters* This,
   1489         ULONG cFilters);
   1490 
   1491     HRESULT (STDMETHODCALLTYPE *Reset)(
   1492         IEnumFilters* This);
   1493 
   1494     HRESULT (STDMETHODCALLTYPE *Clone)(
   1495         IEnumFilters* This,
   1496         IEnumFilters **ppEnum);
   1497 
   1498     END_INTERFACE
   1499 } IEnumFiltersVtbl;
   1500 interface IEnumFilters {
   1501     CONST_VTBL IEnumFiltersVtbl* lpVtbl;
   1502 };
   1503 
   1504 #ifdef COBJMACROS
   1505 #ifndef WIDL_C_INLINE_WRAPPERS
   1506 /*** IUnknown methods ***/
   1507 #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1508 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
   1509 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This)
   1510 /*** IEnumFilters methods ***/
   1511 #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched)
   1512 #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
   1513 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This)
   1514 #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   1515 #else
   1516 /*** IUnknown methods ***/
   1517 static FORCEINLINE HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) {
   1518     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1519 }
   1520 static FORCEINLINE ULONG IEnumFilters_AddRef(IEnumFilters* This) {
   1521     return This->lpVtbl->AddRef(This);
   1522 }
   1523 static FORCEINLINE ULONG IEnumFilters_Release(IEnumFilters* This) {
   1524     return This->lpVtbl->Release(This);
   1525 }
   1526 /*** IEnumFilters methods ***/
   1527 static FORCEINLINE HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) {
   1528     return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched);
   1529 }
   1530 static FORCEINLINE HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) {
   1531     return This->lpVtbl->Skip(This,cFilters);
   1532 }
   1533 static FORCEINLINE HRESULT IEnumFilters_Reset(IEnumFilters* This) {
   1534     return This->lpVtbl->Reset(This);
   1535 }
   1536 static FORCEINLINE HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) {
   1537     return This->lpVtbl->Clone(This,ppEnum);
   1538 }
   1539 #endif
   1540 #endif
   1541 
   1542 #endif
   1543 
   1544 HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy(
   1545     IEnumFilters* This,
   1546     ULONG cFilters,
   1547     IBaseFilter **ppFilter,
   1548     ULONG *pcFetched);
   1549 void __RPC_STUB IEnumFilters_Next_Stub(
   1550     IRpcStubBuffer* This,
   1551     IRpcChannelBuffer* pRpcChannelBuffer,
   1552     PRPC_MESSAGE pRpcMessage,
   1553     DWORD* pdwStubPhase);
   1554 HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy(
   1555     IEnumFilters* This,
   1556     ULONG cFilters);
   1557 void __RPC_STUB IEnumFilters_Skip_Stub(
   1558     IRpcStubBuffer* This,
   1559     IRpcChannelBuffer* pRpcChannelBuffer,
   1560     PRPC_MESSAGE pRpcMessage,
   1561     DWORD* pdwStubPhase);
   1562 HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy(
   1563     IEnumFilters* This);
   1564 void __RPC_STUB IEnumFilters_Reset_Stub(
   1565     IRpcStubBuffer* This,
   1566     IRpcChannelBuffer* pRpcChannelBuffer,
   1567     PRPC_MESSAGE pRpcMessage,
   1568     DWORD* pdwStubPhase);
   1569 HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy(
   1570     IEnumFilters* This,
   1571     IEnumFilters **ppEnum);
   1572 void __RPC_STUB IEnumFilters_Clone_Stub(
   1573     IRpcStubBuffer* This,
   1574     IRpcChannelBuffer* pRpcChannelBuffer,
   1575     PRPC_MESSAGE pRpcMessage,
   1576     DWORD* pdwStubPhase);
   1577 
   1578 #endif  /* __IEnumFilters_INTERFACE_DEFINED__ */
   1579 
   1580 typedef IEnumFilters *PENUMFILTERS;
   1581 
   1582 /*****************************************************************************
   1583  * IMediaFilter interface
   1584  */
   1585 #ifndef __IMediaFilter_INTERFACE_DEFINED__
   1586 #define __IMediaFilter_INTERFACE_DEFINED__
   1587 
   1588 typedef enum _FilterState {
   1589     State_Stopped = 0,
   1590     State_Paused = 1,
   1591     State_Running = 2
   1592 } FILTER_STATE;
   1593 
   1594 DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1595 #if defined(__cplusplus) && !defined(CINTERFACE)
   1596 MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
   1597 IMediaFilter : public IPersist
   1598 {
   1599     virtual HRESULT STDMETHODCALLTYPE Stop(
   1600         ) = 0;
   1601 
   1602     virtual HRESULT STDMETHODCALLTYPE Pause(
   1603         ) = 0;
   1604 
   1605     virtual HRESULT STDMETHODCALLTYPE Run(
   1606         REFERENCE_TIME tStart) = 0;
   1607 
   1608     virtual HRESULT STDMETHODCALLTYPE GetState(
   1609         DWORD dwMilliSecsTimeout,
   1610         FILTER_STATE *State) = 0;
   1611 
   1612     virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
   1613         IReferenceClock *pClock) = 0;
   1614 
   1615     virtual HRESULT STDMETHODCALLTYPE GetSyncSource(
   1616         IReferenceClock **pClock) = 0;
   1617 
   1618 };
   1619 #ifdef __CRT_UUID_DECL
   1620 __CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1621 #endif
   1622 #else
   1623 typedef struct IMediaFilterVtbl {
   1624     BEGIN_INTERFACE
   1625 
   1626     /*** IUnknown methods ***/
   1627     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1628         IMediaFilter* This,
   1629         REFIID riid,
   1630         void **ppvObject);
   1631 
   1632     ULONG (STDMETHODCALLTYPE *AddRef)(
   1633         IMediaFilter* This);
   1634 
   1635     ULONG (STDMETHODCALLTYPE *Release)(
   1636         IMediaFilter* This);
   1637 
   1638     /*** IPersist methods ***/
   1639     HRESULT (STDMETHODCALLTYPE *GetClassID)(
   1640         IMediaFilter* This,
   1641         CLSID *pClassID);
   1642 
   1643     /*** IMediaFilter methods ***/
   1644     HRESULT (STDMETHODCALLTYPE *Stop)(
   1645         IMediaFilter* This);
   1646 
   1647     HRESULT (STDMETHODCALLTYPE *Pause)(
   1648         IMediaFilter* This);
   1649 
   1650     HRESULT (STDMETHODCALLTYPE *Run)(
   1651         IMediaFilter* This,
   1652         REFERENCE_TIME tStart);
   1653 
   1654     HRESULT (STDMETHODCALLTYPE *GetState)(
   1655         IMediaFilter* This,
   1656         DWORD dwMilliSecsTimeout,
   1657         FILTER_STATE *State);
   1658 
   1659     HRESULT (STDMETHODCALLTYPE *SetSyncSource)(
   1660         IMediaFilter* This,
   1661         IReferenceClock *pClock);
   1662 
   1663     HRESULT (STDMETHODCALLTYPE *GetSyncSource)(
   1664         IMediaFilter* This,
   1665         IReferenceClock **pClock);
   1666 
   1667     END_INTERFACE
   1668 } IMediaFilterVtbl;
   1669 interface IMediaFilter {
   1670     CONST_VTBL IMediaFilterVtbl* lpVtbl;
   1671 };
   1672 
   1673 #ifdef COBJMACROS
   1674 #ifndef WIDL_C_INLINE_WRAPPERS
   1675 /*** IUnknown methods ***/
   1676 #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1677 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   1678 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This)
   1679 /*** IPersist methods ***/
   1680 #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   1681 /*** IMediaFilter methods ***/
   1682 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This)
   1683 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This)
   1684 #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   1685 #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
   1686 #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   1687 #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
   1688 #else
   1689 /*** IUnknown methods ***/
   1690 static FORCEINLINE HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) {
   1691     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1692 }
   1693 static FORCEINLINE ULONG IMediaFilter_AddRef(IMediaFilter* This) {
   1694     return This->lpVtbl->AddRef(This);
   1695 }
   1696 static FORCEINLINE ULONG IMediaFilter_Release(IMediaFilter* This) {
   1697     return This->lpVtbl->Release(This);
   1698 }
   1699 /*** IPersist methods ***/
   1700 static FORCEINLINE HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) {
   1701     return This->lpVtbl->GetClassID(This,pClassID);
   1702 }
   1703 /*** IMediaFilter methods ***/
   1704 static FORCEINLINE HRESULT IMediaFilter_Stop(IMediaFilter* This) {
   1705     return This->lpVtbl->Stop(This);
   1706 }
   1707 static FORCEINLINE HRESULT IMediaFilter_Pause(IMediaFilter* This) {
   1708     return This->lpVtbl->Pause(This);
   1709 }
   1710 static FORCEINLINE HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) {
   1711     return This->lpVtbl->Run(This,tStart);
   1712 }
   1713 static FORCEINLINE HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
   1714     return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
   1715 }
   1716 static FORCEINLINE HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) {
   1717     return This->lpVtbl->SetSyncSource(This,pClock);
   1718 }
   1719 static FORCEINLINE HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) {
   1720     return This->lpVtbl->GetSyncSource(This,pClock);
   1721 }
   1722 #endif
   1723 #endif
   1724 
   1725 #endif
   1726 
   1727 HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy(
   1728     IMediaFilter* This);
   1729 void __RPC_STUB IMediaFilter_Stop_Stub(
   1730     IRpcStubBuffer* This,
   1731     IRpcChannelBuffer* pRpcChannelBuffer,
   1732     PRPC_MESSAGE pRpcMessage,
   1733     DWORD* pdwStubPhase);
   1734 HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy(
   1735     IMediaFilter* This);
   1736 void __RPC_STUB IMediaFilter_Pause_Stub(
   1737     IRpcStubBuffer* This,
   1738     IRpcChannelBuffer* pRpcChannelBuffer,
   1739     PRPC_MESSAGE pRpcMessage,
   1740     DWORD* pdwStubPhase);
   1741 HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy(
   1742     IMediaFilter* This,
   1743     REFERENCE_TIME tStart);
   1744 void __RPC_STUB IMediaFilter_Run_Stub(
   1745     IRpcStubBuffer* This,
   1746     IRpcChannelBuffer* pRpcChannelBuffer,
   1747     PRPC_MESSAGE pRpcMessage,
   1748     DWORD* pdwStubPhase);
   1749 HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy(
   1750     IMediaFilter* This,
   1751     DWORD dwMilliSecsTimeout,
   1752     FILTER_STATE *State);
   1753 void __RPC_STUB IMediaFilter_GetState_Stub(
   1754     IRpcStubBuffer* This,
   1755     IRpcChannelBuffer* pRpcChannelBuffer,
   1756     PRPC_MESSAGE pRpcMessage,
   1757     DWORD* pdwStubPhase);
   1758 HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy(
   1759     IMediaFilter* This,
   1760     IReferenceClock *pClock);
   1761 void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
   1762     IRpcStubBuffer* This,
   1763     IRpcChannelBuffer* pRpcChannelBuffer,
   1764     PRPC_MESSAGE pRpcMessage,
   1765     DWORD* pdwStubPhase);
   1766 HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy(
   1767     IMediaFilter* This,
   1768     IReferenceClock **pClock);
   1769 void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
   1770     IRpcStubBuffer* This,
   1771     IRpcChannelBuffer* pRpcChannelBuffer,
   1772     PRPC_MESSAGE pRpcMessage,
   1773     DWORD* pdwStubPhase);
   1774 
   1775 #endif  /* __IMediaFilter_INTERFACE_DEFINED__ */
   1776 
   1777 typedef IMediaFilter *PMEDIAFILTER;
   1778 
   1779 /*****************************************************************************
   1780  * IBaseFilter interface
   1781  */
   1782 #ifndef __IBaseFilter_INTERFACE_DEFINED__
   1783 #define __IBaseFilter_INTERFACE_DEFINED__
   1784 
   1785 typedef struct _FilterInfo {
   1786     WCHAR achName[128];
   1787     IFilterGraph *pGraph;
   1788 } FILTER_INFO;
   1789 
   1790 DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1791 #if defined(__cplusplus) && !defined(CINTERFACE)
   1792 MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
   1793 IBaseFilter : public IMediaFilter
   1794 {
   1795     virtual HRESULT STDMETHODCALLTYPE EnumPins(
   1796         IEnumPins **ppEnum) = 0;
   1797 
   1798     virtual HRESULT STDMETHODCALLTYPE FindPin(
   1799         LPCWSTR Id,
   1800         IPin **ppPin) = 0;
   1801 
   1802     virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo(
   1803         FILTER_INFO *pInfo) = 0;
   1804 
   1805     virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
   1806         IFilterGraph *pGraph,
   1807         LPCWSTR pName) = 0;
   1808 
   1809     virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo(
   1810         LPWSTR *pVendorInfo) = 0;
   1811 
   1812 };
   1813 #ifdef __CRT_UUID_DECL
   1814 __CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1815 #endif
   1816 #else
   1817 typedef struct IBaseFilterVtbl {
   1818     BEGIN_INTERFACE
   1819 
   1820     /*** IUnknown methods ***/
   1821     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1822         IBaseFilter* This,
   1823         REFIID riid,
   1824         void **ppvObject);
   1825 
   1826     ULONG (STDMETHODCALLTYPE *AddRef)(
   1827         IBaseFilter* This);
   1828 
   1829     ULONG (STDMETHODCALLTYPE *Release)(
   1830         IBaseFilter* This);
   1831 
   1832     /*** IPersist methods ***/
   1833     HRESULT (STDMETHODCALLTYPE *GetClassID)(
   1834         IBaseFilter* This,
   1835         CLSID *pClassID);
   1836 
   1837     /*** IMediaFilter methods ***/
   1838     HRESULT (STDMETHODCALLTYPE *Stop)(
   1839         IBaseFilter* This);
   1840 
   1841     HRESULT (STDMETHODCALLTYPE *Pause)(
   1842         IBaseFilter* This);
   1843 
   1844     HRESULT (STDMETHODCALLTYPE *Run)(
   1845         IBaseFilter* This,
   1846         REFERENCE_TIME tStart);
   1847 
   1848     HRESULT (STDMETHODCALLTYPE *GetState)(
   1849         IBaseFilter* This,
   1850         DWORD dwMilliSecsTimeout,
   1851         FILTER_STATE *State);
   1852 
   1853     HRESULT (STDMETHODCALLTYPE *SetSyncSource)(
   1854         IBaseFilter* This,
   1855         IReferenceClock *pClock);
   1856 
   1857     HRESULT (STDMETHODCALLTYPE *GetSyncSource)(
   1858         IBaseFilter* This,
   1859         IReferenceClock **pClock);
   1860 
   1861     /*** IBaseFilter methods ***/
   1862     HRESULT (STDMETHODCALLTYPE *EnumPins)(
   1863         IBaseFilter* This,
   1864         IEnumPins **ppEnum);
   1865 
   1866     HRESULT (STDMETHODCALLTYPE *FindPin)(
   1867         IBaseFilter* This,
   1868         LPCWSTR Id,
   1869         IPin **ppPin);
   1870 
   1871     HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)(
   1872         IBaseFilter* This,
   1873         FILTER_INFO *pInfo);
   1874 
   1875     HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)(
   1876         IBaseFilter* This,
   1877         IFilterGraph *pGraph,
   1878         LPCWSTR pName);
   1879 
   1880     HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)(
   1881         IBaseFilter* This,
   1882         LPWSTR *pVendorInfo);
   1883 
   1884     END_INTERFACE
   1885 } IBaseFilterVtbl;
   1886 interface IBaseFilter {
   1887     CONST_VTBL IBaseFilterVtbl* lpVtbl;
   1888 };
   1889 
   1890 #ifdef COBJMACROS
   1891 #ifndef WIDL_C_INLINE_WRAPPERS
   1892 /*** IUnknown methods ***/
   1893 #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1894 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   1895 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This)
   1896 /*** IPersist methods ***/
   1897 #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   1898 /*** IMediaFilter methods ***/
   1899 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This)
   1900 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This)
   1901 #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   1902 #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
   1903 #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   1904 #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
   1905 /*** IBaseFilter methods ***/
   1906 #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum)
   1907 #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin)
   1908 #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo)
   1909 #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName)
   1910 #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo)
   1911 #else
   1912 /*** IUnknown methods ***/
   1913 static FORCEINLINE HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) {
   1914     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1915 }
   1916 static FORCEINLINE ULONG IBaseFilter_AddRef(IBaseFilter* This) {
   1917     return This->lpVtbl->AddRef(This);
   1918 }
   1919 static FORCEINLINE ULONG IBaseFilter_Release(IBaseFilter* This) {
   1920     return This->lpVtbl->Release(This);
   1921 }
   1922 /*** IPersist methods ***/
   1923 static FORCEINLINE HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) {
   1924     return This->lpVtbl->GetClassID(This,pClassID);
   1925 }
   1926 /*** IMediaFilter methods ***/
   1927 static FORCEINLINE HRESULT IBaseFilter_Stop(IBaseFilter* This) {
   1928     return This->lpVtbl->Stop(This);
   1929 }
   1930 static FORCEINLINE HRESULT IBaseFilter_Pause(IBaseFilter* This) {
   1931     return This->lpVtbl->Pause(This);
   1932 }
   1933 static FORCEINLINE HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) {
   1934     return This->lpVtbl->Run(This,tStart);
   1935 }
   1936 static FORCEINLINE HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
   1937     return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
   1938 }
   1939 static FORCEINLINE HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) {
   1940     return This->lpVtbl->SetSyncSource(This,pClock);
   1941 }
   1942 static FORCEINLINE HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) {
   1943     return This->lpVtbl->GetSyncSource(This,pClock);
   1944 }
   1945 /*** IBaseFilter methods ***/
   1946 static FORCEINLINE HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) {
   1947     return This->lpVtbl->EnumPins(This,ppEnum);
   1948 }
   1949 static FORCEINLINE HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) {
   1950     return This->lpVtbl->FindPin(This,Id,ppPin);
   1951 }
   1952 static FORCEINLINE HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) {
   1953     return This->lpVtbl->QueryFilterInfo(This,pInfo);
   1954 }
   1955 static FORCEINLINE HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) {
   1956     return This->lpVtbl->JoinFilterGraph(This,pGraph,pName);
   1957 }
   1958 static FORCEINLINE HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) {
   1959     return This->lpVtbl->QueryVendorInfo(This,pVendorInfo);
   1960 }
   1961 #endif
   1962 #endif
   1963 
   1964 #endif
   1965 
   1966 HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy(
   1967     IBaseFilter* This,
   1968     IEnumPins **ppEnum);
   1969 void __RPC_STUB IBaseFilter_EnumPins_Stub(
   1970     IRpcStubBuffer* This,
   1971     IRpcChannelBuffer* pRpcChannelBuffer,
   1972     PRPC_MESSAGE pRpcMessage,
   1973     DWORD* pdwStubPhase);
   1974 HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy(
   1975     IBaseFilter* This,
   1976     LPCWSTR Id,
   1977     IPin **ppPin);
   1978 void __RPC_STUB IBaseFilter_FindPin_Stub(
   1979     IRpcStubBuffer* This,
   1980     IRpcChannelBuffer* pRpcChannelBuffer,
   1981     PRPC_MESSAGE pRpcMessage,
   1982     DWORD* pdwStubPhase);
   1983 HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy(
   1984     IBaseFilter* This,
   1985     FILTER_INFO *pInfo);
   1986 void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
   1987     IRpcStubBuffer* This,
   1988     IRpcChannelBuffer* pRpcChannelBuffer,
   1989     PRPC_MESSAGE pRpcMessage,
   1990     DWORD* pdwStubPhase);
   1991 HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy(
   1992     IBaseFilter* This,
   1993     IFilterGraph *pGraph,
   1994     LPCWSTR pName);
   1995 void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
   1996     IRpcStubBuffer* This,
   1997     IRpcChannelBuffer* pRpcChannelBuffer,
   1998     PRPC_MESSAGE pRpcMessage,
   1999     DWORD* pdwStubPhase);
   2000 HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy(
   2001     IBaseFilter* This,
   2002     LPWSTR *pVendorInfo);
   2003 void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
   2004     IRpcStubBuffer* This,
   2005     IRpcChannelBuffer* pRpcChannelBuffer,
   2006     PRPC_MESSAGE pRpcMessage,
   2007     DWORD* pdwStubPhase);
   2008 
   2009 #endif  /* __IBaseFilter_INTERFACE_DEFINED__ */
   2010 
   2011 typedef IBaseFilter *PFILTER;
   2012 
   2013 /*****************************************************************************
   2014  * IReferenceClock interface
   2015  */
   2016 #ifndef __IReferenceClock_INTERFACE_DEFINED__
   2017 #define __IReferenceClock_INTERFACE_DEFINED__
   2018 
   2019 DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   2020 #if defined(__cplusplus) && !defined(CINTERFACE)
   2021 MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
   2022 IReferenceClock : public IUnknown
   2023 {
   2024     virtual HRESULT STDMETHODCALLTYPE GetTime(
   2025         REFERENCE_TIME *pTime) = 0;
   2026 
   2027     virtual HRESULT STDMETHODCALLTYPE AdviseTime(
   2028         REFERENCE_TIME baseTime,
   2029         REFERENCE_TIME streamTime,
   2030         HEVENT hEvent,
   2031         DWORD_PTR *pdwAdviseCookie) = 0;
   2032 
   2033     virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic(
   2034         REFERENCE_TIME startTime,
   2035         REFERENCE_TIME periodTime,
   2036         HSEMAPHORE hSemaphore,
   2037         DWORD_PTR *pdwAdviseCookie) = 0;
   2038 
   2039     virtual HRESULT STDMETHODCALLTYPE Unadvise(
   2040         DWORD_PTR dwAdviseCookie) = 0;
   2041 
   2042 };
   2043 #ifdef __CRT_UUID_DECL
   2044 __CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   2045 #endif
   2046 #else
   2047 typedef struct IReferenceClockVtbl {
   2048     BEGIN_INTERFACE
   2049 
   2050     /*** IUnknown methods ***/
   2051     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2052         IReferenceClock* This,
   2053         REFIID riid,
   2054         void **ppvObject);
   2055 
   2056     ULONG (STDMETHODCALLTYPE *AddRef)(
   2057         IReferenceClock* This);
   2058 
   2059     ULONG (STDMETHODCALLTYPE *Release)(
   2060         IReferenceClock* This);
   2061 
   2062     /*** IReferenceClock methods ***/
   2063     HRESULT (STDMETHODCALLTYPE *GetTime)(
   2064         IReferenceClock* This,
   2065         REFERENCE_TIME *pTime);
   2066 
   2067     HRESULT (STDMETHODCALLTYPE *AdviseTime)(
   2068         IReferenceClock* This,
   2069         REFERENCE_TIME baseTime,
   2070         REFERENCE_TIME streamTime,
   2071         HEVENT hEvent,
   2072         DWORD_PTR *pdwAdviseCookie);
   2073 
   2074     HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)(
   2075         IReferenceClock* This,
   2076         REFERENCE_TIME startTime,
   2077         REFERENCE_TIME periodTime,
   2078         HSEMAPHORE hSemaphore,
   2079         DWORD_PTR *pdwAdviseCookie);
   2080 
   2081     HRESULT (STDMETHODCALLTYPE *Unadvise)(
   2082         IReferenceClock* This,
   2083         DWORD_PTR dwAdviseCookie);
   2084 
   2085     END_INTERFACE
   2086 } IReferenceClockVtbl;
   2087 interface IReferenceClock {
   2088     CONST_VTBL IReferenceClockVtbl* lpVtbl;
   2089 };
   2090 
   2091 #ifdef COBJMACROS
   2092 #ifndef WIDL_C_INLINE_WRAPPERS
   2093 /*** IUnknown methods ***/
   2094 #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2095 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This)
   2096 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This)
   2097 /*** IReferenceClock methods ***/
   2098 #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
   2099 #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
   2100 #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
   2101 #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
   2102 #else
   2103 /*** IUnknown methods ***/
   2104 static FORCEINLINE HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) {
   2105     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2106 }
   2107 static FORCEINLINE ULONG IReferenceClock_AddRef(IReferenceClock* This) {
   2108     return This->lpVtbl->AddRef(This);
   2109 }
   2110 static FORCEINLINE ULONG IReferenceClock_Release(IReferenceClock* This) {
   2111     return This->lpVtbl->Release(This);
   2112 }
   2113 /*** IReferenceClock methods ***/
   2114 static FORCEINLINE HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) {
   2115     return This->lpVtbl->GetTime(This,pTime);
   2116 }
   2117 static FORCEINLINE HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) {
   2118     return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie);
   2119 }
   2120 static FORCEINLINE HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) {
   2121     return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie);
   2122 }
   2123 static FORCEINLINE HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) {
   2124     return This->lpVtbl->Unadvise(This,dwAdviseCookie);
   2125 }
   2126 #endif
   2127 #endif
   2128 
   2129 #endif
   2130 
   2131 HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy(
   2132     IReferenceClock* This,
   2133     REFERENCE_TIME *pTime);
   2134 void __RPC_STUB IReferenceClock_GetTime_Stub(
   2135     IRpcStubBuffer* This,
   2136     IRpcChannelBuffer* pRpcChannelBuffer,
   2137     PRPC_MESSAGE pRpcMessage,
   2138     DWORD* pdwStubPhase);
   2139 HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy(
   2140     IReferenceClock* This,
   2141     REFERENCE_TIME baseTime,
   2142     REFERENCE_TIME streamTime,
   2143     HEVENT hEvent,
   2144     DWORD_PTR *pdwAdviseCookie);
   2145 void __RPC_STUB IReferenceClock_AdviseTime_Stub(
   2146     IRpcStubBuffer* This,
   2147     IRpcChannelBuffer* pRpcChannelBuffer,
   2148     PRPC_MESSAGE pRpcMessage,
   2149     DWORD* pdwStubPhase);
   2150 HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy(
   2151     IReferenceClock* This,
   2152     REFERENCE_TIME startTime,
   2153     REFERENCE_TIME periodTime,
   2154     HSEMAPHORE hSemaphore,
   2155     DWORD_PTR *pdwAdviseCookie);
   2156 void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
   2157     IRpcStubBuffer* This,
   2158     IRpcChannelBuffer* pRpcChannelBuffer,
   2159     PRPC_MESSAGE pRpcMessage,
   2160     DWORD* pdwStubPhase);
   2161 HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy(
   2162     IReferenceClock* This,
   2163     DWORD_PTR dwAdviseCookie);
   2164 void __RPC_STUB IReferenceClock_Unadvise_Stub(
   2165     IRpcStubBuffer* This,
   2166     IRpcChannelBuffer* pRpcChannelBuffer,
   2167     PRPC_MESSAGE pRpcMessage,
   2168     DWORD* pdwStubPhase);
   2169 
   2170 #endif  /* __IReferenceClock_INTERFACE_DEFINED__ */
   2171 
   2172 typedef IReferenceClock *PREFERENCECLOCK;
   2173 
   2174 /*****************************************************************************
   2175  * IReferenceClockTimerControl interface
   2176  */
   2177 #ifndef __IReferenceClockTimerControl_INTERFACE_DEFINED__
   2178 #define __IReferenceClockTimerControl_INTERFACE_DEFINED__
   2179 
   2180 DEFINE_GUID(IID_IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8);
   2181 #if defined(__cplusplus) && !defined(CINTERFACE)
   2182 MIDL_INTERFACE("ebec459c-2eca-4d42-a8af-30df557614b8")
   2183 IReferenceClockTimerControl : public IUnknown
   2184 {
   2185     virtual HRESULT STDMETHODCALLTYPE SetDefaultTimerResolution(
   2186         REFERENCE_TIME timerResolution) = 0;
   2187 
   2188     virtual HRESULT STDMETHODCALLTYPE GetDefaultTimerResolution(
   2189         REFERENCE_TIME *pTimerResolution) = 0;
   2190 
   2191 };
   2192 #ifdef __CRT_UUID_DECL
   2193 __CRT_UUID_DECL(IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8)
   2194 #endif
   2195 #else
   2196 typedef struct IReferenceClockTimerControlVtbl {
   2197     BEGIN_INTERFACE
   2198 
   2199     /*** IUnknown methods ***/
   2200     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2201         IReferenceClockTimerControl* This,
   2202         REFIID riid,
   2203         void **ppvObject);
   2204 
   2205     ULONG (STDMETHODCALLTYPE *AddRef)(
   2206         IReferenceClockTimerControl* This);
   2207 
   2208     ULONG (STDMETHODCALLTYPE *Release)(
   2209         IReferenceClockTimerControl* This);
   2210 
   2211     /*** IReferenceClockTimerControl methods ***/
   2212     HRESULT (STDMETHODCALLTYPE *SetDefaultTimerResolution)(
   2213         IReferenceClockTimerControl* This,
   2214         REFERENCE_TIME timerResolution);
   2215 
   2216     HRESULT (STDMETHODCALLTYPE *GetDefaultTimerResolution)(
   2217         IReferenceClockTimerControl* This,
   2218         REFERENCE_TIME *pTimerResolution);
   2219 
   2220     END_INTERFACE
   2221 } IReferenceClockTimerControlVtbl;
   2222 interface IReferenceClockTimerControl {
   2223     CONST_VTBL IReferenceClockTimerControlVtbl* lpVtbl;
   2224 };
   2225 
   2226 #ifdef COBJMACROS
   2227 #ifndef WIDL_C_INLINE_WRAPPERS
   2228 /*** IUnknown methods ***/
   2229 #define IReferenceClockTimerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2230 #define IReferenceClockTimerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   2231 #define IReferenceClockTimerControl_Release(This) (This)->lpVtbl->Release(This)
   2232 /*** IReferenceClockTimerControl methods ***/
   2233 #define IReferenceClockTimerControl_SetDefaultTimerResolution(This,timerResolution) (This)->lpVtbl->SetDefaultTimerResolution(This,timerResolution)
   2234 #define IReferenceClockTimerControl_GetDefaultTimerResolution(This,pTimerResolution) (This)->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution)
   2235 #else
   2236 /*** IUnknown methods ***/
   2237 static FORCEINLINE HRESULT IReferenceClockTimerControl_QueryInterface(IReferenceClockTimerControl* This,REFIID riid,void **ppvObject) {
   2238     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2239 }
   2240 static FORCEINLINE ULONG IReferenceClockTimerControl_AddRef(IReferenceClockTimerControl* This) {
   2241     return This->lpVtbl->AddRef(This);
   2242 }
   2243 static FORCEINLINE ULONG IReferenceClockTimerControl_Release(IReferenceClockTimerControl* This) {
   2244     return This->lpVtbl->Release(This);
   2245 }
   2246 /*** IReferenceClockTimerControl methods ***/
   2247 static FORCEINLINE HRESULT IReferenceClockTimerControl_SetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME timerResolution) {
   2248     return This->lpVtbl->SetDefaultTimerResolution(This,timerResolution);
   2249 }
   2250 static FORCEINLINE HRESULT IReferenceClockTimerControl_GetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME *pTimerResolution) {
   2251     return This->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution);
   2252 }
   2253 #endif
   2254 #endif
   2255 
   2256 #endif
   2257 
   2258 HRESULT STDMETHODCALLTYPE IReferenceClockTimerControl_SetDefaultTimerResolution_Proxy(
   2259     IReferenceClockTimerControl* This,
   2260     REFERENCE_TIME timerResolution);
   2261 void __RPC_STUB IReferenceClockTimerControl_SetDefaultTimerResolution_Stub(
   2262     IRpcStubBuffer* This,
   2263     IRpcChannelBuffer* pRpcChannelBuffer,
   2264     PRPC_MESSAGE pRpcMessage,
   2265     DWORD* pdwStubPhase);
   2266 HRESULT STDMETHODCALLTYPE IReferenceClockTimerControl_GetDefaultTimerResolution_Proxy(
   2267     IReferenceClockTimerControl* This,
   2268     REFERENCE_TIME *pTimerResolution);
   2269 void __RPC_STUB IReferenceClockTimerControl_GetDefaultTimerResolution_Stub(
   2270     IRpcStubBuffer* This,
   2271     IRpcChannelBuffer* pRpcChannelBuffer,
   2272     PRPC_MESSAGE pRpcMessage,
   2273     DWORD* pdwStubPhase);
   2274 
   2275 #endif  /* __IReferenceClockTimerControl_INTERFACE_DEFINED__ */
   2276 
   2277 
   2278 /*****************************************************************************
   2279  * IReferenceClock2 interface
   2280  */
   2281 #ifndef __IReferenceClock2_INTERFACE_DEFINED__
   2282 #define __IReferenceClock2_INTERFACE_DEFINED__
   2283 
   2284 DEFINE_GUID(IID_IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   2285 #if defined(__cplusplus) && !defined(CINTERFACE)
   2286 MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
   2287 IReferenceClock2 : public IReferenceClock
   2288 {
   2289 };
   2290 #ifdef __CRT_UUID_DECL
   2291 __CRT_UUID_DECL(IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   2292 #endif
   2293 #else
   2294 typedef struct IReferenceClock2Vtbl {
   2295     BEGIN_INTERFACE
   2296 
   2297     /*** IUnknown methods ***/
   2298     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2299         IReferenceClock2* This,
   2300         REFIID riid,
   2301         void **ppvObject);
   2302 
   2303     ULONG (STDMETHODCALLTYPE *AddRef)(
   2304         IReferenceClock2* This);
   2305 
   2306     ULONG (STDMETHODCALLTYPE *Release)(
   2307         IReferenceClock2* This);
   2308 
   2309     /*** IReferenceClock methods ***/
   2310     HRESULT (STDMETHODCALLTYPE *GetTime)(
   2311         IReferenceClock2* This,
   2312         REFERENCE_TIME *pTime);
   2313 
   2314     HRESULT (STDMETHODCALLTYPE *AdviseTime)(
   2315         IReferenceClock2* This,
   2316         REFERENCE_TIME baseTime,
   2317         REFERENCE_TIME streamTime,
   2318         HEVENT hEvent,
   2319         DWORD_PTR *pdwAdviseCookie);
   2320 
   2321     HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)(
   2322         IReferenceClock2* This,
   2323         REFERENCE_TIME startTime,
   2324         REFERENCE_TIME periodTime,
   2325         HSEMAPHORE hSemaphore,
   2326         DWORD_PTR *pdwAdviseCookie);
   2327 
   2328     HRESULT (STDMETHODCALLTYPE *Unadvise)(
   2329         IReferenceClock2* This,
   2330         DWORD_PTR dwAdviseCookie);
   2331 
   2332     END_INTERFACE
   2333 } IReferenceClock2Vtbl;
   2334 interface IReferenceClock2 {
   2335     CONST_VTBL IReferenceClock2Vtbl* lpVtbl;
   2336 };
   2337 
   2338 #ifdef COBJMACROS
   2339 #ifndef WIDL_C_INLINE_WRAPPERS
   2340 /*** IUnknown methods ***/
   2341 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2342 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2343 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This)
   2344 /*** IReferenceClock methods ***/
   2345 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
   2346 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
   2347 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
   2348 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
   2349 #else
   2350 /*** IUnknown methods ***/
   2351 static FORCEINLINE HRESULT IReferenceClock2_QueryInterface(IReferenceClock2* This,REFIID riid,void **ppvObject) {
   2352     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2353 }
   2354 static FORCEINLINE ULONG IReferenceClock2_AddRef(IReferenceClock2* This) {
   2355     return This->lpVtbl->AddRef(This);
   2356 }
   2357 static FORCEINLINE ULONG IReferenceClock2_Release(IReferenceClock2* This) {
   2358     return This->lpVtbl->Release(This);
   2359 }
   2360 /*** IReferenceClock methods ***/
   2361 static FORCEINLINE HRESULT IReferenceClock2_GetTime(IReferenceClock2* This,REFERENCE_TIME *pTime) {
   2362     return This->lpVtbl->GetTime(This,pTime);
   2363 }
   2364 static FORCEINLINE HRESULT IReferenceClock2_AdviseTime(IReferenceClock2* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) {
   2365     return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie);
   2366 }
   2367 static FORCEINLINE HRESULT IReferenceClock2_AdvisePeriodic(IReferenceClock2* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) {
   2368     return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie);
   2369 }
   2370 static FORCEINLINE HRESULT IReferenceClock2_Unadvise(IReferenceClock2* This,DWORD_PTR dwAdviseCookie) {
   2371     return This->lpVtbl->Unadvise(This,dwAdviseCookie);
   2372 }
   2373 #endif
   2374 #endif
   2375 
   2376 #endif
   2377 
   2378 
   2379 #endif  /* __IReferenceClock2_INTERFACE_DEFINED__ */
   2380 
   2381 typedef IReferenceClock2 *PREFERENCECLOCK2;
   2382 
   2383 /*****************************************************************************
   2384  * IMediaSample interface
   2385  */
   2386 #ifndef __IMediaSample_INTERFACE_DEFINED__
   2387 #define __IMediaSample_INTERFACE_DEFINED__
   2388 
   2389 DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   2390 #if defined(__cplusplus) && !defined(CINTERFACE)
   2391 MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
   2392 IMediaSample : public IUnknown
   2393 {
   2394     virtual HRESULT STDMETHODCALLTYPE GetPointer(
   2395         BYTE **ppBuffer) = 0;
   2396 
   2397     virtual LONG STDMETHODCALLTYPE GetSize(
   2398         ) = 0;
   2399 
   2400     virtual HRESULT STDMETHODCALLTYPE GetTime(
   2401         REFERENCE_TIME *pTimeStart,
   2402         REFERENCE_TIME *pTimeEnd) = 0;
   2403 
   2404     virtual HRESULT STDMETHODCALLTYPE SetTime(
   2405         REFERENCE_TIME *pTimeStart,
   2406         REFERENCE_TIME *pTimeEnd) = 0;
   2407 
   2408     virtual HRESULT STDMETHODCALLTYPE IsSyncPoint(
   2409         ) = 0;
   2410 
   2411     virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
   2412         WINBOOL bIsSyncPoint) = 0;
   2413 
   2414     virtual HRESULT STDMETHODCALLTYPE IsPreroll(
   2415         ) = 0;
   2416 
   2417     virtual HRESULT STDMETHODCALLTYPE SetPreroll(
   2418         WINBOOL bIsPreroll) = 0;
   2419 
   2420     virtual LONG STDMETHODCALLTYPE GetActualDataLength(
   2421         ) = 0;
   2422 
   2423     virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
   2424         LONG a) = 0;
   2425 
   2426     virtual HRESULT STDMETHODCALLTYPE GetMediaType(
   2427         AM_MEDIA_TYPE **ppMediaType) = 0;
   2428 
   2429     virtual HRESULT STDMETHODCALLTYPE SetMediaType(
   2430         AM_MEDIA_TYPE *pMediaType) = 0;
   2431 
   2432     virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity(
   2433         ) = 0;
   2434 
   2435     virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
   2436         WINBOOL bDiscontinuity) = 0;
   2437 
   2438     virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
   2439         LONGLONG *pTimeStart,
   2440         LONGLONG *pTimeEnd) = 0;
   2441 
   2442     virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
   2443         LONGLONG *pTimeStart,
   2444         LONGLONG *pTimeEnd) = 0;
   2445 
   2446 };
   2447 #ifdef __CRT_UUID_DECL
   2448 __CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   2449 #endif
   2450 #else
   2451 typedef struct IMediaSampleVtbl {
   2452     BEGIN_INTERFACE
   2453 
   2454     /*** IUnknown methods ***/
   2455     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2456         IMediaSample* This,
   2457         REFIID riid,
   2458         void **ppvObject);
   2459 
   2460     ULONG (STDMETHODCALLTYPE *AddRef)(
   2461         IMediaSample* This);
   2462 
   2463     ULONG (STDMETHODCALLTYPE *Release)(
   2464         IMediaSample* This);
   2465 
   2466     /*** IMediaSample methods ***/
   2467     HRESULT (STDMETHODCALLTYPE *GetPointer)(
   2468         IMediaSample* This,
   2469         BYTE **ppBuffer);
   2470 
   2471     LONG (STDMETHODCALLTYPE *GetSize)(
   2472         IMediaSample* This);
   2473 
   2474     HRESULT (STDMETHODCALLTYPE *GetTime)(
   2475         IMediaSample* This,
   2476         REFERENCE_TIME *pTimeStart,
   2477         REFERENCE_TIME *pTimeEnd);
   2478 
   2479     HRESULT (STDMETHODCALLTYPE *SetTime)(
   2480         IMediaSample* This,
   2481         REFERENCE_TIME *pTimeStart,
   2482         REFERENCE_TIME *pTimeEnd);
   2483 
   2484     HRESULT (STDMETHODCALLTYPE *IsSyncPoint)(
   2485         IMediaSample* This);
   2486 
   2487     HRESULT (STDMETHODCALLTYPE *SetSyncPoint)(
   2488         IMediaSample* This,
   2489         WINBOOL bIsSyncPoint);
   2490 
   2491     HRESULT (STDMETHODCALLTYPE *IsPreroll)(
   2492         IMediaSample* This);
   2493 
   2494     HRESULT (STDMETHODCALLTYPE *SetPreroll)(
   2495         IMediaSample* This,
   2496         WINBOOL bIsPreroll);
   2497 
   2498     LONG (STDMETHODCALLTYPE *GetActualDataLength)(
   2499         IMediaSample* This);
   2500 
   2501     HRESULT (STDMETHODCALLTYPE *SetActualDataLength)(
   2502         IMediaSample* This,
   2503         LONG a);
   2504 
   2505     HRESULT (STDMETHODCALLTYPE *GetMediaType)(
   2506         IMediaSample* This,
   2507         AM_MEDIA_TYPE **ppMediaType);
   2508 
   2509     HRESULT (STDMETHODCALLTYPE *SetMediaType)(
   2510         IMediaSample* This,
   2511         AM_MEDIA_TYPE *pMediaType);
   2512 
   2513     HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)(
   2514         IMediaSample* This);
   2515 
   2516     HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)(
   2517         IMediaSample* This,
   2518         WINBOOL bDiscontinuity);
   2519 
   2520     HRESULT (STDMETHODCALLTYPE *GetMediaTime)(
   2521         IMediaSample* This,
   2522         LONGLONG *pTimeStart,
   2523         LONGLONG *pTimeEnd);
   2524 
   2525     HRESULT (STDMETHODCALLTYPE *SetMediaTime)(
   2526         IMediaSample* This,
   2527         LONGLONG *pTimeStart,
   2528         LONGLONG *pTimeEnd);
   2529 
   2530     END_INTERFACE
   2531 } IMediaSampleVtbl;
   2532 interface IMediaSample {
   2533     CONST_VTBL IMediaSampleVtbl* lpVtbl;
   2534 };
   2535 
   2536 #ifdef COBJMACROS
   2537 #ifndef WIDL_C_INLINE_WRAPPERS
   2538 /*** IUnknown methods ***/
   2539 #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2540 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
   2541 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This)
   2542 /*** IMediaSample methods ***/
   2543 #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
   2544 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This)
   2545 #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
   2546 #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
   2547 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
   2548 #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
   2549 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
   2550 #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
   2551 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
   2552 #define IMediaSample_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a)
   2553 #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
   2554 #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
   2555 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
   2556 #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
   2557 #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
   2558 #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
   2559 #else
   2560 /*** IUnknown methods ***/
   2561 static FORCEINLINE HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) {
   2562     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2563 }
   2564 static FORCEINLINE ULONG IMediaSample_AddRef(IMediaSample* This) {
   2565     return This->lpVtbl->AddRef(This);
   2566 }
   2567 static FORCEINLINE ULONG IMediaSample_Release(IMediaSample* This) {
   2568     return This->lpVtbl->Release(This);
   2569 }
   2570 /*** IMediaSample methods ***/
   2571 static FORCEINLINE HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) {
   2572     return This->lpVtbl->GetPointer(This,ppBuffer);
   2573 }
   2574 static FORCEINLINE LONG IMediaSample_GetSize(IMediaSample* This) {
   2575     return This->lpVtbl->GetSize(This);
   2576 }
   2577 static FORCEINLINE HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
   2578     return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
   2579 }
   2580 static FORCEINLINE HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
   2581     return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
   2582 }
   2583 static FORCEINLINE HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) {
   2584     return This->lpVtbl->IsSyncPoint(This);
   2585 }
   2586 static FORCEINLINE HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) {
   2587     return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
   2588 }
   2589 static FORCEINLINE HRESULT IMediaSample_IsPreroll(IMediaSample* This) {
   2590     return This->lpVtbl->IsPreroll(This);
   2591 }
   2592 static FORCEINLINE HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) {
   2593     return This->lpVtbl->SetPreroll(This,bIsPreroll);
   2594 }
   2595 static FORCEINLINE LONG IMediaSample_GetActualDataLength(IMediaSample* This) {
   2596     return This->lpVtbl->GetActualDataLength(This);
   2597 }
   2598 static FORCEINLINE HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG a) {
   2599     return This->lpVtbl->SetActualDataLength(This,a);
   2600 }
   2601 static FORCEINLINE HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) {
   2602     return This->lpVtbl->GetMediaType(This,ppMediaType);
   2603 }
   2604 static FORCEINLINE HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) {
   2605     return This->lpVtbl->SetMediaType(This,pMediaType);
   2606 }
   2607 static FORCEINLINE HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) {
   2608     return This->lpVtbl->IsDiscontinuity(This);
   2609 }
   2610 static FORCEINLINE HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) {
   2611     return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
   2612 }
   2613 static FORCEINLINE HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
   2614     return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
   2615 }
   2616 static FORCEINLINE HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
   2617     return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
   2618 }
   2619 #endif
   2620 #endif
   2621 
   2622 #endif
   2623 
   2624 HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy(
   2625     IMediaSample* This,
   2626     BYTE **ppBuffer);
   2627 void __RPC_STUB IMediaSample_GetPointer_Stub(
   2628     IRpcStubBuffer* This,
   2629     IRpcChannelBuffer* pRpcChannelBuffer,
   2630     PRPC_MESSAGE pRpcMessage,
   2631     DWORD* pdwStubPhase);
   2632 LONG STDMETHODCALLTYPE IMediaSample_GetSize_Proxy(
   2633     IMediaSample* This);
   2634 void __RPC_STUB IMediaSample_GetSize_Stub(
   2635     IRpcStubBuffer* This,
   2636     IRpcChannelBuffer* pRpcChannelBuffer,
   2637     PRPC_MESSAGE pRpcMessage,
   2638     DWORD* pdwStubPhase);
   2639 HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy(
   2640     IMediaSample* This,
   2641     REFERENCE_TIME *pTimeStart,
   2642     REFERENCE_TIME *pTimeEnd);
   2643 void __RPC_STUB IMediaSample_GetTime_Stub(
   2644     IRpcStubBuffer* This,
   2645     IRpcChannelBuffer* pRpcChannelBuffer,
   2646     PRPC_MESSAGE pRpcMessage,
   2647     DWORD* pdwStubPhase);
   2648 HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy(
   2649     IMediaSample* This,
   2650     REFERENCE_TIME *pTimeStart,
   2651     REFERENCE_TIME *pTimeEnd);
   2652 void __RPC_STUB IMediaSample_SetTime_Stub(
   2653     IRpcStubBuffer* This,
   2654     IRpcChannelBuffer* pRpcChannelBuffer,
   2655     PRPC_MESSAGE pRpcMessage,
   2656     DWORD* pdwStubPhase);
   2657 HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy(
   2658     IMediaSample* This);
   2659 void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
   2660     IRpcStubBuffer* This,
   2661     IRpcChannelBuffer* pRpcChannelBuffer,
   2662     PRPC_MESSAGE pRpcMessage,
   2663     DWORD* pdwStubPhase);
   2664 HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy(
   2665     IMediaSample* This,
   2666     WINBOOL bIsSyncPoint);
   2667 void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
   2668     IRpcStubBuffer* This,
   2669     IRpcChannelBuffer* pRpcChannelBuffer,
   2670     PRPC_MESSAGE pRpcMessage,
   2671     DWORD* pdwStubPhase);
   2672 HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy(
   2673     IMediaSample* This);
   2674 void __RPC_STUB IMediaSample_IsPreroll_Stub(
   2675     IRpcStubBuffer* This,
   2676     IRpcChannelBuffer* pRpcChannelBuffer,
   2677     PRPC_MESSAGE pRpcMessage,
   2678     DWORD* pdwStubPhase);
   2679 HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy(
   2680     IMediaSample* This,
   2681     WINBOOL bIsPreroll);
   2682 void __RPC_STUB IMediaSample_SetPreroll_Stub(
   2683     IRpcStubBuffer* This,
   2684     IRpcChannelBuffer* pRpcChannelBuffer,
   2685     PRPC_MESSAGE pRpcMessage,
   2686     DWORD* pdwStubPhase);
   2687 LONG STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy(
   2688     IMediaSample* This);
   2689 void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
   2690     IRpcStubBuffer* This,
   2691     IRpcChannelBuffer* pRpcChannelBuffer,
   2692     PRPC_MESSAGE pRpcMessage,
   2693     DWORD* pdwStubPhase);
   2694 HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy(
   2695     IMediaSample* This,
   2696     LONG a);
   2697 void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
   2698     IRpcStubBuffer* This,
   2699     IRpcChannelBuffer* pRpcChannelBuffer,
   2700     PRPC_MESSAGE pRpcMessage,
   2701     DWORD* pdwStubPhase);
   2702 HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy(
   2703     IMediaSample* This,
   2704     AM_MEDIA_TYPE **ppMediaType);
   2705 void __RPC_STUB IMediaSample_GetMediaType_Stub(
   2706     IRpcStubBuffer* This,
   2707     IRpcChannelBuffer* pRpcChannelBuffer,
   2708     PRPC_MESSAGE pRpcMessage,
   2709     DWORD* pdwStubPhase);
   2710 HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy(
   2711     IMediaSample* This,
   2712     AM_MEDIA_TYPE *pMediaType);
   2713 void __RPC_STUB IMediaSample_SetMediaType_Stub(
   2714     IRpcStubBuffer* This,
   2715     IRpcChannelBuffer* pRpcChannelBuffer,
   2716     PRPC_MESSAGE pRpcMessage,
   2717     DWORD* pdwStubPhase);
   2718 HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy(
   2719     IMediaSample* This);
   2720 void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
   2721     IRpcStubBuffer* This,
   2722     IRpcChannelBuffer* pRpcChannelBuffer,
   2723     PRPC_MESSAGE pRpcMessage,
   2724     DWORD* pdwStubPhase);
   2725 HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy(
   2726     IMediaSample* This,
   2727     WINBOOL bDiscontinuity);
   2728 void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
   2729     IRpcStubBuffer* This,
   2730     IRpcChannelBuffer* pRpcChannelBuffer,
   2731     PRPC_MESSAGE pRpcMessage,
   2732     DWORD* pdwStubPhase);
   2733 HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy(
   2734     IMediaSample* This,
   2735     LONGLONG *pTimeStart,
   2736     LONGLONG *pTimeEnd);
   2737 void __RPC_STUB IMediaSample_GetMediaTime_Stub(
   2738     IRpcStubBuffer* This,
   2739     IRpcChannelBuffer* pRpcChannelBuffer,
   2740     PRPC_MESSAGE pRpcMessage,
   2741     DWORD* pdwStubPhase);
   2742 HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy(
   2743     IMediaSample* This,
   2744     LONGLONG *pTimeStart,
   2745     LONGLONG *pTimeEnd);
   2746 void __RPC_STUB IMediaSample_SetMediaTime_Stub(
   2747     IRpcStubBuffer* This,
   2748     IRpcChannelBuffer* pRpcChannelBuffer,
   2749     PRPC_MESSAGE pRpcMessage,
   2750     DWORD* pdwStubPhase);
   2751 
   2752 #endif  /* __IMediaSample_INTERFACE_DEFINED__ */
   2753 
   2754 typedef IMediaSample *PMEDIASAMPLE;
   2755 
   2756 enum tagAM_SAMPLE_PROPERTY_FLAGS {
   2757     AM_SAMPLE_SPLICEPOINT = 0x1,
   2758     AM_SAMPLE_PREROLL = 0x2,
   2759     AM_SAMPLE_DATADISCONTINUITY = 0x4,
   2760     AM_SAMPLE_TYPECHANGED = 0x8,
   2761     AM_SAMPLE_TIMEVALID = 0x10,
   2762     AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
   2763     AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
   2764     AM_SAMPLE_STOPVALID = 0x100,
   2765     AM_SAMPLE_ENDOFSTREAM = 0x200,
   2766     AM_STREAM_MEDIA = 0,
   2767     AM_STREAM_CONTROL = 1
   2768 };
   2769 
   2770 
   2771 typedef struct tagAM_SAMPLE2_PROPERTIES {
   2772     DWORD cbData;
   2773     DWORD dwTypeSpecificFlags;
   2774     DWORD dwSampleFlags;
   2775     LONG lActual;
   2776     REFERENCE_TIME tStart;
   2777     REFERENCE_TIME tStop;
   2778     DWORD dwStreamId;
   2779     AM_MEDIA_TYPE *pMediaType;
   2780     BYTE *pbBuffer;
   2781     LONG cbBuffer;
   2782 } AM_SAMPLE2_PROPERTIES;
   2783 
   2784 /*****************************************************************************
   2785  * IMediaSample2 interface
   2786  */
   2787 #ifndef __IMediaSample2_INTERFACE_DEFINED__
   2788 #define __IMediaSample2_INTERFACE_DEFINED__
   2789 
   2790 DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   2791 #if defined(__cplusplus) && !defined(CINTERFACE)
   2792 MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
   2793 IMediaSample2 : public IMediaSample
   2794 {
   2795     virtual HRESULT STDMETHODCALLTYPE GetProperties(
   2796         DWORD cbProperties,
   2797         BYTE *pbProperties) = 0;
   2798 
   2799     virtual HRESULT STDMETHODCALLTYPE SetProperties(
   2800         DWORD cbProperties,
   2801         const BYTE *pbProperties) = 0;
   2802 
   2803 };
   2804 #ifdef __CRT_UUID_DECL
   2805 __CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   2806 #endif
   2807 #else
   2808 typedef struct IMediaSample2Vtbl {
   2809     BEGIN_INTERFACE
   2810 
   2811     /*** IUnknown methods ***/
   2812     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2813         IMediaSample2* This,
   2814         REFIID riid,
   2815         void **ppvObject);
   2816 
   2817     ULONG (STDMETHODCALLTYPE *AddRef)(
   2818         IMediaSample2* This);
   2819 
   2820     ULONG (STDMETHODCALLTYPE *Release)(
   2821         IMediaSample2* This);
   2822 
   2823     /*** IMediaSample methods ***/
   2824     HRESULT (STDMETHODCALLTYPE *GetPointer)(
   2825         IMediaSample2* This,
   2826         BYTE **ppBuffer);
   2827 
   2828     LONG (STDMETHODCALLTYPE *GetSize)(
   2829         IMediaSample2* This);
   2830 
   2831     HRESULT (STDMETHODCALLTYPE *GetTime)(
   2832         IMediaSample2* This,
   2833         REFERENCE_TIME *pTimeStart,
   2834         REFERENCE_TIME *pTimeEnd);
   2835 
   2836     HRESULT (STDMETHODCALLTYPE *SetTime)(
   2837         IMediaSample2* This,
   2838         REFERENCE_TIME *pTimeStart,
   2839         REFERENCE_TIME *pTimeEnd);
   2840 
   2841     HRESULT (STDMETHODCALLTYPE *IsSyncPoint)(
   2842         IMediaSample2* This);
   2843 
   2844     HRESULT (STDMETHODCALLTYPE *SetSyncPoint)(
   2845         IMediaSample2* This,
   2846         WINBOOL bIsSyncPoint);
   2847 
   2848     HRESULT (STDMETHODCALLTYPE *IsPreroll)(
   2849         IMediaSample2* This);
   2850 
   2851     HRESULT (STDMETHODCALLTYPE *SetPreroll)(
   2852         IMediaSample2* This,
   2853         WINBOOL bIsPreroll);
   2854 
   2855     LONG (STDMETHODCALLTYPE *GetActualDataLength)(
   2856         IMediaSample2* This);
   2857 
   2858     HRESULT (STDMETHODCALLTYPE *SetActualDataLength)(
   2859         IMediaSample2* This,
   2860         LONG a);
   2861 
   2862     HRESULT (STDMETHODCALLTYPE *GetMediaType)(
   2863         IMediaSample2* This,
   2864         AM_MEDIA_TYPE **ppMediaType);
   2865 
   2866     HRESULT (STDMETHODCALLTYPE *SetMediaType)(
   2867         IMediaSample2* This,
   2868         AM_MEDIA_TYPE *pMediaType);
   2869 
   2870     HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)(
   2871         IMediaSample2* This);
   2872 
   2873     HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)(
   2874         IMediaSample2* This,
   2875         WINBOOL bDiscontinuity);
   2876 
   2877     HRESULT (STDMETHODCALLTYPE *GetMediaTime)(
   2878         IMediaSample2* This,
   2879         LONGLONG *pTimeStart,
   2880         LONGLONG *pTimeEnd);
   2881 
   2882     HRESULT (STDMETHODCALLTYPE *SetMediaTime)(
   2883         IMediaSample2* This,
   2884         LONGLONG *pTimeStart,
   2885         LONGLONG *pTimeEnd);
   2886 
   2887     /*** IMediaSample2 methods ***/
   2888     HRESULT (STDMETHODCALLTYPE *GetProperties)(
   2889         IMediaSample2* This,
   2890         DWORD cbProperties,
   2891         BYTE *pbProperties);
   2892 
   2893     HRESULT (STDMETHODCALLTYPE *SetProperties)(
   2894         IMediaSample2* This,
   2895         DWORD cbProperties,
   2896         const BYTE *pbProperties);
   2897 
   2898     END_INTERFACE
   2899 } IMediaSample2Vtbl;
   2900 interface IMediaSample2 {
   2901     CONST_VTBL IMediaSample2Vtbl* lpVtbl;
   2902 };
   2903 
   2904 #ifdef COBJMACROS
   2905 #ifndef WIDL_C_INLINE_WRAPPERS
   2906 /*** IUnknown methods ***/
   2907 #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2908 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2909 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This)
   2910 /*** IMediaSample methods ***/
   2911 #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
   2912 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This)
   2913 #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
   2914 #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
   2915 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
   2916 #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
   2917 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
   2918 #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
   2919 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
   2920 #define IMediaSample2_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a)
   2921 #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
   2922 #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
   2923 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
   2924 #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
   2925 #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
   2926 #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
   2927 /*** IMediaSample2 methods ***/
   2928 #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties)
   2929 #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties)
   2930 #else
   2931 /*** IUnknown methods ***/
   2932 static FORCEINLINE HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) {
   2933     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2934 }
   2935 static FORCEINLINE ULONG IMediaSample2_AddRef(IMediaSample2* This) {
   2936     return This->lpVtbl->AddRef(This);
   2937 }
   2938 static FORCEINLINE ULONG IMediaSample2_Release(IMediaSample2* This) {
   2939     return This->lpVtbl->Release(This);
   2940 }
   2941 /*** IMediaSample methods ***/
   2942 static FORCEINLINE HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) {
   2943     return This->lpVtbl->GetPointer(This,ppBuffer);
   2944 }
   2945 static FORCEINLINE LONG IMediaSample2_GetSize(IMediaSample2* This) {
   2946     return This->lpVtbl->GetSize(This);
   2947 }
   2948 static FORCEINLINE HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
   2949     return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
   2950 }
   2951 static FORCEINLINE HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
   2952     return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
   2953 }
   2954 static FORCEINLINE HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) {
   2955     return This->lpVtbl->IsSyncPoint(This);
   2956 }
   2957 static FORCEINLINE HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) {
   2958     return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
   2959 }
   2960 static FORCEINLINE HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) {
   2961     return This->lpVtbl->IsPreroll(This);
   2962 }
   2963 static FORCEINLINE HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) {
   2964     return This->lpVtbl->SetPreroll(This,bIsPreroll);
   2965 }
   2966 static FORCEINLINE LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) {
   2967     return This->lpVtbl->GetActualDataLength(This);
   2968 }
   2969 static FORCEINLINE HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG a) {
   2970     return This->lpVtbl->SetActualDataLength(This,a);
   2971 }
   2972 static FORCEINLINE HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) {
   2973     return This->lpVtbl->GetMediaType(This,ppMediaType);
   2974 }
   2975 static FORCEINLINE HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) {
   2976     return This->lpVtbl->SetMediaType(This,pMediaType);
   2977 }
   2978 static FORCEINLINE HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) {
   2979     return This->lpVtbl->IsDiscontinuity(This);
   2980 }
   2981 static FORCEINLINE HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) {
   2982     return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
   2983 }
   2984 static FORCEINLINE HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
   2985     return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
   2986 }
   2987 static FORCEINLINE HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
   2988     return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
   2989 }
   2990 /*** IMediaSample2 methods ***/
   2991 static FORCEINLINE HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) {
   2992     return This->lpVtbl->GetProperties(This,cbProperties,pbProperties);
   2993 }
   2994 static FORCEINLINE HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) {
   2995     return This->lpVtbl->SetProperties(This,cbProperties,pbProperties);
   2996 }
   2997 #endif
   2998 #endif
   2999 
   3000 #endif
   3001 
   3002 HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy(
   3003     IMediaSample2* This,
   3004     DWORD cbProperties,
   3005     BYTE *pbProperties);
   3006 void __RPC_STUB IMediaSample2_GetProperties_Stub(
   3007     IRpcStubBuffer* This,
   3008     IRpcChannelBuffer* pRpcChannelBuffer,
   3009     PRPC_MESSAGE pRpcMessage,
   3010     DWORD* pdwStubPhase);
   3011 HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy(
   3012     IMediaSample2* This,
   3013     DWORD cbProperties,
   3014     const BYTE *pbProperties);
   3015 void __RPC_STUB IMediaSample2_SetProperties_Stub(
   3016     IRpcStubBuffer* This,
   3017     IRpcChannelBuffer* pRpcChannelBuffer,
   3018     PRPC_MESSAGE pRpcMessage,
   3019     DWORD* pdwStubPhase);
   3020 
   3021 #endif  /* __IMediaSample2_INTERFACE_DEFINED__ */
   3022 
   3023 typedef IMediaSample2 *PMEDIASAMPLE2;
   3024 
   3025 /*****************************************************************************
   3026  * IMediaSample2Config interface
   3027  */
   3028 #ifndef __IMediaSample2Config_INTERFACE_DEFINED__
   3029 #define __IMediaSample2Config_INTERFACE_DEFINED__
   3030 
   3031 DEFINE_GUID(IID_IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3);
   3032 #if defined(__cplusplus) && !defined(CINTERFACE)
   3033 MIDL_INTERFACE("68961e68-832b-41ea-bc91-63593f3e70e3")
   3034 IMediaSample2Config : public IUnknown
   3035 {
   3036     virtual HRESULT STDMETHODCALLTYPE GetSurface(
   3037         IUnknown **ppDirect3DSurface9) = 0;
   3038 
   3039 };
   3040 #ifdef __CRT_UUID_DECL
   3041 __CRT_UUID_DECL(IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3)
   3042 #endif
   3043 #else
   3044 typedef struct IMediaSample2ConfigVtbl {
   3045     BEGIN_INTERFACE
   3046 
   3047     /*** IUnknown methods ***/
   3048     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3049         IMediaSample2Config* This,
   3050         REFIID riid,
   3051         void **ppvObject);
   3052 
   3053     ULONG (STDMETHODCALLTYPE *AddRef)(
   3054         IMediaSample2Config* This);
   3055 
   3056     ULONG (STDMETHODCALLTYPE *Release)(
   3057         IMediaSample2Config* This);
   3058 
   3059     /*** IMediaSample2Config methods ***/
   3060     HRESULT (STDMETHODCALLTYPE *GetSurface)(
   3061         IMediaSample2Config* This,
   3062         IUnknown **ppDirect3DSurface9);
   3063 
   3064     END_INTERFACE
   3065 } IMediaSample2ConfigVtbl;
   3066 interface IMediaSample2Config {
   3067     CONST_VTBL IMediaSample2ConfigVtbl* lpVtbl;
   3068 };
   3069 
   3070 #ifdef COBJMACROS
   3071 #ifndef WIDL_C_INLINE_WRAPPERS
   3072 /*** IUnknown methods ***/
   3073 #define IMediaSample2Config_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3074 #define IMediaSample2Config_AddRef(This) (This)->lpVtbl->AddRef(This)
   3075 #define IMediaSample2Config_Release(This) (This)->lpVtbl->Release(This)
   3076 /*** IMediaSample2Config methods ***/
   3077 #define IMediaSample2Config_GetSurface(This,ppDirect3DSurface9) (This)->lpVtbl->GetSurface(This,ppDirect3DSurface9)
   3078 #else
   3079 /*** IUnknown methods ***/
   3080 static FORCEINLINE HRESULT IMediaSample2Config_QueryInterface(IMediaSample2Config* This,REFIID riid,void **ppvObject) {
   3081     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3082 }
   3083 static FORCEINLINE ULONG IMediaSample2Config_AddRef(IMediaSample2Config* This) {
   3084     return This->lpVtbl->AddRef(This);
   3085 }
   3086 static FORCEINLINE ULONG IMediaSample2Config_Release(IMediaSample2Config* This) {
   3087     return This->lpVtbl->Release(This);
   3088 }
   3089 /*** IMediaSample2Config methods ***/
   3090 static FORCEINLINE HRESULT IMediaSample2Config_GetSurface(IMediaSample2Config* This,IUnknown **ppDirect3DSurface9) {
   3091     return This->lpVtbl->GetSurface(This,ppDirect3DSurface9);
   3092 }
   3093 #endif
   3094 #endif
   3095 
   3096 #endif
   3097 
   3098 HRESULT STDMETHODCALLTYPE IMediaSample2Config_GetSurface_Proxy(
   3099     IMediaSample2Config* This,
   3100     IUnknown **ppDirect3DSurface9);
   3101 void __RPC_STUB IMediaSample2Config_GetSurface_Stub(
   3102     IRpcStubBuffer* This,
   3103     IRpcChannelBuffer* pRpcChannelBuffer,
   3104     PRPC_MESSAGE pRpcMessage,
   3105     DWORD* pdwStubPhase);
   3106 
   3107 #endif  /* __IMediaSample2Config_INTERFACE_DEFINED__ */
   3108 
   3109 
   3110 #define AM_GBF_PREVFRAMESKIPPED 1
   3111 #define AM_GBF_NOTASYNCPOINT 2
   3112 #define AM_GBF_NOWAIT 4
   3113 #define AM_GBF_NODDSURFACELOCK 8
   3114 
   3115 /*****************************************************************************
   3116  * IMemAllocator interface
   3117  */
   3118 #ifndef __IMemAllocator_INTERFACE_DEFINED__
   3119 #define __IMemAllocator_INTERFACE_DEFINED__
   3120 
   3121 DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   3122 #if defined(__cplusplus) && !defined(CINTERFACE)
   3123 MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
   3124 IMemAllocator : public IUnknown
   3125 {
   3126     virtual HRESULT STDMETHODCALLTYPE SetProperties(
   3127         ALLOCATOR_PROPERTIES *pRequest,
   3128         ALLOCATOR_PROPERTIES *pActual) = 0;
   3129 
   3130     virtual HRESULT STDMETHODCALLTYPE GetProperties(
   3131         ALLOCATOR_PROPERTIES *pProps) = 0;
   3132 
   3133     virtual HRESULT STDMETHODCALLTYPE Commit(
   3134         ) = 0;
   3135 
   3136     virtual HRESULT STDMETHODCALLTYPE Decommit(
   3137         ) = 0;
   3138 
   3139     virtual HRESULT STDMETHODCALLTYPE GetBuffer(
   3140         IMediaSample **ppBuffer,
   3141         REFERENCE_TIME *pStartTime,
   3142         REFERENCE_TIME *pEndTime,
   3143         DWORD dwFlags) = 0;
   3144 
   3145     virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
   3146         IMediaSample *pBuffer) = 0;
   3147 
   3148 };
   3149 #ifdef __CRT_UUID_DECL
   3150 __CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   3151 #endif
   3152 #else
   3153 typedef struct IMemAllocatorVtbl {
   3154     BEGIN_INTERFACE
   3155 
   3156     /*** IUnknown methods ***/
   3157     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3158         IMemAllocator* This,
   3159         REFIID riid,
   3160         void **ppvObject);
   3161 
   3162     ULONG (STDMETHODCALLTYPE *AddRef)(
   3163         IMemAllocator* This);
   3164 
   3165     ULONG (STDMETHODCALLTYPE *Release)(
   3166         IMemAllocator* This);
   3167 
   3168     /*** IMemAllocator methods ***/
   3169     HRESULT (STDMETHODCALLTYPE *SetProperties)(
   3170         IMemAllocator* This,
   3171         ALLOCATOR_PROPERTIES *pRequest,
   3172         ALLOCATOR_PROPERTIES *pActual);
   3173 
   3174     HRESULT (STDMETHODCALLTYPE *GetProperties)(
   3175         IMemAllocator* This,
   3176         ALLOCATOR_PROPERTIES *pProps);
   3177 
   3178     HRESULT (STDMETHODCALLTYPE *Commit)(
   3179         IMemAllocator* This);
   3180 
   3181     HRESULT (STDMETHODCALLTYPE *Decommit)(
   3182         IMemAllocator* This);
   3183 
   3184     HRESULT (STDMETHODCALLTYPE *GetBuffer)(
   3185         IMemAllocator* This,
   3186         IMediaSample **ppBuffer,
   3187         REFERENCE_TIME *pStartTime,
   3188         REFERENCE_TIME *pEndTime,
   3189         DWORD dwFlags);
   3190 
   3191     HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)(
   3192         IMemAllocator* This,
   3193         IMediaSample *pBuffer);
   3194 
   3195     END_INTERFACE
   3196 } IMemAllocatorVtbl;
   3197 interface IMemAllocator {
   3198     CONST_VTBL IMemAllocatorVtbl* lpVtbl;
   3199 };
   3200 
   3201 #ifdef COBJMACROS
   3202 #ifndef WIDL_C_INLINE_WRAPPERS
   3203 /*** IUnknown methods ***/
   3204 #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3205 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   3206 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This)
   3207 /*** IMemAllocator methods ***/
   3208 #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
   3209 #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
   3210 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This)
   3211 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This)
   3212 #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
   3213 #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
   3214 #else
   3215 /*** IUnknown methods ***/
   3216 static FORCEINLINE HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) {
   3217     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3218 }
   3219 static FORCEINLINE ULONG IMemAllocator_AddRef(IMemAllocator* This) {
   3220     return This->lpVtbl->AddRef(This);
   3221 }
   3222 static FORCEINLINE ULONG IMemAllocator_Release(IMemAllocator* This) {
   3223     return This->lpVtbl->Release(This);
   3224 }
   3225 /*** IMemAllocator methods ***/
   3226 static FORCEINLINE HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) {
   3227     return This->lpVtbl->SetProperties(This,pRequest,pActual);
   3228 }
   3229 static FORCEINLINE HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) {
   3230     return This->lpVtbl->GetProperties(This,pProps);
   3231 }
   3232 static FORCEINLINE HRESULT IMemAllocator_Commit(IMemAllocator* This) {
   3233     return This->lpVtbl->Commit(This);
   3234 }
   3235 static FORCEINLINE HRESULT IMemAllocator_Decommit(IMemAllocator* This) {
   3236     return This->lpVtbl->Decommit(This);
   3237 }
   3238 static FORCEINLINE HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) {
   3239     return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags);
   3240 }
   3241 static FORCEINLINE HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) {
   3242     return This->lpVtbl->ReleaseBuffer(This,pBuffer);
   3243 }
   3244 #endif
   3245 #endif
   3246 
   3247 #endif
   3248 
   3249 HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy(
   3250     IMemAllocator* This,
   3251     ALLOCATOR_PROPERTIES *pRequest,
   3252     ALLOCATOR_PROPERTIES *pActual);
   3253 void __RPC_STUB IMemAllocator_SetProperties_Stub(
   3254     IRpcStubBuffer* This,
   3255     IRpcChannelBuffer* pRpcChannelBuffer,
   3256     PRPC_MESSAGE pRpcMessage,
   3257     DWORD* pdwStubPhase);
   3258 HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy(
   3259     IMemAllocator* This,
   3260     ALLOCATOR_PROPERTIES *pProps);
   3261 void __RPC_STUB IMemAllocator_GetProperties_Stub(
   3262     IRpcStubBuffer* This,
   3263     IRpcChannelBuffer* pRpcChannelBuffer,
   3264     PRPC_MESSAGE pRpcMessage,
   3265     DWORD* pdwStubPhase);
   3266 HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy(
   3267     IMemAllocator* This);
   3268 void __RPC_STUB IMemAllocator_Commit_Stub(
   3269     IRpcStubBuffer* This,
   3270     IRpcChannelBuffer* pRpcChannelBuffer,
   3271     PRPC_MESSAGE pRpcMessage,
   3272     DWORD* pdwStubPhase);
   3273 HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy(
   3274     IMemAllocator* This);
   3275 void __RPC_STUB IMemAllocator_Decommit_Stub(
   3276     IRpcStubBuffer* This,
   3277     IRpcChannelBuffer* pRpcChannelBuffer,
   3278     PRPC_MESSAGE pRpcMessage,
   3279     DWORD* pdwStubPhase);
   3280 HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy(
   3281     IMemAllocator* This,
   3282     IMediaSample **ppBuffer,
   3283     REFERENCE_TIME *pStartTime,
   3284     REFERENCE_TIME *pEndTime,
   3285     DWORD dwFlags);
   3286 void __RPC_STUB IMemAllocator_GetBuffer_Stub(
   3287     IRpcStubBuffer* This,
   3288     IRpcChannelBuffer* pRpcChannelBuffer,
   3289     PRPC_MESSAGE pRpcMessage,
   3290     DWORD* pdwStubPhase);
   3291 HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy(
   3292     IMemAllocator* This,
   3293     IMediaSample *pBuffer);
   3294 void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
   3295     IRpcStubBuffer* This,
   3296     IRpcChannelBuffer* pRpcChannelBuffer,
   3297     PRPC_MESSAGE pRpcMessage,
   3298     DWORD* pdwStubPhase);
   3299 
   3300 #endif  /* __IMemAllocator_INTERFACE_DEFINED__ */
   3301 
   3302 typedef IMemAllocator *PMEMALLOCATOR;
   3303 
   3304 /*****************************************************************************
   3305  * IMemAllocatorCallbackTemp interface
   3306  */
   3307 #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
   3308 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
   3309 
   3310 DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   3311 #if defined(__cplusplus) && !defined(CINTERFACE)
   3312 MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
   3313 IMemAllocatorCallbackTemp : public IMemAllocator
   3314 {
   3315     virtual HRESULT STDMETHODCALLTYPE SetNotify(
   3316         IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
   3317 
   3318     virtual HRESULT STDMETHODCALLTYPE GetFreeCount(
   3319         LONG *plBuffersFree) = 0;
   3320 
   3321 };
   3322 #ifdef __CRT_UUID_DECL
   3323 __CRT_UUID_DECL(IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   3324 #endif
   3325 #else
   3326 typedef struct IMemAllocatorCallbackTempVtbl {
   3327     BEGIN_INTERFACE
   3328 
   3329     /*** IUnknown methods ***/
   3330     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3331         IMemAllocatorCallbackTemp* This,
   3332         REFIID riid,
   3333         void **ppvObject);
   3334 
   3335     ULONG (STDMETHODCALLTYPE *AddRef)(
   3336         IMemAllocatorCallbackTemp* This);
   3337 
   3338     ULONG (STDMETHODCALLTYPE *Release)(
   3339         IMemAllocatorCallbackTemp* This);
   3340 
   3341     /*** IMemAllocator methods ***/
   3342     HRESULT (STDMETHODCALLTYPE *SetProperties)(
   3343         IMemAllocatorCallbackTemp* This,
   3344         ALLOCATOR_PROPERTIES *pRequest,
   3345         ALLOCATOR_PROPERTIES *pActual);
   3346 
   3347     HRESULT (STDMETHODCALLTYPE *GetProperties)(
   3348         IMemAllocatorCallbackTemp* This,
   3349         ALLOCATOR_PROPERTIES *pProps);
   3350 
   3351     HRESULT (STDMETHODCALLTYPE *Commit)(
   3352         IMemAllocatorCallbackTemp* This);
   3353 
   3354     HRESULT (STDMETHODCALLTYPE *Decommit)(
   3355         IMemAllocatorCallbackTemp* This);
   3356 
   3357     HRESULT (STDMETHODCALLTYPE *GetBuffer)(
   3358         IMemAllocatorCallbackTemp* This,
   3359         IMediaSample **ppBuffer,
   3360         REFERENCE_TIME *pStartTime,
   3361         REFERENCE_TIME *pEndTime,
   3362         DWORD dwFlags);
   3363 
   3364     HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)(
   3365         IMemAllocatorCallbackTemp* This,
   3366         IMediaSample *pBuffer);
   3367 
   3368     /*** IMemAllocatorCallbackTemp methods ***/
   3369     HRESULT (STDMETHODCALLTYPE *SetNotify)(
   3370         IMemAllocatorCallbackTemp* This,
   3371         IMemAllocatorNotifyCallbackTemp *pNotify);
   3372 
   3373     HRESULT (STDMETHODCALLTYPE *GetFreeCount)(
   3374         IMemAllocatorCallbackTemp* This,
   3375         LONG *plBuffersFree);
   3376 
   3377     END_INTERFACE
   3378 } IMemAllocatorCallbackTempVtbl;
   3379 interface IMemAllocatorCallbackTemp {
   3380     CONST_VTBL IMemAllocatorCallbackTempVtbl* lpVtbl;
   3381 };
   3382 
   3383 #ifdef COBJMACROS
   3384 #ifndef WIDL_C_INLINE_WRAPPERS
   3385 /*** IUnknown methods ***/
   3386 #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3387 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
   3388 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
   3389 /*** IMemAllocator methods ***/
   3390 #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
   3391 #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
   3392 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This)
   3393 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This)
   3394 #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
   3395 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
   3396 /*** IMemAllocatorCallbackTemp methods ***/
   3397 #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify)
   3398 #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree)
   3399 #else
   3400 /*** IUnknown methods ***/
   3401 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_QueryInterface(IMemAllocatorCallbackTemp* This,REFIID riid,void **ppvObject) {
   3402     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3403 }
   3404 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_AddRef(IMemAllocatorCallbackTemp* This) {
   3405     return This->lpVtbl->AddRef(This);
   3406 }
   3407 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_Release(IMemAllocatorCallbackTemp* This) {
   3408     return This->lpVtbl->Release(This);
   3409 }
   3410 /*** IMemAllocator methods ***/
   3411 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) {
   3412     return This->lpVtbl->SetProperties(This,pRequest,pActual);
   3413 }
   3414 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pProps) {
   3415     return This->lpVtbl->GetProperties(This,pProps);
   3416 }
   3417 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Commit(IMemAllocatorCallbackTemp* This) {
   3418     return This->lpVtbl->Commit(This);
   3419 }
   3420 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Decommit(IMemAllocatorCallbackTemp* This) {
   3421     return This->lpVtbl->Decommit(This);
   3422 }
   3423 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetBuffer(IMemAllocatorCallbackTemp* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) {
   3424     return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags);
   3425 }
   3426 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_ReleaseBuffer(IMemAllocatorCallbackTemp* This,IMediaSample *pBuffer) {
   3427     return This->lpVtbl->ReleaseBuffer(This,pBuffer);
   3428 }
   3429 /*** IMemAllocatorCallbackTemp methods ***/
   3430 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetNotify(IMemAllocatorCallbackTemp* This,IMemAllocatorNotifyCallbackTemp *pNotify) {
   3431     return This->lpVtbl->SetNotify(This,pNotify);
   3432 }
   3433 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetFreeCount(IMemAllocatorCallbackTemp* This,LONG *plBuffersFree) {
   3434     return This->lpVtbl->GetFreeCount(This,plBuffersFree);
   3435 }
   3436 #endif
   3437 #endif
   3438 
   3439 #endif
   3440 
   3441 HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy(
   3442     IMemAllocatorCallbackTemp* This,
   3443     IMemAllocatorNotifyCallbackTemp *pNotify);
   3444 void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
   3445     IRpcStubBuffer* This,
   3446     IRpcChannelBuffer* pRpcChannelBuffer,
   3447     PRPC_MESSAGE pRpcMessage,
   3448     DWORD* pdwStubPhase);
   3449 HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy(
   3450     IMemAllocatorCallbackTemp* This,
   3451     LONG *plBuffersFree);
   3452 void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
   3453     IRpcStubBuffer* This,
   3454     IRpcChannelBuffer* pRpcChannelBuffer,
   3455     PRPC_MESSAGE pRpcMessage,
   3456     DWORD* pdwStubPhase);
   3457 
   3458 #endif  /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
   3459 
   3460 
   3461 /*****************************************************************************
   3462  * IMemAllocatorNotifyCallbackTemp interface
   3463  */
   3464 #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
   3465 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
   3466 
   3467 DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   3468 #if defined(__cplusplus) && !defined(CINTERFACE)
   3469 MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
   3470 IMemAllocatorNotifyCallbackTemp : public IUnknown
   3471 {
   3472     virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
   3473         ) = 0;
   3474 
   3475 };
   3476 #ifdef __CRT_UUID_DECL
   3477 __CRT_UUID_DECL(IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   3478 #endif
   3479 #else
   3480 typedef struct IMemAllocatorNotifyCallbackTempVtbl {
   3481     BEGIN_INTERFACE
   3482 
   3483     /*** IUnknown methods ***/
   3484     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3485         IMemAllocatorNotifyCallbackTemp* This,
   3486         REFIID riid,
   3487         void **ppvObject);
   3488 
   3489     ULONG (STDMETHODCALLTYPE *AddRef)(
   3490         IMemAllocatorNotifyCallbackTemp* This);
   3491 
   3492     ULONG (STDMETHODCALLTYPE *Release)(
   3493         IMemAllocatorNotifyCallbackTemp* This);
   3494 
   3495     /*** IMemAllocatorNotifyCallbackTemp methods ***/
   3496     HRESULT (STDMETHODCALLTYPE *NotifyRelease)(
   3497         IMemAllocatorNotifyCallbackTemp* This);
   3498 
   3499     END_INTERFACE
   3500 } IMemAllocatorNotifyCallbackTempVtbl;
   3501 interface IMemAllocatorNotifyCallbackTemp {
   3502     CONST_VTBL IMemAllocatorNotifyCallbackTempVtbl* lpVtbl;
   3503 };
   3504 
   3505 #ifdef COBJMACROS
   3506 #ifndef WIDL_C_INLINE_WRAPPERS
   3507 /*** IUnknown methods ***/
   3508 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3509 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
   3510 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
   3511 /*** IMemAllocatorNotifyCallbackTemp methods ***/
   3512 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This)
   3513 #else
   3514 /*** IUnknown methods ***/
   3515 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_QueryInterface(IMemAllocatorNotifyCallbackTemp* This,REFIID riid,void **ppvObject) {
   3516     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3517 }
   3518 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_AddRef(IMemAllocatorNotifyCallbackTemp* This) {
   3519     return This->lpVtbl->AddRef(This);
   3520 }
   3521 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_Release(IMemAllocatorNotifyCallbackTemp* This) {
   3522     return This->lpVtbl->Release(This);
   3523 }
   3524 /*** IMemAllocatorNotifyCallbackTemp methods ***/
   3525 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_NotifyRelease(IMemAllocatorNotifyCallbackTemp* This) {
   3526     return This->lpVtbl->NotifyRelease(This);
   3527 }
   3528 #endif
   3529 #endif
   3530 
   3531 #endif
   3532 
   3533 HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(
   3534     IMemAllocatorNotifyCallbackTemp* This);
   3535 void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
   3536     IRpcStubBuffer* This,
   3537     IRpcChannelBuffer* pRpcChannelBuffer,
   3538     PRPC_MESSAGE pRpcMessage,
   3539     DWORD* pdwStubPhase);
   3540 
   3541 #endif  /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
   3542 
   3543 
   3544 /*****************************************************************************
   3545  * IMemInputPin interface
   3546  */
   3547 #ifndef __IMemInputPin_INTERFACE_DEFINED__
   3548 #define __IMemInputPin_INTERFACE_DEFINED__
   3549 
   3550 DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   3551 #if defined(__cplusplus) && !defined(CINTERFACE)
   3552 MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
   3553 IMemInputPin : public IUnknown
   3554 {
   3555     virtual HRESULT STDMETHODCALLTYPE GetAllocator(
   3556         IMemAllocator **ppAllocator) = 0;
   3557 
   3558     virtual HRESULT STDMETHODCALLTYPE NotifyAllocator(
   3559         IMemAllocator *pAllocator,
   3560         WINBOOL bReadOnly) = 0;
   3561 
   3562     virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(
   3563         ALLOCATOR_PROPERTIES *pProps) = 0;
   3564 
   3565     virtual HRESULT STDMETHODCALLTYPE Receive(
   3566         IMediaSample *pSample) = 0;
   3567 
   3568     virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple(
   3569         IMediaSample **pSamples,
   3570         LONG nSamples,
   3571         LONG *nSamplesProcessed) = 0;
   3572 
   3573     virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock(
   3574         ) = 0;
   3575 
   3576 };
   3577 #ifdef __CRT_UUID_DECL
   3578 __CRT_UUID_DECL(IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   3579 #endif
   3580 #else
   3581 typedef struct IMemInputPinVtbl {
   3582     BEGIN_INTERFACE
   3583 
   3584     /*** IUnknown methods ***/
   3585     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3586         IMemInputPin* This,
   3587         REFIID riid,
   3588         void **ppvObject);
   3589 
   3590     ULONG (STDMETHODCALLTYPE *AddRef)(
   3591         IMemInputPin* This);
   3592 
   3593     ULONG (STDMETHODCALLTYPE *Release)(
   3594         IMemInputPin* This);
   3595 
   3596     /*** IMemInputPin methods ***/
   3597     HRESULT (STDMETHODCALLTYPE *GetAllocator)(
   3598         IMemInputPin* This,
   3599         IMemAllocator **ppAllocator);
   3600 
   3601     HRESULT (STDMETHODCALLTYPE *NotifyAllocator)(
   3602         IMemInputPin* This,
   3603         IMemAllocator *pAllocator,
   3604         WINBOOL bReadOnly);
   3605 
   3606     HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)(
   3607         IMemInputPin* This,
   3608         ALLOCATOR_PROPERTIES *pProps);
   3609 
   3610     HRESULT (STDMETHODCALLTYPE *Receive)(
   3611         IMemInputPin* This,
   3612         IMediaSample *pSample);
   3613 
   3614     HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)(
   3615         IMemInputPin* This,
   3616         IMediaSample **pSamples,
   3617         LONG nSamples,
   3618         LONG *nSamplesProcessed);
   3619 
   3620     HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)(
   3621         IMemInputPin* This);
   3622 
   3623     END_INTERFACE
   3624 } IMemInputPinVtbl;
   3625 interface IMemInputPin {
   3626     CONST_VTBL IMemInputPinVtbl* lpVtbl;
   3627 };
   3628 
   3629 #ifdef COBJMACROS
   3630 #ifndef WIDL_C_INLINE_WRAPPERS
   3631 /*** IUnknown methods ***/
   3632 #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3633 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This)
   3634 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This)
   3635 /*** IMemInputPin methods ***/
   3636 #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator)
   3637 #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly)
   3638 #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps)
   3639 #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample)
   3640 #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
   3641 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This)
   3642 #else
   3643 /*** IUnknown methods ***/
   3644 static FORCEINLINE HRESULT IMemInputPin_QueryInterface(IMemInputPin* This,REFIID riid,void **ppvObject) {
   3645     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3646 }
   3647 static FORCEINLINE ULONG IMemInputPin_AddRef(IMemInputPin* This) {
   3648     return This->lpVtbl->AddRef(This);
   3649 }
   3650 static FORCEINLINE ULONG IMemInputPin_Release(IMemInputPin* This) {
   3651     return This->lpVtbl->Release(This);
   3652 }
   3653 /*** IMemInputPin methods ***/
   3654 static FORCEINLINE HRESULT IMemInputPin_GetAllocator(IMemInputPin* This,IMemAllocator **ppAllocator) {
   3655     return This->lpVtbl->GetAllocator(This,ppAllocator);
   3656 }
   3657 static FORCEINLINE HRESULT IMemInputPin_NotifyAllocator(IMemInputPin* This,IMemAllocator *pAllocator,WINBOOL bReadOnly) {
   3658     return This->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly);
   3659 }
   3660 static FORCEINLINE HRESULT IMemInputPin_GetAllocatorRequirements(IMemInputPin* This,ALLOCATOR_PROPERTIES *pProps) {
   3661     return This->lpVtbl->GetAllocatorRequirements(This,pProps);
   3662 }
   3663 static FORCEINLINE HRESULT IMemInputPin_Receive(IMemInputPin* This,IMediaSample *pSample) {
   3664     return This->lpVtbl->Receive(This,pSample);
   3665 }
   3666 static FORCEINLINE HRESULT IMemInputPin_ReceiveMultiple(IMemInputPin* This,IMediaSample **pSamples,LONG nSamples,LONG *nSamplesProcessed) {
   3667     return This->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed);
   3668 }
   3669 static FORCEINLINE HRESULT IMemInputPin_ReceiveCanBlock(IMemInputPin* This) {
   3670     return This->lpVtbl->ReceiveCanBlock(This);
   3671 }
   3672 #endif
   3673 #endif
   3674 
   3675 #endif
   3676 
   3677 HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy(
   3678     IMemInputPin* This,
   3679     IMemAllocator **ppAllocator);
   3680 void __RPC_STUB IMemInputPin_GetAllocator_Stub(
   3681     IRpcStubBuffer* This,
   3682     IRpcChannelBuffer* pRpcChannelBuffer,
   3683     PRPC_MESSAGE pRpcMessage,
   3684     DWORD* pdwStubPhase);
   3685 HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy(
   3686     IMemInputPin* This,
   3687     IMemAllocator *pAllocator,
   3688     WINBOOL bReadOnly);
   3689 void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
   3690     IRpcStubBuffer* This,
   3691     IRpcChannelBuffer* pRpcChannelBuffer,
   3692     PRPC_MESSAGE pRpcMessage,
   3693     DWORD* pdwStubPhase);
   3694 HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy(
   3695     IMemInputPin* This,
   3696     ALLOCATOR_PROPERTIES *pProps);
   3697 void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
   3698     IRpcStubBuffer* This,
   3699     IRpcChannelBuffer* pRpcChannelBuffer,
   3700     PRPC_MESSAGE pRpcMessage,
   3701     DWORD* pdwStubPhase);
   3702 HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy(
   3703     IMemInputPin* This,
   3704     IMediaSample *pSample);
   3705 void __RPC_STUB IMemInputPin_Receive_Stub(
   3706     IRpcStubBuffer* This,
   3707     IRpcChannelBuffer* pRpcChannelBuffer,
   3708     PRPC_MESSAGE pRpcMessage,
   3709     DWORD* pdwStubPhase);
   3710 HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy(
   3711     IMemInputPin* This,
   3712     IMediaSample **pSamples,
   3713     LONG nSamples,
   3714     LONG *nSamplesProcessed);
   3715 void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
   3716     IRpcStubBuffer* This,
   3717     IRpcChannelBuffer* pRpcChannelBuffer,
   3718     PRPC_MESSAGE pRpcMessage,
   3719     DWORD* pdwStubPhase);
   3720 HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy(
   3721     IMemInputPin* This);
   3722 void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
   3723     IRpcStubBuffer* This,
   3724     IRpcChannelBuffer* pRpcChannelBuffer,
   3725     PRPC_MESSAGE pRpcMessage,
   3726     DWORD* pdwStubPhase);
   3727 
   3728 #endif  /* __IMemInputPin_INTERFACE_DEFINED__ */
   3729 
   3730 typedef IMemInputPin *PMEMINPUTPIN;
   3731 
   3732 /*****************************************************************************
   3733  * IAMovieSetup interface
   3734  */
   3735 #ifndef __IAMovieSetup_INTERFACE_DEFINED__
   3736 #define __IAMovieSetup_INTERFACE_DEFINED__
   3737 
   3738 DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20);
   3739 #if defined(__cplusplus) && !defined(CINTERFACE)
   3740 MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
   3741 IAMovieSetup : public IUnknown
   3742 {
   3743     virtual HRESULT STDMETHODCALLTYPE Register(
   3744         ) = 0;
   3745 
   3746     virtual HRESULT STDMETHODCALLTYPE Unregister(
   3747         ) = 0;
   3748 
   3749 };
   3750 #ifdef __CRT_UUID_DECL
   3751 __CRT_UUID_DECL(IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20)
   3752 #endif
   3753 #else
   3754 typedef struct IAMovieSetupVtbl {
   3755     BEGIN_INTERFACE
   3756 
   3757     /*** IUnknown methods ***/
   3758     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3759         IAMovieSetup* This,
   3760         REFIID riid,
   3761         void **ppvObject);
   3762 
   3763     ULONG (STDMETHODCALLTYPE *AddRef)(
   3764         IAMovieSetup* This);
   3765 
   3766     ULONG (STDMETHODCALLTYPE *Release)(
   3767         IAMovieSetup* This);
   3768 
   3769     /*** IAMovieSetup methods ***/
   3770     HRESULT (STDMETHODCALLTYPE *Register)(
   3771         IAMovieSetup* This);
   3772 
   3773     HRESULT (STDMETHODCALLTYPE *Unregister)(
   3774         IAMovieSetup* This);
   3775 
   3776     END_INTERFACE
   3777 } IAMovieSetupVtbl;
   3778 interface IAMovieSetup {
   3779     CONST_VTBL IAMovieSetupVtbl* lpVtbl;
   3780 };
   3781 
   3782 #ifdef COBJMACROS
   3783 #ifndef WIDL_C_INLINE_WRAPPERS
   3784 /*** IUnknown methods ***/
   3785 #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3786 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This)
   3787 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This)
   3788 /*** IAMovieSetup methods ***/
   3789 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This)
   3790 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This)
   3791 #else
   3792 /*** IUnknown methods ***/
   3793 static FORCEINLINE HRESULT IAMovieSetup_QueryInterface(IAMovieSetup* This,REFIID riid,void **ppvObject) {
   3794     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3795 }
   3796 static FORCEINLINE ULONG IAMovieSetup_AddRef(IAMovieSetup* This) {
   3797     return This->lpVtbl->AddRef(This);
   3798 }
   3799 static FORCEINLINE ULONG IAMovieSetup_Release(IAMovieSetup* This) {
   3800     return This->lpVtbl->Release(This);
   3801 }
   3802 /*** IAMovieSetup methods ***/
   3803 static FORCEINLINE HRESULT IAMovieSetup_Register(IAMovieSetup* This) {
   3804     return This->lpVtbl->Register(This);
   3805 }
   3806 static FORCEINLINE HRESULT IAMovieSetup_Unregister(IAMovieSetup* This) {
   3807     return This->lpVtbl->Unregister(This);
   3808 }
   3809 #endif
   3810 #endif
   3811 
   3812 #endif
   3813 
   3814 HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy(
   3815     IAMovieSetup* This);
   3816 void __RPC_STUB IAMovieSetup_Register_Stub(
   3817     IRpcStubBuffer* This,
   3818     IRpcChannelBuffer* pRpcChannelBuffer,
   3819     PRPC_MESSAGE pRpcMessage,
   3820     DWORD* pdwStubPhase);
   3821 HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy(
   3822     IAMovieSetup* This);
   3823 void __RPC_STUB IAMovieSetup_Unregister_Stub(
   3824     IRpcStubBuffer* This,
   3825     IRpcChannelBuffer* pRpcChannelBuffer,
   3826     PRPC_MESSAGE pRpcMessage,
   3827     DWORD* pdwStubPhase);
   3828 
   3829 #endif  /* __IAMovieSetup_INTERFACE_DEFINED__ */
   3830 
   3831 typedef IAMovieSetup *PAMOVIESETUP;
   3832 
   3833 typedef enum AM_SEEKING_SeekingFlags {
   3834     AM_SEEKING_NoPositioning = 0x0,
   3835     AM_SEEKING_AbsolutePositioning = 0x1,
   3836     AM_SEEKING_RelativePositioning = 0x2,
   3837     AM_SEEKING_IncrementalPositioning = 0x3,
   3838     AM_SEEKING_PositioningBitsMask = 0x3,
   3839     AM_SEEKING_SeekToKeyFrame = 0x4,
   3840     AM_SEEKING_ReturnTime = 0x8,
   3841     AM_SEEKING_Segment = 0x10,
   3842     AM_SEEKING_NoFlush = 0x20
   3843 } AM_SEEKING_SEEKING_FLAGS;
   3844 
   3845 typedef enum AM_SEEKING_SeekingCapabilities {
   3846     AM_SEEKING_CanSeekAbsolute = 0x1,
   3847     AM_SEEKING_CanSeekForwards = 0x2,
   3848     AM_SEEKING_CanSeekBackwards = 0x4,
   3849     AM_SEEKING_CanGetCurrentPos = 0x8,
   3850     AM_SEEKING_CanGetStopPos = 0x10,
   3851     AM_SEEKING_CanGetDuration = 0x20,
   3852     AM_SEEKING_CanPlayBackwards = 0x40,
   3853     AM_SEEKING_CanDoSegments = 0x80,
   3854     AM_SEEKING_Source = 0x100
   3855 } AM_SEEKING_SEEKING_CAPABILITIES;
   3856 
   3857 /*****************************************************************************
   3858  * IMediaSeeking interface
   3859  */
   3860 #ifndef __IMediaSeeking_INTERFACE_DEFINED__
   3861 #define __IMediaSeeking_INTERFACE_DEFINED__
   3862 
   3863 DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   3864 #if defined(__cplusplus) && !defined(CINTERFACE)
   3865 MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
   3866 IMediaSeeking : public IUnknown
   3867 {
   3868     virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
   3869         DWORD *pCapabilities) = 0;
   3870 
   3871     virtual HRESULT STDMETHODCALLTYPE CheckCapabilities(
   3872         DWORD *pCapabilities) = 0;
   3873 
   3874     virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
   3875         const GUID *pFormat) = 0;
   3876 
   3877     virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat(
   3878         GUID *pFormat) = 0;
   3879 
   3880     virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
   3881         GUID *pFormat) = 0;
   3882 
   3883     virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat(
   3884         const GUID *pFormat) = 0;
   3885 
   3886     virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(
   3887         const GUID *pFormat) = 0;
   3888 
   3889     virtual HRESULT STDMETHODCALLTYPE GetDuration(
   3890         LONGLONG *pDuration) = 0;
   3891 
   3892     virtual HRESULT STDMETHODCALLTYPE GetStopPosition(
   3893         LONGLONG *pStop) = 0;
   3894 
   3895     virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
   3896         LONGLONG *pCurrent) = 0;
   3897 
   3898     virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat(
   3899         LONGLONG *pTarget,
   3900         const GUID *pTargetFormat,
   3901         LONGLONG Source,
   3902         const GUID *pSourceFormat) = 0;
   3903 
   3904     virtual HRESULT STDMETHODCALLTYPE SetPositions(
   3905         LONGLONG *pCurrent,
   3906         DWORD dwCurrentFlags,
   3907         LONGLONG *pStop,
   3908         DWORD dwStopFlags) = 0;
   3909 
   3910     virtual HRESULT STDMETHODCALLTYPE GetPositions(
   3911         LONGLONG *pCurrent,
   3912         LONGLONG *pStop) = 0;
   3913 
   3914     virtual HRESULT STDMETHODCALLTYPE GetAvailable(
   3915         LONGLONG *pEarliest,
   3916         LONGLONG *pLatest) = 0;
   3917 
   3918     virtual HRESULT STDMETHODCALLTYPE SetRate(
   3919         double dRate) = 0;
   3920 
   3921     virtual HRESULT STDMETHODCALLTYPE GetRate(
   3922         double *pdRate) = 0;
   3923 
   3924     virtual HRESULT STDMETHODCALLTYPE GetPreroll(
   3925         LONGLONG *pllPreroll) = 0;
   3926 
   3927 };
   3928 #ifdef __CRT_UUID_DECL
   3929 __CRT_UUID_DECL(IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   3930 #endif
   3931 #else
   3932 typedef struct IMediaSeekingVtbl {
   3933     BEGIN_INTERFACE
   3934 
   3935     /*** IUnknown methods ***/
   3936     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3937         IMediaSeeking* This,
   3938         REFIID riid,
   3939         void **ppvObject);
   3940 
   3941     ULONG (STDMETHODCALLTYPE *AddRef)(
   3942         IMediaSeeking* This);
   3943 
   3944     ULONG (STDMETHODCALLTYPE *Release)(
   3945         IMediaSeeking* This);
   3946 
   3947     /*** IMediaSeeking methods ***/
   3948     HRESULT (STDMETHODCALLTYPE *GetCapabilities)(
   3949         IMediaSeeking* This,
   3950         DWORD *pCapabilities);
   3951 
   3952     HRESULT (STDMETHODCALLTYPE *CheckCapabilities)(
   3953         IMediaSeeking* This,
   3954         DWORD *pCapabilities);
   3955 
   3956     HRESULT (STDMETHODCALLTYPE *IsFormatSupported)(
   3957         IMediaSeeking* This,
   3958         const GUID *pFormat);
   3959 
   3960     HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)(
   3961         IMediaSeeking* This,
   3962         GUID *pFormat);
   3963 
   3964     HRESULT (STDMETHODCALLTYPE *GetTimeFormat)(
   3965         IMediaSeeking* This,
   3966         GUID *pFormat);
   3967 
   3968     HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)(
   3969         IMediaSeeking* This,
   3970         const GUID *pFormat);
   3971 
   3972     HRESULT (STDMETHODCALLTYPE *SetTimeFormat)(
   3973         IMediaSeeking* This,
   3974         const GUID *pFormat);
   3975 
   3976     HRESULT (STDMETHODCALLTYPE *GetDuration)(
   3977         IMediaSeeking* This,
   3978         LONGLONG *pDuration);
   3979 
   3980     HRESULT (STDMETHODCALLTYPE *GetStopPosition)(
   3981         IMediaSeeking* This,
   3982         LONGLONG *pStop);
   3983 
   3984     HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)(
   3985         IMediaSeeking* This,
   3986         LONGLONG *pCurrent);
   3987 
   3988     HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)(
   3989         IMediaSeeking* This,
   3990         LONGLONG *pTarget,
   3991         const GUID *pTargetFormat,
   3992         LONGLONG Source,
   3993         const GUID *pSourceFormat);
   3994 
   3995     HRESULT (STDMETHODCALLTYPE *SetPositions)(
   3996         IMediaSeeking* This,
   3997         LONGLONG *pCurrent,
   3998         DWORD dwCurrentFlags,
   3999         LONGLONG *pStop,
   4000         DWORD dwStopFlags);
   4001 
   4002     HRESULT (STDMETHODCALLTYPE *GetPositions)(
   4003         IMediaSeeking* This,
   4004         LONGLONG *pCurrent,
   4005         LONGLONG *pStop);
   4006 
   4007     HRESULT (STDMETHODCALLTYPE *GetAvailable)(
   4008         IMediaSeeking* This,
   4009         LONGLONG *pEarliest,
   4010         LONGLONG *pLatest);
   4011 
   4012     HRESULT (STDMETHODCALLTYPE *SetRate)(
   4013         IMediaSeeking* This,
   4014         double dRate);
   4015 
   4016     HRESULT (STDMETHODCALLTYPE *GetRate)(
   4017         IMediaSeeking* This,
   4018         double *pdRate);
   4019 
   4020     HRESULT (STDMETHODCALLTYPE *GetPreroll)(
   4021         IMediaSeeking* This,
   4022         LONGLONG *pllPreroll);
   4023 
   4024     END_INTERFACE
   4025 } IMediaSeekingVtbl;
   4026 interface IMediaSeeking {
   4027     CONST_VTBL IMediaSeekingVtbl* lpVtbl;
   4028 };
   4029 
   4030 #ifdef COBJMACROS
   4031 #ifndef WIDL_C_INLINE_WRAPPERS
   4032 /*** IUnknown methods ***/
   4033 #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4034 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This)
   4035 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This)
   4036 /*** IMediaSeeking methods ***/
   4037 #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities)
   4038 #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities)
   4039 #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat)
   4040 #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat)
   4041 #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat)
   4042 #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat)
   4043 #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat)
   4044 #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
   4045 #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop)
   4046 #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent)
   4047 #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
   4048 #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
   4049 #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop)
   4050 #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest)
   4051 #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate)
   4052 #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate)
   4053 #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll)
   4054 #else
   4055 /*** IUnknown methods ***/
   4056 static FORCEINLINE HRESULT IMediaSeeking_QueryInterface(IMediaSeeking* This,REFIID riid,void **ppvObject) {
   4057     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4058 }
   4059 static FORCEINLINE ULONG IMediaSeeking_AddRef(IMediaSeeking* This) {
   4060     return This->lpVtbl->AddRef(This);
   4061 }
   4062 static FORCEINLINE ULONG IMediaSeeking_Release(IMediaSeeking* This) {
   4063     return This->lpVtbl->Release(This);
   4064 }
   4065 /*** IMediaSeeking methods ***/
   4066 static FORCEINLINE HRESULT IMediaSeeking_GetCapabilities(IMediaSeeking* This,DWORD *pCapabilities) {
   4067     return This->lpVtbl->GetCapabilities(This,pCapabilities);
   4068 }
   4069 static FORCEINLINE HRESULT IMediaSeeking_CheckCapabilities(IMediaSeeking* This,DWORD *pCapabilities) {
   4070     return This->lpVtbl->CheckCapabilities(This,pCapabilities);
   4071 }
   4072 static FORCEINLINE HRESULT IMediaSeeking_IsFormatSupported(IMediaSeeking* This,const GUID *pFormat) {
   4073     return This->lpVtbl->IsFormatSupported(This,pFormat);
   4074 }
   4075 static FORCEINLINE HRESULT IMediaSeeking_QueryPreferredFormat(IMediaSeeking* This,GUID *pFormat) {
   4076     return This->lpVtbl->QueryPreferredFormat(This,pFormat);
   4077 }
   4078 static FORCEINLINE HRESULT IMediaSeeking_GetTimeFormat(IMediaSeeking* This,GUID *pFormat) {
   4079     return This->lpVtbl->GetTimeFormat(This,pFormat);
   4080 }
   4081 static FORCEINLINE HRESULT IMediaSeeking_IsUsingTimeFormat(IMediaSeeking* This,const GUID *pFormat) {
   4082     return This->lpVtbl->IsUsingTimeFormat(This,pFormat);
   4083 }
   4084 static FORCEINLINE HRESULT IMediaSeeking_SetTimeFormat(IMediaSeeking* This,const GUID *pFormat) {
   4085     return This->lpVtbl->SetTimeFormat(This,pFormat);
   4086 }
   4087 static FORCEINLINE HRESULT IMediaSeeking_GetDuration(IMediaSeeking* This,LONGLONG *pDuration) {
   4088     return This->lpVtbl->GetDuration(This,pDuration);
   4089 }
   4090 static FORCEINLINE HRESULT IMediaSeeking_GetStopPosition(IMediaSeeking* This,LONGLONG *pStop) {
   4091     return This->lpVtbl->GetStopPosition(This,pStop);
   4092 }
   4093 static FORCEINLINE HRESULT IMediaSeeking_GetCurrentPosition(IMediaSeeking* This,LONGLONG *pCurrent) {
   4094     return This->lpVtbl->GetCurrentPosition(This,pCurrent);
   4095 }
   4096 static FORCEINLINE HRESULT IMediaSeeking_ConvertTimeFormat(IMediaSeeking* This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) {
   4097     return This->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat);
   4098 }
   4099 static FORCEINLINE HRESULT IMediaSeeking_SetPositions(IMediaSeeking* This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) {
   4100     return This->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags);
   4101 }
   4102 static FORCEINLINE HRESULT IMediaSeeking_GetPositions(IMediaSeeking* This,LONGLONG *pCurrent,LONGLONG *pStop) {
   4103     return This->lpVtbl->GetPositions(This,pCurrent,pStop);
   4104 }
   4105 static FORCEINLINE HRESULT IMediaSeeking_GetAvailable(IMediaSeeking* This,LONGLONG *pEarliest,LONGLONG *pLatest) {
   4106     return This->lpVtbl->GetAvailable(This,pEarliest,pLatest);
   4107 }
   4108 static FORCEINLINE HRESULT IMediaSeeking_SetRate(IMediaSeeking* This,double dRate) {
   4109     return This->lpVtbl->SetRate(This,dRate);
   4110 }
   4111 static FORCEINLINE HRESULT IMediaSeeking_GetRate(IMediaSeeking* This,double *pdRate) {
   4112     return This->lpVtbl->GetRate(This,pdRate);
   4113 }
   4114 static FORCEINLINE HRESULT IMediaSeeking_GetPreroll(IMediaSeeking* This,LONGLONG *pllPreroll) {
   4115     return This->lpVtbl->GetPreroll(This,pllPreroll);
   4116 }
   4117 #endif
   4118 #endif
   4119 
   4120 #endif
   4121 
   4122 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy(
   4123     IMediaSeeking* This,
   4124     DWORD *pCapabilities);
   4125 void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
   4126     IRpcStubBuffer* This,
   4127     IRpcChannelBuffer* pRpcChannelBuffer,
   4128     PRPC_MESSAGE pRpcMessage,
   4129     DWORD* pdwStubPhase);
   4130 HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy(
   4131     IMediaSeeking* This,
   4132     DWORD *pCapabilities);
   4133 void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
   4134     IRpcStubBuffer* This,
   4135     IRpcChannelBuffer* pRpcChannelBuffer,
   4136     PRPC_MESSAGE pRpcMessage,
   4137     DWORD* pdwStubPhase);
   4138 HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy(
   4139     IMediaSeeking* This,
   4140     const GUID *pFormat);
   4141 void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
   4142     IRpcStubBuffer* This,
   4143     IRpcChannelBuffer* pRpcChannelBuffer,
   4144     PRPC_MESSAGE pRpcMessage,
   4145     DWORD* pdwStubPhase);
   4146 HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy(
   4147     IMediaSeeking* This,
   4148     GUID *pFormat);
   4149 void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
   4150     IRpcStubBuffer* This,
   4151     IRpcChannelBuffer* pRpcChannelBuffer,
   4152     PRPC_MESSAGE pRpcMessage,
   4153     DWORD* pdwStubPhase);
   4154 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy(
   4155     IMediaSeeking* This,
   4156     GUID *pFormat);
   4157 void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
   4158     IRpcStubBuffer* This,
   4159     IRpcChannelBuffer* pRpcChannelBuffer,
   4160     PRPC_MESSAGE pRpcMessage,
   4161     DWORD* pdwStubPhase);
   4162 HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy(
   4163     IMediaSeeking* This,
   4164     const GUID *pFormat);
   4165 void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
   4166     IRpcStubBuffer* This,
   4167     IRpcChannelBuffer* pRpcChannelBuffer,
   4168     PRPC_MESSAGE pRpcMessage,
   4169     DWORD* pdwStubPhase);
   4170 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy(
   4171     IMediaSeeking* This,
   4172     const GUID *pFormat);
   4173 void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
   4174     IRpcStubBuffer* This,
   4175     IRpcChannelBuffer* pRpcChannelBuffer,
   4176     PRPC_MESSAGE pRpcMessage,
   4177     DWORD* pdwStubPhase);
   4178 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy(
   4179     IMediaSeeking* This,
   4180     LONGLONG *pDuration);
   4181 void __RPC_STUB IMediaSeeking_GetDuration_Stub(
   4182     IRpcStubBuffer* This,
   4183     IRpcChannelBuffer* pRpcChannelBuffer,
   4184     PRPC_MESSAGE pRpcMessage,
   4185     DWORD* pdwStubPhase);
   4186 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy(
   4187     IMediaSeeking* This,
   4188     LONGLONG *pStop);
   4189 void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
   4190     IRpcStubBuffer* This,
   4191     IRpcChannelBuffer* pRpcChannelBuffer,
   4192     PRPC_MESSAGE pRpcMessage,
   4193     DWORD* pdwStubPhase);
   4194 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy(
   4195     IMediaSeeking* This,
   4196     LONGLONG *pCurrent);
   4197 void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
   4198     IRpcStubBuffer* This,
   4199     IRpcChannelBuffer* pRpcChannelBuffer,
   4200     PRPC_MESSAGE pRpcMessage,
   4201     DWORD* pdwStubPhase);
   4202 HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy(
   4203     IMediaSeeking* This,
   4204     LONGLONG *pTarget,
   4205     const GUID *pTargetFormat,
   4206     LONGLONG Source,
   4207     const GUID *pSourceFormat);
   4208 void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
   4209     IRpcStubBuffer* This,
   4210     IRpcChannelBuffer* pRpcChannelBuffer,
   4211     PRPC_MESSAGE pRpcMessage,
   4212     DWORD* pdwStubPhase);
   4213 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy(
   4214     IMediaSeeking* This,
   4215     LONGLONG *pCurrent,
   4216     DWORD dwCurrentFlags,
   4217     LONGLONG *pStop,
   4218     DWORD dwStopFlags);
   4219 void __RPC_STUB IMediaSeeking_SetPositions_Stub(
   4220     IRpcStubBuffer* This,
   4221     IRpcChannelBuffer* pRpcChannelBuffer,
   4222     PRPC_MESSAGE pRpcMessage,
   4223     DWORD* pdwStubPhase);
   4224 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy(
   4225     IMediaSeeking* This,
   4226     LONGLONG *pCurrent,
   4227     LONGLONG *pStop);
   4228 void __RPC_STUB IMediaSeeking_GetPositions_Stub(
   4229     IRpcStubBuffer* This,
   4230     IRpcChannelBuffer* pRpcChannelBuffer,
   4231     PRPC_MESSAGE pRpcMessage,
   4232     DWORD* pdwStubPhase);
   4233 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy(
   4234     IMediaSeeking* This,
   4235     LONGLONG *pEarliest,
   4236     LONGLONG *pLatest);
   4237 void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
   4238     IRpcStubBuffer* This,
   4239     IRpcChannelBuffer* pRpcChannelBuffer,
   4240     PRPC_MESSAGE pRpcMessage,
   4241     DWORD* pdwStubPhase);
   4242 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy(
   4243     IMediaSeeking* This,
   4244     double dRate);
   4245 void __RPC_STUB IMediaSeeking_SetRate_Stub(
   4246     IRpcStubBuffer* This,
   4247     IRpcChannelBuffer* pRpcChannelBuffer,
   4248     PRPC_MESSAGE pRpcMessage,
   4249     DWORD* pdwStubPhase);
   4250 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy(
   4251     IMediaSeeking* This,
   4252     double *pdRate);
   4253 void __RPC_STUB IMediaSeeking_GetRate_Stub(
   4254     IRpcStubBuffer* This,
   4255     IRpcChannelBuffer* pRpcChannelBuffer,
   4256     PRPC_MESSAGE pRpcMessage,
   4257     DWORD* pdwStubPhase);
   4258 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy(
   4259     IMediaSeeking* This,
   4260     LONGLONG *pllPreroll);
   4261 void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
   4262     IRpcStubBuffer* This,
   4263     IRpcChannelBuffer* pRpcChannelBuffer,
   4264     PRPC_MESSAGE pRpcMessage,
   4265     DWORD* pdwStubPhase);
   4266 
   4267 #endif  /* __IMediaSeeking_INTERFACE_DEFINED__ */
   4268 
   4269 typedef IMediaSeeking *PMEDIASEEKING;
   4270 
   4271 enum tagAM_MEDIAEVENT_FLAGS {
   4272   AM_MEDIAEVENT_NONOTIFY = 0x1
   4273 };
   4274 
   4275 #endif
   4276 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
   4277 #define __IAMAnalogVideoDecoder_FWD_DEFINED__
   4278 typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
   4279 #endif
   4280 
   4281 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
   4282 #define __IAMAnalogVideoEncoder_FWD_DEFINED__
   4283 typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
   4284 #endif
   4285 
   4286 #ifndef __IAMAudioInputMixer_FWD_DEFINED__
   4287 #define __IAMAudioInputMixer_FWD_DEFINED__
   4288 typedef interface IAMAudioInputMixer IAMAudioInputMixer;
   4289 #endif
   4290 
   4291 #ifndef __IAMAudioRendererStats_FWD_DEFINED__
   4292 #define __IAMAudioRendererStats_FWD_DEFINED__
   4293 typedef interface IAMAudioRendererStats IAMAudioRendererStats;
   4294 #endif
   4295 
   4296 #ifndef __IAMBufferNegotiation_FWD_DEFINED__
   4297 #define __IAMBufferNegotiation_FWD_DEFINED__
   4298 typedef interface IAMBufferNegotiation IAMBufferNegotiation;
   4299 #endif
   4300 
   4301 #ifndef __IAMCameraControl_FWD_DEFINED__
   4302 #define __IAMCameraControl_FWD_DEFINED__
   4303 typedef interface IAMCameraControl IAMCameraControl;
   4304 #endif
   4305 
   4306 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__
   4307 #define __IAMCertifiedOutputProtection_FWD_DEFINED__
   4308 typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
   4309 #endif
   4310 
   4311 #ifndef __IAMClockSlave_FWD_DEFINED__
   4312 #define __IAMClockSlave_FWD_DEFINED__
   4313 typedef interface IAMClockSlave IAMClockSlave;
   4314 #endif
   4315 
   4316 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
   4317 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
   4318 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
   4319 #endif
   4320 
   4321 #ifndef __IAMCrossbar_FWD_DEFINED__
   4322 #define __IAMCrossbar_FWD_DEFINED__
   4323 typedef interface IAMCrossbar IAMCrossbar;
   4324 #endif
   4325 
   4326 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
   4327 #define __IAMDevMemoryAllocator_FWD_DEFINED__
   4328 typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
   4329 #endif
   4330 
   4331 #ifndef __IAMDevMemoryControl_FWD_DEFINED__
   4332 #define __IAMDevMemoryControl_FWD_DEFINED__
   4333 typedef interface IAMDevMemoryControl IAMDevMemoryControl;
   4334 #endif
   4335 
   4336 #ifndef __IAMDroppedFrames_FWD_DEFINED__
   4337 #define __IAMDroppedFrames_FWD_DEFINED__
   4338 typedef interface IAMDroppedFrames IAMDroppedFrames;
   4339 #endif
   4340 
   4341 #ifndef __IAMExtDevice_FWD_DEFINED__
   4342 #define __IAMExtDevice_FWD_DEFINED__
   4343 typedef interface IAMExtDevice IAMExtDevice;
   4344 #endif
   4345 
   4346 #ifndef __IAMExtTransport_FWD_DEFINED__
   4347 #define __IAMExtTransport_FWD_DEFINED__
   4348 typedef interface IAMExtTransport IAMExtTransport;
   4349 #endif
   4350 
   4351 #ifndef __IAMGraphStreams_FWD_DEFINED__
   4352 #define __IAMGraphStreams_FWD_DEFINED__
   4353 typedef interface IAMGraphStreams IAMGraphStreams;
   4354 #endif
   4355 
   4356 #ifndef __IAMLatency_FWD_DEFINED__
   4357 #define __IAMLatency_FWD_DEFINED__
   4358 typedef interface IAMLatency IAMLatency;
   4359 #endif
   4360 
   4361 #ifndef __IAMOpenProgress_FWD_DEFINED__
   4362 #define __IAMOpenProgress_FWD_DEFINED__
   4363 typedef interface IAMOpenProgress IAMOpenProgress;
   4364 #endif
   4365 
   4366 #ifndef __IAMOverlayFX_FWD_DEFINED__
   4367 #define __IAMOverlayFX_FWD_DEFINED__
   4368 typedef interface IAMOverlayFX IAMOverlayFX;
   4369 #endif
   4370 
   4371 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
   4372 #define __IAMPhysicalPinInfo_FWD_DEFINED__
   4373 typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
   4374 #endif
   4375 
   4376 #ifndef __IAMPushSource_FWD_DEFINED__
   4377 #define __IAMPushSource_FWD_DEFINED__
   4378 typedef interface IAMPushSource IAMPushSource;
   4379 #endif
   4380 
   4381 #ifndef __IAMStreamConfig_FWD_DEFINED__
   4382 #define __IAMStreamConfig_FWD_DEFINED__
   4383 typedef interface IAMStreamConfig IAMStreamConfig;
   4384 #endif
   4385 
   4386 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
   4387 #define __IAMTimecodeDisplay_FWD_DEFINED__
   4388 typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
   4389 #endif
   4390 
   4391 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
   4392 #define __IAMTimecodeGenerator_FWD_DEFINED__
   4393 typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
   4394 #endif
   4395 
   4396 #ifndef __IAMTimecodeReader_FWD_DEFINED__
   4397 #define __IAMTimecodeReader_FWD_DEFINED__
   4398 typedef interface IAMTimecodeReader IAMTimecodeReader;
   4399 #endif
   4400 
   4401 #ifndef __IAMTVTuner_FWD_DEFINED__
   4402 #define __IAMTVTuner_FWD_DEFINED__
   4403 typedef interface IAMTVTuner IAMTVTuner;
   4404 #endif
   4405 
   4406 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
   4407 #define __IAMVfwCaptureDialogs_FWD_DEFINED__
   4408 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
   4409 #endif
   4410 
   4411 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
   4412 #define __IAMVfwCompressDialogs_FWD_DEFINED__
   4413 typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
   4414 #endif
   4415 
   4416 #ifndef __IAMVideoCompression_FWD_DEFINED__
   4417 #define __IAMVideoCompression_FWD_DEFINED__
   4418 typedef interface IAMVideoCompression IAMVideoCompression;
   4419 #endif
   4420 
   4421 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
   4422 #define __IAMVideoDecimationProperties_FWD_DEFINED__
   4423 typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
   4424 #endif
   4425 
   4426 #ifndef __IAMVideoProcAmp_FWD_DEFINED__
   4427 #define __IAMVideoProcAmp_FWD_DEFINED__
   4428 typedef interface IAMVideoProcAmp IAMVideoProcAmp;
   4429 #endif
   4430 
   4431 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
   4432 #define __IAMGraphBuilderCallback_FWD_DEFINED__
   4433 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
   4434 #endif
   4435 
   4436 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
   4437 #define __ICaptureGraphBuilder_FWD_DEFINED__
   4438 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
   4439 #endif
   4440 
   4441 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
   4442 #define __ICaptureGraphBuilder2_FWD_DEFINED__
   4443 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
   4444 #endif
   4445 
   4446 #ifndef __IConfigAviMux_FWD_DEFINED__
   4447 #define __IConfigAviMux_FWD_DEFINED__
   4448 typedef interface IConfigAviMux IConfigAviMux;
   4449 #endif
   4450 
   4451 #ifndef __IConfigInterleaving_FWD_DEFINED__
   4452 #define __IConfigInterleaving_FWD_DEFINED__
   4453 typedef interface IConfigInterleaving IConfigInterleaving;
   4454 #endif
   4455 
   4456 #ifndef __IDecimateVideoImage_FWD_DEFINED__
   4457 #define __IDecimateVideoImage_FWD_DEFINED__
   4458 typedef interface IDecimateVideoImage IDecimateVideoImage;
   4459 #endif
   4460 
   4461 #ifndef __IDrawVideoImage_FWD_DEFINED__
   4462 #define __IDrawVideoImage_FWD_DEFINED__
   4463 typedef interface IDrawVideoImage IDrawVideoImage;
   4464 #endif
   4465 
   4466 #ifndef __IEnumRegFilters_FWD_DEFINED__
   4467 #define __IEnumRegFilters_FWD_DEFINED__
   4468 typedef interface IEnumRegFilters IEnumRegFilters;
   4469 #endif
   4470 
   4471 #ifndef __IEnumStreamIdMap_FWD_DEFINED__
   4472 #define __IEnumStreamIdMap_FWD_DEFINED__
   4473 typedef interface IEnumStreamIdMap IEnumStreamIdMap;
   4474 #endif
   4475 
   4476 #ifndef __IFileSourceFilter_FWD_DEFINED__
   4477 #define __IFileSourceFilter_FWD_DEFINED__
   4478 typedef interface IFileSourceFilter IFileSourceFilter;
   4479 #endif
   4480 
   4481 #ifndef __IFileSinkFilter_FWD_DEFINED__
   4482 #define __IFileSinkFilter_FWD_DEFINED__
   4483 typedef interface IFileSinkFilter IFileSinkFilter;
   4484 #endif
   4485 
   4486 #ifndef __IFileSinkFilter2_FWD_DEFINED__
   4487 #define __IFileSinkFilter2_FWD_DEFINED__
   4488 typedef interface IFileSinkFilter2 IFileSinkFilter2;
   4489 #endif
   4490 
   4491 #ifndef __IFilterMapper_FWD_DEFINED__
   4492 #define __IFilterMapper_FWD_DEFINED__
   4493 typedef interface IFilterMapper IFilterMapper;
   4494 #endif
   4495 
   4496 #ifndef __IFilterMapper2_FWD_DEFINED__
   4497 #define __IFilterMapper2_FWD_DEFINED__
   4498 typedef interface IFilterMapper2 IFilterMapper2;
   4499 #endif
   4500 
   4501 #ifndef __IGraphBuilder_FWD_DEFINED__
   4502 #define __IGraphBuilder_FWD_DEFINED__
   4503 typedef interface IGraphBuilder IGraphBuilder;
   4504 #endif
   4505 
   4506 #ifndef __IKsPropertySet_FWD_DEFINED__
   4507 #define __IKsPropertySet_FWD_DEFINED__
   4508 typedef interface IKsPropertySet IKsPropertySet;
   4509 #endif
   4510 
   4511 #ifndef __IMediaEventSink_FWD_DEFINED__
   4512 #define __IMediaEventSink_FWD_DEFINED__
   4513 typedef interface IMediaEventSink IMediaEventSink;
   4514 #endif
   4515 
   4516 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
   4517 #define __IMpeg2Demultiplexer_FWD_DEFINED__
   4518 typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
   4519 #endif
   4520 
   4521 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
   4522 #define __IMPEG2StreamIdMap_FWD_DEFINED__
   4523 typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
   4524 #endif
   4525 
   4526 #ifndef __IOverlay_FWD_DEFINED__
   4527 #define __IOverlay_FWD_DEFINED__
   4528 typedef interface IOverlay IOverlay;
   4529 #endif
   4530 
   4531 #ifndef __IOverlayNotify_FWD_DEFINED__
   4532 #define __IOverlayNotify_FWD_DEFINED__
   4533 typedef interface IOverlayNotify IOverlayNotify;
   4534 #endif
   4535 
   4536 #ifndef __IOverlayNotify2_FWD_DEFINED__
   4537 #define __IOverlayNotify2_FWD_DEFINED__
   4538 typedef interface IOverlayNotify2 IOverlayNotify2;
   4539 #endif
   4540 
   4541 #ifndef __IQualityControl_FWD_DEFINED__
   4542 #define __IQualityControl_FWD_DEFINED__
   4543 typedef interface IQualityControl IQualityControl;
   4544 #endif
   4545 
   4546 #ifndef __ISeekingPassThru_FWD_DEFINED__
   4547 #define __ISeekingPassThru_FWD_DEFINED__
   4548 typedef interface ISeekingPassThru ISeekingPassThru;
   4549 #endif
   4550 
   4551 typedef enum tagAnalogVideoStandard {
   4552     AnalogVideo_None = 0x0,
   4553     AnalogVideo_NTSC_M = 0x1,
   4554     AnalogVideo_NTSC_M_J = 0x2,
   4555     AnalogVideo_NTSC_433 = 0x4,
   4556     AnalogVideo_PAL_B = 0x10,
   4557     AnalogVideo_PAL_D = 0x20,
   4558     AnalogVideo_PAL_G = 0x40,
   4559     AnalogVideo_PAL_H = 0x80,
   4560     AnalogVideo_PAL_I = 0x100,
   4561     AnalogVideo_PAL_M = 0x200,
   4562     AnalogVideo_PAL_N = 0x400,
   4563     AnalogVideo_PAL_60 = 0x800,
   4564     AnalogVideo_SECAM_B = 0x1000,
   4565     AnalogVideo_SECAM_D = 0x2000,
   4566     AnalogVideo_SECAM_G = 0x4000,
   4567     AnalogVideo_SECAM_H = 0x8000,
   4568     AnalogVideo_SECAM_K = 0x10000,
   4569     AnalogVideo_SECAM_K1 = 0x20000,
   4570     AnalogVideo_SECAM_L = 0x40000,
   4571     AnalogVideo_SECAM_L1 = 0x80000,
   4572     AnalogVideo_PAL_N_COMBO = 0x100000,
   4573     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,
   4574     AnalogVideoMask_MCE_PAL = (((AnalogVideo_PAL_B | AnalogVideo_PAL_D) | AnalogVideo_PAL_G) | AnalogVideo_PAL_H) | AnalogVideo_PAL_I,
   4575     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
   4576 } AnalogVideoStandard;
   4577 typedef enum tagTunerInputType {
   4578     TunerInputCable = 0,
   4579     TunerInputAntenna = 1
   4580 } TunerInputType;
   4581 typedef struct __WIDL_strmif_generated_name_00000002 {
   4582     CLSID Clsid;
   4583     LPWSTR Name;
   4584 } REGFILTER;
   4585 typedef enum tagTVAudioMode {
   4586     AMTVAUDIO_MODE_MONO = 0x1,
   4587     AMTVAUDIO_MODE_STEREO = 0x2,
   4588     AMTVAUDIO_MODE_LANG_A = 0x10,
   4589     AMTVAUDIO_MODE_LANG_B = 0x20,
   4590     AMTVAUDIO_MODE_LANG_C = 0x40,
   4591     AMTVAUDIO_PRESET_STEREO = 0x200,
   4592     AMTVAUDIO_PRESET_LANG_A = 0x1000,
   4593     AMTVAUDIO_PRESET_LANG_B = 0x2000,
   4594     AMTVAUDIO_PRESET_LANG_C = 0x4000
   4595 } TVAudioMode;
   4596 /*****************************************************************************
   4597  * IEnumRegFilters interface
   4598  */
   4599 #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
   4600 #define __IEnumRegFilters_INTERFACE_DEFINED__
   4601 
   4602 DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   4603 #if defined(__cplusplus) && !defined(CINTERFACE)
   4604 MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
   4605 IEnumRegFilters : public IUnknown
   4606 {
   4607     virtual HRESULT STDMETHODCALLTYPE Next(
   4608         ULONG cFilters,
   4609         REGFILTER **apRegFilter,
   4610         ULONG *pcFetched) = 0;
   4611 
   4612     virtual HRESULT STDMETHODCALLTYPE Skip(
   4613         ULONG cFilters) = 0;
   4614 
   4615     virtual HRESULT STDMETHODCALLTYPE Reset(
   4616         ) = 0;
   4617 
   4618     virtual HRESULT STDMETHODCALLTYPE Clone(
   4619         IEnumRegFilters **ppEnum) = 0;
   4620 
   4621 };
   4622 #ifdef __CRT_UUID_DECL
   4623 __CRT_UUID_DECL(IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   4624 #endif
   4625 #else
   4626 typedef struct IEnumRegFiltersVtbl {
   4627     BEGIN_INTERFACE
   4628 
   4629     /*** IUnknown methods ***/
   4630     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4631         IEnumRegFilters* This,
   4632         REFIID riid,
   4633         void **ppvObject);
   4634 
   4635     ULONG (STDMETHODCALLTYPE *AddRef)(
   4636         IEnumRegFilters* This);
   4637 
   4638     ULONG (STDMETHODCALLTYPE *Release)(
   4639         IEnumRegFilters* This);
   4640 
   4641     /*** IEnumRegFilters methods ***/
   4642     HRESULT (STDMETHODCALLTYPE *Next)(
   4643         IEnumRegFilters* This,
   4644         ULONG cFilters,
   4645         REGFILTER **apRegFilter,
   4646         ULONG *pcFetched);
   4647 
   4648     HRESULT (STDMETHODCALLTYPE *Skip)(
   4649         IEnumRegFilters* This,
   4650         ULONG cFilters);
   4651 
   4652     HRESULT (STDMETHODCALLTYPE *Reset)(
   4653         IEnumRegFilters* This);
   4654 
   4655     HRESULT (STDMETHODCALLTYPE *Clone)(
   4656         IEnumRegFilters* This,
   4657         IEnumRegFilters **ppEnum);
   4658 
   4659     END_INTERFACE
   4660 } IEnumRegFiltersVtbl;
   4661 interface IEnumRegFilters {
   4662     CONST_VTBL IEnumRegFiltersVtbl* lpVtbl;
   4663 };
   4664 
   4665 #ifdef COBJMACROS
   4666 #ifndef WIDL_C_INLINE_WRAPPERS
   4667 /*** IUnknown methods ***/
   4668 #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4669 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
   4670 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This)
   4671 /*** IEnumRegFilters methods ***/
   4672 #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched)
   4673 #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
   4674 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This)
   4675 #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   4676 #else
   4677 /*** IUnknown methods ***/
   4678 static FORCEINLINE HRESULT IEnumRegFilters_QueryInterface(IEnumRegFilters* This,REFIID riid,void **ppvObject) {
   4679     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4680 }
   4681 static FORCEINLINE ULONG IEnumRegFilters_AddRef(IEnumRegFilters* This) {
   4682     return This->lpVtbl->AddRef(This);
   4683 }
   4684 static FORCEINLINE ULONG IEnumRegFilters_Release(IEnumRegFilters* This) {
   4685     return This->lpVtbl->Release(This);
   4686 }
   4687 /*** IEnumRegFilters methods ***/
   4688 static FORCEINLINE HRESULT IEnumRegFilters_Next(IEnumRegFilters* This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) {
   4689     return This->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched);
   4690 }
   4691 static FORCEINLINE HRESULT IEnumRegFilters_Skip(IEnumRegFilters* This,ULONG cFilters) {
   4692     return This->lpVtbl->Skip(This,cFilters);
   4693 }
   4694 static FORCEINLINE HRESULT IEnumRegFilters_Reset(IEnumRegFilters* This) {
   4695     return This->lpVtbl->Reset(This);
   4696 }
   4697 static FORCEINLINE HRESULT IEnumRegFilters_Clone(IEnumRegFilters* This,IEnumRegFilters **ppEnum) {
   4698     return This->lpVtbl->Clone(This,ppEnum);
   4699 }
   4700 #endif
   4701 #endif
   4702 
   4703 #endif
   4704 
   4705 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy(
   4706     IEnumRegFilters* This,
   4707     ULONG cFilters,
   4708     REGFILTER **apRegFilter,
   4709     ULONG *pcFetched);
   4710 void __RPC_STUB IEnumRegFilters_Next_Stub(
   4711     IRpcStubBuffer* This,
   4712     IRpcChannelBuffer* pRpcChannelBuffer,
   4713     PRPC_MESSAGE pRpcMessage,
   4714     DWORD* pdwStubPhase);
   4715 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy(
   4716     IEnumRegFilters* This,
   4717     ULONG cFilters);
   4718 void __RPC_STUB IEnumRegFilters_Skip_Stub(
   4719     IRpcStubBuffer* This,
   4720     IRpcChannelBuffer* pRpcChannelBuffer,
   4721     PRPC_MESSAGE pRpcMessage,
   4722     DWORD* pdwStubPhase);
   4723 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy(
   4724     IEnumRegFilters* This);
   4725 void __RPC_STUB IEnumRegFilters_Reset_Stub(
   4726     IRpcStubBuffer* This,
   4727     IRpcChannelBuffer* pRpcChannelBuffer,
   4728     PRPC_MESSAGE pRpcMessage,
   4729     DWORD* pdwStubPhase);
   4730 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy(
   4731     IEnumRegFilters* This,
   4732     IEnumRegFilters **ppEnum);
   4733 void __RPC_STUB IEnumRegFilters_Clone_Stub(
   4734     IRpcStubBuffer* This,
   4735     IRpcChannelBuffer* pRpcChannelBuffer,
   4736     PRPC_MESSAGE pRpcMessage,
   4737     DWORD* pdwStubPhase);
   4738 
   4739 #endif  /* __IEnumRegFilters_INTERFACE_DEFINED__ */
   4740 
   4741 typedef IEnumRegFilters *PENUMREGFILTERS;
   4742 /*****************************************************************************
   4743  * IFilterMapper interface
   4744  */
   4745 #ifndef __IFilterMapper_INTERFACE_DEFINED__
   4746 #define __IFilterMapper_INTERFACE_DEFINED__
   4747 
   4748 enum {
   4749     MERIT_PREFERRED = 0x800000,
   4750     MERIT_NORMAL = 0x600000,
   4751     MERIT_UNLIKELY = 0x400000,
   4752     MERIT_DO_NOT_USE = 0x200000,
   4753     MERIT_SW_COMPRESSOR = 0x100000,
   4754     MERIT_HW_COMPRESSOR = 0x100050
   4755 };
   4756 
   4757 DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   4758 #if defined(__cplusplus) && !defined(CINTERFACE)
   4759 MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
   4760 IFilterMapper : public IUnknown
   4761 {
   4762     virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
   4763         CLSID clsid,
   4764         LPCWSTR Name,
   4765         DWORD dwMerit) = 0;
   4766 
   4767     virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance(
   4768         CLSID clsid,
   4769         LPCWSTR Name,
   4770         CLSID *MRId) = 0;
   4771 
   4772     virtual HRESULT STDMETHODCALLTYPE RegisterPin(
   4773         CLSID Filter,
   4774         LPCWSTR Name,
   4775         WINBOOL bRendered,
   4776         WINBOOL bOutput,
   4777         WINBOOL bZero,
   4778         WINBOOL bMany,
   4779         CLSID ConnectsToFilter,
   4780         LPCWSTR ConnectsToPin) = 0;
   4781 
   4782     virtual HRESULT STDMETHODCALLTYPE RegisterPinType(
   4783         CLSID clsFilter,
   4784         LPCWSTR strName,
   4785         CLSID clsMajorType,
   4786         CLSID clsSubType) = 0;
   4787 
   4788     virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
   4789         CLSID Filter) = 0;
   4790 
   4791     virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance(
   4792         CLSID MRId) = 0;
   4793 
   4794     virtual HRESULT STDMETHODCALLTYPE UnregisterPin(
   4795         CLSID Filter,
   4796         LPCWSTR Name) = 0;
   4797 
   4798     virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
   4799         IEnumRegFilters **ppEnum,
   4800         DWORD dwMerit,
   4801         WINBOOL bInputNeeded,
   4802         CLSID clsInMaj,
   4803         CLSID clsInSub,
   4804         WINBOOL bRender,
   4805         WINBOOL bOututNeeded,
   4806         CLSID clsOutMaj,
   4807         CLSID clsOutSub) = 0;
   4808 
   4809 };
   4810 #ifdef __CRT_UUID_DECL
   4811 __CRT_UUID_DECL(IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   4812 #endif
   4813 #else
   4814 typedef struct IFilterMapperVtbl {
   4815     BEGIN_INTERFACE
   4816 
   4817     /*** IUnknown methods ***/
   4818     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4819         IFilterMapper* This,
   4820         REFIID riid,
   4821         void **ppvObject);
   4822 
   4823     ULONG (STDMETHODCALLTYPE *AddRef)(
   4824         IFilterMapper* This);
   4825 
   4826     ULONG (STDMETHODCALLTYPE *Release)(
   4827         IFilterMapper* This);
   4828 
   4829     /*** IFilterMapper methods ***/
   4830     HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
   4831         IFilterMapper* This,
   4832         CLSID clsid,
   4833         LPCWSTR Name,
   4834         DWORD dwMerit);
   4835 
   4836     HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)(
   4837         IFilterMapper* This,
   4838         CLSID clsid,
   4839         LPCWSTR Name,
   4840         CLSID *MRId);
   4841 
   4842     HRESULT (STDMETHODCALLTYPE *RegisterPin)(
   4843         IFilterMapper* This,
   4844         CLSID Filter,
   4845         LPCWSTR Name,
   4846         WINBOOL bRendered,
   4847         WINBOOL bOutput,
   4848         WINBOOL bZero,
   4849         WINBOOL bMany,
   4850         CLSID ConnectsToFilter,
   4851         LPCWSTR ConnectsToPin);
   4852 
   4853     HRESULT (STDMETHODCALLTYPE *RegisterPinType)(
   4854         IFilterMapper* This,
   4855         CLSID clsFilter,
   4856         LPCWSTR strName,
   4857         CLSID clsMajorType,
   4858         CLSID clsSubType);
   4859 
   4860     HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
   4861         IFilterMapper* This,
   4862         CLSID Filter);
   4863 
   4864     HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)(
   4865         IFilterMapper* This,
   4866         CLSID MRId);
   4867 
   4868     HRESULT (STDMETHODCALLTYPE *UnregisterPin)(
   4869         IFilterMapper* This,
   4870         CLSID Filter,
   4871         LPCWSTR Name);
   4872 
   4873     HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
   4874         IFilterMapper* This,
   4875         IEnumRegFilters **ppEnum,
   4876         DWORD dwMerit,
   4877         WINBOOL bInputNeeded,
   4878         CLSID clsInMaj,
   4879         CLSID clsInSub,
   4880         WINBOOL bRender,
   4881         WINBOOL bOututNeeded,
   4882         CLSID clsOutMaj,
   4883         CLSID clsOutSub);
   4884 
   4885     END_INTERFACE
   4886 } IFilterMapperVtbl;
   4887 interface IFilterMapper {
   4888     CONST_VTBL IFilterMapperVtbl* lpVtbl;
   4889 };
   4890 
   4891 #ifdef COBJMACROS
   4892 #ifndef WIDL_C_INLINE_WRAPPERS
   4893 /*** IUnknown methods ***/
   4894 #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4895 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This)
   4896 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This)
   4897 /*** IFilterMapper methods ***/
   4898 #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit)
   4899 #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId)
   4900 #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
   4901 #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
   4902 #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter)
   4903 #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId)
   4904 #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name)
   4905 #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)
   4906 #else
   4907 /*** IUnknown methods ***/
   4908 static FORCEINLINE HRESULT IFilterMapper_QueryInterface(IFilterMapper* This,REFIID riid,void **ppvObject) {
   4909     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4910 }
   4911 static FORCEINLINE ULONG IFilterMapper_AddRef(IFilterMapper* This) {
   4912     return This->lpVtbl->AddRef(This);
   4913 }
   4914 static FORCEINLINE ULONG IFilterMapper_Release(IFilterMapper* This) {
   4915     return This->lpVtbl->Release(This);
   4916 }
   4917 /*** IFilterMapper methods ***/
   4918 static FORCEINLINE HRESULT IFilterMapper_RegisterFilter(IFilterMapper* This,CLSID clsid,LPCWSTR Name,DWORD dwMerit) {
   4919     return This->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit);
   4920 }
   4921 static FORCEINLINE HRESULT IFilterMapper_RegisterFilterInstance(IFilterMapper* This,CLSID clsid,LPCWSTR Name,CLSID *MRId) {
   4922     return This->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId);
   4923 }
   4924 static FORCEINLINE HRESULT IFilterMapper_RegisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) {
   4925     return This->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin);
   4926 }
   4927 static FORCEINLINE HRESULT IFilterMapper_RegisterPinType(IFilterMapper* This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) {
   4928     return This->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType);
   4929 }
   4930 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilter(IFilterMapper* This,CLSID Filter) {
   4931     return This->lpVtbl->UnregisterFilter(This,Filter);
   4932 }
   4933 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilterInstance(IFilterMapper* This,CLSID MRId) {
   4934     return This->lpVtbl->UnregisterFilterInstance(This,MRId);
   4935 }
   4936 static FORCEINLINE HRESULT IFilterMapper_UnregisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name) {
   4937     return This->lpVtbl->UnregisterPin(This,Filter,Name);
   4938 }
   4939 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) {
   4940     return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub);
   4941 }
   4942 #endif
   4943 #endif
   4944 
   4945 #endif
   4946 
   4947 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy(
   4948     IFilterMapper* This,
   4949     CLSID clsid,
   4950     LPCWSTR Name,
   4951     DWORD dwMerit);
   4952 void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
   4953     IRpcStubBuffer* This,
   4954     IRpcChannelBuffer* pRpcChannelBuffer,
   4955     PRPC_MESSAGE pRpcMessage,
   4956     DWORD* pdwStubPhase);
   4957 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy(
   4958     IFilterMapper* This,
   4959     CLSID clsid,
   4960     LPCWSTR Name,
   4961     CLSID *MRId);
   4962 void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
   4963     IRpcStubBuffer* This,
   4964     IRpcChannelBuffer* pRpcChannelBuffer,
   4965     PRPC_MESSAGE pRpcMessage,
   4966     DWORD* pdwStubPhase);
   4967 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy(
   4968     IFilterMapper* This,
   4969     CLSID Filter,
   4970     LPCWSTR Name,
   4971     WINBOOL bRendered,
   4972     WINBOOL bOutput,
   4973     WINBOOL bZero,
   4974     WINBOOL bMany,
   4975     CLSID ConnectsToFilter,
   4976     LPCWSTR ConnectsToPin);
   4977 void __RPC_STUB IFilterMapper_RegisterPin_Stub(
   4978     IRpcStubBuffer* This,
   4979     IRpcChannelBuffer* pRpcChannelBuffer,
   4980     PRPC_MESSAGE pRpcMessage,
   4981     DWORD* pdwStubPhase);
   4982 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy(
   4983     IFilterMapper* This,
   4984     CLSID clsFilter,
   4985     LPCWSTR strName,
   4986     CLSID clsMajorType,
   4987     CLSID clsSubType);
   4988 void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
   4989     IRpcStubBuffer* This,
   4990     IRpcChannelBuffer* pRpcChannelBuffer,
   4991     PRPC_MESSAGE pRpcMessage,
   4992     DWORD* pdwStubPhase);
   4993 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy(
   4994     IFilterMapper* This,
   4995     CLSID Filter);
   4996 void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
   4997     IRpcStubBuffer* This,
   4998     IRpcChannelBuffer* pRpcChannelBuffer,
   4999     PRPC_MESSAGE pRpcMessage,
   5000     DWORD* pdwStubPhase);
   5001 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy(
   5002     IFilterMapper* This,
   5003     CLSID MRId);
   5004 void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
   5005     IRpcStubBuffer* This,
   5006     IRpcChannelBuffer* pRpcChannelBuffer,
   5007     PRPC_MESSAGE pRpcMessage,
   5008     DWORD* pdwStubPhase);
   5009 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy(
   5010     IFilterMapper* This,
   5011     CLSID Filter,
   5012     LPCWSTR Name);
   5013 void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
   5014     IRpcStubBuffer* This,
   5015     IRpcChannelBuffer* pRpcChannelBuffer,
   5016     PRPC_MESSAGE pRpcMessage,
   5017     DWORD* pdwStubPhase);
   5018 HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy(
   5019     IFilterMapper* This,
   5020     IEnumRegFilters **ppEnum,
   5021     DWORD dwMerit,
   5022     WINBOOL bInputNeeded,
   5023     CLSID clsInMaj,
   5024     CLSID clsInSub,
   5025     WINBOOL bRender,
   5026     WINBOOL bOututNeeded,
   5027     CLSID clsOutMaj,
   5028     CLSID clsOutSub);
   5029 void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
   5030     IRpcStubBuffer* This,
   5031     IRpcChannelBuffer* pRpcChannelBuffer,
   5032     PRPC_MESSAGE pRpcMessage,
   5033     DWORD* pdwStubPhase);
   5034 
   5035 #endif  /* __IFilterMapper_INTERFACE_DEFINED__ */
   5036 
   5037 typedef struct __WIDL_strmif_generated_name_00000003 {
   5038     const CLSID *clsMajorType;
   5039     const CLSID *clsMinorType;
   5040 } REGPINTYPES;
   5041 typedef struct __WIDL_strmif_generated_name_00000004 {
   5042     LPWSTR strName;
   5043     WINBOOL bRendered;
   5044     WINBOOL bOutput;
   5045     WINBOOL bZero;
   5046     WINBOOL bMany;
   5047     const CLSID *clsConnectsToFilter;
   5048     const WCHAR *strConnectsToPin;
   5049     UINT nMediaTypes;
   5050     const REGPINTYPES *lpMediaType;
   5051 } REGFILTERPINS;
   5052 typedef struct __WIDL_strmif_generated_name_00000005 {
   5053     CLSID clsMedium;
   5054     DWORD dw1;
   5055     DWORD dw2;
   5056 } REGPINMEDIUM;
   5057 enum {
   5058     REG_PINFLAG_B_ZERO = 0x1,
   5059     REG_PINFLAG_B_RENDERER = 0x2,
   5060     REG_PINFLAG_B_MANY = 0x4,
   5061     REG_PINFLAG_B_OUTPUT = 0x8
   5062 };
   5063 
   5064 typedef struct __WIDL_strmif_generated_name_00000006 {
   5065     DWORD dwFlags;
   5066     UINT cInstances;
   5067     UINT nMediaTypes;
   5068     const REGPINTYPES *lpMediaType;
   5069     UINT nMediums;
   5070     const REGPINMEDIUM *lpMedium;
   5071     const CLSID *clsPinCategory;
   5072 } REGFILTERPINS2;
   5073 typedef struct __WIDL_strmif_generated_name_00000007 {
   5074     DWORD dwVersion;
   5075     DWORD dwMerit;
   5076     __C89_NAMELESS union {
   5077         __C89_NAMELESS struct {
   5078             ULONG cPins;
   5079             const REGFILTERPINS *rgPins;
   5080         } __C89_NAMELESSSTRUCTNAME1;
   5081         __C89_NAMELESS struct {
   5082             ULONG cPins2;
   5083             const REGFILTERPINS2 *rgPins2;
   5084         } __C89_NAMELESSSTRUCTNAME2;
   5085     } __C89_NAMELESSUNIONNAME;
   5086 } REGFILTER2;
   5087 /*****************************************************************************
   5088  * IFilterMapper2 interface
   5089  */
   5090 #ifndef __IFilterMapper2_INTERFACE_DEFINED__
   5091 #define __IFilterMapper2_INTERFACE_DEFINED__
   5092 
   5093 DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   5094 #if defined(__cplusplus) && !defined(CINTERFACE)
   5095 MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
   5096 IFilterMapper2 : public IUnknown
   5097 {
   5098     virtual HRESULT STDMETHODCALLTYPE CreateCategory(
   5099         REFCLSID clsidCategory,
   5100         DWORD dwCategoryMerit,
   5101         LPCWSTR Description) = 0;
   5102 
   5103     virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
   5104         const CLSID *pclsidCategory,
   5105         LPCOLESTR szInstance,
   5106         REFCLSID Filter) = 0;
   5107 
   5108     virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
   5109         REFCLSID clsidFilter,
   5110         LPCWSTR Name,
   5111         IMoniker **ppMoniker,
   5112         const CLSID *pclsidCategory,
   5113         LPCOLESTR szInstance,
   5114         const REGFILTER2 *prf2) = 0;
   5115 
   5116     virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
   5117         IEnumMoniker **ppEnum,
   5118         DWORD dwFlags,
   5119         WINBOOL bExactMatch,
   5120         DWORD dwMerit,
   5121         WINBOOL bInputNeeded,
   5122         DWORD cInputTypes,
   5123         const GUID *pInputTypes,
   5124         const REGPINMEDIUM *pMedIn,
   5125         const CLSID *pPinCategoryIn,
   5126         WINBOOL bRender,
   5127         WINBOOL bOutputNeeded,
   5128         DWORD cOutputTypes,
   5129         const GUID *pOutputTypes,
   5130         const REGPINMEDIUM *pMedOut,
   5131         const CLSID *pPinCategoryOut) = 0;
   5132 
   5133 };
   5134 #ifdef __CRT_UUID_DECL
   5135 __CRT_UUID_DECL(IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   5136 #endif
   5137 #else
   5138 typedef struct IFilterMapper2Vtbl {
   5139     BEGIN_INTERFACE
   5140 
   5141     /*** IUnknown methods ***/
   5142     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5143         IFilterMapper2* This,
   5144         REFIID riid,
   5145         void **ppvObject);
   5146 
   5147     ULONG (STDMETHODCALLTYPE *AddRef)(
   5148         IFilterMapper2* This);
   5149 
   5150     ULONG (STDMETHODCALLTYPE *Release)(
   5151         IFilterMapper2* This);
   5152 
   5153     /*** IFilterMapper2 methods ***/
   5154     HRESULT (STDMETHODCALLTYPE *CreateCategory)(
   5155         IFilterMapper2* This,
   5156         REFCLSID clsidCategory,
   5157         DWORD dwCategoryMerit,
   5158         LPCWSTR Description);
   5159 
   5160     HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
   5161         IFilterMapper2* This,
   5162         const CLSID *pclsidCategory,
   5163         LPCOLESTR szInstance,
   5164         REFCLSID Filter);
   5165 
   5166     HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
   5167         IFilterMapper2* This,
   5168         REFCLSID clsidFilter,
   5169         LPCWSTR Name,
   5170         IMoniker **ppMoniker,
   5171         const CLSID *pclsidCategory,
   5172         LPCOLESTR szInstance,
   5173         const REGFILTER2 *prf2);
   5174 
   5175     HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
   5176         IFilterMapper2* This,
   5177         IEnumMoniker **ppEnum,
   5178         DWORD dwFlags,
   5179         WINBOOL bExactMatch,
   5180         DWORD dwMerit,
   5181         WINBOOL bInputNeeded,
   5182         DWORD cInputTypes,
   5183         const GUID *pInputTypes,
   5184         const REGPINMEDIUM *pMedIn,
   5185         const CLSID *pPinCategoryIn,
   5186         WINBOOL bRender,
   5187         WINBOOL bOutputNeeded,
   5188         DWORD cOutputTypes,
   5189         const GUID *pOutputTypes,
   5190         const REGPINMEDIUM *pMedOut,
   5191         const CLSID *pPinCategoryOut);
   5192 
   5193     END_INTERFACE
   5194 } IFilterMapper2Vtbl;
   5195 interface IFilterMapper2 {
   5196     CONST_VTBL IFilterMapper2Vtbl* lpVtbl;
   5197 };
   5198 
   5199 #ifdef COBJMACROS
   5200 #ifndef WIDL_C_INLINE_WRAPPERS
   5201 /*** IUnknown methods ***/
   5202 #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5203 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This)
   5204 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This)
   5205 /*** IFilterMapper2 methods ***/
   5206 #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
   5207 #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
   5208 #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
   5209 #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)
   5210 #else
   5211 /*** IUnknown methods ***/
   5212 static FORCEINLINE HRESULT IFilterMapper2_QueryInterface(IFilterMapper2* This,REFIID riid,void **ppvObject) {
   5213     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5214 }
   5215 static FORCEINLINE ULONG IFilterMapper2_AddRef(IFilterMapper2* This) {
   5216     return This->lpVtbl->AddRef(This);
   5217 }
   5218 static FORCEINLINE ULONG IFilterMapper2_Release(IFilterMapper2* This) {
   5219     return This->lpVtbl->Release(This);
   5220 }
   5221 /*** IFilterMapper2 methods ***/
   5222 static FORCEINLINE HRESULT IFilterMapper2_CreateCategory(IFilterMapper2* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) {
   5223     return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description);
   5224 }
   5225 static FORCEINLINE HRESULT IFilterMapper2_UnregisterFilter(IFilterMapper2* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) {
   5226     return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter);
   5227 }
   5228 static FORCEINLINE HRESULT IFilterMapper2_RegisterFilter(IFilterMapper2* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) {
   5229     return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2);
   5230 }
   5231 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) {
   5232     return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut);
   5233 }
   5234 #endif
   5235 #endif
   5236 
   5237 #endif
   5238 
   5239 HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy(
   5240     IFilterMapper2* This,
   5241     REFCLSID clsidCategory,
   5242     DWORD dwCategoryMerit,
   5243     LPCWSTR Description);
   5244 void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
   5245     IRpcStubBuffer* This,
   5246     IRpcChannelBuffer* pRpcChannelBuffer,
   5247     PRPC_MESSAGE pRpcMessage,
   5248     DWORD* pdwStubPhase);
   5249 HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy(
   5250     IFilterMapper2* This,
   5251     const CLSID *pclsidCategory,
   5252     LPCOLESTR szInstance,
   5253     REFCLSID Filter);
   5254 void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
   5255     IRpcStubBuffer* This,
   5256     IRpcChannelBuffer* pRpcChannelBuffer,
   5257     PRPC_MESSAGE pRpcMessage,
   5258     DWORD* pdwStubPhase);
   5259 HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy(
   5260     IFilterMapper2* This,
   5261     REFCLSID clsidFilter,
   5262     LPCWSTR Name,
   5263     IMoniker **ppMoniker,
   5264     const CLSID *pclsidCategory,
   5265     LPCOLESTR szInstance,
   5266     const REGFILTER2 *prf2);
   5267 void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
   5268     IRpcStubBuffer* This,
   5269     IRpcChannelBuffer* pRpcChannelBuffer,
   5270     PRPC_MESSAGE pRpcMessage,
   5271     DWORD* pdwStubPhase);
   5272 HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy(
   5273     IFilterMapper2* This,
   5274     IEnumMoniker **ppEnum,
   5275     DWORD dwFlags,
   5276     WINBOOL bExactMatch,
   5277     DWORD dwMerit,
   5278     WINBOOL bInputNeeded,
   5279     DWORD cInputTypes,
   5280     const GUID *pInputTypes,
   5281     const REGPINMEDIUM *pMedIn,
   5282     const CLSID *pPinCategoryIn,
   5283     WINBOOL bRender,
   5284     WINBOOL bOutputNeeded,
   5285     DWORD cOutputTypes,
   5286     const GUID *pOutputTypes,
   5287     const REGPINMEDIUM *pMedOut,
   5288     const CLSID *pPinCategoryOut);
   5289 void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
   5290     IRpcStubBuffer* This,
   5291     IRpcChannelBuffer* pRpcChannelBuffer,
   5292     PRPC_MESSAGE pRpcMessage,
   5293     DWORD* pdwStubPhase);
   5294 
   5295 #endif  /* __IFilterMapper2_INTERFACE_DEFINED__ */
   5296 
   5297 /*****************************************************************************
   5298  * IFilterMapper3 interface
   5299  */
   5300 #ifndef __IFilterMapper3_INTERFACE_DEFINED__
   5301 #define __IFilterMapper3_INTERFACE_DEFINED__
   5302 
   5303 DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   5304 #if defined(__cplusplus) && !defined(CINTERFACE)
   5305 MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
   5306 IFilterMapper3 : public IFilterMapper2
   5307 {
   5308     virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum(
   5309         ICreateDevEnum **ppEnum) = 0;
   5310 
   5311 };
   5312 #ifdef __CRT_UUID_DECL
   5313 __CRT_UUID_DECL(IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   5314 #endif
   5315 #else
   5316 typedef struct IFilterMapper3Vtbl {
   5317     BEGIN_INTERFACE
   5318 
   5319     /*** IUnknown methods ***/
   5320     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5321         IFilterMapper3* This,
   5322         REFIID riid,
   5323         void **ppvObject);
   5324 
   5325     ULONG (STDMETHODCALLTYPE *AddRef)(
   5326         IFilterMapper3* This);
   5327 
   5328     ULONG (STDMETHODCALLTYPE *Release)(
   5329         IFilterMapper3* This);
   5330 
   5331     /*** IFilterMapper2 methods ***/
   5332     HRESULT (STDMETHODCALLTYPE *CreateCategory)(
   5333         IFilterMapper3* This,
   5334         REFCLSID clsidCategory,
   5335         DWORD dwCategoryMerit,
   5336         LPCWSTR Description);
   5337 
   5338     HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
   5339         IFilterMapper3* This,
   5340         const CLSID *pclsidCategory,
   5341         LPCOLESTR szInstance,
   5342         REFCLSID Filter);
   5343 
   5344     HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
   5345         IFilterMapper3* This,
   5346         REFCLSID clsidFilter,
   5347         LPCWSTR Name,
   5348         IMoniker **ppMoniker,
   5349         const CLSID *pclsidCategory,
   5350         LPCOLESTR szInstance,
   5351         const REGFILTER2 *prf2);
   5352 
   5353     HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
   5354         IFilterMapper3* This,
   5355         IEnumMoniker **ppEnum,
   5356         DWORD dwFlags,
   5357         WINBOOL bExactMatch,
   5358         DWORD dwMerit,
   5359         WINBOOL bInputNeeded,
   5360         DWORD cInputTypes,
   5361         const GUID *pInputTypes,
   5362         const REGPINMEDIUM *pMedIn,
   5363         const CLSID *pPinCategoryIn,
   5364         WINBOOL bRender,
   5365         WINBOOL bOutputNeeded,
   5366         DWORD cOutputTypes,
   5367         const GUID *pOutputTypes,
   5368         const REGPINMEDIUM *pMedOut,
   5369         const CLSID *pPinCategoryOut);
   5370 
   5371     /*** IFilterMapper3 methods ***/
   5372     HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)(
   5373         IFilterMapper3* This,
   5374         ICreateDevEnum **ppEnum);
   5375 
   5376     END_INTERFACE
   5377 } IFilterMapper3Vtbl;
   5378 interface IFilterMapper3 {
   5379     CONST_VTBL IFilterMapper3Vtbl* lpVtbl;
   5380 };
   5381 
   5382 #ifdef COBJMACROS
   5383 #ifndef WIDL_C_INLINE_WRAPPERS
   5384 /*** IUnknown methods ***/
   5385 #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5386 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This)
   5387 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This)
   5388 /*** IFilterMapper2 methods ***/
   5389 #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
   5390 #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
   5391 #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
   5392 #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)
   5393 /*** IFilterMapper3 methods ***/
   5394 #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum)
   5395 #else
   5396 /*** IUnknown methods ***/
   5397 static FORCEINLINE HRESULT IFilterMapper3_QueryInterface(IFilterMapper3* This,REFIID riid,void **ppvObject) {
   5398     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5399 }
   5400 static FORCEINLINE ULONG IFilterMapper3_AddRef(IFilterMapper3* This) {
   5401     return This->lpVtbl->AddRef(This);
   5402 }
   5403 static FORCEINLINE ULONG IFilterMapper3_Release(IFilterMapper3* This) {
   5404     return This->lpVtbl->Release(This);
   5405 }
   5406 /*** IFilterMapper2 methods ***/
   5407 static FORCEINLINE HRESULT IFilterMapper3_CreateCategory(IFilterMapper3* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) {
   5408     return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description);
   5409 }
   5410 static FORCEINLINE HRESULT IFilterMapper3_UnregisterFilter(IFilterMapper3* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) {
   5411     return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter);
   5412 }
   5413 static FORCEINLINE HRESULT IFilterMapper3_RegisterFilter(IFilterMapper3* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) {
   5414     return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2);
   5415 }
   5416 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) {
   5417     return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut);
   5418 }
   5419 /*** IFilterMapper3 methods ***/
   5420 static FORCEINLINE HRESULT IFilterMapper3_GetICreateDevEnum(IFilterMapper3* This,ICreateDevEnum **ppEnum) {
   5421     return This->lpVtbl->GetICreateDevEnum(This,ppEnum);
   5422 }
   5423 #endif
   5424 #endif
   5425 
   5426 #endif
   5427 
   5428 HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy(
   5429     IFilterMapper3* This,
   5430     ICreateDevEnum **ppEnum);
   5431 void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
   5432     IRpcStubBuffer* This,
   5433     IRpcChannelBuffer* pRpcChannelBuffer,
   5434     PRPC_MESSAGE pRpcMessage,
   5435     DWORD* pdwStubPhase);
   5436 
   5437 #endif  /* __IFilterMapper3_INTERFACE_DEFINED__ */
   5438 
   5439 typedef enum tagQualityMessageType {
   5440     Famine = 0,
   5441     Flood = 1
   5442 } QualityMessageType;
   5443 typedef struct tagQuality {
   5444     QualityMessageType Type;
   5445     LONG Proportion;
   5446     REFERENCE_TIME Late;
   5447     REFERENCE_TIME TimeStamp;
   5448 } Quality;
   5449 typedef IQualityControl *PQUALITYCONTROL;
   5450 /*****************************************************************************
   5451  * IQualityControl interface
   5452  */
   5453 #ifndef __IQualityControl_INTERFACE_DEFINED__
   5454 #define __IQualityControl_INTERFACE_DEFINED__
   5455 
   5456 DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   5457 #if defined(__cplusplus) && !defined(CINTERFACE)
   5458 MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
   5459 IQualityControl : public IUnknown
   5460 {
   5461     virtual HRESULT STDMETHODCALLTYPE Notify(
   5462         IBaseFilter *pSelf,
   5463         Quality q) = 0;
   5464 
   5465     virtual HRESULT STDMETHODCALLTYPE SetSink(
   5466         IQualityControl *piqc) = 0;
   5467 
   5468 };
   5469 #ifdef __CRT_UUID_DECL
   5470 __CRT_UUID_DECL(IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   5471 #endif
   5472 #else
   5473 typedef struct IQualityControlVtbl {
   5474     BEGIN_INTERFACE
   5475 
   5476     /*** IUnknown methods ***/
   5477     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5478         IQualityControl* This,
   5479         REFIID riid,
   5480         void **ppvObject);
   5481 
   5482     ULONG (STDMETHODCALLTYPE *AddRef)(
   5483         IQualityControl* This);
   5484 
   5485     ULONG (STDMETHODCALLTYPE *Release)(
   5486         IQualityControl* This);
   5487 
   5488     /*** IQualityControl methods ***/
   5489     HRESULT (STDMETHODCALLTYPE *Notify)(
   5490         IQualityControl* This,
   5491         IBaseFilter *pSelf,
   5492         Quality q);
   5493 
   5494     HRESULT (STDMETHODCALLTYPE *SetSink)(
   5495         IQualityControl* This,
   5496         IQualityControl *piqc);
   5497 
   5498     END_INTERFACE
   5499 } IQualityControlVtbl;
   5500 interface IQualityControl {
   5501     CONST_VTBL IQualityControlVtbl* lpVtbl;
   5502 };
   5503 
   5504 #ifdef COBJMACROS
   5505 #ifndef WIDL_C_INLINE_WRAPPERS
   5506 /*** IUnknown methods ***/
   5507 #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5508 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   5509 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This)
   5510 /*** IQualityControl methods ***/
   5511 #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q)
   5512 #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc)
   5513 #else
   5514 /*** IUnknown methods ***/
   5515 static FORCEINLINE HRESULT IQualityControl_QueryInterface(IQualityControl* This,REFIID riid,void **ppvObject) {
   5516     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5517 }
   5518 static FORCEINLINE ULONG IQualityControl_AddRef(IQualityControl* This) {
   5519     return This->lpVtbl->AddRef(This);
   5520 }
   5521 static FORCEINLINE ULONG IQualityControl_Release(IQualityControl* This) {
   5522     return This->lpVtbl->Release(This);
   5523 }
   5524 /*** IQualityControl methods ***/
   5525 static FORCEINLINE HRESULT IQualityControl_Notify(IQualityControl* This,IBaseFilter *pSelf,Quality q) {
   5526     return This->lpVtbl->Notify(This,pSelf,q);
   5527 }
   5528 static FORCEINLINE HRESULT IQualityControl_SetSink(IQualityControl* This,IQualityControl *piqc) {
   5529     return This->lpVtbl->SetSink(This,piqc);
   5530 }
   5531 #endif
   5532 #endif
   5533 
   5534 #endif
   5535 
   5536 HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy(
   5537     IQualityControl* This,
   5538     IBaseFilter *pSelf,
   5539     Quality q);
   5540 void __RPC_STUB IQualityControl_Notify_Stub(
   5541     IRpcStubBuffer* This,
   5542     IRpcChannelBuffer* pRpcChannelBuffer,
   5543     PRPC_MESSAGE pRpcMessage,
   5544     DWORD* pdwStubPhase);
   5545 HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy(
   5546     IQualityControl* This,
   5547     IQualityControl *piqc);
   5548 void __RPC_STUB IQualityControl_SetSink_Stub(
   5549     IRpcStubBuffer* This,
   5550     IRpcChannelBuffer* pRpcChannelBuffer,
   5551     PRPC_MESSAGE pRpcMessage,
   5552     DWORD* pdwStubPhase);
   5553 
   5554 #endif  /* __IQualityControl_INTERFACE_DEFINED__ */
   5555 
   5556 enum {
   5557     CK_NOCOLORKEY = 0x0,
   5558     CK_INDEX = 0x1,
   5559     CK_RGB = 0x2
   5560 };
   5561 
   5562 typedef struct tagCOLORKEY {
   5563     DWORD KeyType;
   5564     DWORD PaletteIndex;
   5565     COLORREF LowColorValue;
   5566     COLORREF HighColorValue;
   5567 } COLORKEY;
   5568 enum {
   5569     ADVISE_NONE = 0x0,
   5570     ADVISE_CLIPPING = 0x1,
   5571     ADVISE_PALETTE = 0x2,
   5572     ADVISE_COLORKEY = 0x4,
   5573     ADVISE_POSITION = 0x8,
   5574     ADVISE_DISPLAY_CHANGE = 0x10
   5575 };
   5576 
   5577 #define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION)
   5578 
   5579 #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE)
   5580 
   5581 #ifndef _WINGDI_
   5582 typedef struct _RGNDATAHEADER {
   5583     DWORD dwSize;
   5584     DWORD iType;
   5585     DWORD nCount;
   5586     DWORD nRgnSize;
   5587     RECT rcBound;
   5588 } RGNDATAHEADER;
   5589 typedef struct _RGNDATA {
   5590     RGNDATAHEADER rdh;
   5591     char Buffer[1];
   5592 } RGNDATA;
   5593 #endif /* _WINGDI_ */
   5594 /*****************************************************************************
   5595  * IOverlayNotify interface
   5596  */
   5597 #ifndef __IOverlayNotify_INTERFACE_DEFINED__
   5598 #define __IOverlayNotify_INTERFACE_DEFINED__
   5599 
   5600 DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   5601 #if defined(__cplusplus) && !defined(CINTERFACE)
   5602 MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
   5603 IOverlayNotify : public IUnknown
   5604 {
   5605     virtual HRESULT STDMETHODCALLTYPE OnPaletteChange(
   5606         DWORD dwColors,
   5607         const PALETTEENTRY *pPalette) = 0;
   5608 
   5609     virtual HRESULT STDMETHODCALLTYPE OnClipChange(
   5610         const RECT *pSourceRect,
   5611         const RECT *pDestinationRect,
   5612         const RGNDATA *pRgnData) = 0;
   5613 
   5614     virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange(
   5615         const COLORKEY *pColorKey) = 0;
   5616 
   5617     virtual HRESULT STDMETHODCALLTYPE OnPositionChange(
   5618         const RECT *pSourceRect,
   5619         const RECT *pDestinationRect) = 0;
   5620 
   5621 };
   5622 #ifdef __CRT_UUID_DECL
   5623 __CRT_UUID_DECL(IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   5624 #endif
   5625 #else
   5626 typedef struct IOverlayNotifyVtbl {
   5627     BEGIN_INTERFACE
   5628 
   5629     /*** IUnknown methods ***/
   5630     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5631         IOverlayNotify* This,
   5632         REFIID riid,
   5633         void **ppvObject);
   5634 
   5635     ULONG (STDMETHODCALLTYPE *AddRef)(
   5636         IOverlayNotify* This);
   5637 
   5638     ULONG (STDMETHODCALLTYPE *Release)(
   5639         IOverlayNotify* This);
   5640 
   5641     /*** IOverlayNotify methods ***/
   5642     HRESULT (STDMETHODCALLTYPE *OnPaletteChange)(
   5643         IOverlayNotify* This,
   5644         DWORD dwColors,
   5645         const PALETTEENTRY *pPalette);
   5646 
   5647     HRESULT (STDMETHODCALLTYPE *OnClipChange)(
   5648         IOverlayNotify* This,
   5649         const RECT *pSourceRect,
   5650         const RECT *pDestinationRect,
   5651         const RGNDATA *pRgnData);
   5652 
   5653     HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)(
   5654         IOverlayNotify* This,
   5655         const COLORKEY *pColorKey);
   5656 
   5657     HRESULT (STDMETHODCALLTYPE *OnPositionChange)(
   5658         IOverlayNotify* This,
   5659         const RECT *pSourceRect,
   5660         const RECT *pDestinationRect);
   5661 
   5662     END_INTERFACE
   5663 } IOverlayNotifyVtbl;
   5664 interface IOverlayNotify {
   5665     CONST_VTBL IOverlayNotifyVtbl* lpVtbl;
   5666 };
   5667 
   5668 #ifdef COBJMACROS
   5669 #ifndef WIDL_C_INLINE_WRAPPERS
   5670 /*** IUnknown methods ***/
   5671 #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5672 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   5673 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This)
   5674 /*** IOverlayNotify methods ***/
   5675 #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
   5676 #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
   5677 #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
   5678 #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
   5679 #else
   5680 /*** IUnknown methods ***/
   5681 static FORCEINLINE HRESULT IOverlayNotify_QueryInterface(IOverlayNotify* This,REFIID riid,void **ppvObject) {
   5682     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5683 }
   5684 static FORCEINLINE ULONG IOverlayNotify_AddRef(IOverlayNotify* This) {
   5685     return This->lpVtbl->AddRef(This);
   5686 }
   5687 static FORCEINLINE ULONG IOverlayNotify_Release(IOverlayNotify* This) {
   5688     return This->lpVtbl->Release(This);
   5689 }
   5690 /*** IOverlayNotify methods ***/
   5691 static FORCEINLINE HRESULT IOverlayNotify_OnPaletteChange(IOverlayNotify* This,DWORD dwColors,const PALETTEENTRY *pPalette) {
   5692     return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette);
   5693 }
   5694 static FORCEINLINE HRESULT IOverlayNotify_OnClipChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) {
   5695     return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData);
   5696 }
   5697 static FORCEINLINE HRESULT IOverlayNotify_OnColorKeyChange(IOverlayNotify* This,const COLORKEY *pColorKey) {
   5698     return This->lpVtbl->OnColorKeyChange(This,pColorKey);
   5699 }
   5700 static FORCEINLINE HRESULT IOverlayNotify_OnPositionChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect) {
   5701     return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect);
   5702 }
   5703 #endif
   5704 #endif
   5705 
   5706 #endif
   5707 
   5708 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy(
   5709     IOverlayNotify* This,
   5710     DWORD dwColors,
   5711     const PALETTEENTRY *pPalette);
   5712 void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
   5713     IRpcStubBuffer* This,
   5714     IRpcChannelBuffer* pRpcChannelBuffer,
   5715     PRPC_MESSAGE pRpcMessage,
   5716     DWORD* pdwStubPhase);
   5717 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy(
   5718     IOverlayNotify* This,
   5719     const RECT *pSourceRect,
   5720     const RECT *pDestinationRect,
   5721     const RGNDATA *pRgnData);
   5722 void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
   5723     IRpcStubBuffer* This,
   5724     IRpcChannelBuffer* pRpcChannelBuffer,
   5725     PRPC_MESSAGE pRpcMessage,
   5726     DWORD* pdwStubPhase);
   5727 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy(
   5728     IOverlayNotify* This,
   5729     const COLORKEY *pColorKey);
   5730 void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
   5731     IRpcStubBuffer* This,
   5732     IRpcChannelBuffer* pRpcChannelBuffer,
   5733     PRPC_MESSAGE pRpcMessage,
   5734     DWORD* pdwStubPhase);
   5735 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy(
   5736     IOverlayNotify* This,
   5737     const RECT *pSourceRect,
   5738     const RECT *pDestinationRect);
   5739 void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
   5740     IRpcStubBuffer* This,
   5741     IRpcChannelBuffer* pRpcChannelBuffer,
   5742     PRPC_MESSAGE pRpcMessage,
   5743     DWORD* pdwStubPhase);
   5744 
   5745 #endif  /* __IOverlayNotify_INTERFACE_DEFINED__ */
   5746 
   5747 typedef IOverlayNotify *POVERLAYNOTIFY;
   5748 #if 0
   5749 typedef HANDLE HMONITOR;
   5750 #endif /* 0 */
   5751 /*****************************************************************************
   5752  * IOverlayNotify2 interface
   5753  */
   5754 #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
   5755 #define __IOverlayNotify2_INTERFACE_DEFINED__
   5756 
   5757 DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96);
   5758 #if defined(__cplusplus) && !defined(CINTERFACE)
   5759 MIDL_INTERFACE("680efa10-d535-11d1-87c8-00a0c9223196")
   5760 IOverlayNotify2 : public IOverlayNotify
   5761 {
   5762     virtual HRESULT STDMETHODCALLTYPE OnDisplayChange(
   5763         HMONITOR hMonitor) = 0;
   5764 
   5765 };
   5766 #ifdef __CRT_UUID_DECL
   5767 __CRT_UUID_DECL(IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96)
   5768 #endif
   5769 #else
   5770 typedef struct IOverlayNotify2Vtbl {
   5771     BEGIN_INTERFACE
   5772 
   5773     /*** IUnknown methods ***/
   5774     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5775         IOverlayNotify2* This,
   5776         REFIID riid,
   5777         void **ppvObject);
   5778 
   5779     ULONG (STDMETHODCALLTYPE *AddRef)(
   5780         IOverlayNotify2* This);
   5781 
   5782     ULONG (STDMETHODCALLTYPE *Release)(
   5783         IOverlayNotify2* This);
   5784 
   5785     /*** IOverlayNotify methods ***/
   5786     HRESULT (STDMETHODCALLTYPE *OnPaletteChange)(
   5787         IOverlayNotify2* This,
   5788         DWORD dwColors,
   5789         const PALETTEENTRY *pPalette);
   5790 
   5791     HRESULT (STDMETHODCALLTYPE *OnClipChange)(
   5792         IOverlayNotify2* This,
   5793         const RECT *pSourceRect,
   5794         const RECT *pDestinationRect,
   5795         const RGNDATA *pRgnData);
   5796 
   5797     HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)(
   5798         IOverlayNotify2* This,
   5799         const COLORKEY *pColorKey);
   5800 
   5801     HRESULT (STDMETHODCALLTYPE *OnPositionChange)(
   5802         IOverlayNotify2* This,
   5803         const RECT *pSourceRect,
   5804         const RECT *pDestinationRect);
   5805 
   5806     /*** IOverlayNotify2 methods ***/
   5807     HRESULT (STDMETHODCALLTYPE *OnDisplayChange)(
   5808         IOverlayNotify2* This,
   5809         HMONITOR hMonitor);
   5810 
   5811     END_INTERFACE
   5812 } IOverlayNotify2Vtbl;
   5813 interface IOverlayNotify2 {
   5814     CONST_VTBL IOverlayNotify2Vtbl* lpVtbl;
   5815 };
   5816 
   5817 #ifdef COBJMACROS
   5818 #ifndef WIDL_C_INLINE_WRAPPERS
   5819 /*** IUnknown methods ***/
   5820 #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5821 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This)
   5822 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This)
   5823 /*** IOverlayNotify methods ***/
   5824 #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
   5825 #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
   5826 #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
   5827 #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
   5828 /*** IOverlayNotify2 methods ***/
   5829 #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor)
   5830 #else
   5831 /*** IUnknown methods ***/
   5832 static FORCEINLINE HRESULT IOverlayNotify2_QueryInterface(IOverlayNotify2* This,REFIID riid,void **ppvObject) {
   5833     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5834 }
   5835 static FORCEINLINE ULONG IOverlayNotify2_AddRef(IOverlayNotify2* This) {
   5836     return This->lpVtbl->AddRef(This);
   5837 }
   5838 static FORCEINLINE ULONG IOverlayNotify2_Release(IOverlayNotify2* This) {
   5839     return This->lpVtbl->Release(This);
   5840 }
   5841 /*** IOverlayNotify methods ***/
   5842 static FORCEINLINE HRESULT IOverlayNotify2_OnPaletteChange(IOverlayNotify2* This,DWORD dwColors,const PALETTEENTRY *pPalette) {
   5843     return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette);
   5844 }
   5845 static FORCEINLINE HRESULT IOverlayNotify2_OnClipChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) {
   5846     return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData);
   5847 }
   5848 static FORCEINLINE HRESULT IOverlayNotify2_OnColorKeyChange(IOverlayNotify2* This,const COLORKEY *pColorKey) {
   5849     return This->lpVtbl->OnColorKeyChange(This,pColorKey);
   5850 }
   5851 static FORCEINLINE HRESULT IOverlayNotify2_OnPositionChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect) {
   5852     return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect);
   5853 }
   5854 /*** IOverlayNotify2 methods ***/
   5855 static FORCEINLINE HRESULT IOverlayNotify2_OnDisplayChange(IOverlayNotify2* This,HMONITOR hMonitor) {
   5856     return This->lpVtbl->OnDisplayChange(This,hMonitor);
   5857 }
   5858 #endif
   5859 #endif
   5860 
   5861 #endif
   5862 
   5863 HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy(
   5864     IOverlayNotify2* This,
   5865     HMONITOR hMonitor);
   5866 void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
   5867     IRpcStubBuffer* This,
   5868     IRpcChannelBuffer* pRpcChannelBuffer,
   5869     PRPC_MESSAGE pRpcMessage,
   5870     DWORD* pdwStubPhase);
   5871 
   5872 #endif  /* __IOverlayNotify2_INTERFACE_DEFINED__ */
   5873 
   5874 typedef IOverlayNotify2 *POVERLAYNOTIFY2;
   5875 /*****************************************************************************
   5876  * IOverlay interface
   5877  */
   5878 #ifndef __IOverlay_INTERFACE_DEFINED__
   5879 #define __IOverlay_INTERFACE_DEFINED__
   5880 
   5881 DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   5882 #if defined(__cplusplus) && !defined(CINTERFACE)
   5883 MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
   5884 IOverlay : public IUnknown
   5885 {
   5886     virtual HRESULT STDMETHODCALLTYPE GetPalette(
   5887         DWORD *pdwColors,
   5888         PALETTEENTRY **ppPalette) = 0;
   5889 
   5890     virtual HRESULT STDMETHODCALLTYPE SetPalette(
   5891         DWORD dwColors,
   5892         PALETTEENTRY *pPalette) = 0;
   5893 
   5894     virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey(
   5895         COLORKEY *pColorKey) = 0;
   5896 
   5897     virtual HRESULT STDMETHODCALLTYPE GetColorKey(
   5898         COLORKEY *pColorKey) = 0;
   5899 
   5900     virtual HRESULT STDMETHODCALLTYPE SetColorKey(
   5901         COLORKEY *pColorKey) = 0;
   5902 
   5903     virtual HRESULT STDMETHODCALLTYPE GetWindowHandle(
   5904         HWND *pHwnd) = 0;
   5905 
   5906     virtual HRESULT STDMETHODCALLTYPE GetClipList(
   5907         RECT *pSourceRect,
   5908         RECT *pDestinationRect,
   5909         RGNDATA **ppRgnData) = 0;
   5910 
   5911     virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
   5912         RECT *pSourceRect,
   5913         RECT *pDestinationRect) = 0;
   5914 
   5915     virtual HRESULT STDMETHODCALLTYPE Advise(
   5916         IOverlayNotify *pOverlayNotify,
   5917         DWORD dwInterests) = 0;
   5918 
   5919     virtual HRESULT STDMETHODCALLTYPE Unadvise(
   5920         ) = 0;
   5921 
   5922 };
   5923 #ifdef __CRT_UUID_DECL
   5924 __CRT_UUID_DECL(IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   5925 #endif
   5926 #else
   5927 typedef struct IOverlayVtbl {
   5928     BEGIN_INTERFACE
   5929 
   5930     /*** IUnknown methods ***/
   5931     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5932         IOverlay* This,
   5933         REFIID riid,
   5934         void **ppvObject);
   5935 
   5936     ULONG (STDMETHODCALLTYPE *AddRef)(
   5937         IOverlay* This);
   5938 
   5939     ULONG (STDMETHODCALLTYPE *Release)(
   5940         IOverlay* This);
   5941 
   5942     /*** IOverlay methods ***/
   5943     HRESULT (STDMETHODCALLTYPE *GetPalette)(
   5944         IOverlay* This,
   5945         DWORD *pdwColors,
   5946         PALETTEENTRY **ppPalette);
   5947 
   5948     HRESULT (STDMETHODCALLTYPE *SetPalette)(
   5949         IOverlay* This,
   5950         DWORD dwColors,
   5951         PALETTEENTRY *pPalette);
   5952 
   5953     HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)(
   5954         IOverlay* This,
   5955         COLORKEY *pColorKey);
   5956 
   5957     HRESULT (STDMETHODCALLTYPE *GetColorKey)(
   5958         IOverlay* This,
   5959         COLORKEY *pColorKey);
   5960 
   5961     HRESULT (STDMETHODCALLTYPE *SetColorKey)(
   5962         IOverlay* This,
   5963         COLORKEY *pColorKey);
   5964 
   5965     HRESULT (STDMETHODCALLTYPE *GetWindowHandle)(
   5966         IOverlay* This,
   5967         HWND *pHwnd);
   5968 
   5969     HRESULT (STDMETHODCALLTYPE *GetClipList)(
   5970         IOverlay* This,
   5971         RECT *pSourceRect,
   5972         RECT *pDestinationRect,
   5973         RGNDATA **ppRgnData);
   5974 
   5975     HRESULT (STDMETHODCALLTYPE *GetVideoPosition)(
   5976         IOverlay* This,
   5977         RECT *pSourceRect,
   5978         RECT *pDestinationRect);
   5979 
   5980     HRESULT (STDMETHODCALLTYPE *Advise)(
   5981         IOverlay* This,
   5982         IOverlayNotify *pOverlayNotify,
   5983         DWORD dwInterests);
   5984 
   5985     HRESULT (STDMETHODCALLTYPE *Unadvise)(
   5986         IOverlay* This);
   5987 
   5988     END_INTERFACE
   5989 } IOverlayVtbl;
   5990 interface IOverlay {
   5991     CONST_VTBL IOverlayVtbl* lpVtbl;
   5992 };
   5993 
   5994 #ifdef COBJMACROS
   5995 #ifndef WIDL_C_INLINE_WRAPPERS
   5996 /*** IUnknown methods ***/
   5997 #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5998 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This)
   5999 #define IOverlay_Release(This) (This)->lpVtbl->Release(This)
   6000 /*** IOverlay methods ***/
   6001 #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette)
   6002 #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette)
   6003 #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey)
   6004 #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey)
   6005 #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey)
   6006 #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd)
   6007 #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
   6008 #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect)
   6009 #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests)
   6010 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This)
   6011 #else
   6012 /*** IUnknown methods ***/
   6013 static FORCEINLINE HRESULT IOverlay_QueryInterface(IOverlay* This,REFIID riid,void **ppvObject) {
   6014     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6015 }
   6016 static FORCEINLINE ULONG IOverlay_AddRef(IOverlay* This) {
   6017     return This->lpVtbl->AddRef(This);
   6018 }
   6019 static FORCEINLINE ULONG IOverlay_Release(IOverlay* This) {
   6020     return This->lpVtbl->Release(This);
   6021 }
   6022 /*** IOverlay methods ***/
   6023 static FORCEINLINE HRESULT IOverlay_GetPalette(IOverlay* This,DWORD *pdwColors,PALETTEENTRY **ppPalette) {
   6024     return This->lpVtbl->GetPalette(This,pdwColors,ppPalette);
   6025 }
   6026 static FORCEINLINE HRESULT IOverlay_SetPalette(IOverlay* This,DWORD dwColors,PALETTEENTRY *pPalette) {
   6027     return This->lpVtbl->SetPalette(This,dwColors,pPalette);
   6028 }
   6029 static FORCEINLINE HRESULT IOverlay_GetDefaultColorKey(IOverlay* This,COLORKEY *pColorKey) {
   6030     return This->lpVtbl->GetDefaultColorKey(This,pColorKey);
   6031 }
   6032 static FORCEINLINE HRESULT IOverlay_GetColorKey(IOverlay* This,COLORKEY *pColorKey) {
   6033     return This->lpVtbl->GetColorKey(This,pColorKey);
   6034 }
   6035 static FORCEINLINE HRESULT IOverlay_SetColorKey(IOverlay* This,COLORKEY *pColorKey) {
   6036     return This->lpVtbl->SetColorKey(This,pColorKey);
   6037 }
   6038 static FORCEINLINE HRESULT IOverlay_GetWindowHandle(IOverlay* This,HWND *pHwnd) {
   6039     return This->lpVtbl->GetWindowHandle(This,pHwnd);
   6040 }
   6041 static FORCEINLINE HRESULT IOverlay_GetClipList(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) {
   6042     return This->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData);
   6043 }
   6044 static FORCEINLINE HRESULT IOverlay_GetVideoPosition(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect) {
   6045     return This->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect);
   6046 }
   6047 static FORCEINLINE HRESULT IOverlay_Advise(IOverlay* This,IOverlayNotify *pOverlayNotify,DWORD dwInterests) {
   6048     return This->lpVtbl->Advise(This,pOverlayNotify,dwInterests);
   6049 }
   6050 static FORCEINLINE HRESULT IOverlay_Unadvise(IOverlay* This) {
   6051     return This->lpVtbl->Unadvise(This);
   6052 }
   6053 #endif
   6054 #endif
   6055 
   6056 #endif
   6057 
   6058 HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy(
   6059     IOverlay* This,
   6060     DWORD *pdwColors,
   6061     PALETTEENTRY **ppPalette);
   6062 void __RPC_STUB IOverlay_GetPalette_Stub(
   6063     IRpcStubBuffer* This,
   6064     IRpcChannelBuffer* pRpcChannelBuffer,
   6065     PRPC_MESSAGE pRpcMessage,
   6066     DWORD* pdwStubPhase);
   6067 HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy(
   6068     IOverlay* This,
   6069     DWORD dwColors,
   6070     PALETTEENTRY *pPalette);
   6071 void __RPC_STUB IOverlay_SetPalette_Stub(
   6072     IRpcStubBuffer* This,
   6073     IRpcChannelBuffer* pRpcChannelBuffer,
   6074     PRPC_MESSAGE pRpcMessage,
   6075     DWORD* pdwStubPhase);
   6076 HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy(
   6077     IOverlay* This,
   6078     COLORKEY *pColorKey);
   6079 void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
   6080     IRpcStubBuffer* This,
   6081     IRpcChannelBuffer* pRpcChannelBuffer,
   6082     PRPC_MESSAGE pRpcMessage,
   6083     DWORD* pdwStubPhase);
   6084 HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy(
   6085     IOverlay* This,
   6086     COLORKEY *pColorKey);
   6087 void __RPC_STUB IOverlay_GetColorKey_Stub(
   6088     IRpcStubBuffer* This,
   6089     IRpcChannelBuffer* pRpcChannelBuffer,
   6090     PRPC_MESSAGE pRpcMessage,
   6091     DWORD* pdwStubPhase);
   6092 HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy(
   6093     IOverlay* This,
   6094     COLORKEY *pColorKey);
   6095 void __RPC_STUB IOverlay_SetColorKey_Stub(
   6096     IRpcStubBuffer* This,
   6097     IRpcChannelBuffer* pRpcChannelBuffer,
   6098     PRPC_MESSAGE pRpcMessage,
   6099     DWORD* pdwStubPhase);
   6100 HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy(
   6101     IOverlay* This,
   6102     HWND *pHwnd);
   6103 void __RPC_STUB IOverlay_GetWindowHandle_Stub(
   6104     IRpcStubBuffer* This,
   6105     IRpcChannelBuffer* pRpcChannelBuffer,
   6106     PRPC_MESSAGE pRpcMessage,
   6107     DWORD* pdwStubPhase);
   6108 HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy(
   6109     IOverlay* This,
   6110     RECT *pSourceRect,
   6111     RECT *pDestinationRect,
   6112     RGNDATA **ppRgnData);
   6113 void __RPC_STUB IOverlay_GetClipList_Stub(
   6114     IRpcStubBuffer* This,
   6115     IRpcChannelBuffer* pRpcChannelBuffer,
   6116     PRPC_MESSAGE pRpcMessage,
   6117     DWORD* pdwStubPhase);
   6118 HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy(
   6119     IOverlay* This,
   6120     RECT *pSourceRect,
   6121     RECT *pDestinationRect);
   6122 void __RPC_STUB IOverlay_GetVideoPosition_Stub(
   6123     IRpcStubBuffer* This,
   6124     IRpcChannelBuffer* pRpcChannelBuffer,
   6125     PRPC_MESSAGE pRpcMessage,
   6126     DWORD* pdwStubPhase);
   6127 HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy(
   6128     IOverlay* This,
   6129     IOverlayNotify *pOverlayNotify,
   6130     DWORD dwInterests);
   6131 void __RPC_STUB IOverlay_Advise_Stub(
   6132     IRpcStubBuffer* This,
   6133     IRpcChannelBuffer* pRpcChannelBuffer,
   6134     PRPC_MESSAGE pRpcMessage,
   6135     DWORD* pdwStubPhase);
   6136 HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy(
   6137     IOverlay* This);
   6138 void __RPC_STUB IOverlay_Unadvise_Stub(
   6139     IRpcStubBuffer* This,
   6140     IRpcChannelBuffer* pRpcChannelBuffer,
   6141     PRPC_MESSAGE pRpcMessage,
   6142     DWORD* pdwStubPhase);
   6143 
   6144 #endif  /* __IOverlay_INTERFACE_DEFINED__ */
   6145 
   6146 typedef IOverlay *POVERLAY;
   6147 /*****************************************************************************
   6148  * IMediaEventSink interface
   6149  */
   6150 #ifndef __IMediaEventSink_INTERFACE_DEFINED__
   6151 #define __IMediaEventSink_INTERFACE_DEFINED__
   6152 
   6153 DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   6154 #if defined(__cplusplus) && !defined(CINTERFACE)
   6155 MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
   6156 IMediaEventSink : public IUnknown
   6157 {
   6158     virtual HRESULT STDMETHODCALLTYPE Notify(
   6159         LONG EventCode,
   6160         LONG_PTR EventParam1,
   6161         LONG_PTR EventParam2) = 0;
   6162 
   6163 };
   6164 #ifdef __CRT_UUID_DECL
   6165 __CRT_UUID_DECL(IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   6166 #endif
   6167 #else
   6168 typedef struct IMediaEventSinkVtbl {
   6169     BEGIN_INTERFACE
   6170 
   6171     /*** IUnknown methods ***/
   6172     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6173         IMediaEventSink* This,
   6174         REFIID riid,
   6175         void **ppvObject);
   6176 
   6177     ULONG (STDMETHODCALLTYPE *AddRef)(
   6178         IMediaEventSink* This);
   6179 
   6180     ULONG (STDMETHODCALLTYPE *Release)(
   6181         IMediaEventSink* This);
   6182 
   6183     /*** IMediaEventSink methods ***/
   6184     HRESULT (STDMETHODCALLTYPE *Notify)(
   6185         IMediaEventSink* This,
   6186         LONG EventCode,
   6187         LONG_PTR EventParam1,
   6188         LONG_PTR EventParam2);
   6189 
   6190     END_INTERFACE
   6191 } IMediaEventSinkVtbl;
   6192 interface IMediaEventSink {
   6193     CONST_VTBL IMediaEventSinkVtbl* lpVtbl;
   6194 };
   6195 
   6196 #ifdef COBJMACROS
   6197 #ifndef WIDL_C_INLINE_WRAPPERS
   6198 /*** IUnknown methods ***/
   6199 #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6200 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
   6201 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This)
   6202 /*** IMediaEventSink methods ***/
   6203 #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2)
   6204 #else
   6205 /*** IUnknown methods ***/
   6206 static FORCEINLINE HRESULT IMediaEventSink_QueryInterface(IMediaEventSink* This,REFIID riid,void **ppvObject) {
   6207     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6208 }
   6209 static FORCEINLINE ULONG IMediaEventSink_AddRef(IMediaEventSink* This) {
   6210     return This->lpVtbl->AddRef(This);
   6211 }
   6212 static FORCEINLINE ULONG IMediaEventSink_Release(IMediaEventSink* This) {
   6213     return This->lpVtbl->Release(This);
   6214 }
   6215 /*** IMediaEventSink methods ***/
   6216 static FORCEINLINE HRESULT IMediaEventSink_Notify(IMediaEventSink* This,LONG EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) {
   6217     return This->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2);
   6218 }
   6219 #endif
   6220 #endif
   6221 
   6222 #endif
   6223 
   6224 HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy(
   6225     IMediaEventSink* This,
   6226     LONG EventCode,
   6227     LONG_PTR EventParam1,
   6228     LONG_PTR EventParam2);
   6229 void __RPC_STUB IMediaEventSink_Notify_Stub(
   6230     IRpcStubBuffer* This,
   6231     IRpcChannelBuffer* pRpcChannelBuffer,
   6232     PRPC_MESSAGE pRpcMessage,
   6233     DWORD* pdwStubPhase);
   6234 
   6235 #endif  /* __IMediaEventSink_INTERFACE_DEFINED__ */
   6236 
   6237 typedef IMediaEventSink *PMEDIAEVENTSINK;
   6238 /*****************************************************************************
   6239  * IFileSourceFilter interface
   6240  */
   6241 #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
   6242 #define __IFileSourceFilter_INTERFACE_DEFINED__
   6243 
   6244 DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   6245 #if defined(__cplusplus) && !defined(CINTERFACE)
   6246 MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
   6247 IFileSourceFilter : public IUnknown
   6248 {
   6249     virtual HRESULT STDMETHODCALLTYPE Load(
   6250         LPCOLESTR pszFileName,
   6251         const AM_MEDIA_TYPE *pmt) = 0;
   6252 
   6253     virtual HRESULT STDMETHODCALLTYPE GetCurFile(
   6254         LPOLESTR *ppszFileName,
   6255         AM_MEDIA_TYPE *pmt) = 0;
   6256 
   6257 };
   6258 #ifdef __CRT_UUID_DECL
   6259 __CRT_UUID_DECL(IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   6260 #endif
   6261 #else
   6262 typedef struct IFileSourceFilterVtbl {
   6263     BEGIN_INTERFACE
   6264 
   6265     /*** IUnknown methods ***/
   6266     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6267         IFileSourceFilter* This,
   6268         REFIID riid,
   6269         void **ppvObject);
   6270 
   6271     ULONG (STDMETHODCALLTYPE *AddRef)(
   6272         IFileSourceFilter* This);
   6273 
   6274     ULONG (STDMETHODCALLTYPE *Release)(
   6275         IFileSourceFilter* This);
   6276 
   6277     /*** IFileSourceFilter methods ***/
   6278     HRESULT (STDMETHODCALLTYPE *Load)(
   6279         IFileSourceFilter* This,
   6280         LPCOLESTR pszFileName,
   6281         const AM_MEDIA_TYPE *pmt);
   6282 
   6283     HRESULT (STDMETHODCALLTYPE *GetCurFile)(
   6284         IFileSourceFilter* This,
   6285         LPOLESTR *ppszFileName,
   6286         AM_MEDIA_TYPE *pmt);
   6287 
   6288     END_INTERFACE
   6289 } IFileSourceFilterVtbl;
   6290 interface IFileSourceFilter {
   6291     CONST_VTBL IFileSourceFilterVtbl* lpVtbl;
   6292 };
   6293 
   6294 #ifdef COBJMACROS
   6295 #ifndef WIDL_C_INLINE_WRAPPERS
   6296 /*** IUnknown methods ***/
   6297 #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6298 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   6299 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This)
   6300 /*** IFileSourceFilter methods ***/
   6301 #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt)
   6302 #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   6303 #else
   6304 /*** IUnknown methods ***/
   6305 static FORCEINLINE HRESULT IFileSourceFilter_QueryInterface(IFileSourceFilter* This,REFIID riid,void **ppvObject) {
   6306     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6307 }
   6308 static FORCEINLINE ULONG IFileSourceFilter_AddRef(IFileSourceFilter* This) {
   6309     return This->lpVtbl->AddRef(This);
   6310 }
   6311 static FORCEINLINE ULONG IFileSourceFilter_Release(IFileSourceFilter* This) {
   6312     return This->lpVtbl->Release(This);
   6313 }
   6314 /*** IFileSourceFilter methods ***/
   6315 static FORCEINLINE HRESULT IFileSourceFilter_Load(IFileSourceFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
   6316     return This->lpVtbl->Load(This,pszFileName,pmt);
   6317 }
   6318 static FORCEINLINE HRESULT IFileSourceFilter_GetCurFile(IFileSourceFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
   6319     return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
   6320 }
   6321 #endif
   6322 #endif
   6323 
   6324 #endif
   6325 
   6326 HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy(
   6327     IFileSourceFilter* This,
   6328     LPCOLESTR pszFileName,
   6329     const AM_MEDIA_TYPE *pmt);
   6330 void __RPC_STUB IFileSourceFilter_Load_Stub(
   6331     IRpcStubBuffer* This,
   6332     IRpcChannelBuffer* pRpcChannelBuffer,
   6333     PRPC_MESSAGE pRpcMessage,
   6334     DWORD* pdwStubPhase);
   6335 HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy(
   6336     IFileSourceFilter* This,
   6337     LPOLESTR *ppszFileName,
   6338     AM_MEDIA_TYPE *pmt);
   6339 void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
   6340     IRpcStubBuffer* This,
   6341     IRpcChannelBuffer* pRpcChannelBuffer,
   6342     PRPC_MESSAGE pRpcMessage,
   6343     DWORD* pdwStubPhase);
   6344 
   6345 #endif  /* __IFileSourceFilter_INTERFACE_DEFINED__ */
   6346 
   6347 typedef IFileSourceFilter *PFILTERFILESOURCE;
   6348 /*****************************************************************************
   6349  * IFileSinkFilter interface
   6350  */
   6351 #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
   6352 #define __IFileSinkFilter_INTERFACE_DEFINED__
   6353 
   6354 DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6);
   6355 #if defined(__cplusplus) && !defined(CINTERFACE)
   6356 MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
   6357 IFileSinkFilter : public IUnknown
   6358 {
   6359     virtual HRESULT STDMETHODCALLTYPE SetFileName(
   6360         LPCOLESTR pszFileName,
   6361         const AM_MEDIA_TYPE *pmt) = 0;
   6362 
   6363     virtual HRESULT STDMETHODCALLTYPE GetCurFile(
   6364         LPOLESTR *ppszFileName,
   6365         AM_MEDIA_TYPE *pmt) = 0;
   6366 
   6367 };
   6368 #ifdef __CRT_UUID_DECL
   6369 __CRT_UUID_DECL(IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6)
   6370 #endif
   6371 #else
   6372 typedef struct IFileSinkFilterVtbl {
   6373     BEGIN_INTERFACE
   6374 
   6375     /*** IUnknown methods ***/
   6376     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6377         IFileSinkFilter* This,
   6378         REFIID riid,
   6379         void **ppvObject);
   6380 
   6381     ULONG (STDMETHODCALLTYPE *AddRef)(
   6382         IFileSinkFilter* This);
   6383 
   6384     ULONG (STDMETHODCALLTYPE *Release)(
   6385         IFileSinkFilter* This);
   6386 
   6387     /*** IFileSinkFilter methods ***/
   6388     HRESULT (STDMETHODCALLTYPE *SetFileName)(
   6389         IFileSinkFilter* This,
   6390         LPCOLESTR pszFileName,
   6391         const AM_MEDIA_TYPE *pmt);
   6392 
   6393     HRESULT (STDMETHODCALLTYPE *GetCurFile)(
   6394         IFileSinkFilter* This,
   6395         LPOLESTR *ppszFileName,
   6396         AM_MEDIA_TYPE *pmt);
   6397 
   6398     END_INTERFACE
   6399 } IFileSinkFilterVtbl;
   6400 interface IFileSinkFilter {
   6401     CONST_VTBL IFileSinkFilterVtbl* lpVtbl;
   6402 };
   6403 
   6404 #ifdef COBJMACROS
   6405 #ifndef WIDL_C_INLINE_WRAPPERS
   6406 /*** IUnknown methods ***/
   6407 #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6408 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   6409 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This)
   6410 /*** IFileSinkFilter methods ***/
   6411 #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
   6412 #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   6413 #else
   6414 /*** IUnknown methods ***/
   6415 static FORCEINLINE HRESULT IFileSinkFilter_QueryInterface(IFileSinkFilter* This,REFIID riid,void **ppvObject) {
   6416     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6417 }
   6418 static FORCEINLINE ULONG IFileSinkFilter_AddRef(IFileSinkFilter* This) {
   6419     return This->lpVtbl->AddRef(This);
   6420 }
   6421 static FORCEINLINE ULONG IFileSinkFilter_Release(IFileSinkFilter* This) {
   6422     return This->lpVtbl->Release(This);
   6423 }
   6424 /*** IFileSinkFilter methods ***/
   6425 static FORCEINLINE HRESULT IFileSinkFilter_SetFileName(IFileSinkFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
   6426     return This->lpVtbl->SetFileName(This,pszFileName,pmt);
   6427 }
   6428 static FORCEINLINE HRESULT IFileSinkFilter_GetCurFile(IFileSinkFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
   6429     return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
   6430 }
   6431 #endif
   6432 #endif
   6433 
   6434 #endif
   6435 
   6436 HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy(
   6437     IFileSinkFilter* This,
   6438     LPCOLESTR pszFileName,
   6439     const AM_MEDIA_TYPE *pmt);
   6440 void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
   6441     IRpcStubBuffer* This,
   6442     IRpcChannelBuffer* pRpcChannelBuffer,
   6443     PRPC_MESSAGE pRpcMessage,
   6444     DWORD* pdwStubPhase);
   6445 HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy(
   6446     IFileSinkFilter* This,
   6447     LPOLESTR *ppszFileName,
   6448     AM_MEDIA_TYPE *pmt);
   6449 void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
   6450     IRpcStubBuffer* This,
   6451     IRpcChannelBuffer* pRpcChannelBuffer,
   6452     PRPC_MESSAGE pRpcMessage,
   6453     DWORD* pdwStubPhase);
   6454 
   6455 #endif  /* __IFileSinkFilter_INTERFACE_DEFINED__ */
   6456 
   6457 typedef IFileSinkFilter *PFILTERFILESINK;
   6458 /*****************************************************************************
   6459  * IFileSinkFilter2 interface
   6460  */
   6461 #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
   6462 #define __IFileSinkFilter2_INTERFACE_DEFINED__
   6463 
   6464 DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86);
   6465 #if defined(__cplusplus) && !defined(CINTERFACE)
   6466 MIDL_INTERFACE("00855b90-ce1b-11d0-bd4f-00a0c911ce86")
   6467 IFileSinkFilter2 : public IFileSinkFilter
   6468 {
   6469     virtual HRESULT STDMETHODCALLTYPE SetMode(
   6470         DWORD dwFlags) = 0;
   6471 
   6472     virtual HRESULT STDMETHODCALLTYPE GetMode(
   6473         DWORD *pdwFlags) = 0;
   6474 
   6475 };
   6476 #ifdef __CRT_UUID_DECL
   6477 __CRT_UUID_DECL(IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86)
   6478 #endif
   6479 #else
   6480 typedef struct IFileSinkFilter2Vtbl {
   6481     BEGIN_INTERFACE
   6482 
   6483     /*** IUnknown methods ***/
   6484     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6485         IFileSinkFilter2* This,
   6486         REFIID riid,
   6487         void **ppvObject);
   6488 
   6489     ULONG (STDMETHODCALLTYPE *AddRef)(
   6490         IFileSinkFilter2* This);
   6491 
   6492     ULONG (STDMETHODCALLTYPE *Release)(
   6493         IFileSinkFilter2* This);
   6494 
   6495     /*** IFileSinkFilter methods ***/
   6496     HRESULT (STDMETHODCALLTYPE *SetFileName)(
   6497         IFileSinkFilter2* This,
   6498         LPCOLESTR pszFileName,
   6499         const AM_MEDIA_TYPE *pmt);
   6500 
   6501     HRESULT (STDMETHODCALLTYPE *GetCurFile)(
   6502         IFileSinkFilter2* This,
   6503         LPOLESTR *ppszFileName,
   6504         AM_MEDIA_TYPE *pmt);
   6505 
   6506     /*** IFileSinkFilter2 methods ***/
   6507     HRESULT (STDMETHODCALLTYPE *SetMode)(
   6508         IFileSinkFilter2* This,
   6509         DWORD dwFlags);
   6510 
   6511     HRESULT (STDMETHODCALLTYPE *GetMode)(
   6512         IFileSinkFilter2* This,
   6513         DWORD *pdwFlags);
   6514 
   6515     END_INTERFACE
   6516 } IFileSinkFilter2Vtbl;
   6517 interface IFileSinkFilter2 {
   6518     CONST_VTBL IFileSinkFilter2Vtbl* lpVtbl;
   6519 };
   6520 
   6521 #ifdef COBJMACROS
   6522 #ifndef WIDL_C_INLINE_WRAPPERS
   6523 /*** IUnknown methods ***/
   6524 #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6525 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This)
   6526 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This)
   6527 /*** IFileSinkFilter methods ***/
   6528 #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
   6529 #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   6530 /*** IFileSinkFilter2 methods ***/
   6531 #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags)
   6532 #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags)
   6533 #else
   6534 /*** IUnknown methods ***/
   6535 static FORCEINLINE HRESULT IFileSinkFilter2_QueryInterface(IFileSinkFilter2* This,REFIID riid,void **ppvObject) {
   6536     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6537 }
   6538 static FORCEINLINE ULONG IFileSinkFilter2_AddRef(IFileSinkFilter2* This) {
   6539     return This->lpVtbl->AddRef(This);
   6540 }
   6541 static FORCEINLINE ULONG IFileSinkFilter2_Release(IFileSinkFilter2* This) {
   6542     return This->lpVtbl->Release(This);
   6543 }
   6544 /*** IFileSinkFilter methods ***/
   6545 static FORCEINLINE HRESULT IFileSinkFilter2_SetFileName(IFileSinkFilter2* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
   6546     return This->lpVtbl->SetFileName(This,pszFileName,pmt);
   6547 }
   6548 static FORCEINLINE HRESULT IFileSinkFilter2_GetCurFile(IFileSinkFilter2* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
   6549     return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
   6550 }
   6551 /*** IFileSinkFilter2 methods ***/
   6552 static FORCEINLINE HRESULT IFileSinkFilter2_SetMode(IFileSinkFilter2* This,DWORD dwFlags) {
   6553     return This->lpVtbl->SetMode(This,dwFlags);
   6554 }
   6555 static FORCEINLINE HRESULT IFileSinkFilter2_GetMode(IFileSinkFilter2* This,DWORD *pdwFlags) {
   6556     return This->lpVtbl->GetMode(This,pdwFlags);
   6557 }
   6558 #endif
   6559 #endif
   6560 
   6561 #endif
   6562 
   6563 HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy(
   6564     IFileSinkFilter2* This,
   6565     DWORD dwFlags);
   6566 void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
   6567     IRpcStubBuffer* This,
   6568     IRpcChannelBuffer* pRpcChannelBuffer,
   6569     PRPC_MESSAGE pRpcMessage,
   6570     DWORD* pdwStubPhase);
   6571 HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy(
   6572     IFileSinkFilter2* This,
   6573     DWORD *pdwFlags);
   6574 void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
   6575     IRpcStubBuffer* This,
   6576     IRpcChannelBuffer* pRpcChannelBuffer,
   6577     PRPC_MESSAGE pRpcMessage,
   6578     DWORD* pdwStubPhase);
   6579 
   6580 #endif  /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
   6581 
   6582 typedef IFileSinkFilter2 *PFILESINKFILTER2;
   6583 typedef enum __WIDL_strmif_generated_name_00000008 {
   6584     AM_FILE_OVERWRITE = 0x1
   6585 } AM_FILESINK_FLAGS;
   6586 /*****************************************************************************
   6587  * IGraphBuilder interface
   6588  */
   6589 #ifndef __IGraphBuilder_INTERFACE_DEFINED__
   6590 #define __IGraphBuilder_INTERFACE_DEFINED__
   6591 
   6592 DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   6593 #if defined(__cplusplus) && !defined(CINTERFACE)
   6594 MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
   6595 IGraphBuilder : public IFilterGraph
   6596 {
   6597     virtual HRESULT STDMETHODCALLTYPE Connect(
   6598         IPin *ppinOut,
   6599         IPin *ppinIn) = 0;
   6600 
   6601     virtual HRESULT STDMETHODCALLTYPE Render(
   6602         IPin *ppinOut) = 0;
   6603 
   6604     virtual HRESULT STDMETHODCALLTYPE RenderFile(
   6605         LPCWSTR lpcwstrFile,
   6606         LPCWSTR lpcwstrPlayList) = 0;
   6607 
   6608     virtual HRESULT STDMETHODCALLTYPE AddSourceFilter(
   6609         LPCWSTR lpcwstrFileName,
   6610         LPCWSTR lpcwstrFilterName,
   6611         IBaseFilter **ppFilter) = 0;
   6612 
   6613     virtual HRESULT STDMETHODCALLTYPE SetLogFile(
   6614         DWORD_PTR hFile) = 0;
   6615 
   6616     virtual HRESULT STDMETHODCALLTYPE Abort(
   6617         ) = 0;
   6618 
   6619     virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue(
   6620         ) = 0;
   6621 
   6622 };
   6623 #ifdef __CRT_UUID_DECL
   6624 __CRT_UUID_DECL(IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   6625 #endif
   6626 #else
   6627 typedef struct IGraphBuilderVtbl {
   6628     BEGIN_INTERFACE
   6629 
   6630     /*** IUnknown methods ***/
   6631     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6632         IGraphBuilder* This,
   6633         REFIID riid,
   6634         void **ppvObject);
   6635 
   6636     ULONG (STDMETHODCALLTYPE *AddRef)(
   6637         IGraphBuilder* This);
   6638 
   6639     ULONG (STDMETHODCALLTYPE *Release)(
   6640         IGraphBuilder* This);
   6641 
   6642     /*** IFilterGraph methods ***/
   6643     HRESULT (STDMETHODCALLTYPE *AddFilter)(
   6644         IGraphBuilder* This,
   6645         IBaseFilter *pFilter,
   6646         LPCWSTR pName);
   6647 
   6648     HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
   6649         IGraphBuilder* This,
   6650         IBaseFilter *pFilter);
   6651 
   6652     HRESULT (STDMETHODCALLTYPE *EnumFilters)(
   6653         IGraphBuilder* This,
   6654         IEnumFilters **ppEnum);
   6655 
   6656     HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
   6657         IGraphBuilder* This,
   6658         LPCWSTR pName,
   6659         IBaseFilter **ppFilter);
   6660 
   6661     HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
   6662         IGraphBuilder* This,
   6663         IPin *ppinOut,
   6664         IPin *ppinIn,
   6665         const AM_MEDIA_TYPE *pmt);
   6666 
   6667     HRESULT (STDMETHODCALLTYPE *Reconnect)(
   6668         IGraphBuilder* This,
   6669         IPin *ppin);
   6670 
   6671     HRESULT (STDMETHODCALLTYPE *Disconnect)(
   6672         IGraphBuilder* This,
   6673         IPin *ppin);
   6674 
   6675     HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
   6676         IGraphBuilder* This);
   6677 
   6678     /*** IGraphBuilder methods ***/
   6679     HRESULT (STDMETHODCALLTYPE *Connect)(
   6680         IGraphBuilder* This,
   6681         IPin *ppinOut,
   6682         IPin *ppinIn);
   6683 
   6684     HRESULT (STDMETHODCALLTYPE *Render)(
   6685         IGraphBuilder* This,
   6686         IPin *ppinOut);
   6687 
   6688     HRESULT (STDMETHODCALLTYPE *RenderFile)(
   6689         IGraphBuilder* This,
   6690         LPCWSTR lpcwstrFile,
   6691         LPCWSTR lpcwstrPlayList);
   6692 
   6693     HRESULT (STDMETHODCALLTYPE *AddSourceFilter)(
   6694         IGraphBuilder* This,
   6695         LPCWSTR lpcwstrFileName,
   6696         LPCWSTR lpcwstrFilterName,
   6697         IBaseFilter **ppFilter);
   6698 
   6699     HRESULT (STDMETHODCALLTYPE *SetLogFile)(
   6700         IGraphBuilder* This,
   6701         DWORD_PTR hFile);
   6702 
   6703     HRESULT (STDMETHODCALLTYPE *Abort)(
   6704         IGraphBuilder* This);
   6705 
   6706     HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)(
   6707         IGraphBuilder* This);
   6708 
   6709     END_INTERFACE
   6710 } IGraphBuilderVtbl;
   6711 interface IGraphBuilder {
   6712     CONST_VTBL IGraphBuilderVtbl* lpVtbl;
   6713 };
   6714 
   6715 #ifdef COBJMACROS
   6716 #ifndef WIDL_C_INLINE_WRAPPERS
   6717 /*** IUnknown methods ***/
   6718 #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6719 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   6720 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   6721 /*** IFilterGraph methods ***/
   6722 #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   6723 #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   6724 #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   6725 #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   6726 #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   6727 #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   6728 #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   6729 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   6730 /*** IGraphBuilder methods ***/
   6731 #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
   6732 #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
   6733 #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
   6734 #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
   6735 #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
   6736 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This)
   6737 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
   6738 #else
   6739 /*** IUnknown methods ***/
   6740 static FORCEINLINE HRESULT IGraphBuilder_QueryInterface(IGraphBuilder* This,REFIID riid,void **ppvObject) {
   6741     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6742 }
   6743 static FORCEINLINE ULONG IGraphBuilder_AddRef(IGraphBuilder* This) {
   6744     return This->lpVtbl->AddRef(This);
   6745 }
   6746 static FORCEINLINE ULONG IGraphBuilder_Release(IGraphBuilder* This) {
   6747     return This->lpVtbl->Release(This);
   6748 }
   6749 /*** IFilterGraph methods ***/
   6750 static FORCEINLINE HRESULT IGraphBuilder_AddFilter(IGraphBuilder* This,IBaseFilter *pFilter,LPCWSTR pName) {
   6751     return This->lpVtbl->AddFilter(This,pFilter,pName);
   6752 }
   6753 static FORCEINLINE HRESULT IGraphBuilder_RemoveFilter(IGraphBuilder* This,IBaseFilter *pFilter) {
   6754     return This->lpVtbl->RemoveFilter(This,pFilter);
   6755 }
   6756 static FORCEINLINE HRESULT IGraphBuilder_EnumFilters(IGraphBuilder* This,IEnumFilters **ppEnum) {
   6757     return This->lpVtbl->EnumFilters(This,ppEnum);
   6758 }
   6759 static FORCEINLINE HRESULT IGraphBuilder_FindFilterByName(IGraphBuilder* This,LPCWSTR pName,IBaseFilter **ppFilter) {
   6760     return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
   6761 }
   6762 static FORCEINLINE HRESULT IGraphBuilder_ConnectDirect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
   6763     return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
   6764 }
   6765 static FORCEINLINE HRESULT IGraphBuilder_Reconnect(IGraphBuilder* This,IPin *ppin) {
   6766     return This->lpVtbl->Reconnect(This,ppin);
   6767 }
   6768 static FORCEINLINE HRESULT IGraphBuilder_Disconnect(IGraphBuilder* This,IPin *ppin) {
   6769     return This->lpVtbl->Disconnect(This,ppin);
   6770 }
   6771 static FORCEINLINE HRESULT IGraphBuilder_SetDefaultSyncSource(IGraphBuilder* This) {
   6772     return This->lpVtbl->SetDefaultSyncSource(This);
   6773 }
   6774 /*** IGraphBuilder methods ***/
   6775 static FORCEINLINE HRESULT IGraphBuilder_Connect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn) {
   6776     return This->lpVtbl->Connect(This,ppinOut,ppinIn);
   6777 }
   6778 static FORCEINLINE HRESULT IGraphBuilder_Render(IGraphBuilder* This,IPin *ppinOut) {
   6779     return This->lpVtbl->Render(This,ppinOut);
   6780 }
   6781 static FORCEINLINE HRESULT IGraphBuilder_RenderFile(IGraphBuilder* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) {
   6782     return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList);
   6783 }
   6784 static FORCEINLINE HRESULT IGraphBuilder_AddSourceFilter(IGraphBuilder* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
   6785     return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter);
   6786 }
   6787 static FORCEINLINE HRESULT IGraphBuilder_SetLogFile(IGraphBuilder* This,DWORD_PTR hFile) {
   6788     return This->lpVtbl->SetLogFile(This,hFile);
   6789 }
   6790 static FORCEINLINE HRESULT IGraphBuilder_Abort(IGraphBuilder* This) {
   6791     return This->lpVtbl->Abort(This);
   6792 }
   6793 static FORCEINLINE HRESULT IGraphBuilder_ShouldOperationContinue(IGraphBuilder* This) {
   6794     return This->lpVtbl->ShouldOperationContinue(This);
   6795 }
   6796 #endif
   6797 #endif
   6798 
   6799 #endif
   6800 
   6801 HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy(
   6802     IGraphBuilder* This,
   6803     IPin *ppinOut,
   6804     IPin *ppinIn);
   6805 void __RPC_STUB IGraphBuilder_Connect_Stub(
   6806     IRpcStubBuffer* This,
   6807     IRpcChannelBuffer* pRpcChannelBuffer,
   6808     PRPC_MESSAGE pRpcMessage,
   6809     DWORD* pdwStubPhase);
   6810 HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy(
   6811     IGraphBuilder* This,
   6812     IPin *ppinOut);
   6813 void __RPC_STUB IGraphBuilder_Render_Stub(
   6814     IRpcStubBuffer* This,
   6815     IRpcChannelBuffer* pRpcChannelBuffer,
   6816     PRPC_MESSAGE pRpcMessage,
   6817     DWORD* pdwStubPhase);
   6818 HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy(
   6819     IGraphBuilder* This,
   6820     LPCWSTR lpcwstrFile,
   6821     LPCWSTR lpcwstrPlayList);
   6822 void __RPC_STUB IGraphBuilder_RenderFile_Stub(
   6823     IRpcStubBuffer* This,
   6824     IRpcChannelBuffer* pRpcChannelBuffer,
   6825     PRPC_MESSAGE pRpcMessage,
   6826     DWORD* pdwStubPhase);
   6827 HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy(
   6828     IGraphBuilder* This,
   6829     LPCWSTR lpcwstrFileName,
   6830     LPCWSTR lpcwstrFilterName,
   6831     IBaseFilter **ppFilter);
   6832 void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
   6833     IRpcStubBuffer* This,
   6834     IRpcChannelBuffer* pRpcChannelBuffer,
   6835     PRPC_MESSAGE pRpcMessage,
   6836     DWORD* pdwStubPhase);
   6837 HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy(
   6838     IGraphBuilder* This,
   6839     DWORD_PTR hFile);
   6840 void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
   6841     IRpcStubBuffer* This,
   6842     IRpcChannelBuffer* pRpcChannelBuffer,
   6843     PRPC_MESSAGE pRpcMessage,
   6844     DWORD* pdwStubPhase);
   6845 HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy(
   6846     IGraphBuilder* This);
   6847 void __RPC_STUB IGraphBuilder_Abort_Stub(
   6848     IRpcStubBuffer* This,
   6849     IRpcChannelBuffer* pRpcChannelBuffer,
   6850     PRPC_MESSAGE pRpcMessage,
   6851     DWORD* pdwStubPhase);
   6852 HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy(
   6853     IGraphBuilder* This);
   6854 void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
   6855     IRpcStubBuffer* This,
   6856     IRpcChannelBuffer* pRpcChannelBuffer,
   6857     PRPC_MESSAGE pRpcMessage,
   6858     DWORD* pdwStubPhase);
   6859 
   6860 #endif  /* __IGraphBuilder_INTERFACE_DEFINED__ */
   6861 
   6862 /*****************************************************************************
   6863  * ICaptureGraphBuilder interface
   6864  */
   6865 #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
   6866 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
   6867 
   6868 DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
   6869 #if defined(__cplusplus) && !defined(CINTERFACE)
   6870 MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
   6871 ICaptureGraphBuilder : public IUnknown
   6872 {
   6873     virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
   6874         IGraphBuilder *pfg) = 0;
   6875 
   6876     virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
   6877         IGraphBuilder **ppfg) = 0;
   6878 
   6879     virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
   6880         const GUID *pType,
   6881         LPCOLESTR lpstrFile,
   6882         IBaseFilter **ppf,
   6883         IFileSinkFilter **ppSink) = 0;
   6884 
   6885     virtual HRESULT STDMETHODCALLTYPE FindInterface(
   6886         const GUID *pCategory,
   6887         IBaseFilter *pf,
   6888         REFIID riid,
   6889         void **ppint) = 0;
   6890 
   6891     virtual HRESULT STDMETHODCALLTYPE RenderStream(
   6892         const GUID *pCategory,
   6893         IUnknown *pSource,
   6894         IBaseFilter *pfCompressor,
   6895         IBaseFilter *pfRenderer) = 0;
   6896 
   6897     virtual HRESULT STDMETHODCALLTYPE ControlStream(
   6898         const GUID *pCategory,
   6899         IBaseFilter *pFilter,
   6900         REFERENCE_TIME *pstart,
   6901         REFERENCE_TIME *pstop,
   6902         WORD wStartCookie,
   6903         WORD wStopCookie) = 0;
   6904 
   6905     virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
   6906         LPCOLESTR lpstr,
   6907         DWORDLONG dwlSize) = 0;
   6908 
   6909     virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
   6910         LPOLESTR lpwstrOld,
   6911         LPOLESTR lpwstrNew,
   6912         int fAllowEscAbort,
   6913         IAMCopyCaptureFileProgress *pCallback) = 0;
   6914 
   6915 };
   6916 #ifdef __CRT_UUID_DECL
   6917 __CRT_UUID_DECL(ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
   6918 #endif
   6919 #else
   6920 typedef struct ICaptureGraphBuilderVtbl {
   6921     BEGIN_INTERFACE
   6922 
   6923     /*** IUnknown methods ***/
   6924     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6925         ICaptureGraphBuilder* This,
   6926         REFIID riid,
   6927         void **ppvObject);
   6928 
   6929     ULONG (STDMETHODCALLTYPE *AddRef)(
   6930         ICaptureGraphBuilder* This);
   6931 
   6932     ULONG (STDMETHODCALLTYPE *Release)(
   6933         ICaptureGraphBuilder* This);
   6934 
   6935     /*** ICaptureGraphBuilder methods ***/
   6936     HRESULT (STDMETHODCALLTYPE *SetFiltergraph)(
   6937         ICaptureGraphBuilder* This,
   6938         IGraphBuilder *pfg);
   6939 
   6940     HRESULT (STDMETHODCALLTYPE *GetFiltergraph)(
   6941         ICaptureGraphBuilder* This,
   6942         IGraphBuilder **ppfg);
   6943 
   6944     HRESULT (STDMETHODCALLTYPE *SetOutputFileName)(
   6945         ICaptureGraphBuilder* This,
   6946         const GUID *pType,
   6947         LPCOLESTR lpstrFile,
   6948         IBaseFilter **ppf,
   6949         IFileSinkFilter **ppSink);
   6950 
   6951     HRESULT (STDMETHODCALLTYPE *FindInterface)(
   6952         ICaptureGraphBuilder* This,
   6953         const GUID *pCategory,
   6954         IBaseFilter *pf,
   6955         REFIID riid,
   6956         void **ppint);
   6957 
   6958     HRESULT (STDMETHODCALLTYPE *RenderStream)(
   6959         ICaptureGraphBuilder* This,
   6960         const GUID *pCategory,
   6961         IUnknown *pSource,
   6962         IBaseFilter *pfCompressor,
   6963         IBaseFilter *pfRenderer);
   6964 
   6965     HRESULT (STDMETHODCALLTYPE *ControlStream)(
   6966         ICaptureGraphBuilder* This,
   6967         const GUID *pCategory,
   6968         IBaseFilter *pFilter,
   6969         REFERENCE_TIME *pstart,
   6970         REFERENCE_TIME *pstop,
   6971         WORD wStartCookie,
   6972         WORD wStopCookie);
   6973 
   6974     HRESULT (STDMETHODCALLTYPE *AllocCapFile)(
   6975         ICaptureGraphBuilder* This,
   6976         LPCOLESTR lpstr,
   6977         DWORDLONG dwlSize);
   6978 
   6979     HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)(
   6980         ICaptureGraphBuilder* This,
   6981         LPOLESTR lpwstrOld,
   6982         LPOLESTR lpwstrNew,
   6983         int fAllowEscAbort,
   6984         IAMCopyCaptureFileProgress *pCallback);
   6985 
   6986     END_INTERFACE
   6987 } ICaptureGraphBuilderVtbl;
   6988 interface ICaptureGraphBuilder {
   6989     CONST_VTBL ICaptureGraphBuilderVtbl* lpVtbl;
   6990 };
   6991 
   6992 #ifdef COBJMACROS
   6993 #ifndef WIDL_C_INLINE_WRAPPERS
   6994 /*** IUnknown methods ***/
   6995 #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6996 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   6997 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   6998 /*** ICaptureGraphBuilder methods ***/
   6999 #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
   7000 #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
   7001 #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
   7002 #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint)
   7003 #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
   7004 #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
   7005 #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
   7006 #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
   7007 #else
   7008 /*** IUnknown methods ***/
   7009 static FORCEINLINE HRESULT ICaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder* This,REFIID riid,void **ppvObject) {
   7010     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7011 }
   7012 static FORCEINLINE ULONG ICaptureGraphBuilder_AddRef(ICaptureGraphBuilder* This) {
   7013     return This->lpVtbl->AddRef(This);
   7014 }
   7015 static FORCEINLINE ULONG ICaptureGraphBuilder_Release(ICaptureGraphBuilder* This) {
   7016     return This->lpVtbl->Release(This);
   7017 }
   7018 /*** ICaptureGraphBuilder methods ***/
   7019 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder *pfg) {
   7020     return This->lpVtbl->SetFiltergraph(This,pfg);
   7021 }
   7022 static FORCEINLINE HRESULT ICaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder **ppfg) {
   7023     return This->lpVtbl->GetFiltergraph(This,ppfg);
   7024 }
   7025 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) {
   7026     return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink);
   7027 }
   7028 static FORCEINLINE HRESULT ICaptureGraphBuilder_FindInterface(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) {
   7029     return This->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint);
   7030 }
   7031 static FORCEINLINE HRESULT ICaptureGraphBuilder_RenderStream(ICaptureGraphBuilder* This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) {
   7032     return This->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer);
   7033 }
   7034 static FORCEINLINE HRESULT ICaptureGraphBuilder_ControlStream(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) {
   7035     return This->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie);
   7036 }
   7037 static FORCEINLINE HRESULT ICaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder* This,LPCOLESTR lpstr,DWORDLONG dwlSize) {
   7038     return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize);
   7039 }
   7040 static FORCEINLINE HRESULT ICaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) {
   7041     return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback);
   7042 }
   7043 #endif
   7044 #endif
   7045 
   7046 #endif
   7047 
   7048 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy(
   7049     ICaptureGraphBuilder* This,
   7050     IGraphBuilder *pfg);
   7051 void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
   7052     IRpcStubBuffer* This,
   7053     IRpcChannelBuffer* pRpcChannelBuffer,
   7054     PRPC_MESSAGE pRpcMessage,
   7055     DWORD* pdwStubPhase);
   7056 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy(
   7057     ICaptureGraphBuilder* This,
   7058     IGraphBuilder **ppfg);
   7059 void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
   7060     IRpcStubBuffer* This,
   7061     IRpcChannelBuffer* pRpcChannelBuffer,
   7062     PRPC_MESSAGE pRpcMessage,
   7063     DWORD* pdwStubPhase);
   7064 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy(
   7065     ICaptureGraphBuilder* This,
   7066     const GUID *pType,
   7067     LPCOLESTR lpstrFile,
   7068     IBaseFilter **ppf,
   7069     IFileSinkFilter **ppSink);
   7070 void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
   7071     IRpcStubBuffer* This,
   7072     IRpcChannelBuffer* pRpcChannelBuffer,
   7073     PRPC_MESSAGE pRpcMessage,
   7074     DWORD* pdwStubPhase);
   7075 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy(
   7076     ICaptureGraphBuilder* This,
   7077     const GUID *pCategory,
   7078     IBaseFilter *pf,
   7079     REFIID riid,
   7080     IUnknown **ppint);
   7081 void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
   7082     IRpcStubBuffer* This,
   7083     IRpcChannelBuffer* pRpcChannelBuffer,
   7084     PRPC_MESSAGE pRpcMessage,
   7085     DWORD* pdwStubPhase);
   7086 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy(
   7087     ICaptureGraphBuilder* This,
   7088     const GUID *pCategory,
   7089     IUnknown *pSource,
   7090     IBaseFilter *pfCompressor,
   7091     IBaseFilter *pfRenderer);
   7092 void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
   7093     IRpcStubBuffer* This,
   7094     IRpcChannelBuffer* pRpcChannelBuffer,
   7095     PRPC_MESSAGE pRpcMessage,
   7096     DWORD* pdwStubPhase);
   7097 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy(
   7098     ICaptureGraphBuilder* This,
   7099     const GUID *pCategory,
   7100     IBaseFilter *pFilter,
   7101     REFERENCE_TIME *pstart,
   7102     REFERENCE_TIME *pstop,
   7103     WORD wStartCookie,
   7104     WORD wStopCookie);
   7105 void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
   7106     IRpcStubBuffer* This,
   7107     IRpcChannelBuffer* pRpcChannelBuffer,
   7108     PRPC_MESSAGE pRpcMessage,
   7109     DWORD* pdwStubPhase);
   7110 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy(
   7111     ICaptureGraphBuilder* This,
   7112     LPCOLESTR lpstr,
   7113     DWORDLONG dwlSize);
   7114 void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
   7115     IRpcStubBuffer* This,
   7116     IRpcChannelBuffer* pRpcChannelBuffer,
   7117     PRPC_MESSAGE pRpcMessage,
   7118     DWORD* pdwStubPhase);
   7119 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy(
   7120     ICaptureGraphBuilder* This,
   7121     LPOLESTR lpwstrOld,
   7122     LPOLESTR lpwstrNew,
   7123     int fAllowEscAbort,
   7124     IAMCopyCaptureFileProgress *pCallback);
   7125 void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
   7126     IRpcStubBuffer* This,
   7127     IRpcChannelBuffer* pRpcChannelBuffer,
   7128     PRPC_MESSAGE pRpcMessage,
   7129     DWORD* pdwStubPhase);
   7130 HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy(
   7131     ICaptureGraphBuilder* This,
   7132     const GUID *pCategory,
   7133     IBaseFilter *pf,
   7134     REFIID riid,
   7135     void **ppint);
   7136 HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub(
   7137     ICaptureGraphBuilder* This,
   7138     const GUID *pCategory,
   7139     IBaseFilter *pf,
   7140     REFIID riid,
   7141     IUnknown **ppint);
   7142 
   7143 #endif  /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
   7144 
   7145 /*****************************************************************************
   7146  * IAMCopyCaptureFileProgress interface
   7147  */
   7148 #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
   7149 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
   7150 
   7151 DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
   7152 #if defined(__cplusplus) && !defined(CINTERFACE)
   7153 MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
   7154 IAMCopyCaptureFileProgress : public IUnknown
   7155 {
   7156     virtual HRESULT STDMETHODCALLTYPE Progress(
   7157         int iProgress) = 0;
   7158 
   7159 };
   7160 #ifdef __CRT_UUID_DECL
   7161 __CRT_UUID_DECL(IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
   7162 #endif
   7163 #else
   7164 typedef struct IAMCopyCaptureFileProgressVtbl {
   7165     BEGIN_INTERFACE
   7166 
   7167     /*** IUnknown methods ***/
   7168     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7169         IAMCopyCaptureFileProgress* This,
   7170         REFIID riid,
   7171         void **ppvObject);
   7172 
   7173     ULONG (STDMETHODCALLTYPE *AddRef)(
   7174         IAMCopyCaptureFileProgress* This);
   7175 
   7176     ULONG (STDMETHODCALLTYPE *Release)(
   7177         IAMCopyCaptureFileProgress* This);
   7178 
   7179     /*** IAMCopyCaptureFileProgress methods ***/
   7180     HRESULT (STDMETHODCALLTYPE *Progress)(
   7181         IAMCopyCaptureFileProgress* This,
   7182         int iProgress);
   7183 
   7184     END_INTERFACE
   7185 } IAMCopyCaptureFileProgressVtbl;
   7186 interface IAMCopyCaptureFileProgress {
   7187     CONST_VTBL IAMCopyCaptureFileProgressVtbl* lpVtbl;
   7188 };
   7189 
   7190 #ifdef COBJMACROS
   7191 #ifndef WIDL_C_INLINE_WRAPPERS
   7192 /*** IUnknown methods ***/
   7193 #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7194 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
   7195 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This)
   7196 /*** IAMCopyCaptureFileProgress methods ***/
   7197 #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress)
   7198 #else
   7199 /*** IUnknown methods ***/
   7200 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_QueryInterface(IAMCopyCaptureFileProgress* This,REFIID riid,void **ppvObject) {
   7201     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7202 }
   7203 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_AddRef(IAMCopyCaptureFileProgress* This) {
   7204     return This->lpVtbl->AddRef(This);
   7205 }
   7206 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_Release(IAMCopyCaptureFileProgress* This) {
   7207     return This->lpVtbl->Release(This);
   7208 }
   7209 /*** IAMCopyCaptureFileProgress methods ***/
   7210 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_Progress(IAMCopyCaptureFileProgress* This,int iProgress) {
   7211     return This->lpVtbl->Progress(This,iProgress);
   7212 }
   7213 #endif
   7214 #endif
   7215 
   7216 #endif
   7217 
   7218 HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy(
   7219     IAMCopyCaptureFileProgress* This,
   7220     int iProgress);
   7221 void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
   7222     IRpcStubBuffer* This,
   7223     IRpcChannelBuffer* pRpcChannelBuffer,
   7224     PRPC_MESSAGE pRpcMessage,
   7225     DWORD* pdwStubPhase);
   7226 
   7227 #endif  /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
   7228 
   7229 /*****************************************************************************
   7230  * ICaptureGraphBuilder2 interface
   7231  */
   7232 #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
   7233 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
   7234 
   7235 DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d);
   7236 #if defined(__cplusplus) && !defined(CINTERFACE)
   7237 MIDL_INTERFACE("93e5a4e0-2d50-11d2-abfa-00a0c9c6e38d")
   7238 ICaptureGraphBuilder2 : public IUnknown
   7239 {
   7240     virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
   7241         IGraphBuilder *pfg) = 0;
   7242 
   7243     virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
   7244         IGraphBuilder **ppfg) = 0;
   7245 
   7246     virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
   7247         const GUID *pType,
   7248         LPCOLESTR lpstrFile,
   7249         IBaseFilter **ppf,
   7250         IFileSinkFilter **ppSink) = 0;
   7251 
   7252     virtual HRESULT STDMETHODCALLTYPE FindInterface(
   7253         const GUID *pCategory,
   7254         const GUID *pType,
   7255         IBaseFilter *pf,
   7256         REFIID riid,
   7257         void **ppint) = 0;
   7258 
   7259     virtual HRESULT STDMETHODCALLTYPE RenderStream(
   7260         const GUID *pCategory,
   7261         const GUID *pType,
   7262         IUnknown *pSource,
   7263         IBaseFilter *pfCompressor,
   7264         IBaseFilter *pfRenderer) = 0;
   7265 
   7266     virtual HRESULT STDMETHODCALLTYPE ControlStream(
   7267         const GUID *pCategory,
   7268         const GUID *pType,
   7269         IBaseFilter *pFilter,
   7270         REFERENCE_TIME *pstart,
   7271         REFERENCE_TIME *pstop,
   7272         WORD wStartCookie,
   7273         WORD wStopCookie) = 0;
   7274 
   7275     virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
   7276         LPCOLESTR lpstr,
   7277         DWORDLONG dwlSize) = 0;
   7278 
   7279     virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
   7280         LPOLESTR lpwstrOld,
   7281         LPOLESTR lpwstrNew,
   7282         int fAllowEscAbort,
   7283         IAMCopyCaptureFileProgress *pCallback) = 0;
   7284 
   7285     virtual HRESULT STDMETHODCALLTYPE FindPin(
   7286         IUnknown *pSource,
   7287         PIN_DIRECTION pindir,
   7288         const GUID *pCategory,
   7289         const GUID *pType,
   7290         WINBOOL fUnconnected,
   7291         int num,
   7292         IPin **ppPin) = 0;
   7293 
   7294 };
   7295 #ifdef __CRT_UUID_DECL
   7296 __CRT_UUID_DECL(ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d)
   7297 #endif
   7298 #else
   7299 typedef struct ICaptureGraphBuilder2Vtbl {
   7300     BEGIN_INTERFACE
   7301 
   7302     /*** IUnknown methods ***/
   7303     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7304         ICaptureGraphBuilder2* This,
   7305         REFIID riid,
   7306         void **ppvObject);
   7307 
   7308     ULONG (STDMETHODCALLTYPE *AddRef)(
   7309         ICaptureGraphBuilder2* This);
   7310 
   7311     ULONG (STDMETHODCALLTYPE *Release)(
   7312         ICaptureGraphBuilder2* This);
   7313 
   7314     /*** ICaptureGraphBuilder2 methods ***/
   7315     HRESULT (STDMETHODCALLTYPE *SetFiltergraph)(
   7316         ICaptureGraphBuilder2* This,
   7317         IGraphBuilder *pfg);
   7318 
   7319     HRESULT (STDMETHODCALLTYPE *GetFiltergraph)(
   7320         ICaptureGraphBuilder2* This,
   7321         IGraphBuilder **ppfg);
   7322 
   7323     HRESULT (STDMETHODCALLTYPE *SetOutputFileName)(
   7324         ICaptureGraphBuilder2* This,
   7325         const GUID *pType,
   7326         LPCOLESTR lpstrFile,
   7327         IBaseFilter **ppf,
   7328         IFileSinkFilter **ppSink);
   7329 
   7330     HRESULT (STDMETHODCALLTYPE *FindInterface)(
   7331         ICaptureGraphBuilder2* This,
   7332         const GUID *pCategory,
   7333         const GUID *pType,
   7334         IBaseFilter *pf,
   7335         REFIID riid,
   7336         void **ppint);
   7337 
   7338     HRESULT (STDMETHODCALLTYPE *RenderStream)(
   7339         ICaptureGraphBuilder2* This,
   7340         const GUID *pCategory,
   7341         const GUID *pType,
   7342         IUnknown *pSource,
   7343         IBaseFilter *pfCompressor,
   7344         IBaseFilter *pfRenderer);
   7345 
   7346     HRESULT (STDMETHODCALLTYPE *ControlStream)(
   7347         ICaptureGraphBuilder2* This,
   7348         const GUID *pCategory,
   7349         const GUID *pType,
   7350         IBaseFilter *pFilter,
   7351         REFERENCE_TIME *pstart,
   7352         REFERENCE_TIME *pstop,
   7353         WORD wStartCookie,
   7354         WORD wStopCookie);
   7355 
   7356     HRESULT (STDMETHODCALLTYPE *AllocCapFile)(
   7357         ICaptureGraphBuilder2* This,
   7358         LPCOLESTR lpstr,
   7359         DWORDLONG dwlSize);
   7360 
   7361     HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)(
   7362         ICaptureGraphBuilder2* This,
   7363         LPOLESTR lpwstrOld,
   7364         LPOLESTR lpwstrNew,
   7365         int fAllowEscAbort,
   7366         IAMCopyCaptureFileProgress *pCallback);
   7367 
   7368     HRESULT (STDMETHODCALLTYPE *FindPin)(
   7369         ICaptureGraphBuilder2* This,
   7370         IUnknown *pSource,
   7371         PIN_DIRECTION pindir,
   7372         const GUID *pCategory,
   7373         const GUID *pType,
   7374         WINBOOL fUnconnected,
   7375         int num,
   7376         IPin **ppPin);
   7377 
   7378     END_INTERFACE
   7379 } ICaptureGraphBuilder2Vtbl;
   7380 interface ICaptureGraphBuilder2 {
   7381     CONST_VTBL ICaptureGraphBuilder2Vtbl* lpVtbl;
   7382 };
   7383 
   7384 #ifdef COBJMACROS
   7385 #ifndef WIDL_C_INLINE_WRAPPERS
   7386 /*** IUnknown methods ***/
   7387 #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7388 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This)
   7389 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This)
   7390 /*** ICaptureGraphBuilder2 methods ***/
   7391 #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
   7392 #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
   7393 #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
   7394 #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint)
   7395 #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
   7396 #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
   7397 #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
   7398 #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
   7399 #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
   7400 #else
   7401 /*** IUnknown methods ***/
   7402 static FORCEINLINE HRESULT ICaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2* This,REFIID riid,void **ppvObject) {
   7403     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7404 }
   7405 static FORCEINLINE ULONG ICaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2* This) {
   7406     return This->lpVtbl->AddRef(This);
   7407 }
   7408 static FORCEINLINE ULONG ICaptureGraphBuilder2_Release(ICaptureGraphBuilder2* This) {
   7409     return This->lpVtbl->Release(This);
   7410 }
   7411 /*** ICaptureGraphBuilder2 methods ***/
   7412 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder *pfg) {
   7413     return This->lpVtbl->SetFiltergraph(This,pfg);
   7414 }
   7415 static FORCEINLINE HRESULT ICaptureGraphBuilder2_GetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder **ppfg) {
   7416     return This->lpVtbl->GetFiltergraph(This,ppfg);
   7417 }
   7418 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) {
   7419     return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink);
   7420 }
   7421 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) {
   7422     return This->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint);
   7423 }
   7424 static FORCEINLINE HRESULT ICaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) {
   7425     return This->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer);
   7426 }
   7427 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) {
   7428     return This->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie);
   7429 }
   7430 static FORCEINLINE HRESULT ICaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2* This,LPCOLESTR lpstr,DWORDLONG dwlSize) {
   7431     return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize);
   7432 }
   7433 static FORCEINLINE HRESULT ICaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) {
   7434     return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback);
   7435 }
   7436 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2* This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) {
   7437     return This->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin);
   7438 }
   7439 #endif
   7440 #endif
   7441 
   7442 #endif
   7443 
   7444 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy(
   7445     ICaptureGraphBuilder2* This,
   7446     IGraphBuilder *pfg);
   7447 void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
   7448     IRpcStubBuffer* This,
   7449     IRpcChannelBuffer* pRpcChannelBuffer,
   7450     PRPC_MESSAGE pRpcMessage,
   7451     DWORD* pdwStubPhase);
   7452 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy(
   7453     ICaptureGraphBuilder2* This,
   7454     IGraphBuilder **ppfg);
   7455 void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
   7456     IRpcStubBuffer* This,
   7457     IRpcChannelBuffer* pRpcChannelBuffer,
   7458     PRPC_MESSAGE pRpcMessage,
   7459     DWORD* pdwStubPhase);
   7460 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy(
   7461     ICaptureGraphBuilder2* This,
   7462     const GUID *pType,
   7463     LPCOLESTR lpstrFile,
   7464     IBaseFilter **ppf,
   7465     IFileSinkFilter **ppSink);
   7466 void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
   7467     IRpcStubBuffer* This,
   7468     IRpcChannelBuffer* pRpcChannelBuffer,
   7469     PRPC_MESSAGE pRpcMessage,
   7470     DWORD* pdwStubPhase);
   7471 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy(
   7472     ICaptureGraphBuilder2* This,
   7473     const GUID *pCategory,
   7474     const GUID *pType,
   7475     IBaseFilter *pf,
   7476     REFIID riid,
   7477     IUnknown **ppint);
   7478 void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
   7479     IRpcStubBuffer* This,
   7480     IRpcChannelBuffer* pRpcChannelBuffer,
   7481     PRPC_MESSAGE pRpcMessage,
   7482     DWORD* pdwStubPhase);
   7483 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy(
   7484     ICaptureGraphBuilder2* This,
   7485     const GUID *pCategory,
   7486     const GUID *pType,
   7487     IUnknown *pSource,
   7488     IBaseFilter *pfCompressor,
   7489     IBaseFilter *pfRenderer);
   7490 void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
   7491     IRpcStubBuffer* This,
   7492     IRpcChannelBuffer* pRpcChannelBuffer,
   7493     PRPC_MESSAGE pRpcMessage,
   7494     DWORD* pdwStubPhase);
   7495 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy(
   7496     ICaptureGraphBuilder2* This,
   7497     const GUID *pCategory,
   7498     const GUID *pType,
   7499     IBaseFilter *pFilter,
   7500     REFERENCE_TIME *pstart,
   7501     REFERENCE_TIME *pstop,
   7502     WORD wStartCookie,
   7503     WORD wStopCookie);
   7504 void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
   7505     IRpcStubBuffer* This,
   7506     IRpcChannelBuffer* pRpcChannelBuffer,
   7507     PRPC_MESSAGE pRpcMessage,
   7508     DWORD* pdwStubPhase);
   7509 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy(
   7510     ICaptureGraphBuilder2* This,
   7511     LPCOLESTR lpstr,
   7512     DWORDLONG dwlSize);
   7513 void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
   7514     IRpcStubBuffer* This,
   7515     IRpcChannelBuffer* pRpcChannelBuffer,
   7516     PRPC_MESSAGE pRpcMessage,
   7517     DWORD* pdwStubPhase);
   7518 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy(
   7519     ICaptureGraphBuilder2* This,
   7520     LPOLESTR lpwstrOld,
   7521     LPOLESTR lpwstrNew,
   7522     int fAllowEscAbort,
   7523     IAMCopyCaptureFileProgress *pCallback);
   7524 void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
   7525     IRpcStubBuffer* This,
   7526     IRpcChannelBuffer* pRpcChannelBuffer,
   7527     PRPC_MESSAGE pRpcMessage,
   7528     DWORD* pdwStubPhase);
   7529 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy(
   7530     ICaptureGraphBuilder2* This,
   7531     IUnknown *pSource,
   7532     PIN_DIRECTION pindir,
   7533     const GUID *pCategory,
   7534     const GUID *pType,
   7535     WINBOOL fUnconnected,
   7536     int num,
   7537     IPin **ppPin);
   7538 void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
   7539     IRpcStubBuffer* This,
   7540     IRpcChannelBuffer* pRpcChannelBuffer,
   7541     PRPC_MESSAGE pRpcMessage,
   7542     DWORD* pdwStubPhase);
   7543 HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy(
   7544     ICaptureGraphBuilder2* This,
   7545     const GUID *pCategory,
   7546     const GUID *pType,
   7547     IBaseFilter *pf,
   7548     REFIID riid,
   7549     void **ppint);
   7550 HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub(
   7551     ICaptureGraphBuilder2* This,
   7552     const GUID *pCategory,
   7553     const GUID *pType,
   7554     IBaseFilter *pf,
   7555     REFIID riid,
   7556     IUnknown **ppint);
   7557 
   7558 #endif  /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
   7559 
   7560 /*****************************************************************************
   7561  * IConfigAviMux interface
   7562  */
   7563 #ifndef __IConfigAviMux_INTERFACE_DEFINED__
   7564 #define __IConfigAviMux_INTERFACE_DEFINED__
   7565 
   7566 DEFINE_GUID(IID_IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6);
   7567 #if defined(__cplusplus) && !defined(CINTERFACE)
   7568 MIDL_INTERFACE("5acd6aa0-f482-11ce-8b67-00aa00a3f1a6")
   7569 IConfigAviMux : public IUnknown
   7570 {
   7571     virtual HRESULT STDMETHODCALLTYPE SetMasterStream(
   7572         LONG iStream) = 0;
   7573 
   7574     virtual HRESULT STDMETHODCALLTYPE GetMasterStream(
   7575         LONG *pStream) = 0;
   7576 
   7577     virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex(
   7578         WINBOOL fOldIndex) = 0;
   7579 
   7580     virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex(
   7581         WINBOOL *pfOldIndex) = 0;
   7582 
   7583 };
   7584 #ifdef __CRT_UUID_DECL
   7585 __CRT_UUID_DECL(IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6)
   7586 #endif
   7587 #else
   7588 typedef struct IConfigAviMuxVtbl {
   7589     BEGIN_INTERFACE
   7590 
   7591     /*** IUnknown methods ***/
   7592     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7593         IConfigAviMux* This,
   7594         REFIID riid,
   7595         void **ppvObject);
   7596 
   7597     ULONG (STDMETHODCALLTYPE *AddRef)(
   7598         IConfigAviMux* This);
   7599 
   7600     ULONG (STDMETHODCALLTYPE *Release)(
   7601         IConfigAviMux* This);
   7602 
   7603     /*** IConfigAviMux methods ***/
   7604     HRESULT (STDMETHODCALLTYPE *SetMasterStream)(
   7605         IConfigAviMux* This,
   7606         LONG iStream);
   7607 
   7608     HRESULT (STDMETHODCALLTYPE *GetMasterStream)(
   7609         IConfigAviMux* This,
   7610         LONG *pStream);
   7611 
   7612     HRESULT (STDMETHODCALLTYPE *SetOutputCompatibilityIndex)(
   7613         IConfigAviMux* This,
   7614         WINBOOL fOldIndex);
   7615 
   7616     HRESULT (STDMETHODCALLTYPE *GetOutputCompatibilityIndex)(
   7617         IConfigAviMux* This,
   7618         WINBOOL *pfOldIndex);
   7619 
   7620     END_INTERFACE
   7621 } IConfigAviMuxVtbl;
   7622 interface IConfigAviMux {
   7623     CONST_VTBL IConfigAviMuxVtbl* lpVtbl;
   7624 };
   7625 
   7626 #ifdef COBJMACROS
   7627 #ifndef WIDL_C_INLINE_WRAPPERS
   7628 /*** IUnknown methods ***/
   7629 #define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7630 #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This)
   7631 #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This)
   7632 /*** IConfigAviMux methods ***/
   7633 #define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream)
   7634 #define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream)
   7635 #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex)
   7636 #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex)
   7637 #else
   7638 /*** IUnknown methods ***/
   7639 static FORCEINLINE HRESULT IConfigAviMux_QueryInterface(IConfigAviMux* This,REFIID riid,void **ppvObject) {
   7640     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7641 }
   7642 static FORCEINLINE ULONG IConfigAviMux_AddRef(IConfigAviMux* This) {
   7643     return This->lpVtbl->AddRef(This);
   7644 }
   7645 static FORCEINLINE ULONG IConfigAviMux_Release(IConfigAviMux* This) {
   7646     return This->lpVtbl->Release(This);
   7647 }
   7648 /*** IConfigAviMux methods ***/
   7649 static FORCEINLINE HRESULT IConfigAviMux_SetMasterStream(IConfigAviMux* This,LONG iStream) {
   7650     return This->lpVtbl->SetMasterStream(This,iStream);
   7651 }
   7652 static FORCEINLINE HRESULT IConfigAviMux_GetMasterStream(IConfigAviMux* This,LONG *pStream) {
   7653     return This->lpVtbl->GetMasterStream(This,pStream);
   7654 }
   7655 static FORCEINLINE HRESULT IConfigAviMux_SetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL fOldIndex) {
   7656     return This->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex);
   7657 }
   7658 static FORCEINLINE HRESULT IConfigAviMux_GetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL *pfOldIndex) {
   7659     return This->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex);
   7660 }
   7661 #endif
   7662 #endif
   7663 
   7664 #endif
   7665 
   7666 HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy(
   7667     IConfigAviMux* This,
   7668     LONG iStream);
   7669 void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
   7670     IRpcStubBuffer* This,
   7671     IRpcChannelBuffer* pRpcChannelBuffer,
   7672     PRPC_MESSAGE pRpcMessage,
   7673     DWORD* pdwStubPhase);
   7674 HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy(
   7675     IConfigAviMux* This,
   7676     LONG *pStream);
   7677 void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
   7678     IRpcStubBuffer* This,
   7679     IRpcChannelBuffer* pRpcChannelBuffer,
   7680     PRPC_MESSAGE pRpcMessage,
   7681     DWORD* pdwStubPhase);
   7682 HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy(
   7683     IConfigAviMux* This,
   7684     WINBOOL fOldIndex);
   7685 void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
   7686     IRpcStubBuffer* This,
   7687     IRpcChannelBuffer* pRpcChannelBuffer,
   7688     PRPC_MESSAGE pRpcMessage,
   7689     DWORD* pdwStubPhase);
   7690 HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy(
   7691     IConfigAviMux* This,
   7692     WINBOOL *pfOldIndex);
   7693 void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
   7694     IRpcStubBuffer* This,
   7695     IRpcChannelBuffer* pRpcChannelBuffer,
   7696     PRPC_MESSAGE pRpcMessage,
   7697     DWORD* pdwStubPhase);
   7698 
   7699 #endif  /* __IConfigAviMux_INTERFACE_DEFINED__ */
   7700 
   7701 /*****************************************************************************
   7702  * IConfigInterleaving interface
   7703  */
   7704 #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
   7705 #define __IConfigInterleaving_INTERFACE_DEFINED__
   7706 
   7707 typedef enum InterleavingMode {
   7708     INTERLEAVE_NONE = 0,
   7709     INTERLEAVE_CAPTURE = 1,
   7710     INTERLEAVE_FULL = 2,
   7711     INTERLEAVE_NONE_BUFFERED = 3
   7712 } InterleavingMode;
   7713 DEFINE_GUID(IID_IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86);
   7714 #if defined(__cplusplus) && !defined(CINTERFACE)
   7715 MIDL_INTERFACE("bee3d220-157b-11d0-bd23-00a0c911ce86")
   7716 IConfigInterleaving : public IUnknown
   7717 {
   7718     virtual HRESULT STDMETHODCALLTYPE put_Mode(
   7719         InterleavingMode mode) = 0;
   7720 
   7721     virtual HRESULT STDMETHODCALLTYPE get_Mode(
   7722         InterleavingMode *pMode) = 0;
   7723 
   7724     virtual HRESULT STDMETHODCALLTYPE put_Interleaving(
   7725         const REFERENCE_TIME *prtInterleave,
   7726         const REFERENCE_TIME *prtPreroll) = 0;
   7727 
   7728     virtual HRESULT STDMETHODCALLTYPE get_Interleaving(
   7729         REFERENCE_TIME *prtInterleave,
   7730         REFERENCE_TIME *prtPreroll) = 0;
   7731 
   7732 };
   7733 #ifdef __CRT_UUID_DECL
   7734 __CRT_UUID_DECL(IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86)
   7735 #endif
   7736 #else
   7737 typedef struct IConfigInterleavingVtbl {
   7738     BEGIN_INTERFACE
   7739 
   7740     /*** IUnknown methods ***/
   7741     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7742         IConfigInterleaving* This,
   7743         REFIID riid,
   7744         void **ppvObject);
   7745 
   7746     ULONG (STDMETHODCALLTYPE *AddRef)(
   7747         IConfigInterleaving* This);
   7748 
   7749     ULONG (STDMETHODCALLTYPE *Release)(
   7750         IConfigInterleaving* This);
   7751 
   7752     /*** IConfigInterleaving methods ***/
   7753     HRESULT (STDMETHODCALLTYPE *put_Mode)(
   7754         IConfigInterleaving* This,
   7755         InterleavingMode mode);
   7756 
   7757     HRESULT (STDMETHODCALLTYPE *get_Mode)(
   7758         IConfigInterleaving* This,
   7759         InterleavingMode *pMode);
   7760 
   7761     HRESULT (STDMETHODCALLTYPE *put_Interleaving)(
   7762         IConfigInterleaving* This,
   7763         const REFERENCE_TIME *prtInterleave,
   7764         const REFERENCE_TIME *prtPreroll);
   7765 
   7766     HRESULT (STDMETHODCALLTYPE *get_Interleaving)(
   7767         IConfigInterleaving* This,
   7768         REFERENCE_TIME *prtInterleave,
   7769         REFERENCE_TIME *prtPreroll);
   7770 
   7771     END_INTERFACE
   7772 } IConfigInterleavingVtbl;
   7773 interface IConfigInterleaving {
   7774     CONST_VTBL IConfigInterleavingVtbl* lpVtbl;
   7775 };
   7776 
   7777 #ifdef COBJMACROS
   7778 #ifndef WIDL_C_INLINE_WRAPPERS
   7779 /*** IUnknown methods ***/
   7780 #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7781 #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This)
   7782 #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This)
   7783 /*** IConfigInterleaving methods ***/
   7784 #define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
   7785 #define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
   7786 #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll)
   7787 #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll)
   7788 #else
   7789 /*** IUnknown methods ***/
   7790 static FORCEINLINE HRESULT IConfigInterleaving_QueryInterface(IConfigInterleaving* This,REFIID riid,void **ppvObject) {
   7791     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7792 }
   7793 static FORCEINLINE ULONG IConfigInterleaving_AddRef(IConfigInterleaving* This) {
   7794     return This->lpVtbl->AddRef(This);
   7795 }
   7796 static FORCEINLINE ULONG IConfigInterleaving_Release(IConfigInterleaving* This) {
   7797     return This->lpVtbl->Release(This);
   7798 }
   7799 /*** IConfigInterleaving methods ***/
   7800 static FORCEINLINE HRESULT IConfigInterleaving_put_Mode(IConfigInterleaving* This,InterleavingMode mode) {
   7801     return This->lpVtbl->put_Mode(This,mode);
   7802 }
   7803 static FORCEINLINE HRESULT IConfigInterleaving_get_Mode(IConfigInterleaving* This,InterleavingMode *pMode) {
   7804     return This->lpVtbl->get_Mode(This,pMode);
   7805 }
   7806 static FORCEINLINE HRESULT IConfigInterleaving_put_Interleaving(IConfigInterleaving* This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) {
   7807     return This->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll);
   7808 }
   7809 static FORCEINLINE HRESULT IConfigInterleaving_get_Interleaving(IConfigInterleaving* This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) {
   7810     return This->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll);
   7811 }
   7812 #endif
   7813 #endif
   7814 
   7815 #endif
   7816 
   7817 HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy(
   7818     IConfigInterleaving* This,
   7819     InterleavingMode mode);
   7820 void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
   7821     IRpcStubBuffer* This,
   7822     IRpcChannelBuffer* pRpcChannelBuffer,
   7823     PRPC_MESSAGE pRpcMessage,
   7824     DWORD* pdwStubPhase);
   7825 HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy(
   7826     IConfigInterleaving* This,
   7827     InterleavingMode *pMode);
   7828 void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
   7829     IRpcStubBuffer* This,
   7830     IRpcChannelBuffer* pRpcChannelBuffer,
   7831     PRPC_MESSAGE pRpcMessage,
   7832     DWORD* pdwStubPhase);
   7833 HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy(
   7834     IConfigInterleaving* This,
   7835     const REFERENCE_TIME *prtInterleave,
   7836     const REFERENCE_TIME *prtPreroll);
   7837 void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
   7838     IRpcStubBuffer* This,
   7839     IRpcChannelBuffer* pRpcChannelBuffer,
   7840     PRPC_MESSAGE pRpcMessage,
   7841     DWORD* pdwStubPhase);
   7842 HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy(
   7843     IConfigInterleaving* This,
   7844     REFERENCE_TIME *prtInterleave,
   7845     REFERENCE_TIME *prtPreroll);
   7846 void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
   7847     IRpcStubBuffer* This,
   7848     IRpcChannelBuffer* pRpcChannelBuffer,
   7849     PRPC_MESSAGE pRpcMessage,
   7850     DWORD* pdwStubPhase);
   7851 
   7852 #endif  /* __IConfigInterleaving_INTERFACE_DEFINED__ */
   7853 
   7854 /*****************************************************************************
   7855  * IAMClockSlave interface
   7856  */
   7857 #ifndef __IAMClockSlave_INTERFACE_DEFINED__
   7858 #define __IAMClockSlave_INTERFACE_DEFINED__
   7859 
   7860 DEFINE_GUID(IID_IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe);
   7861 #if defined(__cplusplus) && !defined(CINTERFACE)
   7862 MIDL_INTERFACE("9fd52741-176d-4b36-8f51-ca8f933223be")
   7863 IAMClockSlave : public IUnknown
   7864 {
   7865     virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance(
   7866         DWORD dwTolerance) = 0;
   7867 
   7868     virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance(
   7869         DWORD *pdwTolerance) = 0;
   7870 
   7871 };
   7872 #ifdef __CRT_UUID_DECL
   7873 __CRT_UUID_DECL(IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe)
   7874 #endif
   7875 #else
   7876 typedef struct IAMClockSlaveVtbl {
   7877     BEGIN_INTERFACE
   7878 
   7879     /*** IUnknown methods ***/
   7880     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7881         IAMClockSlave* This,
   7882         REFIID riid,
   7883         void **ppvObject);
   7884 
   7885     ULONG (STDMETHODCALLTYPE *AddRef)(
   7886         IAMClockSlave* This);
   7887 
   7888     ULONG (STDMETHODCALLTYPE *Release)(
   7889         IAMClockSlave* This);
   7890 
   7891     /*** IAMClockSlave methods ***/
   7892     HRESULT (STDMETHODCALLTYPE *SetErrorTolerance)(
   7893         IAMClockSlave* This,
   7894         DWORD dwTolerance);
   7895 
   7896     HRESULT (STDMETHODCALLTYPE *GetErrorTolerance)(
   7897         IAMClockSlave* This,
   7898         DWORD *pdwTolerance);
   7899 
   7900     END_INTERFACE
   7901 } IAMClockSlaveVtbl;
   7902 interface IAMClockSlave {
   7903     CONST_VTBL IAMClockSlaveVtbl* lpVtbl;
   7904 };
   7905 
   7906 #ifdef COBJMACROS
   7907 #ifndef WIDL_C_INLINE_WRAPPERS
   7908 /*** IUnknown methods ***/
   7909 #define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7910 #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This)
   7911 #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This)
   7912 /*** IAMClockSlave methods ***/
   7913 #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance)
   7914 #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance)
   7915 #else
   7916 /*** IUnknown methods ***/
   7917 static FORCEINLINE HRESULT IAMClockSlave_QueryInterface(IAMClockSlave* This,REFIID riid,void **ppvObject) {
   7918     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7919 }
   7920 static FORCEINLINE ULONG IAMClockSlave_AddRef(IAMClockSlave* This) {
   7921     return This->lpVtbl->AddRef(This);
   7922 }
   7923 static FORCEINLINE ULONG IAMClockSlave_Release(IAMClockSlave* This) {
   7924     return This->lpVtbl->Release(This);
   7925 }
   7926 /*** IAMClockSlave methods ***/
   7927 static FORCEINLINE HRESULT IAMClockSlave_SetErrorTolerance(IAMClockSlave* This,DWORD dwTolerance) {
   7928     return This->lpVtbl->SetErrorTolerance(This,dwTolerance);
   7929 }
   7930 static FORCEINLINE HRESULT IAMClockSlave_GetErrorTolerance(IAMClockSlave* This,DWORD *pdwTolerance) {
   7931     return This->lpVtbl->GetErrorTolerance(This,pdwTolerance);
   7932 }
   7933 #endif
   7934 #endif
   7935 
   7936 #endif
   7937 
   7938 HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy(
   7939     IAMClockSlave* This,
   7940     DWORD dwTolerance);
   7941 void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(
   7942     IRpcStubBuffer* This,
   7943     IRpcChannelBuffer* pRpcChannelBuffer,
   7944     PRPC_MESSAGE pRpcMessage,
   7945     DWORD* pdwStubPhase);
   7946 HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy(
   7947     IAMClockSlave* This,
   7948     DWORD *pdwTolerance);
   7949 void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(
   7950     IRpcStubBuffer* This,
   7951     IRpcChannelBuffer* pRpcChannelBuffer,
   7952     PRPC_MESSAGE pRpcMessage,
   7953     DWORD* pdwStubPhase);
   7954 
   7955 #endif  /* __IAMClockSlave_INTERFACE_DEFINED__ */
   7956 
   7957 typedef struct _AMCOPPSignature {
   7958     BYTE Signature[256];
   7959 } AMCOPPSignature;
   7960 typedef struct _AMCOPPCommand {
   7961     GUID macKDI;
   7962     GUID guidCommandID;
   7963     DWORD dwSequence;
   7964     DWORD bSizeData;
   7965     BYTE CommandData[4056];
   7966 } AMCOPPCommand;
   7967 typedef struct _AMCOPPCommand *LPAMCOPPCommand;
   7968 typedef struct _AMCOPPStatusInput {
   7969     GUID rApp;
   7970     GUID guidStatusRequestID;
   7971     DWORD dwSequence;
   7972     DWORD cbSizeData;
   7973     BYTE StatusData[4056];
   7974 } AMCOPPStatusInput;
   7975 typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput;
   7976 typedef struct _AMCOPPStatusOutput {
   7977     GUID macKDI;
   7978     DWORD cbSizeData;
   7979     BYTE COPPStatus[4076];
   7980 } AMCOPPStatusOutput;
   7981 typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput;
   7982 /*****************************************************************************
   7983  * IAMCertifiedOutputProtection interface
   7984  */
   7985 #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
   7986 #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
   7987 
   7988 DEFINE_GUID(IID_IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15);
   7989 #if defined(__cplusplus) && !defined(CINTERFACE)
   7990 MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515")
   7991 IAMCertifiedOutputProtection : public IUnknown
   7992 {
   7993     virtual HRESULT STDMETHODCALLTYPE KeyExchange(
   7994         GUID *pRandom,
   7995         BYTE **VarLenCertGH,
   7996         DWORD *pdwLengthCertGH) = 0;
   7997 
   7998     virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart(
   7999         AMCOPPSignature *pSig) = 0;
   8000 
   8001     virtual HRESULT STDMETHODCALLTYPE ProtectionCommand(
   8002         const AMCOPPCommand *cmd) = 0;
   8003 
   8004     virtual HRESULT STDMETHODCALLTYPE ProtectionStatus(
   8005         const AMCOPPStatusInput *pStatusInput,
   8006         AMCOPPStatusOutput *pStatusOutput) = 0;
   8007 
   8008 };
   8009 #ifdef __CRT_UUID_DECL
   8010 __CRT_UUID_DECL(IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15)
   8011 #endif
   8012 #else
   8013 typedef struct IAMCertifiedOutputProtectionVtbl {
   8014     BEGIN_INTERFACE
   8015 
   8016     /*** IUnknown methods ***/
   8017     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8018         IAMCertifiedOutputProtection* This,
   8019         REFIID riid,
   8020         void **ppvObject);
   8021 
   8022     ULONG (STDMETHODCALLTYPE *AddRef)(
   8023         IAMCertifiedOutputProtection* This);
   8024 
   8025     ULONG (STDMETHODCALLTYPE *Release)(
   8026         IAMCertifiedOutputProtection* This);
   8027 
   8028     /*** IAMCertifiedOutputProtection methods ***/
   8029     HRESULT (STDMETHODCALLTYPE *KeyExchange)(
   8030         IAMCertifiedOutputProtection* This,
   8031         GUID *pRandom,
   8032         BYTE **VarLenCertGH,
   8033         DWORD *pdwLengthCertGH);
   8034 
   8035     HRESULT (STDMETHODCALLTYPE *SessionSequenceStart)(
   8036         IAMCertifiedOutputProtection* This,
   8037         AMCOPPSignature *pSig);
   8038 
   8039     HRESULT (STDMETHODCALLTYPE *ProtectionCommand)(
   8040         IAMCertifiedOutputProtection* This,
   8041         const AMCOPPCommand *cmd);
   8042 
   8043     HRESULT (STDMETHODCALLTYPE *ProtectionStatus)(
   8044         IAMCertifiedOutputProtection* This,
   8045         const AMCOPPStatusInput *pStatusInput,
   8046         AMCOPPStatusOutput *pStatusOutput);
   8047 
   8048     END_INTERFACE
   8049 } IAMCertifiedOutputProtectionVtbl;
   8050 interface IAMCertifiedOutputProtection {
   8051     CONST_VTBL IAMCertifiedOutputProtectionVtbl* lpVtbl;
   8052 };
   8053 
   8054 #ifdef COBJMACROS
   8055 #ifndef WIDL_C_INLINE_WRAPPERS
   8056 /*** IUnknown methods ***/
   8057 #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8058 #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This)
   8059 #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This)
   8060 /*** IAMCertifiedOutputProtection methods ***/
   8061 #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH)
   8062 #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig)
   8063 #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd)
   8064 #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput)
   8065 #else
   8066 /*** IUnknown methods ***/
   8067 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection* This,REFIID riid,void **ppvObject) {
   8068     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8069 }
   8070 static FORCEINLINE ULONG IAMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection* This) {
   8071     return This->lpVtbl->AddRef(This);
   8072 }
   8073 static FORCEINLINE ULONG IAMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection* This) {
   8074     return This->lpVtbl->Release(This);
   8075 }
   8076 /*** IAMCertifiedOutputProtection methods ***/
   8077 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection* This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) {
   8078     return This->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH);
   8079 }
   8080 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection* This,AMCOPPSignature *pSig) {
   8081     return This->lpVtbl->SessionSequenceStart(This,pSig);
   8082 }
   8083 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection* This,const AMCOPPCommand *cmd) {
   8084     return This->lpVtbl->ProtectionCommand(This,cmd);
   8085 }
   8086 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection* This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) {
   8087     return This->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput);
   8088 }
   8089 #endif
   8090 #endif
   8091 
   8092 #endif
   8093 
   8094 HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_KeyExchange_Proxy(
   8095     IAMCertifiedOutputProtection* This,
   8096     GUID *pRandom,
   8097     BYTE **VarLenCertGH,
   8098     DWORD *pdwLengthCertGH);
   8099 void __RPC_STUB IAMCertifiedOutputProtection_KeyExchange_Stub(
   8100     IRpcStubBuffer* This,
   8101     IRpcChannelBuffer* pRpcChannelBuffer,
   8102     PRPC_MESSAGE pRpcMessage,
   8103     DWORD* pdwStubPhase);
   8104 HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_SessionSequenceStart_Proxy(
   8105     IAMCertifiedOutputProtection* This,
   8106     AMCOPPSignature *pSig);
   8107 void __RPC_STUB IAMCertifiedOutputProtection_SessionSequenceStart_Stub(
   8108     IRpcStubBuffer* This,
   8109     IRpcChannelBuffer* pRpcChannelBuffer,
   8110     PRPC_MESSAGE pRpcMessage,
   8111     DWORD* pdwStubPhase);
   8112 HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_ProtectionCommand_Proxy(
   8113     IAMCertifiedOutputProtection* This,
   8114     const AMCOPPCommand *cmd);
   8115 void __RPC_STUB IAMCertifiedOutputProtection_ProtectionCommand_Stub(
   8116     IRpcStubBuffer* This,
   8117     IRpcChannelBuffer* pRpcChannelBuffer,
   8118     PRPC_MESSAGE pRpcMessage,
   8119     DWORD* pdwStubPhase);
   8120 HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_ProtectionStatus_Proxy(
   8121     IAMCertifiedOutputProtection* This,
   8122     const AMCOPPStatusInput *pStatusInput,
   8123     AMCOPPStatusOutput *pStatusOutput);
   8124 void __RPC_STUB IAMCertifiedOutputProtection_ProtectionStatus_Stub(
   8125     IRpcStubBuffer* This,
   8126     IRpcChannelBuffer* pRpcChannelBuffer,
   8127     PRPC_MESSAGE pRpcMessage,
   8128     DWORD* pdwStubPhase);
   8129 
   8130 #endif  /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */
   8131 
   8132 enum _AM_RENSDEREXFLAGS {
   8133     AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
   8134 };
   8135 
   8136 /*****************************************************************************
   8137  * IFilterGraph2 interface
   8138  */
   8139 #ifndef __IFilterGraph2_INTERFACE_DEFINED__
   8140 #define __IFilterGraph2_INTERFACE_DEFINED__
   8141 
   8142 DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   8143 #if defined(__cplusplus) && !defined(CINTERFACE)
   8144 MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
   8145 IFilterGraph2 : public IGraphBuilder
   8146 {
   8147     virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker(
   8148         IMoniker *pMoniker,
   8149         IBindCtx *pCtx,
   8150         LPCWSTR lpcwstrFilterName,
   8151         IBaseFilter **ppFilter) = 0;
   8152 
   8153     virtual HRESULT STDMETHODCALLTYPE ReconnectEx(
   8154         IPin *ppin,
   8155         const AM_MEDIA_TYPE *pmt) = 0;
   8156 
   8157     virtual HRESULT STDMETHODCALLTYPE RenderEx(
   8158         IPin *pPinOut,
   8159         DWORD dwFlags,
   8160         DWORD *pvContext) = 0;
   8161 
   8162 };
   8163 #ifdef __CRT_UUID_DECL
   8164 __CRT_UUID_DECL(IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   8165 #endif
   8166 #else
   8167 typedef struct IFilterGraph2Vtbl {
   8168     BEGIN_INTERFACE
   8169 
   8170     /*** IUnknown methods ***/
   8171     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8172         IFilterGraph2* This,
   8173         REFIID riid,
   8174         void **ppvObject);
   8175 
   8176     ULONG (STDMETHODCALLTYPE *AddRef)(
   8177         IFilterGraph2* This);
   8178 
   8179     ULONG (STDMETHODCALLTYPE *Release)(
   8180         IFilterGraph2* This);
   8181 
   8182     /*** IFilterGraph methods ***/
   8183     HRESULT (STDMETHODCALLTYPE *AddFilter)(
   8184         IFilterGraph2* This,
   8185         IBaseFilter *pFilter,
   8186         LPCWSTR pName);
   8187 
   8188     HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
   8189         IFilterGraph2* This,
   8190         IBaseFilter *pFilter);
   8191 
   8192     HRESULT (STDMETHODCALLTYPE *EnumFilters)(
   8193         IFilterGraph2* This,
   8194         IEnumFilters **ppEnum);
   8195 
   8196     HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
   8197         IFilterGraph2* This,
   8198         LPCWSTR pName,
   8199         IBaseFilter **ppFilter);
   8200 
   8201     HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
   8202         IFilterGraph2* This,
   8203         IPin *ppinOut,
   8204         IPin *ppinIn,
   8205         const AM_MEDIA_TYPE *pmt);
   8206 
   8207     HRESULT (STDMETHODCALLTYPE *Reconnect)(
   8208         IFilterGraph2* This,
   8209         IPin *ppin);
   8210 
   8211     HRESULT (STDMETHODCALLTYPE *Disconnect)(
   8212         IFilterGraph2* This,
   8213         IPin *ppin);
   8214 
   8215     HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
   8216         IFilterGraph2* This);
   8217 
   8218     /*** IGraphBuilder methods ***/
   8219     HRESULT (STDMETHODCALLTYPE *Connect)(
   8220         IFilterGraph2* This,
   8221         IPin *ppinOut,
   8222         IPin *ppinIn);
   8223 
   8224     HRESULT (STDMETHODCALLTYPE *Render)(
   8225         IFilterGraph2* This,
   8226         IPin *ppinOut);
   8227 
   8228     HRESULT (STDMETHODCALLTYPE *RenderFile)(
   8229         IFilterGraph2* This,
   8230         LPCWSTR lpcwstrFile,
   8231         LPCWSTR lpcwstrPlayList);
   8232 
   8233     HRESULT (STDMETHODCALLTYPE *AddSourceFilter)(
   8234         IFilterGraph2* This,
   8235         LPCWSTR lpcwstrFileName,
   8236         LPCWSTR lpcwstrFilterName,
   8237         IBaseFilter **ppFilter);
   8238 
   8239     HRESULT (STDMETHODCALLTYPE *SetLogFile)(
   8240         IFilterGraph2* This,
   8241         DWORD_PTR hFile);
   8242 
   8243     HRESULT (STDMETHODCALLTYPE *Abort)(
   8244         IFilterGraph2* This);
   8245 
   8246     HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)(
   8247         IFilterGraph2* This);
   8248 
   8249     /*** IFilterGraph2 methods ***/
   8250     HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)(
   8251         IFilterGraph2* This,
   8252         IMoniker *pMoniker,
   8253         IBindCtx *pCtx,
   8254         LPCWSTR lpcwstrFilterName,
   8255         IBaseFilter **ppFilter);
   8256 
   8257     HRESULT (STDMETHODCALLTYPE *ReconnectEx)(
   8258         IFilterGraph2* This,
   8259         IPin *ppin,
   8260         const AM_MEDIA_TYPE *pmt);
   8261 
   8262     HRESULT (STDMETHODCALLTYPE *RenderEx)(
   8263         IFilterGraph2* This,
   8264         IPin *pPinOut,
   8265         DWORD dwFlags,
   8266         DWORD *pvContext);
   8267 
   8268     END_INTERFACE
   8269 } IFilterGraph2Vtbl;
   8270 interface IFilterGraph2 {
   8271     CONST_VTBL IFilterGraph2Vtbl* lpVtbl;
   8272 };
   8273 
   8274 #ifdef COBJMACROS
   8275 #ifndef WIDL_C_INLINE_WRAPPERS
   8276 /*** IUnknown methods ***/
   8277 #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8278 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This)
   8279 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This)
   8280 /*** IFilterGraph methods ***/
   8281 #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   8282 #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   8283 #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   8284 #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   8285 #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   8286 #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   8287 #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   8288 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   8289 /*** IGraphBuilder methods ***/
   8290 #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
   8291 #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
   8292 #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
   8293 #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
   8294 #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
   8295 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This)
   8296 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
   8297 /*** IFilterGraph2 methods ***/
   8298 #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
   8299 #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt)
   8300 #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext)
   8301 #else
   8302 /*** IUnknown methods ***/
   8303 static FORCEINLINE HRESULT IFilterGraph2_QueryInterface(IFilterGraph2* This,REFIID riid,void **ppvObject) {
   8304     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8305 }
   8306 static FORCEINLINE ULONG IFilterGraph2_AddRef(IFilterGraph2* This) {
   8307     return This->lpVtbl->AddRef(This);
   8308 }
   8309 static FORCEINLINE ULONG IFilterGraph2_Release(IFilterGraph2* This) {
   8310     return This->lpVtbl->Release(This);
   8311 }
   8312 /*** IFilterGraph methods ***/
   8313 static FORCEINLINE HRESULT IFilterGraph2_AddFilter(IFilterGraph2* This,IBaseFilter *pFilter,LPCWSTR pName) {
   8314     return This->lpVtbl->AddFilter(This,pFilter,pName);
   8315 }
   8316 static FORCEINLINE HRESULT IFilterGraph2_RemoveFilter(IFilterGraph2* This,IBaseFilter *pFilter) {
   8317     return This->lpVtbl->RemoveFilter(This,pFilter);
   8318 }
   8319 static FORCEINLINE HRESULT IFilterGraph2_EnumFilters(IFilterGraph2* This,IEnumFilters **ppEnum) {
   8320     return This->lpVtbl->EnumFilters(This,ppEnum);
   8321 }
   8322 static FORCEINLINE HRESULT IFilterGraph2_FindFilterByName(IFilterGraph2* This,LPCWSTR pName,IBaseFilter **ppFilter) {
   8323     return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
   8324 }
   8325 static FORCEINLINE HRESULT IFilterGraph2_ConnectDirect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
   8326     return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
   8327 }
   8328 static FORCEINLINE HRESULT IFilterGraph2_Reconnect(IFilterGraph2* This,IPin *ppin) {
   8329     return This->lpVtbl->Reconnect(This,ppin);
   8330 }
   8331 static FORCEINLINE HRESULT IFilterGraph2_Disconnect(IFilterGraph2* This,IPin *ppin) {
   8332     return This->lpVtbl->Disconnect(This,ppin);
   8333 }
   8334 static FORCEINLINE HRESULT IFilterGraph2_SetDefaultSyncSource(IFilterGraph2* This) {
   8335     return This->lpVtbl->SetDefaultSyncSource(This);
   8336 }
   8337 /*** IGraphBuilder methods ***/
   8338 static FORCEINLINE HRESULT IFilterGraph2_Connect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn) {
   8339     return This->lpVtbl->Connect(This,ppinOut,ppinIn);
   8340 }
   8341 static FORCEINLINE HRESULT IFilterGraph2_Render(IFilterGraph2* This,IPin *ppinOut) {
   8342     return This->lpVtbl->Render(This,ppinOut);
   8343 }
   8344 static FORCEINLINE HRESULT IFilterGraph2_RenderFile(IFilterGraph2* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) {
   8345     return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList);
   8346 }
   8347 static FORCEINLINE HRESULT IFilterGraph2_AddSourceFilter(IFilterGraph2* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
   8348     return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter);
   8349 }
   8350 static FORCEINLINE HRESULT IFilterGraph2_SetLogFile(IFilterGraph2* This,DWORD_PTR hFile) {
   8351     return This->lpVtbl->SetLogFile(This,hFile);
   8352 }
   8353 static FORCEINLINE HRESULT IFilterGraph2_Abort(IFilterGraph2* This) {
   8354     return This->lpVtbl->Abort(This);
   8355 }
   8356 static FORCEINLINE HRESULT IFilterGraph2_ShouldOperationContinue(IFilterGraph2* This) {
   8357     return This->lpVtbl->ShouldOperationContinue(This);
   8358 }
   8359 /*** IFilterGraph2 methods ***/
   8360 static FORCEINLINE HRESULT IFilterGraph2_AddSourceFilterForMoniker(IFilterGraph2* This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
   8361     return This->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter);
   8362 }
   8363 static FORCEINLINE HRESULT IFilterGraph2_ReconnectEx(IFilterGraph2* This,IPin *ppin,const AM_MEDIA_TYPE *pmt) {
   8364     return This->lpVtbl->ReconnectEx(This,ppin,pmt);
   8365 }
   8366 static FORCEINLINE HRESULT IFilterGraph2_RenderEx(IFilterGraph2* This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) {
   8367     return This->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext);
   8368 }
   8369 #endif
   8370 #endif
   8371 
   8372 #endif
   8373 
   8374 HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy(
   8375     IFilterGraph2* This,
   8376     IMoniker *pMoniker,
   8377     IBindCtx *pCtx,
   8378     LPCWSTR lpcwstrFilterName,
   8379     IBaseFilter **ppFilter);
   8380 void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
   8381     IRpcStubBuffer* This,
   8382     IRpcChannelBuffer* pRpcChannelBuffer,
   8383     PRPC_MESSAGE pRpcMessage,
   8384     DWORD* pdwStubPhase);
   8385 HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy(
   8386     IFilterGraph2* This,
   8387     IPin *ppin,
   8388     const AM_MEDIA_TYPE *pmt);
   8389 void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
   8390     IRpcStubBuffer* This,
   8391     IRpcChannelBuffer* pRpcChannelBuffer,
   8392     PRPC_MESSAGE pRpcMessage,
   8393     DWORD* pdwStubPhase);
   8394 HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy(
   8395     IFilterGraph2* This,
   8396     IPin *pPinOut,
   8397     DWORD dwFlags,
   8398     DWORD *pvContext);
   8399 void __RPC_STUB IFilterGraph2_RenderEx_Stub(
   8400     IRpcStubBuffer* This,
   8401     IRpcChannelBuffer* pRpcChannelBuffer,
   8402     PRPC_MESSAGE pRpcMessage,
   8403     DWORD* pdwStubPhase);
   8404 
   8405 #endif  /* __IFilterGraph2_INTERFACE_DEFINED__ */
   8406 
   8407 /*****************************************************************************
   8408  * IStreamBuilder interface
   8409  */
   8410 #ifndef __IStreamBuilder_INTERFACE_DEFINED__
   8411 #define __IStreamBuilder_INTERFACE_DEFINED__
   8412 
   8413 DEFINE_GUID(IID_IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   8414 #if defined(__cplusplus) && !defined(CINTERFACE)
   8415 MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
   8416 IStreamBuilder : public IUnknown
   8417 {
   8418     virtual HRESULT STDMETHODCALLTYPE Render(
   8419         IPin *ppinOut,
   8420         IGraphBuilder *pGraph) = 0;
   8421 
   8422     virtual HRESULT STDMETHODCALLTYPE Backout(
   8423         IPin *ppinOut,
   8424         IGraphBuilder *pGraph) = 0;
   8425 
   8426 };
   8427 #ifdef __CRT_UUID_DECL
   8428 __CRT_UUID_DECL(IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   8429 #endif
   8430 #else
   8431 typedef struct IStreamBuilderVtbl {
   8432     BEGIN_INTERFACE
   8433 
   8434     /*** IUnknown methods ***/
   8435     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8436         IStreamBuilder* This,
   8437         REFIID riid,
   8438         void **ppvObject);
   8439 
   8440     ULONG (STDMETHODCALLTYPE *AddRef)(
   8441         IStreamBuilder* This);
   8442 
   8443     ULONG (STDMETHODCALLTYPE *Release)(
   8444         IStreamBuilder* This);
   8445 
   8446     /*** IStreamBuilder methods ***/
   8447     HRESULT (STDMETHODCALLTYPE *Render)(
   8448         IStreamBuilder* This,
   8449         IPin *ppinOut,
   8450         IGraphBuilder *pGraph);
   8451 
   8452     HRESULT (STDMETHODCALLTYPE *Backout)(
   8453         IStreamBuilder* This,
   8454         IPin *ppinOut,
   8455         IGraphBuilder *pGraph);
   8456 
   8457     END_INTERFACE
   8458 } IStreamBuilderVtbl;
   8459 interface IStreamBuilder {
   8460     CONST_VTBL IStreamBuilderVtbl* lpVtbl;
   8461 };
   8462 
   8463 #ifdef COBJMACROS
   8464 #ifndef WIDL_C_INLINE_WRAPPERS
   8465 /*** IUnknown methods ***/
   8466 #define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8467 #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   8468 #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This)
   8469 /*** IStreamBuilder methods ***/
   8470 #define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph)
   8471 #define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph)
   8472 #else
   8473 /*** IUnknown methods ***/
   8474 static FORCEINLINE HRESULT IStreamBuilder_QueryInterface(IStreamBuilder* This,REFIID riid,void **ppvObject) {
   8475     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8476 }
   8477 static FORCEINLINE ULONG IStreamBuilder_AddRef(IStreamBuilder* This) {
   8478     return This->lpVtbl->AddRef(This);
   8479 }
   8480 static FORCEINLINE ULONG IStreamBuilder_Release(IStreamBuilder* This) {
   8481     return This->lpVtbl->Release(This);
   8482 }
   8483 /*** IStreamBuilder methods ***/
   8484 static FORCEINLINE HRESULT IStreamBuilder_Render(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) {
   8485     return This->lpVtbl->Render(This,ppinOut,pGraph);
   8486 }
   8487 static FORCEINLINE HRESULT IStreamBuilder_Backout(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) {
   8488     return This->lpVtbl->Backout(This,ppinOut,pGraph);
   8489 }
   8490 #endif
   8491 #endif
   8492 
   8493 #endif
   8494 
   8495 HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy(
   8496     IStreamBuilder* This,
   8497     IPin *ppinOut,
   8498     IGraphBuilder *pGraph);
   8499 void __RPC_STUB IStreamBuilder_Render_Stub(
   8500     IRpcStubBuffer* This,
   8501     IRpcChannelBuffer* pRpcChannelBuffer,
   8502     PRPC_MESSAGE pRpcMessage,
   8503     DWORD* pdwStubPhase);
   8504 HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy(
   8505     IStreamBuilder* This,
   8506     IPin *ppinOut,
   8507     IGraphBuilder *pGraph);
   8508 void __RPC_STUB IStreamBuilder_Backout_Stub(
   8509     IRpcStubBuffer* This,
   8510     IRpcChannelBuffer* pRpcChannelBuffer,
   8511     PRPC_MESSAGE pRpcMessage,
   8512     DWORD* pdwStubPhase);
   8513 
   8514 #endif  /* __IStreamBuilder_INTERFACE_DEFINED__ */
   8515 
   8516 /*****************************************************************************
   8517  * IAMStreamConfig interface
   8518  */
   8519 #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
   8520 #define __IAMStreamConfig_INTERFACE_DEFINED__
   8521 
   8522 typedef struct _VIDEO_STREAM_CONFIG_CAPS {
   8523     GUID guid;
   8524     ULONG VideoStandard;
   8525     SIZE InputSize;
   8526     SIZE MinCroppingSize;
   8527     SIZE MaxCroppingSize;
   8528     int CropGranularityX;
   8529     int CropGranularityY;
   8530     int CropAlignX;
   8531     int CropAlignY;
   8532     SIZE MinOutputSize;
   8533     SIZE MaxOutputSize;
   8534     int OutputGranularityX;
   8535     int OutputGranularityY;
   8536     int StretchTapsX;
   8537     int StretchTapsY;
   8538     int ShrinkTapsX;
   8539     int ShrinkTapsY;
   8540     LONGLONG MinFrameInterval;
   8541     LONGLONG MaxFrameInterval;
   8542     LONG MinBitsPerSecond;
   8543     LONG MaxBitsPerSecond;
   8544 } VIDEO_STREAM_CONFIG_CAPS;
   8545 typedef struct _AUDIO_STREAM_CONFIG_CAPS {
   8546     GUID guid;
   8547     ULONG MinimumChannels;
   8548     ULONG MaximumChannels;
   8549     ULONG ChannelsGranularity;
   8550     ULONG MinimumBitsPerSample;
   8551     ULONG MaximumBitsPerSample;
   8552     ULONG BitsPerSampleGranularity;
   8553     ULONG MinimumSampleFrequency;
   8554     ULONG MaximumSampleFrequency;
   8555     ULONG SampleFrequencyGranularity;
   8556 } AUDIO_STREAM_CONFIG_CAPS;
   8557 DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
   8558 #if defined(__cplusplus) && !defined(CINTERFACE)
   8559 MIDL_INTERFACE("c6e13340-30ac-11d0-a18c-00a0c9118956")
   8560 IAMStreamConfig : public IUnknown
   8561 {
   8562     virtual HRESULT STDMETHODCALLTYPE SetFormat(
   8563         AM_MEDIA_TYPE *pmt) = 0;
   8564 
   8565     virtual HRESULT STDMETHODCALLTYPE GetFormat(
   8566         AM_MEDIA_TYPE **pmt) = 0;
   8567 
   8568     virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(
   8569         int *piCount,
   8570         int *piSize) = 0;
   8571 
   8572     virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(
   8573         int iIndex,
   8574         AM_MEDIA_TYPE **pmt,
   8575         BYTE *pSCC) = 0;
   8576 
   8577 };
   8578 #ifdef __CRT_UUID_DECL
   8579 __CRT_UUID_DECL(IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
   8580 #endif
   8581 #else
   8582 typedef struct IAMStreamConfigVtbl {
   8583     BEGIN_INTERFACE
   8584 
   8585     /*** IUnknown methods ***/
   8586     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8587         IAMStreamConfig* This,
   8588         REFIID riid,
   8589         void **ppvObject);
   8590 
   8591     ULONG (STDMETHODCALLTYPE *AddRef)(
   8592         IAMStreamConfig* This);
   8593 
   8594     ULONG (STDMETHODCALLTYPE *Release)(
   8595         IAMStreamConfig* This);
   8596 
   8597     /*** IAMStreamConfig methods ***/
   8598     HRESULT (STDMETHODCALLTYPE *SetFormat)(
   8599         IAMStreamConfig* This,
   8600         AM_MEDIA_TYPE *pmt);
   8601 
   8602     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   8603         IAMStreamConfig* This,
   8604         AM_MEDIA_TYPE **pmt);
   8605 
   8606     HRESULT (STDMETHODCALLTYPE *GetNumberOfCapabilities)(
   8607         IAMStreamConfig* This,
   8608         int *piCount,
   8609         int *piSize);
   8610 
   8611     HRESULT (STDMETHODCALLTYPE *GetStreamCaps)(
   8612         IAMStreamConfig* This,
   8613         int iIndex,
   8614         AM_MEDIA_TYPE **pmt,
   8615         BYTE *pSCC);
   8616 
   8617     END_INTERFACE
   8618 } IAMStreamConfigVtbl;
   8619 interface IAMStreamConfig {
   8620     CONST_VTBL IAMStreamConfigVtbl* lpVtbl;
   8621 };
   8622 
   8623 #ifdef COBJMACROS
   8624 #ifndef WIDL_C_INLINE_WRAPPERS
   8625 /*** IUnknown methods ***/
   8626 #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8627 #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   8628 #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This)
   8629 /*** IAMStreamConfig methods ***/
   8630 #define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt)
   8631 #define IAMStreamConfig_GetFormat(This,pmt) (This)->lpVtbl->GetFormat(This,pmt)
   8632 #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize)
   8633 #define IAMStreamConfig_GetStreamCaps(This,iIndex,pmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC)
   8634 #else
   8635 /*** IUnknown methods ***/
   8636 static FORCEINLINE HRESULT IAMStreamConfig_QueryInterface(IAMStreamConfig* This,REFIID riid,void **ppvObject) {
   8637     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8638 }
   8639 static FORCEINLINE ULONG IAMStreamConfig_AddRef(IAMStreamConfig* This) {
   8640     return This->lpVtbl->AddRef(This);
   8641 }
   8642 static FORCEINLINE ULONG IAMStreamConfig_Release(IAMStreamConfig* This) {
   8643     return This->lpVtbl->Release(This);
   8644 }
   8645 /*** IAMStreamConfig methods ***/
   8646 static FORCEINLINE HRESULT IAMStreamConfig_SetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE *pmt) {
   8647     return This->lpVtbl->SetFormat(This,pmt);
   8648 }
   8649 static FORCEINLINE HRESULT IAMStreamConfig_GetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE **pmt) {
   8650     return This->lpVtbl->GetFormat(This,pmt);
   8651 }
   8652 static FORCEINLINE HRESULT IAMStreamConfig_GetNumberOfCapabilities(IAMStreamConfig* This,int *piCount,int *piSize) {
   8653     return This->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize);
   8654 }
   8655 static FORCEINLINE HRESULT IAMStreamConfig_GetStreamCaps(IAMStreamConfig* This,int iIndex,AM_MEDIA_TYPE **pmt,BYTE *pSCC) {
   8656     return This->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC);
   8657 }
   8658 #endif
   8659 #endif
   8660 
   8661 #endif
   8662 
   8663 HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy(
   8664     IAMStreamConfig* This,
   8665     AM_MEDIA_TYPE *pmt);
   8666 void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
   8667     IRpcStubBuffer* This,
   8668     IRpcChannelBuffer* pRpcChannelBuffer,
   8669     PRPC_MESSAGE pRpcMessage,
   8670     DWORD* pdwStubPhase);
   8671 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy(
   8672     IAMStreamConfig* This,
   8673     AM_MEDIA_TYPE **pmt);
   8674 void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
   8675     IRpcStubBuffer* This,
   8676     IRpcChannelBuffer* pRpcChannelBuffer,
   8677     PRPC_MESSAGE pRpcMessage,
   8678     DWORD* pdwStubPhase);
   8679 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy(
   8680     IAMStreamConfig* This,
   8681     int *piCount,
   8682     int *piSize);
   8683 void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
   8684     IRpcStubBuffer* This,
   8685     IRpcChannelBuffer* pRpcChannelBuffer,
   8686     PRPC_MESSAGE pRpcMessage,
   8687     DWORD* pdwStubPhase);
   8688 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy(
   8689     IAMStreamConfig* This,
   8690     int iIndex,
   8691     AM_MEDIA_TYPE **pmt,
   8692     BYTE *pSCC);
   8693 void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
   8694     IRpcStubBuffer* This,
   8695     IRpcChannelBuffer* pRpcChannelBuffer,
   8696     PRPC_MESSAGE pRpcMessage,
   8697     DWORD* pdwStubPhase);
   8698 
   8699 #endif  /* __IAMStreamConfig_INTERFACE_DEFINED__ */
   8700 
   8701 typedef enum tagVideoProcAmpProperty {
   8702     VideoProcAmp_Brightness = 0,
   8703     VideoProcAmp_Contrast = 1,
   8704     VideoProcAmp_Hue = 2,
   8705     VideoProcAmp_Saturation = 3,
   8706     VideoProcAmp_Sharpness = 4,
   8707     VideoProcAmp_Gamma = 5,
   8708     VideoProcAmp_ColorEnable = 6,
   8709     VideoProcAmp_WhiteBalance = 7,
   8710     VideoProcAmp_BacklightCompensation = 8,
   8711     VideoProcAmp_Gain = 9
   8712 } VideoProcAmpProperty;
   8713 typedef enum tagVideoProcAmpFlags {
   8714     VideoProcAmp_Flags_Auto = 0x1,
   8715     VideoProcAmp_Flags_Manual = 0x2
   8716 } VideoProcAmpFlags;
   8717 /*****************************************************************************
   8718  * IAMVideoProcAmp interface
   8719  */
   8720 #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
   8721 #define __IAMVideoProcAmp_INTERFACE_DEFINED__
   8722 
   8723 DEFINE_GUID(IID_IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
   8724 #if defined(__cplusplus) && !defined(CINTERFACE)
   8725 MIDL_INTERFACE("c6e13360-30ac-11d0-a18c-00a0c9118956")
   8726 IAMVideoProcAmp : public IUnknown
   8727 {
   8728     virtual HRESULT STDMETHODCALLTYPE GetRange(
   8729         LONG Property,
   8730         LONG *pMin,
   8731         LONG *pMax,
   8732         LONG *pSteppingDelta,
   8733         LONG *pDefault,
   8734         LONG *pCapsFlags) = 0;
   8735 
   8736     virtual HRESULT STDMETHODCALLTYPE Set(
   8737         LONG Property,
   8738         LONG lValue,
   8739         LONG Flags) = 0;
   8740 
   8741     virtual HRESULT STDMETHODCALLTYPE Get(
   8742         LONG Property,
   8743         LONG *lValue,
   8744         LONG *Flags) = 0;
   8745 
   8746 };
   8747 #ifdef __CRT_UUID_DECL
   8748 __CRT_UUID_DECL(IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
   8749 #endif
   8750 #else
   8751 typedef struct IAMVideoProcAmpVtbl {
   8752     BEGIN_INTERFACE
   8753 
   8754     /*** IUnknown methods ***/
   8755     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8756         IAMVideoProcAmp* This,
   8757         REFIID riid,
   8758         void **ppvObject);
   8759 
   8760     ULONG (STDMETHODCALLTYPE *AddRef)(
   8761         IAMVideoProcAmp* This);
   8762 
   8763     ULONG (STDMETHODCALLTYPE *Release)(
   8764         IAMVideoProcAmp* This);
   8765 
   8766     /*** IAMVideoProcAmp methods ***/
   8767     HRESULT (STDMETHODCALLTYPE *GetRange)(
   8768         IAMVideoProcAmp* This,
   8769         LONG Property,
   8770         LONG *pMin,
   8771         LONG *pMax,
   8772         LONG *pSteppingDelta,
   8773         LONG *pDefault,
   8774         LONG *pCapsFlags);
   8775 
   8776     HRESULT (STDMETHODCALLTYPE *Set)(
   8777         IAMVideoProcAmp* This,
   8778         LONG Property,
   8779         LONG lValue,
   8780         LONG Flags);
   8781 
   8782     HRESULT (STDMETHODCALLTYPE *Get)(
   8783         IAMVideoProcAmp* This,
   8784         LONG Property,
   8785         LONG *lValue,
   8786         LONG *Flags);
   8787 
   8788     END_INTERFACE
   8789 } IAMVideoProcAmpVtbl;
   8790 interface IAMVideoProcAmp {
   8791     CONST_VTBL IAMVideoProcAmpVtbl* lpVtbl;
   8792 };
   8793 
   8794 #ifdef COBJMACROS
   8795 #ifndef WIDL_C_INLINE_WRAPPERS
   8796 /*** IUnknown methods ***/
   8797 #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8798 #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This)
   8799 #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This)
   8800 /*** IAMVideoProcAmp methods ***/
   8801 #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
   8802 #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
   8803 #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
   8804 #else
   8805 /*** IUnknown methods ***/
   8806 static FORCEINLINE HRESULT IAMVideoProcAmp_QueryInterface(IAMVideoProcAmp* This,REFIID riid,void **ppvObject) {
   8807     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8808 }
   8809 static FORCEINLINE ULONG IAMVideoProcAmp_AddRef(IAMVideoProcAmp* This) {
   8810     return This->lpVtbl->AddRef(This);
   8811 }
   8812 static FORCEINLINE ULONG IAMVideoProcAmp_Release(IAMVideoProcAmp* This) {
   8813     return This->lpVtbl->Release(This);
   8814 }
   8815 /*** IAMVideoProcAmp methods ***/
   8816 static FORCEINLINE HRESULT IAMVideoProcAmp_GetRange(IAMVideoProcAmp* This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) {
   8817     return This->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags);
   8818 }
   8819 static FORCEINLINE HRESULT IAMVideoProcAmp_Set(IAMVideoProcAmp* This,LONG Property,LONG lValue,LONG Flags) {
   8820     return This->lpVtbl->Set(This,Property,lValue,Flags);
   8821 }
   8822 static FORCEINLINE HRESULT IAMVideoProcAmp_Get(IAMVideoProcAmp* This,LONG Property,LONG *lValue,LONG *Flags) {
   8823     return This->lpVtbl->Get(This,Property,lValue,Flags);
   8824 }
   8825 #endif
   8826 #endif
   8827 
   8828 #endif
   8829 
   8830 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy(
   8831     IAMVideoProcAmp* This,
   8832     LONG Property,
   8833     LONG *pMin,
   8834     LONG *pMax,
   8835     LONG *pSteppingDelta,
   8836     LONG *pDefault,
   8837     LONG *pCapsFlags);
   8838 void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
   8839     IRpcStubBuffer* This,
   8840     IRpcChannelBuffer* pRpcChannelBuffer,
   8841     PRPC_MESSAGE pRpcMessage,
   8842     DWORD* pdwStubPhase);
   8843 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy(
   8844     IAMVideoProcAmp* This,
   8845     LONG Property,
   8846     LONG lValue,
   8847     LONG Flags);
   8848 void __RPC_STUB IAMVideoProcAmp_Set_Stub(
   8849     IRpcStubBuffer* This,
   8850     IRpcChannelBuffer* pRpcChannelBuffer,
   8851     PRPC_MESSAGE pRpcMessage,
   8852     DWORD* pdwStubPhase);
   8853 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy(
   8854     IAMVideoProcAmp* This,
   8855     LONG Property,
   8856     LONG *lValue,
   8857     LONG *Flags);
   8858 void __RPC_STUB IAMVideoProcAmp_Get_Stub(
   8859     IRpcStubBuffer* This,
   8860     IRpcChannelBuffer* pRpcChannelBuffer,
   8861     PRPC_MESSAGE pRpcMessage,
   8862     DWORD* pdwStubPhase);
   8863 
   8864 #endif  /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
   8865 
   8866 /*****************************************************************************
   8867  * IAsyncReader interface
   8868  */
   8869 #ifndef __IAsyncReader_INTERFACE_DEFINED__
   8870 #define __IAsyncReader_INTERFACE_DEFINED__
   8871 
   8872 DEFINE_GUID(IID_IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   8873 #if defined(__cplusplus) && !defined(CINTERFACE)
   8874 MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
   8875 IAsyncReader : public IUnknown
   8876 {
   8877     virtual HRESULT STDMETHODCALLTYPE RequestAllocator(
   8878         IMemAllocator *pPreferred,
   8879         ALLOCATOR_PROPERTIES *pProps,
   8880         IMemAllocator **ppActual) = 0;
   8881 
   8882     virtual HRESULT STDMETHODCALLTYPE Request(
   8883         IMediaSample *pSample,
   8884         DWORD_PTR dwUser) = 0;
   8885 
   8886     virtual HRESULT STDMETHODCALLTYPE WaitForNext(
   8887         DWORD dwTimeout,
   8888         IMediaSample **ppSample,
   8889         DWORD_PTR *pdwUser) = 0;
   8890 
   8891     virtual HRESULT STDMETHODCALLTYPE SyncReadAligned(
   8892         IMediaSample *pSample) = 0;
   8893 
   8894     virtual HRESULT STDMETHODCALLTYPE SyncRead(
   8895         LONGLONG llPosition,
   8896         LONG lLength,
   8897         BYTE *pBuffer) = 0;
   8898 
   8899     virtual HRESULT STDMETHODCALLTYPE Length(
   8900         LONGLONG *pTotal,
   8901         LONGLONG *pAvailable) = 0;
   8902 
   8903     virtual HRESULT STDMETHODCALLTYPE BeginFlush(
   8904         ) = 0;
   8905 
   8906     virtual HRESULT STDMETHODCALLTYPE EndFlush(
   8907         ) = 0;
   8908 
   8909 };
   8910 #ifdef __CRT_UUID_DECL
   8911 __CRT_UUID_DECL(IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   8912 #endif
   8913 #else
   8914 typedef struct IAsyncReaderVtbl {
   8915     BEGIN_INTERFACE
   8916 
   8917     /*** IUnknown methods ***/
   8918     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8919         IAsyncReader* This,
   8920         REFIID riid,
   8921         void **ppvObject);
   8922 
   8923     ULONG (STDMETHODCALLTYPE *AddRef)(
   8924         IAsyncReader* This);
   8925 
   8926     ULONG (STDMETHODCALLTYPE *Release)(
   8927         IAsyncReader* This);
   8928 
   8929     /*** IAsyncReader methods ***/
   8930     HRESULT (STDMETHODCALLTYPE *RequestAllocator)(
   8931         IAsyncReader* This,
   8932         IMemAllocator *pPreferred,
   8933         ALLOCATOR_PROPERTIES *pProps,
   8934         IMemAllocator **ppActual);
   8935 
   8936     HRESULT (STDMETHODCALLTYPE *Request)(
   8937         IAsyncReader* This,
   8938         IMediaSample *pSample,
   8939         DWORD_PTR dwUser);
   8940 
   8941     HRESULT (STDMETHODCALLTYPE *WaitForNext)(
   8942         IAsyncReader* This,
   8943         DWORD dwTimeout,
   8944         IMediaSample **ppSample,
   8945         DWORD_PTR *pdwUser);
   8946 
   8947     HRESULT (STDMETHODCALLTYPE *SyncReadAligned)(
   8948         IAsyncReader* This,
   8949         IMediaSample *pSample);
   8950 
   8951     HRESULT (STDMETHODCALLTYPE *SyncRead)(
   8952         IAsyncReader* This,
   8953         LONGLONG llPosition,
   8954         LONG lLength,
   8955         BYTE *pBuffer);
   8956 
   8957     HRESULT (STDMETHODCALLTYPE *Length)(
   8958         IAsyncReader* This,
   8959         LONGLONG *pTotal,
   8960         LONGLONG *pAvailable);
   8961 
   8962     HRESULT (STDMETHODCALLTYPE *BeginFlush)(
   8963         IAsyncReader* This);
   8964 
   8965     HRESULT (STDMETHODCALLTYPE *EndFlush)(
   8966         IAsyncReader* This);
   8967 
   8968     END_INTERFACE
   8969 } IAsyncReaderVtbl;
   8970 interface IAsyncReader {
   8971     CONST_VTBL IAsyncReaderVtbl* lpVtbl;
   8972 };
   8973 
   8974 #ifdef COBJMACROS
   8975 #ifndef WIDL_C_INLINE_WRAPPERS
   8976 /*** IUnknown methods ***/
   8977 #define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8978 #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This)
   8979 #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This)
   8980 /*** IAsyncReader methods ***/
   8981 #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual)
   8982 #define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser)
   8983 #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser)
   8984 #define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample)
   8985 #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer)
   8986 #define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable)
   8987 #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
   8988 #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This)
   8989 #else
   8990 /*** IUnknown methods ***/
   8991 static FORCEINLINE HRESULT IAsyncReader_QueryInterface(IAsyncReader* This,REFIID riid,void **ppvObject) {
   8992     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8993 }
   8994 static FORCEINLINE ULONG IAsyncReader_AddRef(IAsyncReader* This) {
   8995     return This->lpVtbl->AddRef(This);
   8996 }
   8997 static FORCEINLINE ULONG IAsyncReader_Release(IAsyncReader* This) {
   8998     return This->lpVtbl->Release(This);
   8999 }
   9000 /*** IAsyncReader methods ***/
   9001 static FORCEINLINE HRESULT IAsyncReader_RequestAllocator(IAsyncReader* This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) {
   9002     return This->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual);
   9003 }
   9004 static FORCEINLINE HRESULT IAsyncReader_Request(IAsyncReader* This,IMediaSample *pSample,DWORD_PTR dwUser) {
   9005     return This->lpVtbl->Request(This,pSample,dwUser);
   9006 }
   9007 static FORCEINLINE HRESULT IAsyncReader_WaitForNext(IAsyncReader* This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) {
   9008     return This->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser);
   9009 }
   9010 static FORCEINLINE HRESULT IAsyncReader_SyncReadAligned(IAsyncReader* This,IMediaSample *pSample) {
   9011     return This->lpVtbl->SyncReadAligned(This,pSample);
   9012 }
   9013 static FORCEINLINE HRESULT IAsyncReader_SyncRead(IAsyncReader* This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer) {
   9014     return This->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer);
   9015 }
   9016 static FORCEINLINE HRESULT IAsyncReader_Length(IAsyncReader* This,LONGLONG *pTotal,LONGLONG *pAvailable) {
   9017     return This->lpVtbl->Length(This,pTotal,pAvailable);
   9018 }
   9019 static FORCEINLINE HRESULT IAsyncReader_BeginFlush(IAsyncReader* This) {
   9020     return This->lpVtbl->BeginFlush(This);
   9021 }
   9022 static FORCEINLINE HRESULT IAsyncReader_EndFlush(IAsyncReader* This) {
   9023     return This->lpVtbl->EndFlush(This);
   9024 }
   9025 #endif
   9026 #endif
   9027 
   9028 #endif
   9029 
   9030 HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy(
   9031     IAsyncReader* This,
   9032     IMemAllocator *pPreferred,
   9033     ALLOCATOR_PROPERTIES *pProps,
   9034     IMemAllocator **ppActual);
   9035 void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
   9036     IRpcStubBuffer* This,
   9037     IRpcChannelBuffer* pRpcChannelBuffer,
   9038     PRPC_MESSAGE pRpcMessage,
   9039     DWORD* pdwStubPhase);
   9040 HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy(
   9041     IAsyncReader* This,
   9042     IMediaSample *pSample,
   9043     DWORD_PTR dwUser);
   9044 void __RPC_STUB IAsyncReader_Request_Stub(
   9045     IRpcStubBuffer* This,
   9046     IRpcChannelBuffer* pRpcChannelBuffer,
   9047     PRPC_MESSAGE pRpcMessage,
   9048     DWORD* pdwStubPhase);
   9049 HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy(
   9050     IAsyncReader* This,
   9051     DWORD dwTimeout,
   9052     IMediaSample **ppSample,
   9053     DWORD_PTR *pdwUser);
   9054 void __RPC_STUB IAsyncReader_WaitForNext_Stub(
   9055     IRpcStubBuffer* This,
   9056     IRpcChannelBuffer* pRpcChannelBuffer,
   9057     PRPC_MESSAGE pRpcMessage,
   9058     DWORD* pdwStubPhase);
   9059 HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy(
   9060     IAsyncReader* This,
   9061     IMediaSample *pSample);
   9062 void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
   9063     IRpcStubBuffer* This,
   9064     IRpcChannelBuffer* pRpcChannelBuffer,
   9065     PRPC_MESSAGE pRpcMessage,
   9066     DWORD* pdwStubPhase);
   9067 HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy(
   9068     IAsyncReader* This,
   9069     LONGLONG llPosition,
   9070     LONG lLength,
   9071     BYTE *pBuffer);
   9072 void __RPC_STUB IAsyncReader_SyncRead_Stub(
   9073     IRpcStubBuffer* This,
   9074     IRpcChannelBuffer* pRpcChannelBuffer,
   9075     PRPC_MESSAGE pRpcMessage,
   9076     DWORD* pdwStubPhase);
   9077 HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy(
   9078     IAsyncReader* This,
   9079     LONGLONG *pTotal,
   9080     LONGLONG *pAvailable);
   9081 void __RPC_STUB IAsyncReader_Length_Stub(
   9082     IRpcStubBuffer* This,
   9083     IRpcChannelBuffer* pRpcChannelBuffer,
   9084     PRPC_MESSAGE pRpcMessage,
   9085     DWORD* pdwStubPhase);
   9086 HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy(
   9087     IAsyncReader* This);
   9088 void __RPC_STUB IAsyncReader_BeginFlush_Stub(
   9089     IRpcStubBuffer* This,
   9090     IRpcChannelBuffer* pRpcChannelBuffer,
   9091     PRPC_MESSAGE pRpcMessage,
   9092     DWORD* pdwStubPhase);
   9093 HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy(
   9094     IAsyncReader* This);
   9095 void __RPC_STUB IAsyncReader_EndFlush_Stub(
   9096     IRpcStubBuffer* This,
   9097     IRpcChannelBuffer* pRpcChannelBuffer,
   9098     PRPC_MESSAGE pRpcMessage,
   9099     DWORD* pdwStubPhase);
   9100 
   9101 #endif  /* __IAsyncReader_INTERFACE_DEFINED__ */
   9102 
   9103 /*****************************************************************************
   9104  * IGraphVersion interface
   9105  */
   9106 #ifndef __IGraphVersion_INTERFACE_DEFINED__
   9107 #define __IGraphVersion_INTERFACE_DEFINED__
   9108 
   9109 DEFINE_GUID(IID_IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   9110 #if defined(__cplusplus) && !defined(CINTERFACE)
   9111 MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
   9112 IGraphVersion : public IUnknown
   9113 {
   9114     virtual HRESULT STDMETHODCALLTYPE QueryVersion(
   9115         LONG *pVersion) = 0;
   9116 
   9117 };
   9118 #ifdef __CRT_UUID_DECL
   9119 __CRT_UUID_DECL(IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   9120 #endif
   9121 #else
   9122 typedef struct IGraphVersionVtbl {
   9123     BEGIN_INTERFACE
   9124 
   9125     /*** IUnknown methods ***/
   9126     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9127         IGraphVersion* This,
   9128         REFIID riid,
   9129         void **ppvObject);
   9130 
   9131     ULONG (STDMETHODCALLTYPE *AddRef)(
   9132         IGraphVersion* This);
   9133 
   9134     ULONG (STDMETHODCALLTYPE *Release)(
   9135         IGraphVersion* This);
   9136 
   9137     /*** IGraphVersion methods ***/
   9138     HRESULT (STDMETHODCALLTYPE *QueryVersion)(
   9139         IGraphVersion* This,
   9140         LONG *pVersion);
   9141 
   9142     END_INTERFACE
   9143 } IGraphVersionVtbl;
   9144 interface IGraphVersion {
   9145     CONST_VTBL IGraphVersionVtbl* lpVtbl;
   9146 };
   9147 
   9148 #ifdef COBJMACROS
   9149 #ifndef WIDL_C_INLINE_WRAPPERS
   9150 /*** IUnknown methods ***/
   9151 #define IGraphVersion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9152 #define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This)
   9153 #define IGraphVersion_Release(This) (This)->lpVtbl->Release(This)
   9154 /*** IGraphVersion methods ***/
   9155 #define IGraphVersion_QueryVersion(This,pVersion) (This)->lpVtbl->QueryVersion(This,pVersion)
   9156 #else
   9157 /*** IUnknown methods ***/
   9158 static FORCEINLINE HRESULT IGraphVersion_QueryInterface(IGraphVersion* This,REFIID riid,void **ppvObject) {
   9159     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9160 }
   9161 static FORCEINLINE ULONG IGraphVersion_AddRef(IGraphVersion* This) {
   9162     return This->lpVtbl->AddRef(This);
   9163 }
   9164 static FORCEINLINE ULONG IGraphVersion_Release(IGraphVersion* This) {
   9165     return This->lpVtbl->Release(This);
   9166 }
   9167 /*** IGraphVersion methods ***/
   9168 static FORCEINLINE HRESULT IGraphVersion_QueryVersion(IGraphVersion* This,LONG *pVersion) {
   9169     return This->lpVtbl->QueryVersion(This,pVersion);
   9170 }
   9171 #endif
   9172 #endif
   9173 
   9174 #endif
   9175 
   9176 HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy(
   9177     IGraphVersion* This,
   9178     LONG *pVersion);
   9179 void __RPC_STUB IGraphVersion_QueryVersion_Stub(
   9180     IRpcStubBuffer* This,
   9181     IRpcChannelBuffer* pRpcChannelBuffer,
   9182     PRPC_MESSAGE pRpcMessage,
   9183     DWORD* pdwStubPhase);
   9184 
   9185 #endif  /* __IGraphVersion_INTERFACE_DEFINED__ */
   9186 
   9187 /*****************************************************************************
   9188  * IResourceConsumer interface
   9189  */
   9190 #ifndef __IResourceConsumer_INTERFACE_DEFINED__
   9191 #define __IResourceConsumer_INTERFACE_DEFINED__
   9192 
   9193 DEFINE_GUID(IID_IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   9194 #if defined(__cplusplus) && !defined(CINTERFACE)
   9195 MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
   9196 IResourceConsumer : public IUnknown
   9197 {
   9198     virtual HRESULT STDMETHODCALLTYPE AcquireResource(
   9199         LONG idResource) = 0;
   9200 
   9201     virtual HRESULT STDMETHODCALLTYPE ReleaseResource(
   9202         LONG idResource) = 0;
   9203 
   9204 };
   9205 #ifdef __CRT_UUID_DECL
   9206 __CRT_UUID_DECL(IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   9207 #endif
   9208 #else
   9209 typedef struct IResourceConsumerVtbl {
   9210     BEGIN_INTERFACE
   9211 
   9212     /*** IUnknown methods ***/
   9213     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9214         IResourceConsumer* This,
   9215         REFIID riid,
   9216         void **ppvObject);
   9217 
   9218     ULONG (STDMETHODCALLTYPE *AddRef)(
   9219         IResourceConsumer* This);
   9220 
   9221     ULONG (STDMETHODCALLTYPE *Release)(
   9222         IResourceConsumer* This);
   9223 
   9224     /*** IResourceConsumer methods ***/
   9225     HRESULT (STDMETHODCALLTYPE *AcquireResource)(
   9226         IResourceConsumer* This,
   9227         LONG idResource);
   9228 
   9229     HRESULT (STDMETHODCALLTYPE *ReleaseResource)(
   9230         IResourceConsumer* This,
   9231         LONG idResource);
   9232 
   9233     END_INTERFACE
   9234 } IResourceConsumerVtbl;
   9235 interface IResourceConsumer {
   9236     CONST_VTBL IResourceConsumerVtbl* lpVtbl;
   9237 };
   9238 
   9239 #ifdef COBJMACROS
   9240 #ifndef WIDL_C_INLINE_WRAPPERS
   9241 /*** IUnknown methods ***/
   9242 #define IResourceConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9243 #define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This)
   9244 #define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This)
   9245 /*** IResourceConsumer methods ***/
   9246 #define IResourceConsumer_AcquireResource(This,idResource) (This)->lpVtbl->AcquireResource(This,idResource)
   9247 #define IResourceConsumer_ReleaseResource(This,idResource) (This)->lpVtbl->ReleaseResource(This,idResource)
   9248 #else
   9249 /*** IUnknown methods ***/
   9250 static FORCEINLINE HRESULT IResourceConsumer_QueryInterface(IResourceConsumer* This,REFIID riid,void **ppvObject) {
   9251     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9252 }
   9253 static FORCEINLINE ULONG IResourceConsumer_AddRef(IResourceConsumer* This) {
   9254     return This->lpVtbl->AddRef(This);
   9255 }
   9256 static FORCEINLINE ULONG IResourceConsumer_Release(IResourceConsumer* This) {
   9257     return This->lpVtbl->Release(This);
   9258 }
   9259 /*** IResourceConsumer methods ***/
   9260 static FORCEINLINE HRESULT IResourceConsumer_AcquireResource(IResourceConsumer* This,LONG idResource) {
   9261     return This->lpVtbl->AcquireResource(This,idResource);
   9262 }
   9263 static FORCEINLINE HRESULT IResourceConsumer_ReleaseResource(IResourceConsumer* This,LONG idResource) {
   9264     return This->lpVtbl->ReleaseResource(This,idResource);
   9265 }
   9266 #endif
   9267 #endif
   9268 
   9269 #endif
   9270 
   9271 HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy(
   9272     IResourceConsumer* This,
   9273     LONG idResource);
   9274 void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
   9275     IRpcStubBuffer* This,
   9276     IRpcChannelBuffer* pRpcChannelBuffer,
   9277     PRPC_MESSAGE pRpcMessage,
   9278     DWORD* pdwStubPhase);
   9279 HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy(
   9280     IResourceConsumer* This,
   9281     LONG idResource);
   9282 void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
   9283     IRpcStubBuffer* This,
   9284     IRpcChannelBuffer* pRpcChannelBuffer,
   9285     PRPC_MESSAGE pRpcMessage,
   9286     DWORD* pdwStubPhase);
   9287 
   9288 #endif  /* __IResourceConsumer_INTERFACE_DEFINED__ */
   9289 
   9290 /*****************************************************************************
   9291  * IResourceManager interface
   9292  */
   9293 #ifndef __IResourceManager_INTERFACE_DEFINED__
   9294 #define __IResourceManager_INTERFACE_DEFINED__
   9295 
   9296 DEFINE_GUID(IID_IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   9297 #if defined(__cplusplus) && !defined(CINTERFACE)
   9298 MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
   9299 IResourceManager : public IUnknown
   9300 {
   9301     virtual HRESULT STDMETHODCALLTYPE Register(
   9302         LPCWSTR pName,
   9303         LONG cResource,
   9304         LONG *plToken) = 0;
   9305 
   9306     virtual HRESULT STDMETHODCALLTYPE RegisterGroup(
   9307         LPCWSTR pName,
   9308         LONG cResource,
   9309         LONG *palTokens,
   9310         LONG *plToken) = 0;
   9311 
   9312     virtual HRESULT STDMETHODCALLTYPE RequestResource(
   9313         LONG idResource,
   9314         IUnknown *pFocusObject,
   9315         IResourceConsumer *pConsumer) = 0;
   9316 
   9317     virtual HRESULT STDMETHODCALLTYPE NotifyAcquire(
   9318         LONG idResource,
   9319         IResourceConsumer *pConsumer,
   9320         HRESULT hr) = 0;
   9321 
   9322     virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
   9323         LONG idResource,
   9324         IResourceConsumer *pConsumer,
   9325         WINBOOL bStillWant) = 0;
   9326 
   9327     virtual HRESULT STDMETHODCALLTYPE CancelRequest(
   9328         LONG idResource,
   9329         IResourceConsumer *pConsumer) = 0;
   9330 
   9331     virtual HRESULT STDMETHODCALLTYPE SetFocus(
   9332         IUnknown *pFocusObject) = 0;
   9333 
   9334     virtual HRESULT STDMETHODCALLTYPE ReleaseFocus(
   9335         IUnknown *pFocusObject) = 0;
   9336 
   9337 };
   9338 #ifdef __CRT_UUID_DECL
   9339 __CRT_UUID_DECL(IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   9340 #endif
   9341 #else
   9342 typedef struct IResourceManagerVtbl {
   9343     BEGIN_INTERFACE
   9344 
   9345     /*** IUnknown methods ***/
   9346     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9347         IResourceManager* This,
   9348         REFIID riid,
   9349         void **ppvObject);
   9350 
   9351     ULONG (STDMETHODCALLTYPE *AddRef)(
   9352         IResourceManager* This);
   9353 
   9354     ULONG (STDMETHODCALLTYPE *Release)(
   9355         IResourceManager* This);
   9356 
   9357     /*** IResourceManager methods ***/
   9358     HRESULT (STDMETHODCALLTYPE *Register)(
   9359         IResourceManager* This,
   9360         LPCWSTR pName,
   9361         LONG cResource,
   9362         LONG *plToken);
   9363 
   9364     HRESULT (STDMETHODCALLTYPE *RegisterGroup)(
   9365         IResourceManager* This,
   9366         LPCWSTR pName,
   9367         LONG cResource,
   9368         LONG *palTokens,
   9369         LONG *plToken);
   9370 
   9371     HRESULT (STDMETHODCALLTYPE *RequestResource)(
   9372         IResourceManager* This,
   9373         LONG idResource,
   9374         IUnknown *pFocusObject,
   9375         IResourceConsumer *pConsumer);
   9376 
   9377     HRESULT (STDMETHODCALLTYPE *NotifyAcquire)(
   9378         IResourceManager* This,
   9379         LONG idResource,
   9380         IResourceConsumer *pConsumer,
   9381         HRESULT hr);
   9382 
   9383     HRESULT (STDMETHODCALLTYPE *NotifyRelease)(
   9384         IResourceManager* This,
   9385         LONG idResource,
   9386         IResourceConsumer *pConsumer,
   9387         WINBOOL bStillWant);
   9388 
   9389     HRESULT (STDMETHODCALLTYPE *CancelRequest)(
   9390         IResourceManager* This,
   9391         LONG idResource,
   9392         IResourceConsumer *pConsumer);
   9393 
   9394     HRESULT (STDMETHODCALLTYPE *SetFocus)(
   9395         IResourceManager* This,
   9396         IUnknown *pFocusObject);
   9397 
   9398     HRESULT (STDMETHODCALLTYPE *ReleaseFocus)(
   9399         IResourceManager* This,
   9400         IUnknown *pFocusObject);
   9401 
   9402     END_INTERFACE
   9403 } IResourceManagerVtbl;
   9404 interface IResourceManager {
   9405     CONST_VTBL IResourceManagerVtbl* lpVtbl;
   9406 };
   9407 
   9408 #ifdef COBJMACROS
   9409 #ifndef WIDL_C_INLINE_WRAPPERS
   9410 /*** IUnknown methods ***/
   9411 #define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9412 #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   9413 #define IResourceManager_Release(This) (This)->lpVtbl->Release(This)
   9414 /*** IResourceManager methods ***/
   9415 #define IResourceManager_Register(This,pName,cResource,plToken) (This)->lpVtbl->Register(This,pName,cResource,plToken)
   9416 #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) (This)->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken)
   9417 #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) (This)->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer)
   9418 #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) (This)->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr)
   9419 #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) (This)->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant)
   9420 #define IResourceManager_CancelRequest(This,idResource,pConsumer) (This)->lpVtbl->CancelRequest(This,idResource,pConsumer)
   9421 #define IResourceManager_SetFocus(This,pFocusObject) (This)->lpVtbl->SetFocus(This,pFocusObject)
   9422 #define IResourceManager_ReleaseFocus(This,pFocusObject) (This)->lpVtbl->ReleaseFocus(This,pFocusObject)
   9423 #else
   9424 /*** IUnknown methods ***/
   9425 static FORCEINLINE HRESULT IResourceManager_QueryInterface(IResourceManager* This,REFIID riid,void **ppvObject) {
   9426     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9427 }
   9428 static FORCEINLINE ULONG IResourceManager_AddRef(IResourceManager* This) {
   9429     return This->lpVtbl->AddRef(This);
   9430 }
   9431 static FORCEINLINE ULONG IResourceManager_Release(IResourceManager* This) {
   9432     return This->lpVtbl->Release(This);
   9433 }
   9434 /*** IResourceManager methods ***/
   9435 static FORCEINLINE HRESULT IResourceManager_Register(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *plToken) {
   9436     return This->lpVtbl->Register(This,pName,cResource,plToken);
   9437 }
   9438 static FORCEINLINE HRESULT IResourceManager_RegisterGroup(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken) {
   9439     return This->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken);
   9440 }
   9441 static FORCEINLINE HRESULT IResourceManager_RequestResource(IResourceManager* This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer) {
   9442     return This->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer);
   9443 }
   9444 static FORCEINLINE HRESULT IResourceManager_NotifyAcquire(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr) {
   9445     return This->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr);
   9446 }
   9447 static FORCEINLINE HRESULT IResourceManager_NotifyRelease(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant) {
   9448     return This->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant);
   9449 }
   9450 static FORCEINLINE HRESULT IResourceManager_CancelRequest(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer) {
   9451     return This->lpVtbl->CancelRequest(This,idResource,pConsumer);
   9452 }
   9453 static FORCEINLINE HRESULT IResourceManager_SetFocus(IResourceManager* This,IUnknown *pFocusObject) {
   9454     return This->lpVtbl->SetFocus(This,pFocusObject);
   9455 }
   9456 static FORCEINLINE HRESULT IResourceManager_ReleaseFocus(IResourceManager* This,IUnknown *pFocusObject) {
   9457     return This->lpVtbl->ReleaseFocus(This,pFocusObject);
   9458 }
   9459 #endif
   9460 #endif
   9461 
   9462 #endif
   9463 
   9464 HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy(
   9465     IResourceManager* This,
   9466     LPCWSTR pName,
   9467     LONG cResource,
   9468     LONG *plToken);
   9469 void __RPC_STUB IResourceManager_Register_Stub(
   9470     IRpcStubBuffer* This,
   9471     IRpcChannelBuffer* pRpcChannelBuffer,
   9472     PRPC_MESSAGE pRpcMessage,
   9473     DWORD* pdwStubPhase);
   9474 HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy(
   9475     IResourceManager* This,
   9476     LPCWSTR pName,
   9477     LONG cResource,
   9478     LONG *palTokens,
   9479     LONG *plToken);
   9480 void __RPC_STUB IResourceManager_RegisterGroup_Stub(
   9481     IRpcStubBuffer* This,
   9482     IRpcChannelBuffer* pRpcChannelBuffer,
   9483     PRPC_MESSAGE pRpcMessage,
   9484     DWORD* pdwStubPhase);
   9485 HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy(
   9486     IResourceManager* This,
   9487     LONG idResource,
   9488     IUnknown *pFocusObject,
   9489     IResourceConsumer *pConsumer);
   9490 void __RPC_STUB IResourceManager_RequestResource_Stub(
   9491     IRpcStubBuffer* This,
   9492     IRpcChannelBuffer* pRpcChannelBuffer,
   9493     PRPC_MESSAGE pRpcMessage,
   9494     DWORD* pdwStubPhase);
   9495 HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy(
   9496     IResourceManager* This,
   9497     LONG idResource,
   9498     IResourceConsumer *pConsumer,
   9499     HRESULT hr);
   9500 void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
   9501     IRpcStubBuffer* This,
   9502     IRpcChannelBuffer* pRpcChannelBuffer,
   9503     PRPC_MESSAGE pRpcMessage,
   9504     DWORD* pdwStubPhase);
   9505 HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy(
   9506     IResourceManager* This,
   9507     LONG idResource,
   9508     IResourceConsumer *pConsumer,
   9509     WINBOOL bStillWant);
   9510 void __RPC_STUB IResourceManager_NotifyRelease_Stub(
   9511     IRpcStubBuffer* This,
   9512     IRpcChannelBuffer* pRpcChannelBuffer,
   9513     PRPC_MESSAGE pRpcMessage,
   9514     DWORD* pdwStubPhase);
   9515 HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy(
   9516     IResourceManager* This,
   9517     LONG idResource,
   9518     IResourceConsumer *pConsumer);
   9519 void __RPC_STUB IResourceManager_CancelRequest_Stub(
   9520     IRpcStubBuffer* This,
   9521     IRpcChannelBuffer* pRpcChannelBuffer,
   9522     PRPC_MESSAGE pRpcMessage,
   9523     DWORD* pdwStubPhase);
   9524 HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy(
   9525     IResourceManager* This,
   9526     IUnknown *pFocusObject);
   9527 void __RPC_STUB IResourceManager_SetFocus_Stub(
   9528     IRpcStubBuffer* This,
   9529     IRpcChannelBuffer* pRpcChannelBuffer,
   9530     PRPC_MESSAGE pRpcMessage,
   9531     DWORD* pdwStubPhase);
   9532 HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy(
   9533     IResourceManager* This,
   9534     IUnknown *pFocusObject);
   9535 void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
   9536     IRpcStubBuffer* This,
   9537     IRpcChannelBuffer* pRpcChannelBuffer,
   9538     PRPC_MESSAGE pRpcMessage,
   9539     DWORD* pdwStubPhase);
   9540 
   9541 #endif  /* __IResourceManager_INTERFACE_DEFINED__ */
   9542 
   9543 typedef enum AM_STREAM_INFO_FLAGS {
   9544     AM_STREAM_INFO_START_DEFINED = 0x1,
   9545     AM_STREAM_INFO_STOP_DEFINED = 0x2,
   9546     AM_STREAM_INFO_DISCARDING = 0x4,
   9547     AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
   9548 } AM_STREAM_INFO_FLAGS;
   9549 typedef struct AM_STREAM_INFO {
   9550     REFERENCE_TIME tStart;
   9551     REFERENCE_TIME tStop;
   9552     DWORD dwStartCookie;
   9553     DWORD dwStopCookie;
   9554     DWORD dwFlags;
   9555 } AM_STREAM_INFO;
   9556 /*****************************************************************************
   9557  * IAMStreamControl interface
   9558  */
   9559 #ifndef __IAMStreamControl_INTERFACE_DEFINED__
   9560 #define __IAMStreamControl_INTERFACE_DEFINED__
   9561 
   9562 DEFINE_GUID(IID_IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   9563 #if defined(__cplusplus) && !defined(CINTERFACE)
   9564 MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
   9565 IAMStreamControl : public IUnknown
   9566 {
   9567     virtual HRESULT STDMETHODCALLTYPE StartAt(
   9568         const REFERENCE_TIME *ptStart,
   9569         DWORD dwCookie) = 0;
   9570 
   9571     virtual HRESULT STDMETHODCALLTYPE StopAt(
   9572         const REFERENCE_TIME *ptStop,
   9573         WINBOOL bSendExtra,
   9574         DWORD dwCookie) = 0;
   9575 
   9576     virtual HRESULT STDMETHODCALLTYPE GetInfo(
   9577         AM_STREAM_INFO *pInfo) = 0;
   9578 
   9579 };
   9580 #ifdef __CRT_UUID_DECL
   9581 __CRT_UUID_DECL(IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   9582 #endif
   9583 #else
   9584 typedef struct IAMStreamControlVtbl {
   9585     BEGIN_INTERFACE
   9586 
   9587     /*** IUnknown methods ***/
   9588     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9589         IAMStreamControl* This,
   9590         REFIID riid,
   9591         void **ppvObject);
   9592 
   9593     ULONG (STDMETHODCALLTYPE *AddRef)(
   9594         IAMStreamControl* This);
   9595 
   9596     ULONG (STDMETHODCALLTYPE *Release)(
   9597         IAMStreamControl* This);
   9598 
   9599     /*** IAMStreamControl methods ***/
   9600     HRESULT (STDMETHODCALLTYPE *StartAt)(
   9601         IAMStreamControl* This,
   9602         const REFERENCE_TIME *ptStart,
   9603         DWORD dwCookie);
   9604 
   9605     HRESULT (STDMETHODCALLTYPE *StopAt)(
   9606         IAMStreamControl* This,
   9607         const REFERENCE_TIME *ptStop,
   9608         WINBOOL bSendExtra,
   9609         DWORD dwCookie);
   9610 
   9611     HRESULT (STDMETHODCALLTYPE *GetInfo)(
   9612         IAMStreamControl* This,
   9613         AM_STREAM_INFO *pInfo);
   9614 
   9615     END_INTERFACE
   9616 } IAMStreamControlVtbl;
   9617 interface IAMStreamControl {
   9618     CONST_VTBL IAMStreamControlVtbl* lpVtbl;
   9619 };
   9620 
   9621 #ifdef COBJMACROS
   9622 #ifndef WIDL_C_INLINE_WRAPPERS
   9623 /*** IUnknown methods ***/
   9624 #define IAMStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9625 #define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   9626 #define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This)
   9627 /*** IAMStreamControl methods ***/
   9628 #define IAMStreamControl_StartAt(This,ptStart,dwCookie) (This)->lpVtbl->StartAt(This,ptStart,dwCookie)
   9629 #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) (This)->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie)
   9630 #define IAMStreamControl_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
   9631 #else
   9632 /*** IUnknown methods ***/
   9633 static FORCEINLINE HRESULT IAMStreamControl_QueryInterface(IAMStreamControl* This,REFIID riid,void **ppvObject) {
   9634     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9635 }
   9636 static FORCEINLINE ULONG IAMStreamControl_AddRef(IAMStreamControl* This) {
   9637     return This->lpVtbl->AddRef(This);
   9638 }
   9639 static FORCEINLINE ULONG IAMStreamControl_Release(IAMStreamControl* This) {
   9640     return This->lpVtbl->Release(This);
   9641 }
   9642 /*** IAMStreamControl methods ***/
   9643 static FORCEINLINE HRESULT IAMStreamControl_StartAt(IAMStreamControl* This,const REFERENCE_TIME *ptStart,DWORD dwCookie) {
   9644     return This->lpVtbl->StartAt(This,ptStart,dwCookie);
   9645 }
   9646 static FORCEINLINE HRESULT IAMStreamControl_StopAt(IAMStreamControl* This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie) {
   9647     return This->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie);
   9648 }
   9649 static FORCEINLINE HRESULT IAMStreamControl_GetInfo(IAMStreamControl* This,AM_STREAM_INFO *pInfo) {
   9650     return This->lpVtbl->GetInfo(This,pInfo);
   9651 }
   9652 #endif
   9653 #endif
   9654 
   9655 #endif
   9656 
   9657 HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy(
   9658     IAMStreamControl* This,
   9659     const REFERENCE_TIME *ptStart,
   9660     DWORD dwCookie);
   9661 void __RPC_STUB IAMStreamControl_StartAt_Stub(
   9662     IRpcStubBuffer* This,
   9663     IRpcChannelBuffer* pRpcChannelBuffer,
   9664     PRPC_MESSAGE pRpcMessage,
   9665     DWORD* pdwStubPhase);
   9666 HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy(
   9667     IAMStreamControl* This,
   9668     const REFERENCE_TIME *ptStop,
   9669     WINBOOL bSendExtra,
   9670     DWORD dwCookie);
   9671 void __RPC_STUB IAMStreamControl_StopAt_Stub(
   9672     IRpcStubBuffer* This,
   9673     IRpcChannelBuffer* pRpcChannelBuffer,
   9674     PRPC_MESSAGE pRpcMessage,
   9675     DWORD* pdwStubPhase);
   9676 HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy(
   9677     IAMStreamControl* This,
   9678     AM_STREAM_INFO *pInfo);
   9679 void __RPC_STUB IAMStreamControl_GetInfo_Stub(
   9680     IRpcStubBuffer* This,
   9681     IRpcChannelBuffer* pRpcChannelBuffer,
   9682     PRPC_MESSAGE pRpcMessage,
   9683     DWORD* pdwStubPhase);
   9684 
   9685 #endif  /* __IAMStreamControl_INTERFACE_DEFINED__ */
   9686 
   9687 #ifndef _IKsPropertySet_
   9688 #define _IKsPropertySet_
   9689 #define KSPROPERTY_SUPPORT_GET  1
   9690 #define KSPROPERTY_SUPPORT_SET  2
   9691 /*****************************************************************************
   9692  * IKsPropertySet interface
   9693  */
   9694 #ifndef __IKsPropertySet_INTERFACE_DEFINED__
   9695 #define __IKsPropertySet_INTERFACE_DEFINED__
   9696 
   9697 DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93);
   9698 #if defined(__cplusplus) && !defined(CINTERFACE)
   9699 MIDL_INTERFACE("31efac30-515c-11d0-a9aa-00aa0061be93")
   9700 IKsPropertySet : public IUnknown
   9701 {
   9702     virtual HRESULT STDMETHODCALLTYPE Set(
   9703         REFGUID guidPropSet,
   9704         DWORD dwPropID,
   9705         LPVOID pInstanceData,
   9706         DWORD cbInstanceData,
   9707         LPVOID pPropData,
   9708         DWORD cbPropData) = 0;
   9709 
   9710     virtual HRESULT STDMETHODCALLTYPE Get(
   9711         REFGUID guidPropSet,
   9712         DWORD dwPropID,
   9713         LPVOID pInstanceData,
   9714         DWORD cbInstanceData,
   9715         LPVOID pPropData,
   9716         DWORD cbPropData,
   9717         DWORD *pcbReturned) = 0;
   9718 
   9719     virtual HRESULT STDMETHODCALLTYPE QuerySupported(
   9720         REFGUID guidPropSet,
   9721         DWORD dwPropID,
   9722         DWORD *pTypeSupport) = 0;
   9723 
   9724 };
   9725 #ifdef __CRT_UUID_DECL
   9726 __CRT_UUID_DECL(IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93)
   9727 #endif
   9728 #else
   9729 typedef struct IKsPropertySetVtbl {
   9730     BEGIN_INTERFACE
   9731 
   9732     /*** IUnknown methods ***/
   9733     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9734         IKsPropertySet* This,
   9735         REFIID riid,
   9736         void **ppvObject);
   9737 
   9738     ULONG (STDMETHODCALLTYPE *AddRef)(
   9739         IKsPropertySet* This);
   9740 
   9741     ULONG (STDMETHODCALLTYPE *Release)(
   9742         IKsPropertySet* This);
   9743 
   9744     /*** IKsPropertySet methods ***/
   9745     HRESULT (STDMETHODCALLTYPE *Set)(
   9746         IKsPropertySet* This,
   9747         REFGUID guidPropSet,
   9748         DWORD dwPropID,
   9749         LPVOID pInstanceData,
   9750         DWORD cbInstanceData,
   9751         LPVOID pPropData,
   9752         DWORD cbPropData);
   9753 
   9754     HRESULT (STDMETHODCALLTYPE *Get)(
   9755         IKsPropertySet* This,
   9756         REFGUID guidPropSet,
   9757         DWORD dwPropID,
   9758         LPVOID pInstanceData,
   9759         DWORD cbInstanceData,
   9760         LPVOID pPropData,
   9761         DWORD cbPropData,
   9762         DWORD *pcbReturned);
   9763 
   9764     HRESULT (STDMETHODCALLTYPE *QuerySupported)(
   9765         IKsPropertySet* This,
   9766         REFGUID guidPropSet,
   9767         DWORD dwPropID,
   9768         DWORD *pTypeSupport);
   9769 
   9770     END_INTERFACE
   9771 } IKsPropertySetVtbl;
   9772 interface IKsPropertySet {
   9773     CONST_VTBL IKsPropertySetVtbl* lpVtbl;
   9774 };
   9775 
   9776 #ifdef COBJMACROS
   9777 #ifndef WIDL_C_INLINE_WRAPPERS
   9778 /*** IUnknown methods ***/
   9779 #define IKsPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9780 #define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
   9781 #define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This)
   9782 /*** IKsPropertySet methods ***/
   9783 #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) (This)->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
   9784 #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) (This)->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
   9785 #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) (This)->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
   9786 #else
   9787 /*** IUnknown methods ***/
   9788 static FORCEINLINE HRESULT IKsPropertySet_QueryInterface(IKsPropertySet* This,REFIID riid,void **ppvObject) {
   9789     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9790 }
   9791 static FORCEINLINE ULONG IKsPropertySet_AddRef(IKsPropertySet* This) {
   9792     return This->lpVtbl->AddRef(This);
   9793 }
   9794 static FORCEINLINE ULONG IKsPropertySet_Release(IKsPropertySet* This) {
   9795     return This->lpVtbl->Release(This);
   9796 }
   9797 /*** IKsPropertySet methods ***/
   9798 static FORCEINLINE HRESULT IKsPropertySet_Set(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData) {
   9799     return This->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
   9800 }
   9801 static FORCEINLINE HRESULT IKsPropertySet_Get(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned) {
   9802     return This->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned);
   9803 }
   9804 static FORCEINLINE HRESULT IKsPropertySet_QuerySupported(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport) {
   9805     return This->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport);
   9806 }
   9807 #endif
   9808 #endif
   9809 
   9810 #endif
   9811 
   9812 HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy(
   9813     IKsPropertySet* This,
   9814     REFGUID guidPropSet,
   9815     DWORD dwPropID,
   9816     LPVOID pInstanceData,
   9817     DWORD cbInstanceData,
   9818     LPVOID pPropData,
   9819     DWORD cbPropData);
   9820 void __RPC_STUB IKsPropertySet_Set_Stub(
   9821     IRpcStubBuffer* This,
   9822     IRpcChannelBuffer* pRpcChannelBuffer,
   9823     PRPC_MESSAGE pRpcMessage,
   9824     DWORD* pdwStubPhase);
   9825 HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy(
   9826     IKsPropertySet* This,
   9827     REFGUID guidPropSet,
   9828     DWORD dwPropID,
   9829     LPVOID pInstanceData,
   9830     DWORD cbInstanceData,
   9831     LPVOID pPropData,
   9832     DWORD cbPropData,
   9833     DWORD *pcbReturned);
   9834 void __RPC_STUB IKsPropertySet_Get_Stub(
   9835     IRpcStubBuffer* This,
   9836     IRpcChannelBuffer* pRpcChannelBuffer,
   9837     PRPC_MESSAGE pRpcMessage,
   9838     DWORD* pdwStubPhase);
   9839 HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy(
   9840     IKsPropertySet* This,
   9841     REFGUID guidPropSet,
   9842     DWORD dwPropID,
   9843     DWORD *pTypeSupport);
   9844 void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
   9845     IRpcStubBuffer* This,
   9846     IRpcChannelBuffer* pRpcChannelBuffer,
   9847     PRPC_MESSAGE pRpcMessage,
   9848     DWORD* pdwStubPhase);
   9849 
   9850 #endif  /* __IKsPropertySet_INTERFACE_DEFINED__ */
   9851 
   9852 #endif /* _IKsPropertySet_ */
   9853 /*****************************************************************************
   9854  * IMediaPropertyBag interface
   9855  */
   9856 #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
   9857 #define __IMediaPropertyBag_INTERFACE_DEFINED__
   9858 
   9859 typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
   9860 DEFINE_GUID(IID_IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86);
   9861 #if defined(__cplusplus) && !defined(CINTERFACE)
   9862 MIDL_INTERFACE("6025a880-c0d5-11d0-bd4e-00a0c911ce86")
   9863 IMediaPropertyBag : public IPropertyBag
   9864 {
   9865     virtual HRESULT STDMETHODCALLTYPE EnumProperty(
   9866         ULONG iProperty,
   9867         VARIANT *pvarPropertyName,
   9868         VARIANT *pvarPropertyValue) = 0;
   9869 
   9870 };
   9871 #ifdef __CRT_UUID_DECL
   9872 __CRT_UUID_DECL(IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86)
   9873 #endif
   9874 #else
   9875 typedef struct IMediaPropertyBagVtbl {
   9876     BEGIN_INTERFACE
   9877 
   9878     /*** IUnknown methods ***/
   9879     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9880         IMediaPropertyBag* This,
   9881         REFIID riid,
   9882         void **ppvObject);
   9883 
   9884     ULONG (STDMETHODCALLTYPE *AddRef)(
   9885         IMediaPropertyBag* This);
   9886 
   9887     ULONG (STDMETHODCALLTYPE *Release)(
   9888         IMediaPropertyBag* This);
   9889 
   9890     /*** IPropertyBag methods ***/
   9891     HRESULT (STDMETHODCALLTYPE *Read)(
   9892         IMediaPropertyBag* This,
   9893         LPCOLESTR pszPropName,
   9894         VARIANT *pVar,
   9895         IErrorLog *pErrorLog);
   9896 
   9897     HRESULT (STDMETHODCALLTYPE *Write)(
   9898         IMediaPropertyBag* This,
   9899         LPCOLESTR pszPropName,
   9900         VARIANT *pVar);
   9901 
   9902     /*** IMediaPropertyBag methods ***/
   9903     HRESULT (STDMETHODCALLTYPE *EnumProperty)(
   9904         IMediaPropertyBag* This,
   9905         ULONG iProperty,
   9906         VARIANT *pvarPropertyName,
   9907         VARIANT *pvarPropertyValue);
   9908 
   9909     END_INTERFACE
   9910 } IMediaPropertyBagVtbl;
   9911 interface IMediaPropertyBag {
   9912     CONST_VTBL IMediaPropertyBagVtbl* lpVtbl;
   9913 };
   9914 
   9915 #ifdef COBJMACROS
   9916 #ifndef WIDL_C_INLINE_WRAPPERS
   9917 /*** IUnknown methods ***/
   9918 #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9919 #define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
   9920 #define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
   9921 /*** IPropertyBag methods ***/
   9922 #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog)
   9923 #define IMediaPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar)
   9924 /*** IMediaPropertyBag methods ***/
   9925 #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) (This)->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
   9926 #else
   9927 /*** IUnknown methods ***/
   9928 static FORCEINLINE HRESULT IMediaPropertyBag_QueryInterface(IMediaPropertyBag* This,REFIID riid,void **ppvObject) {
   9929     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9930 }
   9931 static FORCEINLINE ULONG IMediaPropertyBag_AddRef(IMediaPropertyBag* This) {
   9932     return This->lpVtbl->AddRef(This);
   9933 }
   9934 static FORCEINLINE ULONG IMediaPropertyBag_Release(IMediaPropertyBag* This) {
   9935     return This->lpVtbl->Release(This);
   9936 }
   9937 /*** IPropertyBag methods ***/
   9938 static FORCEINLINE HRESULT IMediaPropertyBag_Read(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) {
   9939     return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog);
   9940 }
   9941 static FORCEINLINE HRESULT IMediaPropertyBag_Write(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar) {
   9942     return This->lpVtbl->Write(This,pszPropName,pVar);
   9943 }
   9944 /*** IMediaPropertyBag methods ***/
   9945 static FORCEINLINE HRESULT IMediaPropertyBag_EnumProperty(IMediaPropertyBag* This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue) {
   9946     return This->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue);
   9947 }
   9948 #endif
   9949 #endif
   9950 
   9951 #endif
   9952 
   9953 HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy(
   9954     IMediaPropertyBag* This,
   9955     ULONG iProperty,
   9956     VARIANT *pvarPropertyName,
   9957     VARIANT *pvarPropertyValue);
   9958 void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
   9959     IRpcStubBuffer* This,
   9960     IRpcChannelBuffer* pRpcChannelBuffer,
   9961     PRPC_MESSAGE pRpcMessage,
   9962     DWORD* pdwStubPhase);
   9963 
   9964 #endif  /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
   9965 
   9966 /*****************************************************************************
   9967  * IPersistMediaPropertyBag interface
   9968  */
   9969 #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
   9970 #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
   9971 
   9972 typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
   9973 DEFINE_GUID(IID_IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86);
   9974 #if defined(__cplusplus) && !defined(CINTERFACE)
   9975 MIDL_INTERFACE("5738e040-b67f-11d0-bd4d-00a0c911ce86")
   9976 IPersistMediaPropertyBag : public IPersist
   9977 {
   9978     virtual HRESULT STDMETHODCALLTYPE InitNew(
   9979         ) = 0;
   9980 
   9981     virtual HRESULT STDMETHODCALLTYPE Load(
   9982         IMediaPropertyBag *pPropBag,
   9983         IErrorLog *pErrorLog) = 0;
   9984 
   9985     virtual HRESULT STDMETHODCALLTYPE Save(
   9986         IMediaPropertyBag *pPropBag,
   9987         WINBOOL fClearDirty,
   9988         WINBOOL fSaveAllProperties) = 0;
   9989 
   9990 };
   9991 #ifdef __CRT_UUID_DECL
   9992 __CRT_UUID_DECL(IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86)
   9993 #endif
   9994 #else
   9995 typedef struct IPersistMediaPropertyBagVtbl {
   9996     BEGIN_INTERFACE
   9997 
   9998     /*** IUnknown methods ***/
   9999     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   10000         IPersistMediaPropertyBag* This,
   10001         REFIID riid,
   10002         void **ppvObject);
   10003 
   10004     ULONG (STDMETHODCALLTYPE *AddRef)(
   10005         IPersistMediaPropertyBag* This);
   10006 
   10007     ULONG (STDMETHODCALLTYPE *Release)(
   10008         IPersistMediaPropertyBag* This);
   10009 
   10010     /*** IPersist methods ***/
   10011     HRESULT (STDMETHODCALLTYPE *GetClassID)(
   10012         IPersistMediaPropertyBag* This,
   10013         CLSID *pClassID);
   10014 
   10015     /*** IPersistMediaPropertyBag methods ***/
   10016     HRESULT (STDMETHODCALLTYPE *InitNew)(
   10017         IPersistMediaPropertyBag* This);
   10018 
   10019     HRESULT (STDMETHODCALLTYPE *Load)(
   10020         IPersistMediaPropertyBag* This,
   10021         IMediaPropertyBag *pPropBag,
   10022         IErrorLog *pErrorLog);
   10023 
   10024     HRESULT (STDMETHODCALLTYPE *Save)(
   10025         IPersistMediaPropertyBag* This,
   10026         IMediaPropertyBag *pPropBag,
   10027         WINBOOL fClearDirty,
   10028         WINBOOL fSaveAllProperties);
   10029 
   10030     END_INTERFACE
   10031 } IPersistMediaPropertyBagVtbl;
   10032 interface IPersistMediaPropertyBag {
   10033     CONST_VTBL IPersistMediaPropertyBagVtbl* lpVtbl;
   10034 };
   10035 
   10036 #ifdef COBJMACROS
   10037 #ifndef WIDL_C_INLINE_WRAPPERS
   10038 /*** IUnknown methods ***/
   10039 #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10040 #define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
   10041 #define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
   10042 /*** IPersist methods ***/
   10043 #define IPersistMediaPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   10044 /*** IPersistMediaPropertyBag methods ***/
   10045 #define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This)
   10046 #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog)
   10047 #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
   10048 #else
   10049 /*** IUnknown methods ***/
   10050 static FORCEINLINE HRESULT IPersistMediaPropertyBag_QueryInterface(IPersistMediaPropertyBag* This,REFIID riid,void **ppvObject) {
   10051     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10052 }
   10053 static FORCEINLINE ULONG IPersistMediaPropertyBag_AddRef(IPersistMediaPropertyBag* This) {
   10054     return This->lpVtbl->AddRef(This);
   10055 }
   10056 static FORCEINLINE ULONG IPersistMediaPropertyBag_Release(IPersistMediaPropertyBag* This) {
   10057     return This->lpVtbl->Release(This);
   10058 }
   10059 /*** IPersist methods ***/
   10060 static FORCEINLINE HRESULT IPersistMediaPropertyBag_GetClassID(IPersistMediaPropertyBag* This,CLSID *pClassID) {
   10061     return This->lpVtbl->GetClassID(This,pClassID);
   10062 }
   10063 /*** IPersistMediaPropertyBag methods ***/
   10064 static FORCEINLINE HRESULT IPersistMediaPropertyBag_InitNew(IPersistMediaPropertyBag* This) {
   10065     return This->lpVtbl->InitNew(This);
   10066 }
   10067 static FORCEINLINE HRESULT IPersistMediaPropertyBag_Load(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog) {
   10068     return This->lpVtbl->Load(This,pPropBag,pErrorLog);
   10069 }
   10070 static FORCEINLINE HRESULT IPersistMediaPropertyBag_Save(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) {
   10071     return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties);
   10072 }
   10073 #endif
   10074 #endif
   10075 
   10076 #endif
   10077 
   10078 HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy(
   10079     IPersistMediaPropertyBag* This);
   10080 void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
   10081     IRpcStubBuffer* This,
   10082     IRpcChannelBuffer* pRpcChannelBuffer,
   10083     PRPC_MESSAGE pRpcMessage,
   10084     DWORD* pdwStubPhase);
   10085 HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy(
   10086     IPersistMediaPropertyBag* This,
   10087     IMediaPropertyBag *pPropBag,
   10088     IErrorLog *pErrorLog);
   10089 void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
   10090     IRpcStubBuffer* This,
   10091     IRpcChannelBuffer* pRpcChannelBuffer,
   10092     PRPC_MESSAGE pRpcMessage,
   10093     DWORD* pdwStubPhase);
   10094 HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy(
   10095     IPersistMediaPropertyBag* This,
   10096     IMediaPropertyBag *pPropBag,
   10097     WINBOOL fClearDirty,
   10098     WINBOOL fSaveAllProperties);
   10099 void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
   10100     IRpcStubBuffer* This,
   10101     IRpcChannelBuffer* pRpcChannelBuffer,
   10102     PRPC_MESSAGE pRpcMessage,
   10103     DWORD* pdwStubPhase);
   10104 
   10105 #endif  /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
   10106 
   10107 /*****************************************************************************
   10108  * ISeekingPassThru interface
   10109  */
   10110 #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
   10111 #define __ISeekingPassThru_INTERFACE_DEFINED__
   10112 
   10113 DEFINE_GUID(IID_ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   10114 #if defined(__cplusplus) && !defined(CINTERFACE)
   10115 MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
   10116 ISeekingPassThru : public IUnknown
   10117 {
   10118     virtual HRESULT STDMETHODCALLTYPE Init(
   10119         WINBOOL bSupportRendering,
   10120         IPin *pPin) = 0;
   10121 
   10122 };
   10123 #ifdef __CRT_UUID_DECL
   10124 __CRT_UUID_DECL(ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   10125 #endif
   10126 #else
   10127 typedef struct ISeekingPassThruVtbl {
   10128     BEGIN_INTERFACE
   10129 
   10130     /*** IUnknown methods ***/
   10131     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   10132         ISeekingPassThru* This,
   10133         REFIID riid,
   10134         void **ppvObject);
   10135 
   10136     ULONG (STDMETHODCALLTYPE *AddRef)(
   10137         ISeekingPassThru* This);
   10138 
   10139     ULONG (STDMETHODCALLTYPE *Release)(
   10140         ISeekingPassThru* This);
   10141 
   10142     /*** ISeekingPassThru methods ***/
   10143     HRESULT (STDMETHODCALLTYPE *Init)(
   10144         ISeekingPassThru* This,
   10145         WINBOOL bSupportRendering,
   10146         IPin *pPin);
   10147 
   10148     END_INTERFACE
   10149 } ISeekingPassThruVtbl;
   10150 interface ISeekingPassThru {
   10151     CONST_VTBL ISeekingPassThruVtbl* lpVtbl;
   10152 };
   10153 
   10154 #ifdef COBJMACROS
   10155 #ifndef WIDL_C_INLINE_WRAPPERS
   10156 /*** IUnknown methods ***/
   10157 #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10158 #define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This)
   10159 #define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This)
   10160 /*** ISeekingPassThru methods ***/
   10161 #define ISeekingPassThru_Init(This,bSupportRendering,pPin) (This)->lpVtbl->Init(This,bSupportRendering,pPin)
   10162 #else
   10163 /*** IUnknown methods ***/
   10164 static FORCEINLINE HRESULT ISeekingPassThru_QueryInterface(ISeekingPassThru* This,REFIID riid,void **ppvObject) {
   10165     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10166 }
   10167 static FORCEINLINE ULONG ISeekingPassThru_AddRef(ISeekingPassThru* This) {
   10168     return This->lpVtbl->AddRef(This);
   10169 }
   10170 static FORCEINLINE ULONG ISeekingPassThru_Release(ISeekingPassThru* This) {
   10171     return This->lpVtbl->Release(This);
   10172 }
   10173 /*** ISeekingPassThru methods ***/
   10174 static FORCEINLINE HRESULT ISeekingPassThru_Init(ISeekingPassThru* This,WINBOOL bSupportRendering,IPin *pPin) {
   10175     return This->lpVtbl->Init(This,bSupportRendering,pPin);
   10176 }
   10177 #endif
   10178 #endif
   10179 
   10180 #endif
   10181 
   10182 HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy(
   10183     ISeekingPassThru* This,
   10184     WINBOOL bSupportRendering,
   10185     IPin *pPin);
   10186 void __RPC_STUB ISeekingPassThru_Init_Stub(
   10187     IRpcStubBuffer* This,
   10188     IRpcChannelBuffer* pRpcChannelBuffer,
   10189     PRPC_MESSAGE pRpcMessage,
   10190     DWORD* pdwStubPhase);
   10191 
   10192 #endif  /* __ISeekingPassThru_INTERFACE_DEFINED__ */
   10193 
   10194 enum _AM_FILTER_MISC_FLAGS {
   10195     AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
   10196     AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
   10197 };
   10198 
   10199 /*****************************************************************************
   10200  * IAMFilterMiscFlags interface
   10201  */
   10202 #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
   10203 #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
   10204 
   10205 DEFINE_GUID(IID_IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   10206 #if defined(__cplusplus) && !defined(CINTERFACE)
   10207 MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
   10208 IAMFilterMiscFlags : public IUnknown
   10209 {
   10210     virtual ULONG STDMETHODCALLTYPE GetMiscFlags(
   10211         ) = 0;
   10212 
   10213 };
   10214 #ifdef __CRT_UUID_DECL
   10215 __CRT_UUID_DECL(IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   10216 #endif
   10217 #else
   10218 typedef struct IAMFilterMiscFlagsVtbl {
   10219     BEGIN_INTERFACE
   10220 
   10221     /*** IUnknown methods ***/
   10222     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   10223         IAMFilterMiscFlags* This,
   10224         REFIID riid,
   10225         void **ppvObject);
   10226 
   10227     ULONG (STDMETHODCALLTYPE *AddRef)(
   10228         IAMFilterMiscFlags* This);
   10229 
   10230     ULONG (STDMETHODCALLTYPE *Release)(
   10231         IAMFilterMiscFlags* This);
   10232 
   10233     /*** IAMFilterMiscFlags methods ***/
   10234     ULONG (STDMETHODCALLTYPE *GetMiscFlags)(
   10235         IAMFilterMiscFlags* This);
   10236 
   10237     END_INTERFACE
   10238 } IAMFilterMiscFlagsVtbl;
   10239 interface IAMFilterMiscFlags {
   10240     CONST_VTBL IAMFilterMiscFlagsVtbl* lpVtbl;
   10241 };
   10242 
   10243 #ifdef COBJMACROS
   10244 #ifndef WIDL_C_INLINE_WRAPPERS
   10245 /*** IUnknown methods ***/
   10246 #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10247 #define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This)
   10248 #define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This)
   10249 /*** IAMFilterMiscFlags methods ***/
   10250 #define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This)
   10251 #else
   10252 /*** IUnknown methods ***/
   10253 static FORCEINLINE HRESULT IAMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags* This,REFIID riid,void **ppvObject) {
   10254     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10255 }
   10256 static FORCEINLINE ULONG IAMFilterMiscFlags_AddRef(IAMFilterMiscFlags* This) {
   10257     return This->lpVtbl->AddRef(This);
   10258 }
   10259 static FORCEINLINE ULONG IAMFilterMiscFlags_Release(IAMFilterMiscFlags* This) {
   10260     return This->lpVtbl->Release(This);
   10261 }
   10262 /*** IAMFilterMiscFlags methods ***/
   10263 static FORCEINLINE ULONG IAMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags* This) {
   10264     return This->lpVtbl->GetMiscFlags(This);
   10265 }
   10266 #endif
   10267 #endif
   10268 
   10269 #endif
   10270 
   10271 ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy(
   10272     IAMFilterMiscFlags* This);
   10273 void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
   10274     IRpcStubBuffer* This,
   10275     IRpcChannelBuffer* pRpcChannelBuffer,
   10276     PRPC_MESSAGE pRpcMessage,
   10277     DWORD* pdwStubPhase);
   10278 
   10279 #endif  /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
   10280 
   10281 /*****************************************************************************
   10282  * IAMGraphBuilderCallback interface
   10283  */
   10284 #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
   10285 #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
   10286 
   10287 DEFINE_GUID(IID_IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79);
   10288 #if defined(__cplusplus) && !defined(CINTERFACE)
   10289 MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79")
   10290 IAMGraphBuilderCallback : public IUnknown
   10291 {
   10292     virtual HRESULT STDMETHODCALLTYPE SelectedFilter(
   10293         IMoniker *pMon) = 0;
   10294 
   10295     virtual HRESULT STDMETHODCALLTYPE CreatedFilter(
   10296         IBaseFilter *pFil) = 0;
   10297 
   10298 };
   10299 #ifdef __CRT_UUID_DECL
   10300 __CRT_UUID_DECL(IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79)
   10301 #endif
   10302 #else
   10303 typedef struct IAMGraphBuilderCallbackVtbl {
   10304     BEGIN_INTERFACE
   10305 
   10306     /*** IUnknown methods ***/
   10307     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   10308         IAMGraphBuilderCallback* This,
   10309         REFIID riid,
   10310         void **ppvObject);
   10311 
   10312     ULONG (STDMETHODCALLTYPE *AddRef)(
   10313         IAMGraphBuilderCallback* This);
   10314 
   10315     ULONG (STDMETHODCALLTYPE *Release)(
   10316         IAMGraphBuilderCallback* This);
   10317 
   10318     /*** IAMGraphBuilderCallback methods ***/
   10319     HRESULT (STDMETHODCALLTYPE *SelectedFilter)(
   10320         IAMGraphBuilderCallback* This,
   10321         IMoniker *pMon);
   10322 
   10323     HRESULT (STDMETHODCALLTYPE *CreatedFilter)(
   10324         IAMGraphBuilderCallback* This,
   10325         IBaseFilter *pFil);
   10326 
   10327     END_INTERFACE
   10328 } IAMGraphBuilderCallbackVtbl;
   10329 interface IAMGraphBuilderCallback {
   10330     CONST_VTBL IAMGraphBuilderCallbackVtbl* lpVtbl;
   10331 };
   10332 
   10333 #ifdef COBJMACROS
   10334 #ifndef WIDL_C_INLINE_WRAPPERS
   10335 /*** IUnknown methods ***/
   10336 #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10337 #define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   10338 #define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This)
   10339 /*** IAMGraphBuilderCallback methods ***/
   10340 #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) (This)->lpVtbl->SelectedFilter(This,pMon)
   10341 #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) (This)->lpVtbl->CreatedFilter(This,pFil)
   10342 #else
   10343 /*** IUnknown methods ***/
   10344 static FORCEINLINE HRESULT IAMGraphBuilderCallback_QueryInterface(IAMGraphBuilderCallback* This,REFIID riid,void **ppvObject) {
   10345     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10346 }
   10347 static FORCEINLINE ULONG IAMGraphBuilderCallback_AddRef(IAMGraphBuilderCallback* This) {
   10348     return This->lpVtbl->AddRef(This);
   10349 }
   10350 static FORCEINLINE ULONG IAMGraphBuilderCallback_Release(IAMGraphBuilderCallback* This) {
   10351     return This->lpVtbl->Release(This);
   10352 }
   10353 /*** IAMGraphBuilderCallback methods ***/
   10354 static FORCEINLINE HRESULT IAMGraphBuilderCallback_SelectedFilter(IAMGraphBuilderCallback* This,IMoniker *pMon) {
   10355     return This->lpVtbl->SelectedFilter(This,pMon);
   10356 }
   10357 static FORCEINLINE HRESULT IAMGraphBuilderCallback_CreatedFilter(IAMGraphBuilderCallback* This,IBaseFilter *pFil) {
   10358     return This->lpVtbl->CreatedFilter(This,pFil);
   10359 }
   10360 #endif
   10361 #endif
   10362 
   10363 #endif
   10364 
   10365 HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_SelectedFilter_Proxy(
   10366     IAMGraphBuilderCallback* This,
   10367     IMoniker *pMon);
   10368 void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(
   10369     IRpcStubBuffer* This,
   10370     IRpcChannelBuffer* pRpcChannelBuffer,
   10371     PRPC_MESSAGE pRpcMessage,
   10372     DWORD* pdwStubPhase);
   10373 HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_CreatedFilter_Proxy(
   10374     IAMGraphBuilderCallback* This,
   10375     IBaseFilter *pFil);
   10376 void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(
   10377     IRpcStubBuffer* This,
   10378     IRpcChannelBuffer* pRpcChannelBuffer,
   10379     PRPC_MESSAGE pRpcMessage,
   10380     DWORD* pdwStubPhase);
   10381 
   10382 #endif  /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
   10383 
   10384 /*****************************************************************************
   10385  * IAMVfwCaptureDialogs interface
   10386  */
   10387 #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
   10388 #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
   10389 
   10390 DEFINE_GUID(IID_IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
   10391 #if defined(__cplusplus) && !defined(CINTERFACE)
   10392 MIDL_INTERFACE("d8d715a0-6e5e-11d0-b3f0-00aa003761c5")
   10393 IAMVfwCaptureDialogs : public IUnknown
   10394 {
   10395     virtual HRESULT STDMETHODCALLTYPE HasDialog(
   10396         int dialog) = 0;
   10397 
   10398     virtual HRESULT STDMETHODCALLTYPE ShowDialog(
   10399         int dialog,
   10400         HWND hwnd) = 0;
   10401 
   10402     virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(
   10403         int dialog,
   10404         int msg,
   10405         LONG data1,
   10406         LONG data2) = 0;
   10407 
   10408 };
   10409 #ifdef __CRT_UUID_DECL
   10410 __CRT_UUID_DECL(IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
   10411 #endif
   10412 #else
   10413 typedef struct IAMVfwCaptureDialogsVtbl {
   10414     BEGIN_INTERFACE
   10415 
   10416     /*** IUnknown methods ***/
   10417     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   10418         IAMVfwCaptureDialogs* This,
   10419         REFIID riid,
   10420         void **ppvObject);
   10421 
   10422     ULONG (STDMETHODCALLTYPE *AddRef)(
   10423         IAMVfwCaptureDialogs* This);
   10424 
   10425     ULONG (STDMETHODCALLTYPE *Release)(
   10426         IAMVfwCaptureDialogs* This);
   10427 
   10428     /*** IAMVfwCaptureDialogs methods ***/
   10429     HRESULT (STDMETHODCALLTYPE *HasDialog)(
   10430         IAMVfwCaptureDialogs* This,
   10431         int dialog);
   10432 
   10433     HRESULT (STDMETHODCALLTYPE *ShowDialog)(
   10434         IAMVfwCaptureDialogs* This,
   10435         int dialog,
   10436         HWND hwnd);
   10437 
   10438     HRESULT (STDMETHODCALLTYPE *SendDriverMessage)(
   10439         IAMVfwCaptureDialogs* This,
   10440         int dialog,
   10441         int msg,
   10442         LONG data1,
   10443         LONG data2);
   10444 
   10445     END_INTERFACE
   10446 } IAMVfwCaptureDialogsVtbl;
   10447 interface IAMVfwCaptureDialogs {
   10448     CONST_VTBL IAMVfwCaptureDialogsVtbl* lpVtbl;
   10449 };
   10450 
   10451 #ifdef COBJMACROS
   10452 #ifndef WIDL_C_INLINE_WRAPPERS
   10453 /*** IUnknown methods ***/
   10454 #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10455 #define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
   10456 #define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This)
   10457 /*** IAMVfwCaptureDialogs methods ***/
   10458 #define IAMVfwCaptureDialogs_HasDialog(This,dialog) (This)->lpVtbl->HasDialog(This,dialog)
   10459 #define IAMVfwCaptureDialogs_ShowDialog(This,dialog,hwnd) (This)->lpVtbl->ShowDialog(This,dialog,hwnd)
   10460 #define IAMVfwCaptureDialogs_SendDriverMessage(This,dialog,msg,data1,data2) (This)->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2)
   10461 #else
   10462 /*** IUnknown methods ***/
   10463 static FORCEINLINE HRESULT IAMVfwCaptureDialogs_QueryInterface(IAMVfwCaptureDialogs* This,REFIID riid,void **ppvObject) {
   10464     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10465 }
   10466 static FORCEINLINE ULONG IAMVfwCaptureDialogs_AddRef(IAMVfwCaptureDialogs* This) {
   10467     return This->lpVtbl->AddRef(This);
   10468 }
   10469 static FORCEINLINE ULONG IAMVfwCaptureDialogs_Release(IAMVfwCaptureDialogs* This) {
   10470     return This->lpVtbl->Release(This);
   10471 }
   10472 /*** IAMVfwCaptureDialogs methods ***/
   10473 static FORCEINLINE HRESULT IAMVfwCaptureDialogs_HasDialog(IAMVfwCaptureDialogs* This,int dialog) {
   10474     return This->lpVtbl->HasDialog(This,dialog);
   10475 }
   10476 static FORCEINLINE HRESULT IAMVfwCaptureDialogs_ShowDialog(IAMVfwCaptureDialogs* This,int dialog,HWND hwnd) {
   10477     return This->lpVtbl->ShowDialog(This,dialog,hwnd);
   10478 }
   10479 static FORCEINLINE HRESULT IAMVfwCaptureDialogs_SendDriverMessage(IAMVfwCaptureDialogs* This,int dialog,int msg,LONG data1,LONG data2) {
   10480     return This->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2);
   10481 }
   10482 #endif
   10483 #endif
   10484 
   10485 #endif
   10486 
   10487 HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy(
   10488     IAMVfwCaptureDialogs* This,
   10489     int dialog);
   10490 void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
   10491     IRpcStubBuffer* This,
   10492     IRpcChannelBuffer* pRpcChannelBuffer,
   10493     PRPC_MESSAGE pRpcMessage,
   10494     DWORD* pdwStubPhase);
   10495 HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy(
   10496     IAMVfwCaptureDialogs* This,
   10497     int dialog,
   10498     HWND hwnd);
   10499 void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
   10500     IRpcStubBuffer* This,
   10501     IRpcChannelBuffer* pRpcChannelBuffer,
   10502     PRPC_MESSAGE pRpcMessage,
   10503     DWORD* pdwStubPhase);
   10504 HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy(
   10505     IAMVfwCaptureDialogs* This,
   10506     int dialog,
   10507     int msg,
   10508     LONG data1,
   10509     LONG data2);
   10510 void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
   10511     IRpcStubBuffer* This,
   10512     IRpcChannelBuffer* pRpcChannelBuffer,
   10513     PRPC_MESSAGE pRpcMessage,
   10514     DWORD* pdwStubPhase);
   10515 
   10516 #endif  /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
   10517 
   10518 #ifndef __IReferenceClock2_FWD_DEFINED__
   10519 #define __IReferenceClock2_FWD_DEFINED__
   10520 typedef struct IReferenceClock2 IReferenceClock2;
   10521 #endif
   10522 #ifndef __IDistributorNotify_FWD_DEFINED__
   10523 #define __IDistributorNotify_FWD_DEFINED__
   10524 typedef struct IDistributorNotify IDistributorNotify;
   10525 #endif
   10526 
   10527 #ifndef __IAMVideoCompression_FWD_DEFINED__
   10528 #define __IAMVideoCompression_FWD_DEFINED__
   10529 typedef struct IAMVideoCompression IAMVideoCompression;
   10530 #endif
   10531 
   10532 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
   10533 #define __IAMVfwCompressDialogs_FWD_DEFINED__
   10534 typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs;
   10535 #endif
   10536 
   10537 #ifndef __IAMDroppedFrames_FWD_DEFINED__
   10538 #define __IAMDroppedFrames_FWD_DEFINED__
   10539 typedef struct IAMDroppedFrames IAMDroppedFrames;
   10540 #endif
   10541 
   10542 #ifndef __IAMAudioInputMixer_FWD_DEFINED__
   10543 #define __IAMAudioInputMixer_FWD_DEFINED__
   10544 typedef struct IAMAudioInputMixer IAMAudioInputMixer;
   10545 #endif
   10546 
   10547 #ifndef __IAMBufferNegotiation_FWD_DEFINED__
   10548 #define __IAMBufferNegotiation_FWD_DEFINED__
   10549 typedef struct IAMBufferNegotiation IAMBufferNegotiation;
   10550 #endif
   10551 
   10552 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
   10553 #define __IAMAnalogVideoDecoder_FWD_DEFINED__
   10554 typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
   10555 #endif
   10556 
   10557 #ifndef __IAMCameraControl_FWD_DEFINED__
   10558 #define __IAMCameraControl_FWD_DEFINED__
   10559 typedef struct IAMCameraControl IAMCameraControl;
   10560 #endif
   10561 
   10562 #ifndef __IAMVideoControl_FWD_DEFINED__
   10563 #define __IAMVideoControl_FWD_DEFINED__
   10564 typedef struct IAMVideoControl IAMVideoControl;
   10565 #endif
   10566 
   10567 #ifndef __IAMCrossbar_FWD_DEFINED__
   10568 #define __IAMCrossbar_FWD_DEFINED__
   10569 typedef struct IAMCrossbar IAMCrossbar;
   10570 #endif
   10571 
   10572 #ifndef __IAMTuner_FWD_DEFINED__
   10573 #define __IAMTuner_FWD_DEFINED__
   10574 typedef struct IAMTuner IAMTuner;
   10575 #endif
   10576 
   10577 #ifndef __IAMTunerNotification_FWD_DEFINED__
   10578 #define __IAMTunerNotification_FWD_DEFINED__
   10579 typedef struct IAMTunerNotification IAMTunerNotification;
   10580 #endif
   10581 
   10582 #ifndef __IAMTVTuner_FWD_DEFINED__
   10583 #define __IAMTVTuner_FWD_DEFINED__
   10584 typedef struct IAMTVTuner IAMTVTuner;
   10585 #endif
   10586 
   10587 #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
   10588 #define __IBPCSatelliteTuner_FWD_DEFINED__
   10589 typedef struct IBPCSatelliteTuner IBPCSatelliteTuner;
   10590 #endif
   10591 
   10592 #ifndef __IAMTVAudio_FWD_DEFINED__
   10593 #define __IAMTVAudio_FWD_DEFINED__
   10594 typedef struct IAMTVAudio IAMTVAudio;
   10595 #endif
   10596 
   10597 #ifndef __IAMTVAudioNotification_FWD_DEFINED__
   10598 #define __IAMTVAudioNotification_FWD_DEFINED__
   10599 typedef struct IAMTVAudioNotification IAMTVAudioNotification;
   10600 #endif
   10601 
   10602 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
   10603 #define __IAMAnalogVideoEncoder_FWD_DEFINED__
   10604 typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
   10605 #endif
   10606 
   10607 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
   10608 #define __IAMPhysicalPinInfo_FWD_DEFINED__
   10609 typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo;
   10610 #endif
   10611 
   10612 #ifndef __IAMExtDevice_FWD_DEFINED__
   10613 #define __IAMExtDevice_FWD_DEFINED__
   10614 typedef struct IAMExtDevice IAMExtDevice;
   10615 #endif
   10616 
   10617 #ifndef __IAMExtTransport_FWD_DEFINED__
   10618 #define __IAMExtTransport_FWD_DEFINED__
   10619 typedef struct IAMExtTransport IAMExtTransport;
   10620 #endif
   10621 
   10622 #ifndef __IAMTimecodeReader_FWD_DEFINED__
   10623 #define __IAMTimecodeReader_FWD_DEFINED__
   10624 typedef struct IAMTimecodeReader IAMTimecodeReader;
   10625 #endif
   10626 
   10627 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
   10628 #define __IAMTimecodeGenerator_FWD_DEFINED__
   10629 typedef struct IAMTimecodeGenerator IAMTimecodeGenerator;
   10630 #endif
   10631 
   10632 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
   10633 #define __IAMTimecodeDisplay_FWD_DEFINED__
   10634 typedef struct IAMTimecodeDisplay IAMTimecodeDisplay;
   10635 #endif
   10636 
   10637 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
   10638 #define __IAMDevMemoryAllocator_FWD_DEFINED__
   10639 typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator;
   10640 #endif
   10641 
   10642 #ifndef __IAMDevMemoryControl_FWD_DEFINED__
   10643 #define __IAMDevMemoryControl_FWD_DEFINED__
   10644 typedef struct IAMDevMemoryControl IAMDevMemoryControl;
   10645 #endif
   10646 
   10647 #ifndef __IAMStreamSelect_FWD_DEFINED__
   10648 #define __IAMStreamSelect_FWD_DEFINED__
   10649 typedef struct IAMStreamSelect IAMStreamSelect;
   10650 #endif
   10651 
   10652 #ifndef __IAMResourceControl_FWD_DEFINED__
   10653 #define __IAMResourceControl_FWD_DEFINED__
   10654 typedef struct IAMResourceControl IAMResourceControl;
   10655 #endif
   10656 
   10657 #ifndef __IAMClockAdjust_FWD_DEFINED__
   10658 #define __IAMClockAdjust_FWD_DEFINED__
   10659 typedef struct IAMClockAdjust IAMClockAdjust;
   10660 #endif
   10661 
   10662 #ifndef __IDrawVideoImage_FWD_DEFINED__
   10663 #define __IDrawVideoImage_FWD_DEFINED__
   10664 typedef struct IDrawVideoImage IDrawVideoImage;
   10665 #endif
   10666 
   10667 #ifndef __IDecimateVideoImage_FWD_DEFINED__
   10668 #define __IDecimateVideoImage_FWD_DEFINED__
   10669 typedef struct IDecimateVideoImage IDecimateVideoImage;
   10670 #endif
   10671 
   10672 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
   10673 #define __IAMVideoDecimationProperties_FWD_DEFINED__
   10674 typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties;
   10675 #endif
   10676 
   10677 #ifndef __IVideoFrameStep_FWD_DEFINED__
   10678 #define __IVideoFrameStep_FWD_DEFINED__
   10679 typedef struct IVideoFrameStep IVideoFrameStep;
   10680 #endif
   10681 
   10682 #ifndef __IAMLatency_FWD_DEFINED__
   10683 #define __IAMLatency_FWD_DEFINED__
   10684 typedef struct IAMLatency IAMLatency;
   10685 #endif
   10686 
   10687 #ifndef __IAMPushSource_FWD_DEFINED__
   10688 #define __IAMPushSource_FWD_DEFINED__
   10689 typedef struct IAMPushSource IAMPushSource;
   10690 #endif
   10691 
   10692 #ifndef __IAMDeviceRemoval_FWD_DEFINED__
   10693 #define __IAMDeviceRemoval_FWD_DEFINED__
   10694 typedef struct IAMDeviceRemoval IAMDeviceRemoval;
   10695 #endif
   10696 
   10697 #ifndef __IDVEnc_FWD_DEFINED__
   10698 #define __IDVEnc_FWD_DEFINED__
   10699 typedef struct IDVEnc IDVEnc;
   10700 #endif
   10701 
   10702 #ifndef __IIPDVDec_FWD_DEFINED__
   10703 #define __IIPDVDec_FWD_DEFINED__
   10704 typedef struct IIPDVDec IIPDVDec;
   10705 #endif
   10706 
   10707 #ifndef __IDVRGB219_FWD_DEFINED__
   10708 #define __IDVRGB219_FWD_DEFINED__
   10709 typedef struct IDVRGB219 IDVRGB219;
   10710 #endif
   10711 
   10712 #ifndef __IDVSplitter_FWD_DEFINED__
   10713 #define __IDVSplitter_FWD_DEFINED__
   10714 typedef struct IDVSplitter IDVSplitter;
   10715 #endif
   10716 
   10717 #ifndef __IAMAudioRendererStats_FWD_DEFINED__
   10718 #define __IAMAudioRendererStats_FWD_DEFINED__
   10719 typedef struct IAMAudioRendererStats IAMAudioRendererStats;
   10720 #endif
   10721 
   10722 #ifndef __IAMGraphStreams_FWD_DEFINED__
   10723 #define __IAMGraphStreams_FWD_DEFINED__
   10724 typedef struct IAMGraphStreams IAMGraphStreams;
   10725 #endif
   10726 
   10727 #ifndef __IAMOverlayFX_FWD_DEFINED__
   10728 #define __IAMOverlayFX_FWD_DEFINED__
   10729 typedef struct IAMOverlayFX IAMOverlayFX;
   10730 #endif
   10731 
   10732 #ifndef __IAMOpenProgress_FWD_DEFINED__
   10733 #define __IAMOpenProgress_FWD_DEFINED__
   10734 typedef struct IAMOpenProgress IAMOpenProgress;
   10735 #endif
   10736 
   10737 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
   10738 #define __IMpeg2Demultiplexer_FWD_DEFINED__
   10739 typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer;
   10740 #endif
   10741 
   10742 #ifndef __IEnumStreamIdMap_FWD_DEFINED__
   10743 #define __IEnumStreamIdMap_FWD_DEFINED__
   10744 typedef struct IEnumStreamIdMap IEnumStreamIdMap;
   10745 #endif
   10746 
   10747 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
   10748 #define __IMPEG2StreamIdMap_FWD_DEFINED__
   10749 typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap;
   10750 #endif
   10751 
   10752 #ifndef __IRegisterServiceProvider_FWD_DEFINED__
   10753 #define __IRegisterServiceProvider_FWD_DEFINED__
   10754 typedef struct IRegisterServiceProvider IRegisterServiceProvider;
   10755 #endif
   10756 
   10757 #ifndef __ICodecAPI_FWD_DEFINED__
   10758 #define __ICodecAPI_FWD_DEFINED__
   10759 typedef struct ICodecAPI ICodecAPI;
   10760 #endif
   10761 
   10762 #ifndef __IGetCapabilitiesKey_FWD_DEFINED__
   10763 #define __IGetCapabilitiesKey_FWD_DEFINED__
   10764 typedef struct IGetCapabilitiesKey IGetCapabilitiesKey;
   10765 #endif
   10766 
   10767 #ifndef __IEncoderAPI_FWD_DEFINED__
   10768 #define __IEncoderAPI_FWD_DEFINED__
   10769 typedef struct IEncoderAPI IEncoderAPI;
   10770 #endif
   10771 
   10772 #ifndef __IVideoEncoder_FWD_DEFINED__
   10773 #define __IVideoEncoder_FWD_DEFINED__
   10774 typedef struct IVideoEncoder IVideoEncoder;
   10775 #endif
   10776 
   10777 #ifndef __IAMDecoderCaps_FWD_DEFINED__
   10778 #define __IAMDecoderCaps_FWD_DEFINED__
   10779 typedef struct IAMDecoderCaps IAMDecoderCaps;
   10780 #endif
   10781 
   10782 #ifndef __IDvdControl_FWD_DEFINED__
   10783 #define __IDvdControl_FWD_DEFINED__
   10784 typedef struct IDvdControl IDvdControl;
   10785 #endif
   10786 
   10787 #ifndef __IDvdInfo_FWD_DEFINED__
   10788 #define __IDvdInfo_FWD_DEFINED__
   10789 typedef struct IDvdInfo IDvdInfo;
   10790 #endif
   10791 
   10792 #ifndef __IDvdCmd_FWD_DEFINED__
   10793 #define __IDvdCmd_FWD_DEFINED__
   10794 typedef struct IDvdCmd IDvdCmd;
   10795 #endif
   10796 
   10797 #ifndef __IDvdState_FWD_DEFINED__
   10798 #define __IDvdState_FWD_DEFINED__
   10799 typedef struct IDvdState IDvdState;
   10800 #endif
   10801 
   10802 #ifndef __IDvdControl2_FWD_DEFINED__
   10803 #define __IDvdControl2_FWD_DEFINED__
   10804 typedef struct IDvdControl2 IDvdControl2;
   10805 #endif
   10806 
   10807 #ifndef __IDvdInfo2_FWD_DEFINED__
   10808 #define __IDvdInfo2_FWD_DEFINED__
   10809 typedef struct IDvdInfo2 IDvdInfo2;
   10810 #endif
   10811 
   10812 #ifndef __IDvdGraphBuilder_FWD_DEFINED__
   10813 #define __IDvdGraphBuilder_FWD_DEFINED__
   10814 typedef struct IDvdGraphBuilder IDvdGraphBuilder;
   10815 #endif
   10816 
   10817 #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
   10818 #define __IDDrawExclModeVideo_FWD_DEFINED__
   10819 typedef struct IDDrawExclModeVideo IDDrawExclModeVideo;
   10820 #endif
   10821 
   10822 #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
   10823 #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
   10824 typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
   10825 #endif
   10826 
   10827 #ifndef __IPinConnection_FWD_DEFINED__
   10828 #define __IPinConnection_FWD_DEFINED__
   10829 typedef struct IPinConnection IPinConnection;
   10830 #endif
   10831 
   10832 #ifndef __IPinFlowControl_FWD_DEFINED__
   10833 #define __IPinFlowControl_FWD_DEFINED__
   10834 typedef struct IPinFlowControl IPinFlowControl;
   10835 #endif
   10836 
   10837 #ifndef __IGraphConfig_FWD_DEFINED__
   10838 #define __IGraphConfig_FWD_DEFINED__
   10839 typedef struct IGraphConfig IGraphConfig;
   10840 #endif
   10841 
   10842 #ifndef __IGraphConfigCallback_FWD_DEFINED__
   10843 #define __IGraphConfigCallback_FWD_DEFINED__
   10844 typedef struct IGraphConfigCallback IGraphConfigCallback;
   10845 #endif
   10846 
   10847 #ifndef __IFilterChain_FWD_DEFINED__
   10848 #define __IFilterChain_FWD_DEFINED__
   10849 typedef struct IFilterChain IFilterChain;
   10850 #endif
   10851 
   10852 #ifndef __IVMRImagePresenter_FWD_DEFINED__
   10853 #define __IVMRImagePresenter_FWD_DEFINED__
   10854 typedef struct IVMRImagePresenter IVMRImagePresenter;
   10855 #endif
   10856 
   10857 #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
   10858 #define __IVMRSurfaceAllocator_FWD_DEFINED__
   10859 typedef struct IVMRSurfaceAllocator IVMRSurfaceAllocator;
   10860 #endif
   10861 
   10862 #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
   10863 #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
   10864 typedef struct IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
   10865 #endif
   10866 
   10867 #ifndef __IVMRWindowlessControl_FWD_DEFINED__
   10868 #define __IVMRWindowlessControl_FWD_DEFINED__
   10869 typedef struct IVMRWindowlessControl IVMRWindowlessControl;
   10870 #endif
   10871 
   10872 #ifndef __IVMRMixerControl_FWD_DEFINED__
   10873 #define __IVMRMixerControl_FWD_DEFINED__
   10874 typedef struct IVMRMixerControl IVMRMixerControl;
   10875 #endif
   10876 
   10877 #ifndef __IVMRMonitorConfig_FWD_DEFINED__
   10878 #define __IVMRMonitorConfig_FWD_DEFINED__
   10879 typedef struct IVMRMonitorConfig IVMRMonitorConfig;
   10880 #endif
   10881 
   10882 #ifndef __IVMRFilterConfig_FWD_DEFINED__
   10883 #define __IVMRFilterConfig_FWD_DEFINED__
   10884 typedef struct IVMRFilterConfig IVMRFilterConfig;
   10885 #endif
   10886 
   10887 #ifndef __IVMRAspectRatioControl_FWD_DEFINED__
   10888 #define __IVMRAspectRatioControl_FWD_DEFINED__
   10889 typedef struct IVMRAspectRatioControl IVMRAspectRatioControl;
   10890 #endif
   10891 
   10892 #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
   10893 #define __IVMRDeinterlaceControl_FWD_DEFINED__
   10894 typedef struct IVMRDeinterlaceControl IVMRDeinterlaceControl;
   10895 #endif
   10896 
   10897 #ifndef __IVMRMixerBitmap_FWD_DEFINED__
   10898 #define __IVMRMixerBitmap_FWD_DEFINED__
   10899 typedef struct IVMRMixerBitmap IVMRMixerBitmap;
   10900 #endif
   10901 
   10902 #ifndef __IVMRImageCompositor_FWD_DEFINED__
   10903 #define __IVMRImageCompositor_FWD_DEFINED__
   10904 typedef struct IVMRImageCompositor IVMRImageCompositor;
   10905 #endif
   10906 
   10907 #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
   10908 #define __IVMRVideoStreamControl_FWD_DEFINED__
   10909 typedef struct IVMRVideoStreamControl IVMRVideoStreamControl;
   10910 #endif
   10911 
   10912 #ifndef __IVMRSurface_FWD_DEFINED__
   10913 #define __IVMRSurface_FWD_DEFINED__
   10914 typedef struct IVMRSurface IVMRSurface;
   10915 #endif
   10916 
   10917 #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
   10918 #define __IVMRImagePresenterConfig_FWD_DEFINED__
   10919 typedef struct IVMRImagePresenterConfig IVMRImagePresenterConfig;
   10920 #endif
   10921 
   10922 #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
   10923 #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
   10924 typedef struct IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
   10925 #endif
   10926 
   10927 #ifndef __IVPManager_FWD_DEFINED__
   10928 #define __IVPManager_FWD_DEFINED__
   10929 typedef struct IVPManager IVPManager;
   10930 #endif
   10931 
   10932 #ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
   10933 #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
   10934 typedef struct IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling;
   10935 #endif
   10936 
   10937 #ifndef __IAMPluginControl_FWD_DEFINED__
   10938 #define __IAMPluginControl_FWD_DEFINED__
   10939 typedef struct IAMPluginControl IAMPluginControl;
   10940 #endif
   10941 
   10942 #include "ocidl.h"
   10943 
   10944   extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
   10945   extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
   10946 #ifndef __IReferenceClock2_INTERFACE_DEFINED__
   10947 #define __IReferenceClock2_INTERFACE_DEFINED__
   10948   EXTERN_C const IID IID_IReferenceClock2;
   10949 #if defined(__cplusplus) && !defined(CINTERFACE)
   10950   struct IReferenceClock2 : public IReferenceClock {
   10951   };
   10952 #else
   10953   typedef struct IReferenceClock2Vtbl {
   10954     BEGIN_INTERFACE
   10955       HRESULT (WINAPI *QueryInterface)(IReferenceClock2 *This,REFIID riid,void **ppvObject);
   10956       ULONG (WINAPI *AddRef)(IReferenceClock2 *This);
   10957       ULONG (WINAPI *Release)(IReferenceClock2 *This);
   10958       HRESULT (WINAPI *GetTime)(IReferenceClock2 *This,REFERENCE_TIME *pTime);
   10959       HRESULT (WINAPI *AdviseTime)(IReferenceClock2 *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
   10960       HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock2 *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
   10961       HRESULT (WINAPI *Unadvise)(IReferenceClock2 *This,DWORD_PTR dwAdviseCookie);
   10962     END_INTERFACE
   10963   } IReferenceClock2Vtbl;
   10964   struct IReferenceClock2 {
   10965     CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
   10966   };
   10967 #ifdef COBJMACROS
   10968 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10969 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This)
   10970 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This)
   10971 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
   10972 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
   10973 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
   10974 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
   10975 #endif
   10976 #endif
   10977 #endif
   10978 
   10979   typedef IReferenceClock2 *PREFERENCECLOCK2;
   10980 
   10981 #ifndef __IDistributorNotify_INTERFACE_DEFINED__
   10982 #define __IDistributorNotify_INTERFACE_DEFINED__
   10983   EXTERN_C const IID IID_IDistributorNotify;
   10984 #if defined(__cplusplus) && !defined(CINTERFACE)
   10985   struct IDistributorNotify : public IUnknown {
   10986   public:
   10987     virtual HRESULT WINAPI Stop(void) = 0;
   10988     virtual HRESULT WINAPI Pause(void) = 0;
   10989     virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0;
   10990     virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0;
   10991     virtual HRESULT WINAPI NotifyGraphChange(void) = 0;
   10992   };
   10993 #else
   10994   typedef struct IDistributorNotifyVtbl {
   10995     BEGIN_INTERFACE
   10996       HRESULT (WINAPI *QueryInterface)(IDistributorNotify *This,REFIID riid,void **ppvObject);
   10997       ULONG (WINAPI *AddRef)(IDistributorNotify *This);
   10998       ULONG (WINAPI *Release)(IDistributorNotify *This);
   10999       HRESULT (WINAPI *Stop)(IDistributorNotify *This);
   11000       HRESULT (WINAPI *Pause)(IDistributorNotify *This);
   11001       HRESULT (WINAPI *Run)(IDistributorNotify *This,REFERENCE_TIME tStart);
   11002       HRESULT (WINAPI *SetSyncSource)(IDistributorNotify *This,IReferenceClock *pClock);
   11003       HRESULT (WINAPI *NotifyGraphChange)(IDistributorNotify *This);
   11004     END_INTERFACE
   11005   } IDistributorNotifyVtbl;
   11006   struct IDistributorNotify {
   11007     CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
   11008   };
   11009 #ifdef COBJMACROS
   11010 #define IDistributorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11011 #define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   11012 #define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This)
   11013 #define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This)
   11014 #define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This)
   11015 #define IDistributorNotify_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   11016 #define IDistributorNotify_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   11017 #define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This)
   11018 #endif
   11019 #endif
   11020   HRESULT WINAPI IDistributorNotify_Stop_Proxy(IDistributorNotify *This);
   11021   void __RPC_STUB IDistributorNotify_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11022   HRESULT WINAPI IDistributorNotify_Pause_Proxy(IDistributorNotify *This);
   11023   void __RPC_STUB IDistributorNotify_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11024   HRESULT WINAPI IDistributorNotify_Run_Proxy(IDistributorNotify *This,REFERENCE_TIME tStart);
   11025   void __RPC_STUB IDistributorNotify_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11026   HRESULT WINAPI IDistributorNotify_SetSyncSource_Proxy(IDistributorNotify *This,IReferenceClock *pClock);
   11027   void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11028   HRESULT WINAPI IDistributorNotify_NotifyGraphChange_Proxy(IDistributorNotify *This);
   11029   void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11030 #endif
   11031 
   11032   typedef enum __MIDL___MIDL_itf_strmif_0167_0001 {
   11033     CompressionCaps_CanQuality = 0x1,CompressionCaps_CanCrunch = 0x2,CompressionCaps_CanKeyFrame = 0x4,CompressionCaps_CanBFrame = 0x8,
   11034     CompressionCaps_CanWindow = 0x10
   11035   } CompressionCaps;
   11036 
   11037   extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
   11038   extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
   11039 #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
   11040 #define __IAMVideoCompression_INTERFACE_DEFINED__
   11041   EXTERN_C const IID IID_IAMVideoCompression;
   11042 #if defined(__cplusplus) && !defined(CINTERFACE)
   11043   struct IAMVideoCompression : public IUnknown {
   11044   public:
   11045     virtual HRESULT WINAPI put_KeyFrameRate(LONG KeyFrameRate) = 0;
   11046     virtual HRESULT WINAPI get_KeyFrameRate(LONG *pKeyFrameRate) = 0;
   11047     virtual HRESULT WINAPI put_PFramesPerKeyFrame(LONG PFramesPerKeyFrame) = 0;
   11048     virtual HRESULT WINAPI get_PFramesPerKeyFrame(LONG *pPFramesPerKeyFrame) = 0;
   11049     virtual HRESULT WINAPI put_Quality(double Quality) = 0;
   11050     virtual HRESULT WINAPI get_Quality(double *pQuality) = 0;
   11051     virtual HRESULT WINAPI put_WindowSize(DWORDLONG WindowSize) = 0;
   11052     virtual HRESULT WINAPI get_WindowSize(DWORDLONG *pWindowSize) = 0;
   11053     virtual HRESULT WINAPI GetInfo(WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities) = 0;
   11054     virtual HRESULT WINAPI OverrideKeyFrame(LONG FrameNumber) = 0;
   11055     virtual HRESULT WINAPI OverrideFrameSize(LONG FrameNumber,LONG Size) = 0;
   11056   };
   11057 #else
   11058   typedef struct IAMVideoCompressionVtbl {
   11059     BEGIN_INTERFACE
   11060       HRESULT (WINAPI *QueryInterface)(IAMVideoCompression *This,REFIID riid,void **ppvObject);
   11061       ULONG (WINAPI *AddRef)(IAMVideoCompression *This);
   11062       ULONG (WINAPI *Release)(IAMVideoCompression *This);
   11063       HRESULT (WINAPI *put_KeyFrameRate)(IAMVideoCompression *This,LONG KeyFrameRate);
   11064       HRESULT (WINAPI *get_KeyFrameRate)(IAMVideoCompression *This,LONG *pKeyFrameRate);
   11065       HRESULT (WINAPI *put_PFramesPerKeyFrame)(IAMVideoCompression *This,LONG PFramesPerKeyFrame);
   11066       HRESULT (WINAPI *get_PFramesPerKeyFrame)(IAMVideoCompression *This,LONG *pPFramesPerKeyFrame);
   11067       HRESULT (WINAPI *put_Quality)(IAMVideoCompression *This,double Quality);
   11068       HRESULT (WINAPI *get_Quality)(IAMVideoCompression *This,double *pQuality);
   11069       HRESULT (WINAPI *put_WindowSize)(IAMVideoCompression *This,DWORDLONG WindowSize);
   11070       HRESULT (WINAPI *get_WindowSize)(IAMVideoCompression *This,DWORDLONG *pWindowSize);
   11071       HRESULT (WINAPI *GetInfo)(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities);
   11072       HRESULT (WINAPI *OverrideKeyFrame)(IAMVideoCompression *This,LONG FrameNumber);
   11073       HRESULT (WINAPI *OverrideFrameSize)(IAMVideoCompression *This,LONG FrameNumber,LONG Size);
   11074     END_INTERFACE
   11075   } IAMVideoCompressionVtbl;
   11076   struct IAMVideoCompression {
   11077     CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
   11078   };
   11079 #ifdef COBJMACROS
   11080 #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11081 #define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This)
   11082 #define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This)
   11083 #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate) (This)->lpVtbl->put_KeyFrameRate(This,KeyFrameRate)
   11084 #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate) (This)->lpVtbl->get_KeyFrameRate(This,pKeyFrameRate)
   11085 #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) (This)->lpVtbl->put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
   11086 #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) (This)->lpVtbl->get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
   11087 #define IAMVideoCompression_put_Quality(This,Quality) (This)->lpVtbl->put_Quality(This,Quality)
   11088 #define IAMVideoCompression_get_Quality(This,pQuality) (This)->lpVtbl->get_Quality(This,pQuality)
   11089 #define IAMVideoCompression_put_WindowSize(This,WindowSize) (This)->lpVtbl->put_WindowSize(This,WindowSize)
   11090 #define IAMVideoCompression_get_WindowSize(This,pWindowSize) (This)->lpVtbl->get_WindowSize(This,pWindowSize)
   11091 #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) (This)->lpVtbl->GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
   11092 #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber) (This)->lpVtbl->OverrideKeyFrame(This,FrameNumber)
   11093 #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size) (This)->lpVtbl->OverrideFrameSize(This,FrameNumber,Size)
   11094 #endif
   11095 #endif
   11096   HRESULT WINAPI IAMVideoCompression_put_KeyFrameRate_Proxy(IAMVideoCompression *This,LONG KeyFrameRate);
   11097   void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11098   HRESULT WINAPI IAMVideoCompression_get_KeyFrameRate_Proxy(IAMVideoCompression *This,LONG *pKeyFrameRate);
   11099   void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11100   HRESULT WINAPI IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,LONG PFramesPerKeyFrame);
   11101   void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11102   HRESULT WINAPI IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,LONG *pPFramesPerKeyFrame);
   11103   void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11104   HRESULT WINAPI IAMVideoCompression_put_Quality_Proxy(IAMVideoCompression *This,double Quality);
   11105   void __RPC_STUB IAMVideoCompression_put_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11106   HRESULT WINAPI IAMVideoCompression_get_Quality_Proxy(IAMVideoCompression *This,double *pQuality);
   11107   void __RPC_STUB IAMVideoCompression_get_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11108   HRESULT WINAPI IAMVideoCompression_put_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG WindowSize);
   11109   void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11110   HRESULT WINAPI IAMVideoCompression_get_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG *pWindowSize);
   11111   void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11112   HRESULT WINAPI IAMVideoCompression_GetInfo_Proxy(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities);
   11113   void __RPC_STUB IAMVideoCompression_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11114   HRESULT WINAPI IAMVideoCompression_OverrideKeyFrame_Proxy(IAMVideoCompression *This,LONG FrameNumber);
   11115   void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11116   HRESULT WINAPI IAMVideoCompression_OverrideFrameSize_Proxy(IAMVideoCompression *This,LONG FrameNumber,LONG Size);
   11117   void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11118 #endif
   11119 
   11120   typedef enum __MIDL___MIDL_itf_strmif_0168_0001 {
   11121     VfwCaptureDialog_Source = 0x1,VfwCaptureDialog_Format = 0x2,VfwCaptureDialog_Display = 0x4
   11122   } VfwCaptureDialogs;
   11123 
   11124   typedef enum __MIDL___MIDL_itf_strmif_0168_0002 {
   11125     VfwCompressDialog_Config = 0x1,VfwCompressDialog_About = 0x2,VfwCompressDialog_QueryConfig = 0x4,VfwCompressDialog_QueryAbout = 0x8
   11126   } VfwCompressDialogs;
   11127 
   11128 #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
   11129 #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
   11130   EXTERN_C const IID IID_IAMVfwCompressDialogs;
   11131 #if defined(__cplusplus) && !defined(CINTERFACE)
   11132   struct IAMVfwCompressDialogs : public IUnknown {
   11133   public:
   11134     virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0;
   11135     virtual HRESULT WINAPI GetState(LPVOID pState,int *pcbState) = 0;
   11136     virtual HRESULT WINAPI SetState(LPVOID pState,int cbState) = 0;
   11137     virtual HRESULT WINAPI SendDriverMessage(int uMsg,LONG dw1,LONG dw2) = 0;
   11138   };
   11139 #else
   11140   typedef struct IAMVfwCompressDialogsVtbl {
   11141     BEGIN_INTERFACE
   11142       HRESULT (WINAPI *QueryInterface)(IAMVfwCompressDialogs *This,REFIID riid,void **ppvObject);
   11143       ULONG (WINAPI *AddRef)(IAMVfwCompressDialogs *This);
   11144       ULONG (WINAPI *Release)(IAMVfwCompressDialogs *This);
   11145       HRESULT (WINAPI *ShowDialog)(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
   11146       HRESULT (WINAPI *GetState)(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
   11147       HRESULT (WINAPI *SetState)(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
   11148       HRESULT (WINAPI *SendDriverMessage)(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2);
   11149     END_INTERFACE
   11150   } IAMVfwCompressDialogsVtbl;
   11151   struct IAMVfwCompressDialogs {
   11152     CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
   11153   };
   11154 #ifdef COBJMACROS
   11155 #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11156 #define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
   11157 #define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This)
   11158 #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd)
   11159 #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) (This)->lpVtbl->GetState(This,pState,pcbState)
   11160 #define IAMVfwCompressDialogs_SetState(This,pState,cbState) (This)->lpVtbl->SetState(This,pState,cbState)
   11161 #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,uMsg,dw1,dw2)
   11162 #endif
   11163 #endif
   11164   HRESULT WINAPI IAMVfwCompressDialogs_ShowDialog_Proxy(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
   11165   void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11166   HRESULT WINAPI IAMVfwCompressDialogs_GetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
   11167   void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11168   HRESULT WINAPI IAMVfwCompressDialogs_SetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
   11169   void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11170   HRESULT WINAPI IAMVfwCompressDialogs_SendDriverMessage_Proxy(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2);
   11171   void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11172 #endif
   11173 
   11174 #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
   11175 #define __IAMDroppedFrames_INTERFACE_DEFINED__
   11176   EXTERN_C const IID IID_IAMDroppedFrames;
   11177 #if defined(__cplusplus) && !defined(CINTERFACE)
   11178   struct IAMDroppedFrames : public IUnknown {
   11179   public:
   11180     virtual HRESULT WINAPI GetNumDropped(LONG *plDropped) = 0;
   11181     virtual HRESULT WINAPI GetNumNotDropped(LONG *plNotDropped) = 0;
   11182     virtual HRESULT WINAPI GetDroppedInfo(LONG lSize,LONG *plArray,LONG *plNumCopied) = 0;
   11183     virtual HRESULT WINAPI GetAverageFrameSize(LONG *plAverageSize) = 0;
   11184   };
   11185 #else
   11186   typedef struct IAMDroppedFramesVtbl {
   11187     BEGIN_INTERFACE
   11188       HRESULT (WINAPI *QueryInterface)(IAMDroppedFrames *This,REFIID riid,void **ppvObject);
   11189       ULONG (WINAPI *AddRef)(IAMDroppedFrames *This);
   11190       ULONG (WINAPI *Release)(IAMDroppedFrames *This);
   11191       HRESULT (WINAPI *GetNumDropped)(IAMDroppedFrames *This,LONG *plDropped);
   11192       HRESULT (WINAPI *GetNumNotDropped)(IAMDroppedFrames *This,LONG *plNotDropped);
   11193       HRESULT (WINAPI *GetDroppedInfo)(IAMDroppedFrames *This,LONG lSize,LONG *plArray,LONG *plNumCopied);
   11194       HRESULT (WINAPI *GetAverageFrameSize)(IAMDroppedFrames *This,LONG *plAverageSize);
   11195     END_INTERFACE
   11196   } IAMDroppedFramesVtbl;
   11197   struct IAMDroppedFrames {
   11198     CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
   11199   };
   11200 #ifdef COBJMACROS
   11201 #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11202 #define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This)
   11203 #define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This)
   11204 #define IAMDroppedFrames_GetNumDropped(This,plDropped) (This)->lpVtbl->GetNumDropped(This,plDropped)
   11205 #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped) (This)->lpVtbl->GetNumNotDropped(This,plNotDropped)
   11206 #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied) (This)->lpVtbl->GetDroppedInfo(This,lSize,plArray,plNumCopied)
   11207 #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize) (This)->lpVtbl->GetAverageFrameSize(This,plAverageSize)
   11208 #endif
   11209 #endif
   11210   HRESULT WINAPI IAMDroppedFrames_GetNumDropped_Proxy(IAMDroppedFrames *This,LONG *plDropped);
   11211   void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11212   HRESULT WINAPI IAMDroppedFrames_GetNumNotDropped_Proxy(IAMDroppedFrames *This,LONG *plNotDropped);
   11213   void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11214   HRESULT WINAPI IAMDroppedFrames_GetDroppedInfo_Proxy(IAMDroppedFrames *This,LONG lSize,LONG *plArray,LONG *plNumCopied);
   11215   void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11216   HRESULT WINAPI IAMDroppedFrames_GetAverageFrameSize_Proxy(IAMDroppedFrames *This,LONG *plAverageSize);
   11217   void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11218 #endif
   11219 
   11220 #define AMF_AUTOMATICGAIN -1.0
   11221 
   11222   extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
   11223   extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
   11224 #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
   11225 #define __IAMAudioInputMixer_INTERFACE_DEFINED__
   11226   EXTERN_C const IID IID_IAMAudioInputMixer;
   11227 #if defined(__cplusplus) && !defined(CINTERFACE)
   11228   struct IAMAudioInputMixer : public IUnknown {
   11229   public:
   11230     virtual HRESULT WINAPI put_Enable(WINBOOL fEnable) = 0;
   11231     virtual HRESULT WINAPI get_Enable(WINBOOL *pfEnable) = 0;
   11232     virtual HRESULT WINAPI put_Mono(WINBOOL fMono) = 0;
   11233     virtual HRESULT WINAPI get_Mono(WINBOOL *pfMono) = 0;
   11234     virtual HRESULT WINAPI put_MixLevel(double Level) = 0;
   11235     virtual HRESULT WINAPI get_MixLevel(double *pLevel) = 0;
   11236     virtual HRESULT WINAPI put_Pan(double Pan) = 0;
   11237     virtual HRESULT WINAPI get_Pan(double *pPan) = 0;
   11238     virtual HRESULT WINAPI put_Loudness(WINBOOL fLoudness) = 0;
   11239     virtual HRESULT WINAPI get_Loudness(WINBOOL *pfLoudness) = 0;
   11240     virtual HRESULT WINAPI put_Treble(double Treble) = 0;
   11241     virtual HRESULT WINAPI get_Treble(double *pTreble) = 0;
   11242     virtual HRESULT WINAPI get_TrebleRange(double *pRange) = 0;
   11243     virtual HRESULT WINAPI put_Bass(double Bass) = 0;
   11244     virtual HRESULT WINAPI get_Bass(double *pBass) = 0;
   11245     virtual HRESULT WINAPI get_BassRange(double *pRange) = 0;
   11246   };
   11247 #else
   11248   typedef struct IAMAudioInputMixerVtbl {
   11249     BEGIN_INTERFACE
   11250       HRESULT (WINAPI *QueryInterface)(IAMAudioInputMixer *This,REFIID riid,void **ppvObject);
   11251       ULONG (WINAPI *AddRef)(IAMAudioInputMixer *This);
   11252       ULONG (WINAPI *Release)(IAMAudioInputMixer *This);
   11253       HRESULT (WINAPI *put_Enable)(IAMAudioInputMixer *This,WINBOOL fEnable);
   11254       HRESULT (WINAPI *get_Enable)(IAMAudioInputMixer *This,WINBOOL *pfEnable);
   11255       HRESULT (WINAPI *put_Mono)(IAMAudioInputMixer *This,WINBOOL fMono);
   11256       HRESULT (WINAPI *get_Mono)(IAMAudioInputMixer *This,WINBOOL *pfMono);
   11257       HRESULT (WINAPI *put_MixLevel)(IAMAudioInputMixer *This,double Level);
   11258       HRESULT (WINAPI *get_MixLevel)(IAMAudioInputMixer *This,double *pLevel);
   11259       HRESULT (WINAPI *put_Pan)(IAMAudioInputMixer *This,double Pan);
   11260       HRESULT (WINAPI *get_Pan)(IAMAudioInputMixer *This,double *pPan);
   11261       HRESULT (WINAPI *put_Loudness)(IAMAudioInputMixer *This,WINBOOL fLoudness);
   11262       HRESULT (WINAPI *get_Loudness)(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
   11263       HRESULT (WINAPI *put_Treble)(IAMAudioInputMixer *This,double Treble);
   11264       HRESULT (WINAPI *get_Treble)(IAMAudioInputMixer *This,double *pTreble);
   11265       HRESULT (WINAPI *get_TrebleRange)(IAMAudioInputMixer *This,double *pRange);
   11266       HRESULT (WINAPI *put_Bass)(IAMAudioInputMixer *This,double Bass);
   11267       HRESULT (WINAPI *get_Bass)(IAMAudioInputMixer *This,double *pBass);
   11268       HRESULT (WINAPI *get_BassRange)(IAMAudioInputMixer *This,double *pRange);
   11269     END_INTERFACE
   11270   } IAMAudioInputMixerVtbl;
   11271   struct IAMAudioInputMixer {
   11272     CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
   11273   };
   11274 #ifdef COBJMACROS
   11275 #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11276 #define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
   11277 #define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This)
   11278 #define IAMAudioInputMixer_put_Enable(This,fEnable) (This)->lpVtbl->put_Enable(This,fEnable)
   11279 #define IAMAudioInputMixer_get_Enable(This,pfEnable) (This)->lpVtbl->get_Enable(This,pfEnable)
   11280 #define IAMAudioInputMixer_put_Mono(This,fMono) (This)->lpVtbl->put_Mono(This,fMono)
   11281 #define IAMAudioInputMixer_get_Mono(This,pfMono) (This)->lpVtbl->get_Mono(This,pfMono)
   11282 #define IAMAudioInputMixer_put_MixLevel(This,Level) (This)->lpVtbl->put_MixLevel(This,Level)
   11283 #define IAMAudioInputMixer_get_MixLevel(This,pLevel) (This)->lpVtbl->get_MixLevel(This,pLevel)
   11284 #define IAMAudioInputMixer_put_Pan(This,Pan) (This)->lpVtbl->put_Pan(This,Pan)
   11285 #define IAMAudioInputMixer_get_Pan(This,pPan) (This)->lpVtbl->get_Pan(This,pPan)
   11286 #define IAMAudioInputMixer_put_Loudness(This,fLoudness) (This)->lpVtbl->put_Loudness(This,fLoudness)
   11287 #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) (This)->lpVtbl->get_Loudness(This,pfLoudness)
   11288 #define IAMAudioInputMixer_put_Treble(This,Treble) (This)->lpVtbl->put_Treble(This,Treble)
   11289 #define IAMAudioInputMixer_get_Treble(This,pTreble) (This)->lpVtbl->get_Treble(This,pTreble)
   11290 #define IAMAudioInputMixer_get_TrebleRange(This,pRange) (This)->lpVtbl->get_TrebleRange(This,pRange)
   11291 #define IAMAudioInputMixer_put_Bass(This,Bass) (This)->lpVtbl->put_Bass(This,Bass)
   11292 #define IAMAudioInputMixer_get_Bass(This,pBass) (This)->lpVtbl->get_Bass(This,pBass)
   11293 #define IAMAudioInputMixer_get_BassRange(This,pRange) (This)->lpVtbl->get_BassRange(This,pRange)
   11294 #endif
   11295 #endif
   11296   HRESULT WINAPI IAMAudioInputMixer_put_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL fEnable);
   11297   void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11298   HRESULT WINAPI IAMAudioInputMixer_get_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL *pfEnable);
   11299   void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11300   HRESULT WINAPI IAMAudioInputMixer_put_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL fMono);
   11301   void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11302   HRESULT WINAPI IAMAudioInputMixer_get_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL *pfMono);
   11303   void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11304   HRESULT WINAPI IAMAudioInputMixer_put_MixLevel_Proxy(IAMAudioInputMixer *This,double Level);
   11305   void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11306   HRESULT WINAPI IAMAudioInputMixer_get_MixLevel_Proxy(IAMAudioInputMixer *This,double *pLevel);
   11307   void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11308   HRESULT WINAPI IAMAudioInputMixer_put_Pan_Proxy(IAMAudioInputMixer *This,double Pan);
   11309   void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11310   HRESULT WINAPI IAMAudioInputMixer_get_Pan_Proxy(IAMAudioInputMixer *This,double *pPan);
   11311   void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11312   HRESULT WINAPI IAMAudioInputMixer_put_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL fLoudness);
   11313   void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11314   HRESULT WINAPI IAMAudioInputMixer_get_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
   11315   void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11316   HRESULT WINAPI IAMAudioInputMixer_put_Treble_Proxy(IAMAudioInputMixer *This,double Treble);
   11317   void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11318   HRESULT WINAPI IAMAudioInputMixer_get_Treble_Proxy(IAMAudioInputMixer *This,double *pTreble);
   11319   void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11320   HRESULT WINAPI IAMAudioInputMixer_get_TrebleRange_Proxy(IAMAudioInputMixer *This,double *pRange);
   11321   void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11322   HRESULT WINAPI IAMAudioInputMixer_put_Bass_Proxy(IAMAudioInputMixer *This,double Bass);
   11323   void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11324   HRESULT WINAPI IAMAudioInputMixer_get_Bass_Proxy(IAMAudioInputMixer *This,double *pBass);
   11325   void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11326   HRESULT WINAPI IAMAudioInputMixer_get_BassRange_Proxy(IAMAudioInputMixer *This,double *pRange);
   11327   void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11328 #endif
   11329 
   11330 #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
   11331 #define __IAMBufferNegotiation_INTERFACE_DEFINED__
   11332   EXTERN_C const IID IID_IAMBufferNegotiation;
   11333 #if defined(__cplusplus) && !defined(CINTERFACE)
   11334   struct IAMBufferNegotiation : public IUnknown {
   11335   public:
   11336     virtual HRESULT WINAPI SuggestAllocatorProperties(const ALLOCATOR_PROPERTIES *pprop) = 0;
   11337     virtual HRESULT WINAPI GetAllocatorProperties(ALLOCATOR_PROPERTIES *pprop) = 0;
   11338   };
   11339 #else
   11340   typedef struct IAMBufferNegotiationVtbl {
   11341     BEGIN_INTERFACE
   11342       HRESULT (WINAPI *QueryInterface)(IAMBufferNegotiation *This,REFIID riid,void **ppvObject);
   11343       ULONG (WINAPI *AddRef)(IAMBufferNegotiation *This);
   11344       ULONG (WINAPI *Release)(IAMBufferNegotiation *This);
   11345       HRESULT (WINAPI *SuggestAllocatorProperties)(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop);
   11346       HRESULT (WINAPI *GetAllocatorProperties)(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop);
   11347     END_INTERFACE
   11348   } IAMBufferNegotiationVtbl;
   11349   struct IAMBufferNegotiation {
   11350     CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
   11351   };
   11352 #ifdef COBJMACROS
   11353 #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11354 #define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This)
   11355 #define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This)
   11356 #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop) (This)->lpVtbl->SuggestAllocatorProperties(This,pprop)
   11357 #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop) (This)->lpVtbl->GetAllocatorProperties(This,pprop)
   11358 #endif
   11359 #endif
   11360   HRESULT WINAPI IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop);
   11361   void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11362   HRESULT WINAPI IAMBufferNegotiation_GetAllocatorProperties_Proxy(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop);
   11363   void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11364 #endif
   11365 
   11366 #define AnalogVideo_NTSC_Mask 0x00000007
   11367 #define AnalogVideo_PAL_Mask 0x00100FF0
   11368 #define AnalogVideo_SECAM_Mask 0x000FF000
   11369 
   11370   typedef enum __MIDL___MIDL_itf_strmif_0173_0001 {
   11371     VideoCopyProtectionMacrovisionBasic = 0,VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
   11372   } VideoCopyProtectionType;
   11373 
   11374   typedef enum tagPhysicalConnectorType {
   11375     PhysConn_Video_Tuner = 1,
   11376     PhysConn_Video_Composite,PhysConn_Video_SVideo,PhysConn_Video_RGB,
   11377     PhysConn_Video_YRYBY,PhysConn_Video_SerialDigital,PhysConn_Video_ParallelDigital,
   11378     PhysConn_Video_SCSI,PhysConn_Video_AUX,PhysConn_Video_1394,PhysConn_Video_USB,
   11379     PhysConn_Video_VideoDecoder,PhysConn_Video_VideoEncoder,PhysConn_Video_SCART,PhysConn_Video_Black,
   11380     PhysConn_Audio_Tuner = 0x1000,PhysConn_Audio_Line = 0x1001,PhysConn_Audio_Mic = 0x1002,
   11381     PhysConn_Audio_AESDigital = 0x1003,PhysConn_Audio_SPDIFDigital = 0x1004,
   11382     PhysConn_Audio_SCSI = 0x1005,PhysConn_Audio_AUX = 0x1006,PhysConn_Audio_1394 = 0x1007,
   11383     PhysConn_Audio_USB = 0x1008,PhysConn_Audio_AudioDecoder = 0x1009
   11384   } PhysicalConnectorType;
   11385 
   11386   extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;
   11387   extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;
   11388 #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
   11389 #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
   11390   EXTERN_C const IID IID_IAMAnalogVideoDecoder;
   11391 #if defined(__cplusplus) && !defined(CINTERFACE)
   11392   struct IAMAnalogVideoDecoder : public IUnknown {
   11393   public:
   11394     virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0;
   11395     virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0;
   11396     virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0;
   11397     virtual HRESULT WINAPI get_HorizontalLocked(LONG *plLocked) = 0;
   11398     virtual HRESULT WINAPI put_VCRHorizontalLocking(LONG lVCRHorizontalLocking) = 0;
   11399     virtual HRESULT WINAPI get_VCRHorizontalLocking(LONG *plVCRHorizontalLocking) = 0;
   11400     virtual HRESULT WINAPI get_NumberOfLines(LONG *plNumberOfLines) = 0;
   11401     virtual HRESULT WINAPI put_OutputEnable(LONG lOutputEnable) = 0;
   11402     virtual HRESULT WINAPI get_OutputEnable(LONG *plOutputEnable) = 0;
   11403   };
   11404 #else
   11405   typedef struct IAMAnalogVideoDecoderVtbl {
   11406     BEGIN_INTERFACE
   11407       HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoDecoder *This,REFIID riid,void **ppvObject);
   11408       ULONG (WINAPI *AddRef)(IAMAnalogVideoDecoder *This);
   11409       ULONG (WINAPI *Release)(IAMAnalogVideoDecoder *This);
   11410       HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard);
   11411       HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard);
   11412       HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard);
   11413       HRESULT (WINAPI *get_HorizontalLocked)(IAMAnalogVideoDecoder *This,LONG *plLocked);
   11414       HRESULT (WINAPI *put_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking);
   11415       HRESULT (WINAPI *get_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking);
   11416       HRESULT (WINAPI *get_NumberOfLines)(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines);
   11417       HRESULT (WINAPI *put_OutputEnable)(IAMAnalogVideoDecoder *This,LONG lOutputEnable);
   11418       HRESULT (WINAPI *get_OutputEnable)(IAMAnalogVideoDecoder *This,LONG *plOutputEnable);
   11419     END_INTERFACE
   11420   } IAMAnalogVideoDecoderVtbl;
   11421   struct IAMAnalogVideoDecoder {
   11422     CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
   11423   };
   11424 #ifdef COBJMACROS
   11425 #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11426 #define IAMAnalogVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   11427 #define IAMAnalogVideoDecoder_Release(This) (This)->lpVtbl->Release(This)
   11428 #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   11429 #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
   11430 #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   11431 #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) (This)->lpVtbl->get_HorizontalLocked(This,plLocked)
   11432 #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) (This)->lpVtbl->put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
   11433 #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) (This)->lpVtbl->get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
   11434 #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) (This)->lpVtbl->get_NumberOfLines(This,plNumberOfLines)
   11435 #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) (This)->lpVtbl->put_OutputEnable(This,lOutputEnable)
   11436 #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) (This)->lpVtbl->get_OutputEnable(This,plOutputEnable)
   11437 #endif
   11438 #endif
   11439   HRESULT WINAPI IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard);
   11440   void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11441   HRESULT WINAPI IAMAnalogVideoDecoder_put_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard);
   11442   void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11443   HRESULT WINAPI IAMAnalogVideoDecoder_get_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard);
   11444   void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11445   HRESULT WINAPI IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(IAMAnalogVideoDecoder *This,LONG *plLocked);
   11446   void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11447   HRESULT WINAPI IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking);
   11448   void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11449   HRESULT WINAPI IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking);
   11450   void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11451   HRESULT WINAPI IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines);
   11452   void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11453   HRESULT WINAPI IAMAnalogVideoDecoder_put_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG lOutputEnable);
   11454   void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11455   HRESULT WINAPI IAMAnalogVideoDecoder_get_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG *plOutputEnable);
   11456   void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11457 #endif
   11458 
   11459   typedef enum tagCameraControlProperty {
   11460     CameraControl_Pan = 0,
   11461     CameraControl_Tilt,CameraControl_Roll,CameraControl_Zoom,CameraControl_Exposure,
   11462     CameraControl_Iris,CameraControl_Focus
   11463   } CameraControlProperty;
   11464 
   11465   typedef enum tagCameraControlFlags {
   11466     CameraControl_Flags_Auto = 0x1,CameraControl_Flags_Manual = 0x2
   11467   } CameraControlFlags;
   11468 
   11469   extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec;
   11470   extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec;
   11471 #ifndef __IAMCameraControl_INTERFACE_DEFINED__
   11472 #define __IAMCameraControl_INTERFACE_DEFINED__
   11473   EXTERN_C const IID IID_IAMCameraControl;
   11474 #if defined(__cplusplus) && !defined(CINTERFACE)
   11475   struct IAMCameraControl : public IUnknown {
   11476   public:
   11477     virtual HRESULT WINAPI GetRange(LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) = 0;
   11478     virtual HRESULT WINAPI Set(LONG Property,LONG lValue,LONG Flags) = 0;
   11479     virtual HRESULT WINAPI Get(LONG Property,LONG *lValue,LONG *Flags) = 0;
   11480   };
   11481 #else
   11482   typedef struct IAMCameraControlVtbl {
   11483     BEGIN_INTERFACE
   11484       HRESULT (WINAPI *QueryInterface)(IAMCameraControl *This,REFIID riid,void **ppvObject);
   11485       ULONG (WINAPI *AddRef)(IAMCameraControl *This);
   11486       ULONG (WINAPI *Release)(IAMCameraControl *This);
   11487       HRESULT (WINAPI *GetRange)(IAMCameraControl *This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags);
   11488       HRESULT (WINAPI *Set)(IAMCameraControl *This,LONG Property,LONG lValue,LONG Flags);
   11489       HRESULT (WINAPI *Get)(IAMCameraControl *This,LONG Property,LONG *lValue,LONG *Flags);
   11490     END_INTERFACE
   11491   } IAMCameraControlVtbl;
   11492   struct IAMCameraControl {
   11493     CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
   11494   };
   11495 #ifdef COBJMACROS
   11496 #define IAMCameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11497 #define IAMCameraControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   11498 #define IAMCameraControl_Release(This) (This)->lpVtbl->Release(This)
   11499 #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
   11500 #define IAMCameraControl_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
   11501 #define IAMCameraControl_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
   11502 #endif
   11503 #endif
   11504   HRESULT WINAPI IAMCameraControl_GetRange_Proxy(IAMCameraControl *This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags);
   11505   void __RPC_STUB IAMCameraControl_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11506   HRESULT WINAPI IAMCameraControl_Set_Proxy(IAMCameraControl *This,LONG Property,LONG lValue,LONG Flags);
   11507   void __RPC_STUB IAMCameraControl_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11508   HRESULT WINAPI IAMCameraControl_Get_Proxy(IAMCameraControl *This,LONG Property,LONG *lValue,LONG *Flags);
   11509   void __RPC_STUB IAMCameraControl_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11510 #endif
   11511 
   11512   typedef enum tagVideoControlFlags {
   11513     VideoControlFlag_FlipHorizontal = 0x1,VideoControlFlag_FlipVertical = 0x2,VideoControlFlag_ExternalTriggerEnable = 0x4,VideoControlFlag_Trigger = 0x8
   11514   } VideoControlFlags;
   11515 
   11516   extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec;
   11517   extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec;
   11518 #ifndef __IAMVideoControl_INTERFACE_DEFINED__
   11519 #define __IAMVideoControl_INTERFACE_DEFINED__
   11520   EXTERN_C const IID IID_IAMVideoControl;
   11521 #if defined(__cplusplus) && !defined(CINTERFACE)
   11522   struct IAMVideoControl : public IUnknown {
   11523   public:
   11524     virtual HRESULT WINAPI GetCaps(IPin *pPin,LONG *pCapsFlags) = 0;
   11525     virtual HRESULT WINAPI SetMode(IPin *pPin,LONG Mode) = 0;
   11526     virtual HRESULT WINAPI GetMode(IPin *pPin,LONG *Mode) = 0;
   11527     virtual HRESULT WINAPI GetCurrentActualFrameRate(IPin *pPin,LONGLONG *ActualFrameRate) = 0;
   11528     virtual HRESULT WINAPI GetMaxAvailableFrameRate(IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate) = 0;
   11529     virtual HRESULT WINAPI GetFrameRateList(IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates) = 0;
   11530   };
   11531 #else
   11532   typedef struct IAMVideoControlVtbl {
   11533     BEGIN_INTERFACE
   11534       HRESULT (WINAPI *QueryInterface)(IAMVideoControl *This,REFIID riid,void **ppvObject);
   11535       ULONG (WINAPI *AddRef)(IAMVideoControl *This);
   11536       ULONG (WINAPI *Release)(IAMVideoControl *This);
   11537       HRESULT (WINAPI *GetCaps)(IAMVideoControl *This,IPin *pPin,LONG *pCapsFlags);
   11538       HRESULT (WINAPI *SetMode)(IAMVideoControl *This,IPin *pPin,LONG Mode);
   11539       HRESULT (WINAPI *GetMode)(IAMVideoControl *This,IPin *pPin,LONG *Mode);
   11540       HRESULT (WINAPI *GetCurrentActualFrameRate)(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate);
   11541       HRESULT (WINAPI *GetMaxAvailableFrameRate)(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate);
   11542       HRESULT (WINAPI *GetFrameRateList)(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates);
   11543     END_INTERFACE
   11544   } IAMVideoControlVtbl;
   11545   struct IAMVideoControl {
   11546     CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
   11547   };
   11548 #ifdef COBJMACROS
   11549 #define IAMVideoControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11550 #define IAMVideoControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   11551 #define IAMVideoControl_Release(This) (This)->lpVtbl->Release(This)
   11552 #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags) (This)->lpVtbl->GetCaps(This,pPin,pCapsFlags)
   11553 #define IAMVideoControl_SetMode(This,pPin,Mode) (This)->lpVtbl->SetMode(This,pPin,Mode)
   11554 #define IAMVideoControl_GetMode(This,pPin,Mode) (This)->lpVtbl->GetMode(This,pPin,Mode)
   11555 #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate) (This)->lpVtbl->GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
   11556 #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) (This)->lpVtbl->GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
   11557 #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) (This)->lpVtbl->GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
   11558 #endif
   11559 #endif
   11560   HRESULT WINAPI IAMVideoControl_GetCaps_Proxy(IAMVideoControl *This,IPin *pPin,LONG *pCapsFlags);
   11561   void __RPC_STUB IAMVideoControl_GetCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11562   HRESULT WINAPI IAMVideoControl_SetMode_Proxy(IAMVideoControl *This,IPin *pPin,LONG Mode);
   11563   void __RPC_STUB IAMVideoControl_SetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11564   HRESULT WINAPI IAMVideoControl_GetMode_Proxy(IAMVideoControl *This,IPin *pPin,LONG *Mode);
   11565   void __RPC_STUB IAMVideoControl_GetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11566   HRESULT WINAPI IAMVideoControl_GetCurrentActualFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate);
   11567   void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11568   HRESULT WINAPI IAMVideoControl_GetMaxAvailableFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate);
   11569   void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11570   HRESULT WINAPI IAMVideoControl_GetFrameRateList_Proxy(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates);
   11571   void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11572 #endif
   11573 
   11574 #ifdef __CRT_UUID_DECL
   11575 __CRT_UUID_DECL(IAMCrossbar,0xc6e13380,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
   11576 #endif
   11577 
   11578 #ifndef __IAMCrossbar_INTERFACE_DEFINED__
   11579 #define __IAMCrossbar_INTERFACE_DEFINED__
   11580   EXTERN_C const IID IID_IAMCrossbar;
   11581 #if defined(__cplusplus) && !defined(CINTERFACE)
   11582   struct IAMCrossbar : public IUnknown {
   11583   public:
   11584     virtual HRESULT WINAPI get_PinCounts(LONG *OutputPinCount,LONG *InputPinCount) = 0;
   11585     virtual HRESULT WINAPI CanRoute(LONG OutputPinIndex,LONG InputPinIndex) = 0;
   11586     virtual HRESULT WINAPI Route(LONG OutputPinIndex,LONG InputPinIndex) = 0;
   11587     virtual HRESULT WINAPI get_IsRoutedTo(LONG OutputPinIndex,LONG *InputPinIndex) = 0;
   11588     virtual HRESULT WINAPI get_CrossbarPinInfo(WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType) = 0;
   11589   };
   11590 #else
   11591   typedef struct IAMCrossbarVtbl {
   11592     BEGIN_INTERFACE
   11593       HRESULT (WINAPI *QueryInterface)(IAMCrossbar *This,REFIID riid,void **ppvObject);
   11594       ULONG (WINAPI *AddRef)(IAMCrossbar *This);
   11595       ULONG (WINAPI *Release)(IAMCrossbar *This);
   11596       HRESULT (WINAPI *get_PinCounts)(IAMCrossbar *This,LONG *OutputPinCount,LONG *InputPinCount);
   11597       HRESULT (WINAPI *CanRoute)(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex);
   11598       HRESULT (WINAPI *Route)(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex);
   11599       HRESULT (WINAPI *get_IsRoutedTo)(IAMCrossbar *This,LONG OutputPinIndex,LONG *InputPinIndex);
   11600       HRESULT (WINAPI *get_CrossbarPinInfo)(IAMCrossbar *This,WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType);
   11601     END_INTERFACE
   11602   } IAMCrossbarVtbl;
   11603   struct IAMCrossbar {
   11604     CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
   11605   };
   11606 #ifdef COBJMACROS
   11607 #define IAMCrossbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11608 #define IAMCrossbar_AddRef(This) (This)->lpVtbl->AddRef(This)
   11609 #define IAMCrossbar_Release(This) (This)->lpVtbl->Release(This)
   11610 #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount) (This)->lpVtbl->get_PinCounts(This,OutputPinCount,InputPinCount)
   11611 #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->CanRoute(This,OutputPinIndex,InputPinIndex)
   11612 #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->Route(This,OutputPinIndex,InputPinIndex)
   11613 #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
   11614 #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) (This)->lpVtbl->get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
   11615 #endif
   11616 #endif
   11617   HRESULT WINAPI IAMCrossbar_get_PinCounts_Proxy(IAMCrossbar *This,LONG *OutputPinCount,LONG *InputPinCount);
   11618   void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11619   HRESULT WINAPI IAMCrossbar_CanRoute_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex);
   11620   void __RPC_STUB IAMCrossbar_CanRoute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11621   HRESULT WINAPI IAMCrossbar_Route_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex);
   11622   void __RPC_STUB IAMCrossbar_Route_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11623   HRESULT WINAPI IAMCrossbar_get_IsRoutedTo_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG *InputPinIndex);
   11624   void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11625   HRESULT WINAPI IAMCrossbar_get_CrossbarPinInfo_Proxy(IAMCrossbar *This,WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType);
   11626   void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11627 #endif
   11628 
   11629   typedef enum tagAMTunerSubChannel {
   11630     AMTUNER_SUBCHAN_NO_TUNE = -2,AMTUNER_SUBCHAN_DEFAULT = -1
   11631   } AMTunerSubChannel;
   11632 
   11633   typedef enum tagAMTunerSignalStrength {
   11634     AMTUNER_HASNOSIGNALSTRENGTH = -1,AMTUNER_NOSIGNAL = 0,AMTUNER_SIGNALPRESENT = 1
   11635   } AMTunerSignalStrength;
   11636 
   11637   typedef enum tagAMTunerModeType {
   11638     AMTUNER_MODE_DEFAULT = 0,AMTUNER_MODE_TV = 0x1,AMTUNER_MODE_FM_RADIO = 0x2,AMTUNER_MODE_AM_RADIO = 0x4,AMTUNER_MODE_DSS = 0x8
   11639   } AMTunerModeType;
   11640 
   11641   typedef enum tagAMTunerEventType {
   11642     AMTUNER_EVENT_CHANGED = 0x1
   11643   } AMTunerEventType;
   11644 
   11645   extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
   11646   extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
   11647 #ifndef __IAMTuner_INTERFACE_DEFINED__
   11648 #define __IAMTuner_INTERFACE_DEFINED__
   11649   EXTERN_C const IID IID_IAMTuner;
   11650 #if defined(__cplusplus) && !defined(CINTERFACE)
   11651   struct IAMTuner : public IUnknown {
   11652   public:
   11653     virtual HRESULT WINAPI put_Channel(LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel) = 0;
   11654     virtual HRESULT WINAPI get_Channel(LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel) = 0;
   11655     virtual HRESULT WINAPI ChannelMinMax(LONG *lChannelMin,LONG *lChannelMax) = 0;
   11656     virtual HRESULT WINAPI put_CountryCode(LONG lCountryCode) = 0;
   11657     virtual HRESULT WINAPI get_CountryCode(LONG *plCountryCode) = 0;
   11658     virtual HRESULT WINAPI put_TuningSpace(LONG lTuningSpace) = 0;
   11659     virtual HRESULT WINAPI get_TuningSpace(LONG *plTuningSpace) = 0;
   11660     virtual HRESULT WINAPI Logon(HANDLE hCurrentUser) = 0;
   11661     virtual HRESULT WINAPI Logout(void) = 0;
   11662     virtual HRESULT WINAPI SignalPresent(LONG *plSignalStrength) = 0;
   11663     virtual HRESULT WINAPI put_Mode(AMTunerModeType lMode) = 0;
   11664     virtual HRESULT WINAPI get_Mode(AMTunerModeType *plMode) = 0;
   11665     virtual HRESULT WINAPI GetAvailableModes(LONG *plModes) = 0;
   11666     virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0;
   11667     virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
   11668   };
   11669 #else
   11670   typedef struct IAMTunerVtbl {
   11671     BEGIN_INTERFACE
   11672       HRESULT (WINAPI *QueryInterface)(IAMTuner *This,REFIID riid,void **ppvObject);
   11673       ULONG (WINAPI *AddRef)(IAMTuner *This);
   11674       ULONG (WINAPI *Release)(IAMTuner *This);
   11675       HRESULT (WINAPI *put_Channel)(IAMTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
   11676       HRESULT (WINAPI *get_Channel)(IAMTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
   11677       HRESULT (WINAPI *ChannelMinMax)(IAMTuner *This,LONG *lChannelMin,LONG *lChannelMax);
   11678       HRESULT (WINAPI *put_CountryCode)(IAMTuner *This,LONG lCountryCode);
   11679       HRESULT (WINAPI *get_CountryCode)(IAMTuner *This,LONG *plCountryCode);
   11680       HRESULT (WINAPI *put_TuningSpace)(IAMTuner *This,LONG lTuningSpace);
   11681       HRESULT (WINAPI *get_TuningSpace)(IAMTuner *This,LONG *plTuningSpace);
   11682       HRESULT (WINAPI *Logon)(IAMTuner *This,HANDLE hCurrentUser);
   11683       HRESULT (WINAPI *Logout)(IAMTuner *This);
   11684       HRESULT (WINAPI *SignalPresent)(IAMTuner *This,LONG *plSignalStrength);
   11685       HRESULT (WINAPI *put_Mode)(IAMTuner *This,AMTunerModeType lMode);
   11686       HRESULT (WINAPI *get_Mode)(IAMTuner *This,AMTunerModeType *plMode);
   11687       HRESULT (WINAPI *GetAvailableModes)(IAMTuner *This,LONG *plModes);
   11688       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
   11689       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify);
   11690     END_INTERFACE
   11691   } IAMTunerVtbl;
   11692   struct IAMTuner {
   11693     CONST_VTBL struct IAMTunerVtbl *lpVtbl;
   11694   };
   11695 #ifdef COBJMACROS
   11696 #define IAMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11697 #define IAMTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   11698 #define IAMTuner_Release(This) (This)->lpVtbl->Release(This)
   11699 #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   11700 #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   11701 #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   11702 #define IAMTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   11703 #define IAMTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   11704 #define IAMTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   11705 #define IAMTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   11706 #define IAMTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   11707 #define IAMTuner_Logout(This) (This)->lpVtbl->Logout(This)
   11708 #define IAMTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   11709 #define IAMTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   11710 #define IAMTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   11711 #define IAMTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   11712 #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   11713 #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   11714 #endif
   11715 #endif
   11716   HRESULT WINAPI IAMTuner_put_Channel_Proxy(IAMTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
   11717   void __RPC_STUB IAMTuner_put_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11718   HRESULT WINAPI IAMTuner_get_Channel_Proxy(IAMTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
   11719   void __RPC_STUB IAMTuner_get_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11720   HRESULT WINAPI IAMTuner_ChannelMinMax_Proxy(IAMTuner *This,LONG *lChannelMin,LONG *lChannelMax);
   11721   void __RPC_STUB IAMTuner_ChannelMinMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11722   HRESULT WINAPI IAMTuner_put_CountryCode_Proxy(IAMTuner *This,LONG lCountryCode);
   11723   void __RPC_STUB IAMTuner_put_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11724   HRESULT WINAPI IAMTuner_get_CountryCode_Proxy(IAMTuner *This,LONG *plCountryCode);
   11725   void __RPC_STUB IAMTuner_get_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11726   HRESULT WINAPI IAMTuner_put_TuningSpace_Proxy(IAMTuner *This,LONG lTuningSpace);
   11727   void __RPC_STUB IAMTuner_put_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11728   HRESULT WINAPI IAMTuner_get_TuningSpace_Proxy(IAMTuner *This,LONG *plTuningSpace);
   11729   void __RPC_STUB IAMTuner_get_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11730   HRESULT WINAPI IAMTuner_Logon_Proxy(IAMTuner *This,HANDLE hCurrentUser);
   11731   void __RPC_STUB IAMTuner_Logon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11732   HRESULT WINAPI IAMTuner_Logout_Proxy(IAMTuner *This);
   11733   void __RPC_STUB IAMTuner_Logout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11734   HRESULT WINAPI IAMTuner_SignalPresent_Proxy(IAMTuner *This,LONG *plSignalStrength);
   11735   void __RPC_STUB IAMTuner_SignalPresent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11736   HRESULT WINAPI IAMTuner_put_Mode_Proxy(IAMTuner *This,AMTunerModeType lMode);
   11737   void __RPC_STUB IAMTuner_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11738   HRESULT WINAPI IAMTuner_get_Mode_Proxy(IAMTuner *This,AMTunerModeType *plMode);
   11739   void __RPC_STUB IAMTuner_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11740   HRESULT WINAPI IAMTuner_GetAvailableModes_Proxy(IAMTuner *This,LONG *plModes);
   11741   void __RPC_STUB IAMTuner_GetAvailableModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11742   HRESULT WINAPI IAMTuner_RegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
   11743   void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11744   HRESULT WINAPI IAMTuner_UnRegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify);
   11745   void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11746 #endif
   11747 
   11748 #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
   11749 #define __IAMTunerNotification_INTERFACE_DEFINED__
   11750   EXTERN_C const IID IID_IAMTunerNotification;
   11751 #if defined(__cplusplus) && !defined(CINTERFACE)
   11752   struct IAMTunerNotification : public IUnknown {
   11753   public:
   11754     virtual HRESULT WINAPI OnEvent(AMTunerEventType Event) = 0;
   11755   };
   11756 #else
   11757   typedef struct IAMTunerNotificationVtbl {
   11758     BEGIN_INTERFACE
   11759       HRESULT (WINAPI *QueryInterface)(IAMTunerNotification *This,REFIID riid,void **ppvObject);
   11760       ULONG (WINAPI *AddRef)(IAMTunerNotification *This);
   11761       ULONG (WINAPI *Release)(IAMTunerNotification *This);
   11762       HRESULT (WINAPI *OnEvent)(IAMTunerNotification *This,AMTunerEventType Event);
   11763     END_INTERFACE
   11764   } IAMTunerNotificationVtbl;
   11765   struct IAMTunerNotification {
   11766     CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
   11767   };
   11768 #ifdef COBJMACROS
   11769 #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11770 #define IAMTunerNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
   11771 #define IAMTunerNotification_Release(This) (This)->lpVtbl->Release(This)
   11772 #define IAMTunerNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
   11773 #endif
   11774 #endif
   11775   HRESULT WINAPI IAMTunerNotification_OnEvent_Proxy(IAMTunerNotification *This,AMTunerEventType Event);
   11776   void __RPC_STUB IAMTunerNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11777 #endif
   11778 
   11779 #ifndef __IAMTVTuner_INTERFACE_DEFINED__
   11780 #define __IAMTVTuner_INTERFACE_DEFINED__
   11781   EXTERN_C const IID IID_IAMTVTuner;
   11782 #if defined(__cplusplus) && !defined(CINTERFACE)
   11783   struct IAMTVTuner : public IAMTuner {
   11784   public:
   11785     virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0;
   11786     virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0;
   11787     virtual HRESULT WINAPI AutoTune(LONG lChannel,LONG *plFoundSignal) = 0;
   11788     virtual HRESULT WINAPI StoreAutoTune(void) = 0;
   11789     virtual HRESULT WINAPI get_NumInputConnections(LONG *plNumInputConnections) = 0;
   11790     virtual HRESULT WINAPI put_InputType(LONG lIndex,TunerInputType InputType) = 0;
   11791     virtual HRESULT WINAPI get_InputType(LONG lIndex,TunerInputType *pInputType) = 0;
   11792     virtual HRESULT WINAPI put_ConnectInput(LONG lIndex) = 0;
   11793     virtual HRESULT WINAPI get_ConnectInput(LONG *plIndex) = 0;
   11794     virtual HRESULT WINAPI get_VideoFrequency(LONG *lFreq) = 0;
   11795     virtual HRESULT WINAPI get_AudioFrequency(LONG *lFreq) = 0;
   11796   };
   11797 #else
   11798   typedef struct IAMTVTunerVtbl {
   11799     BEGIN_INTERFACE
   11800       HRESULT (WINAPI *QueryInterface)(IAMTVTuner *This,REFIID riid,void **ppvObject);
   11801       ULONG (WINAPI *AddRef)(IAMTVTuner *This);
   11802       ULONG (WINAPI *Release)(IAMTVTuner *This);
   11803       HRESULT (WINAPI *put_Channel)(IAMTVTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
   11804       HRESULT (WINAPI *get_Channel)(IAMTVTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
   11805       HRESULT (WINAPI *ChannelMinMax)(IAMTVTuner *This,LONG *lChannelMin,LONG *lChannelMax);
   11806       HRESULT (WINAPI *put_CountryCode)(IAMTVTuner *This,LONG lCountryCode);
   11807       HRESULT (WINAPI *get_CountryCode)(IAMTVTuner *This,LONG *plCountryCode);
   11808       HRESULT (WINAPI *put_TuningSpace)(IAMTVTuner *This,LONG lTuningSpace);
   11809       HRESULT (WINAPI *get_TuningSpace)(IAMTVTuner *This,LONG *plTuningSpace);
   11810       HRESULT (WINAPI *Logon)(IAMTVTuner *This,HANDLE hCurrentUser);
   11811       HRESULT (WINAPI *Logout)(IAMTVTuner *This);
   11812       HRESULT (WINAPI *SignalPresent)(IAMTVTuner *This,LONG *plSignalStrength);
   11813       HRESULT (WINAPI *put_Mode)(IAMTVTuner *This,AMTunerModeType lMode);
   11814       HRESULT (WINAPI *get_Mode)(IAMTVTuner *This,AMTunerModeType *plMode);
   11815       HRESULT (WINAPI *GetAvailableModes)(IAMTVTuner *This,LONG *plModes);
   11816       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
   11817       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify);
   11818       HRESULT (WINAPI *get_AvailableTVFormats)(IAMTVTuner *This,LONG *lAnalogVideoStandard);
   11819       HRESULT (WINAPI *get_TVFormat)(IAMTVTuner *This,LONG *plAnalogVideoStandard);
   11820       HRESULT (WINAPI *AutoTune)(IAMTVTuner *This,LONG lChannel,LONG *plFoundSignal);
   11821       HRESULT (WINAPI *StoreAutoTune)(IAMTVTuner *This);
   11822       HRESULT (WINAPI *get_NumInputConnections)(IAMTVTuner *This,LONG *plNumInputConnections);
   11823       HRESULT (WINAPI *put_InputType)(IAMTVTuner *This,LONG lIndex,TunerInputType InputType);
   11824       HRESULT (WINAPI *get_InputType)(IAMTVTuner *This,LONG lIndex,TunerInputType *pInputType);
   11825       HRESULT (WINAPI *put_ConnectInput)(IAMTVTuner *This,LONG lIndex);
   11826       HRESULT (WINAPI *get_ConnectInput)(IAMTVTuner *This,LONG *plIndex);
   11827       HRESULT (WINAPI *get_VideoFrequency)(IAMTVTuner *This,LONG *lFreq);
   11828       HRESULT (WINAPI *get_AudioFrequency)(IAMTVTuner *This,LONG *lFreq);
   11829     END_INTERFACE
   11830   } IAMTVTunerVtbl;
   11831   struct IAMTVTuner {
   11832     CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
   11833   };
   11834 #ifdef COBJMACROS
   11835 #define IAMTVTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11836 #define IAMTVTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   11837 #define IAMTVTuner_Release(This) (This)->lpVtbl->Release(This)
   11838 #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   11839 #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   11840 #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   11841 #define IAMTVTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   11842 #define IAMTVTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   11843 #define IAMTVTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   11844 #define IAMTVTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   11845 #define IAMTVTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   11846 #define IAMTVTuner_Logout(This) (This)->lpVtbl->Logout(This)
   11847 #define IAMTVTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   11848 #define IAMTVTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   11849 #define IAMTVTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   11850 #define IAMTVTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   11851 #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   11852 #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   11853 #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   11854 #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   11855 #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal) (This)->lpVtbl->AutoTune(This,lChannel,plFoundSignal)
   11856 #define IAMTVTuner_StoreAutoTune(This) (This)->lpVtbl->StoreAutoTune(This)
   11857 #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections) (This)->lpVtbl->get_NumInputConnections(This,plNumInputConnections)
   11858 #define IAMTVTuner_put_InputType(This,lIndex,InputType) (This)->lpVtbl->put_InputType(This,lIndex,InputType)
   11859 #define IAMTVTuner_get_InputType(This,lIndex,pInputType) (This)->lpVtbl->get_InputType(This,lIndex,pInputType)
   11860 #define IAMTVTuner_put_ConnectInput(This,lIndex) (This)->lpVtbl->put_ConnectInput(This,lIndex)
   11861 #define IAMTVTuner_get_ConnectInput(This,plIndex) (This)->lpVtbl->get_ConnectInput(This,plIndex)
   11862 #define IAMTVTuner_get_VideoFrequency(This,lFreq) (This)->lpVtbl->get_VideoFrequency(This,lFreq)
   11863 #define IAMTVTuner_get_AudioFrequency(This,lFreq) (This)->lpVtbl->get_AudioFrequency(This,lFreq)
   11864 #endif
   11865 #endif
   11866   HRESULT WINAPI IAMTVTuner_get_AvailableTVFormats_Proxy(IAMTVTuner *This,LONG *lAnalogVideoStandard);
   11867   void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11868   HRESULT WINAPI IAMTVTuner_get_TVFormat_Proxy(IAMTVTuner *This,LONG *plAnalogVideoStandard);
   11869   void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11870   HRESULT WINAPI IAMTVTuner_AutoTune_Proxy(IAMTVTuner *This,LONG lChannel,LONG *plFoundSignal);
   11871   void __RPC_STUB IAMTVTuner_AutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11872   HRESULT WINAPI IAMTVTuner_StoreAutoTune_Proxy(IAMTVTuner *This);
   11873   void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11874   HRESULT WINAPI IAMTVTuner_get_NumInputConnections_Proxy(IAMTVTuner *This,LONG *plNumInputConnections);
   11875   void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11876   HRESULT WINAPI IAMTVTuner_put_InputType_Proxy(IAMTVTuner *This,LONG lIndex,TunerInputType InputType);
   11877   void __RPC_STUB IAMTVTuner_put_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11878   HRESULT WINAPI IAMTVTuner_get_InputType_Proxy(IAMTVTuner *This,LONG lIndex,TunerInputType *pInputType);
   11879   void __RPC_STUB IAMTVTuner_get_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11880   HRESULT WINAPI IAMTVTuner_put_ConnectInput_Proxy(IAMTVTuner *This,LONG lIndex);
   11881   void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11882   HRESULT WINAPI IAMTVTuner_get_ConnectInput_Proxy(IAMTVTuner *This,LONG *plIndex);
   11883   void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11884   HRESULT WINAPI IAMTVTuner_get_VideoFrequency_Proxy(IAMTVTuner *This,LONG *lFreq);
   11885   void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11886   HRESULT WINAPI IAMTVTuner_get_AudioFrequency_Proxy(IAMTVTuner *This,LONG *lFreq);
   11887   void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11888 #endif
   11889 
   11890 #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
   11891 #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
   11892   EXTERN_C const IID IID_IBPCSatelliteTuner;
   11893 #if defined(__cplusplus) && !defined(CINTERFACE)
   11894   struct IBPCSatelliteTuner : public IAMTuner {
   11895   public:
   11896     virtual HRESULT WINAPI get_DefaultSubChannelTypes(LONG *plDefaultVideoType,LONG *plDefaultAudioType) = 0;
   11897     virtual HRESULT WINAPI put_DefaultSubChannelTypes(LONG lDefaultVideoType,LONG lDefaultAudioType) = 0;
   11898     virtual HRESULT WINAPI IsTapingPermitted(void) = 0;
   11899   };
   11900 #else
   11901   typedef struct IBPCSatelliteTunerVtbl {
   11902     BEGIN_INTERFACE
   11903       HRESULT (WINAPI *QueryInterface)(IBPCSatelliteTuner *This,REFIID riid,void **ppvObject);
   11904       ULONG (WINAPI *AddRef)(IBPCSatelliteTuner *This);
   11905       ULONG (WINAPI *Release)(IBPCSatelliteTuner *This);
   11906       HRESULT (WINAPI *put_Channel)(IBPCSatelliteTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
   11907       HRESULT (WINAPI *get_Channel)(IBPCSatelliteTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
   11908       HRESULT (WINAPI *ChannelMinMax)(IBPCSatelliteTuner *This,LONG *lChannelMin,LONG *lChannelMax);
   11909       HRESULT (WINAPI *put_CountryCode)(IBPCSatelliteTuner *This,LONG lCountryCode);
   11910       HRESULT (WINAPI *get_CountryCode)(IBPCSatelliteTuner *This,LONG *plCountryCode);
   11911       HRESULT (WINAPI *put_TuningSpace)(IBPCSatelliteTuner *This,LONG lTuningSpace);
   11912       HRESULT (WINAPI *get_TuningSpace)(IBPCSatelliteTuner *This,LONG *plTuningSpace);
   11913       HRESULT (WINAPI *Logon)(IBPCSatelliteTuner *This,HANDLE hCurrentUser);
   11914       HRESULT (WINAPI *Logout)(IBPCSatelliteTuner *This);
   11915       HRESULT (WINAPI *SignalPresent)(IBPCSatelliteTuner *This,LONG *plSignalStrength);
   11916       HRESULT (WINAPI *put_Mode)(IBPCSatelliteTuner *This,AMTunerModeType lMode);
   11917       HRESULT (WINAPI *get_Mode)(IBPCSatelliteTuner *This,AMTunerModeType *plMode);
   11918       HRESULT (WINAPI *GetAvailableModes)(IBPCSatelliteTuner *This,LONG *plModes);
   11919       HRESULT (WINAPI *RegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
   11920       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify);
   11921       HRESULT (WINAPI *get_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType);
   11922       HRESULT (WINAPI *put_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType);
   11923       HRESULT (WINAPI *IsTapingPermitted)(IBPCSatelliteTuner *This);
   11924     END_INTERFACE
   11925   } IBPCSatelliteTunerVtbl;
   11926   struct IBPCSatelliteTuner {
   11927     CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
   11928   };
   11929 #ifdef COBJMACROS
   11930 #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11931 #define IBPCSatelliteTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   11932 #define IBPCSatelliteTuner_Release(This) (This)->lpVtbl->Release(This)
   11933 #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   11934 #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   11935 #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   11936 #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   11937 #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   11938 #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   11939 #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   11940 #define IBPCSatelliteTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   11941 #define IBPCSatelliteTuner_Logout(This) (This)->lpVtbl->Logout(This)
   11942 #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   11943 #define IBPCSatelliteTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   11944 #define IBPCSatelliteTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   11945 #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   11946 #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   11947 #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   11948 #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) (This)->lpVtbl->get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
   11949 #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) (This)->lpVtbl->put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
   11950 #define IBPCSatelliteTuner_IsTapingPermitted(This) (This)->lpVtbl->IsTapingPermitted(This)
   11951 #endif
   11952 #endif
   11953   HRESULT WINAPI IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType);
   11954   void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11955   HRESULT WINAPI IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType);
   11956   void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11957   HRESULT WINAPI IBPCSatelliteTuner_IsTapingPermitted_Proxy(IBPCSatelliteTuner *This);
   11958   void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11959 #endif
   11960 
   11961   typedef enum tagAMTVAudioEventType {
   11962     AMTVAUDIO_EVENT_CHANGED = 0x1
   11963   } AMTVAudioEventType;
   11964 
   11965   extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
   11966   extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
   11967 #ifndef __IAMTVAudio_INTERFACE_DEFINED__
   11968 #define __IAMTVAudio_INTERFACE_DEFINED__
   11969   EXTERN_C const IID IID_IAMTVAudio;
   11970 #if defined(__cplusplus) && !defined(CINTERFACE)
   11971   struct IAMTVAudio : public IUnknown {
   11972   public:
   11973     virtual HRESULT WINAPI GetHardwareSupportedTVAudioModes(LONG *plModes) = 0;
   11974     virtual HRESULT WINAPI GetAvailableTVAudioModes(LONG *plModes) = 0;
   11975     virtual HRESULT WINAPI get_TVAudioMode(LONG *plMode) = 0;
   11976     virtual HRESULT WINAPI put_TVAudioMode(LONG lMode) = 0;
   11977     virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0;
   11978     virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
   11979   };
   11980 #else
   11981   typedef struct IAMTVAudioVtbl {
   11982     BEGIN_INTERFACE
   11983       HRESULT (WINAPI *QueryInterface)(IAMTVAudio *This,REFIID riid,void **ppvObject);
   11984       ULONG (WINAPI *AddRef)(IAMTVAudio *This);
   11985       ULONG (WINAPI *Release)(IAMTVAudio *This);
   11986       HRESULT (WINAPI *GetHardwareSupportedTVAudioModes)(IAMTVAudio *This,LONG *plModes);
   11987       HRESULT (WINAPI *GetAvailableTVAudioModes)(IAMTVAudio *This,LONG *plModes);
   11988       HRESULT (WINAPI *get_TVAudioMode)(IAMTVAudio *This,LONG *plMode);
   11989       HRESULT (WINAPI *put_TVAudioMode)(IAMTVAudio *This,LONG lMode);
   11990       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents);
   11991       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify);
   11992     END_INTERFACE
   11993   } IAMTVAudioVtbl;
   11994   struct IAMTVAudio {
   11995     CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
   11996   };
   11997 #ifdef COBJMACROS
   11998 #define IAMTVAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11999 #define IAMTVAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
   12000 #define IAMTVAudio_Release(This) (This)->lpVtbl->Release(This)
   12001 #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) (This)->lpVtbl->GetHardwareSupportedTVAudioModes(This,plModes)
   12002 #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) (This)->lpVtbl->GetAvailableTVAudioModes(This,plModes)
   12003 #define IAMTVAudio_get_TVAudioMode(This,plMode) (This)->lpVtbl->get_TVAudioMode(This,plMode)
   12004 #define IAMTVAudio_put_TVAudioMode(This,lMode) (This)->lpVtbl->put_TVAudioMode(This,lMode)
   12005 #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   12006 #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   12007 #endif
   12008 #endif
   12009   HRESULT WINAPI IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes);
   12010   void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12011   HRESULT WINAPI IAMTVAudio_GetAvailableTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes);
   12012   void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12013   HRESULT WINAPI IAMTVAudio_get_TVAudioMode_Proxy(IAMTVAudio *This,LONG *plMode);
   12014   void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12015   HRESULT WINAPI IAMTVAudio_put_TVAudioMode_Proxy(IAMTVAudio *This,LONG lMode);
   12016   void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12017   HRESULT WINAPI IAMTVAudio_RegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents);
   12018   void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12019   HRESULT WINAPI IAMTVAudio_UnRegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify);
   12020   void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12021 #endif
   12022 
   12023 #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
   12024 #define __IAMTVAudioNotification_INTERFACE_DEFINED__
   12025   EXTERN_C const IID IID_IAMTVAudioNotification;
   12026 #if defined(__cplusplus) && !defined(CINTERFACE)
   12027   struct IAMTVAudioNotification : public IUnknown {
   12028   public:
   12029     virtual HRESULT WINAPI OnEvent(AMTVAudioEventType Event) = 0;
   12030   };
   12031 #else
   12032   typedef struct IAMTVAudioNotificationVtbl {
   12033     BEGIN_INTERFACE
   12034       HRESULT (WINAPI *QueryInterface)(IAMTVAudioNotification *This,REFIID riid,void **ppvObject);
   12035       ULONG (WINAPI *AddRef)(IAMTVAudioNotification *This);
   12036       ULONG (WINAPI *Release)(IAMTVAudioNotification *This);
   12037       HRESULT (WINAPI *OnEvent)(IAMTVAudioNotification *This,AMTVAudioEventType Event);
   12038     END_INTERFACE
   12039   } IAMTVAudioNotificationVtbl;
   12040   struct IAMTVAudioNotification {
   12041     CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
   12042   };
   12043 #ifdef COBJMACROS
   12044 #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12045 #define IAMTVAudioNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
   12046 #define IAMTVAudioNotification_Release(This) (This)->lpVtbl->Release(This)
   12047 #define IAMTVAudioNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
   12048 #endif
   12049 #endif
   12050   HRESULT WINAPI IAMTVAudioNotification_OnEvent_Proxy(IAMTVAudioNotification *This,AMTVAudioEventType Event);
   12051   void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12052 #endif
   12053 
   12054 #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
   12055 #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
   12056   EXTERN_C const IID IID_IAMAnalogVideoEncoder;
   12057 #if defined(__cplusplus) && !defined(CINTERFACE)
   12058   struct IAMAnalogVideoEncoder : public IUnknown {
   12059   public:
   12060     virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0;
   12061     virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0;
   12062     virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0;
   12063     virtual HRESULT WINAPI put_CopyProtection(LONG lVideoCopyProtection) = 0;
   12064     virtual HRESULT WINAPI get_CopyProtection(LONG *lVideoCopyProtection) = 0;
   12065     virtual HRESULT WINAPI put_CCEnable(LONG lCCEnable) = 0;
   12066     virtual HRESULT WINAPI get_CCEnable(LONG *lCCEnable) = 0;
   12067   };
   12068 #else
   12069   typedef struct IAMAnalogVideoEncoderVtbl {
   12070     BEGIN_INTERFACE
   12071       HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoEncoder *This,REFIID riid,void **ppvObject);
   12072       ULONG (WINAPI *AddRef)(IAMAnalogVideoEncoder *This);
   12073       ULONG (WINAPI *Release)(IAMAnalogVideoEncoder *This);
   12074       HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard);
   12075       HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard);
   12076       HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard);
   12077       HRESULT (WINAPI *put_CopyProtection)(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection);
   12078       HRESULT (WINAPI *get_CopyProtection)(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection);
   12079       HRESULT (WINAPI *put_CCEnable)(IAMAnalogVideoEncoder *This,LONG lCCEnable);
   12080       HRESULT (WINAPI *get_CCEnable)(IAMAnalogVideoEncoder *This,LONG *lCCEnable);
   12081     END_INTERFACE
   12082   } IAMAnalogVideoEncoderVtbl;
   12083   struct IAMAnalogVideoEncoder {
   12084     CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
   12085   };
   12086 #ifdef COBJMACROS
   12087 #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12088 #define IAMAnalogVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   12089 #define IAMAnalogVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
   12090 #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   12091 #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
   12092 #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   12093 #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->put_CopyProtection(This,lVideoCopyProtection)
   12094 #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->get_CopyProtection(This,lVideoCopyProtection)
   12095 #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) (This)->lpVtbl->put_CCEnable(This,lCCEnable)
   12096 #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) (This)->lpVtbl->get_CCEnable(This,lCCEnable)
   12097 #endif
   12098 #endif
   12099   HRESULT WINAPI IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard);
   12100   void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12101   HRESULT WINAPI IAMAnalogVideoEncoder_put_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard);
   12102   void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12103   HRESULT WINAPI IAMAnalogVideoEncoder_get_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard);
   12104   void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12105   HRESULT WINAPI IAMAnalogVideoEncoder_put_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection);
   12106   void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12107   HRESULT WINAPI IAMAnalogVideoEncoder_get_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection);
   12108   void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12109   HRESULT WINAPI IAMAnalogVideoEncoder_put_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG lCCEnable);
   12110   void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12111   HRESULT WINAPI IAMAnalogVideoEncoder_get_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG *lCCEnable);
   12112   void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12113 #endif
   12114 
   12115   typedef enum __MIDL___MIDL_itf_strmif_0185_0001 {
   12116     AMPROPERTY_PIN_CATEGORY = 0,AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1
   12117   } AMPROPERTY_PIN;
   12118 
   12119 #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
   12120 #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
   12121   EXTERN_C const IID IID_IAMPhysicalPinInfo;
   12122 #if defined(__cplusplus) && !defined(CINTERFACE)
   12123   struct IAMPhysicalPinInfo : public IUnknown {
   12124   public:
   12125     virtual HRESULT WINAPI GetPhysicalType(LONG *pType,LPOLESTR *ppszType) = 0;
   12126   };
   12127 #else
   12128   typedef struct IAMPhysicalPinInfoVtbl {
   12129     BEGIN_INTERFACE
   12130       HRESULT (WINAPI *QueryInterface)(IAMPhysicalPinInfo *This,REFIID riid,void **ppvObject);
   12131       ULONG (WINAPI *AddRef)(IAMPhysicalPinInfo *This);
   12132       ULONG (WINAPI *Release)(IAMPhysicalPinInfo *This);
   12133       HRESULT (WINAPI *GetPhysicalType)(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType);
   12134     END_INTERFACE
   12135   } IAMPhysicalPinInfoVtbl;
   12136   struct IAMPhysicalPinInfo {
   12137     CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
   12138   };
   12139 #ifdef COBJMACROS
   12140 #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12141 #define IAMPhysicalPinInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   12142 #define IAMPhysicalPinInfo_Release(This) (This)->lpVtbl->Release(This)
   12143 #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) (This)->lpVtbl->GetPhysicalType(This,pType,ppszType)
   12144 #endif
   12145 #endif
   12146   HRESULT WINAPI IAMPhysicalPinInfo_GetPhysicalType_Proxy(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType);
   12147   void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12148 #endif
   12149 
   12150   typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
   12151 
   12152   extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
   12153   extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
   12154 #ifndef __IAMExtDevice_INTERFACE_DEFINED__
   12155 #define __IAMExtDevice_INTERFACE_DEFINED__
   12156   EXTERN_C const IID IID_IAMExtDevice;
   12157 #if defined(__cplusplus) && !defined(CINTERFACE)
   12158   struct IAMExtDevice : public IUnknown {
   12159   public:
   12160     virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0;
   12161     virtual HRESULT WINAPI get_ExternalDeviceID(LPOLESTR *ppszData) = 0;
   12162     virtual HRESULT WINAPI get_ExternalDeviceVersion(LPOLESTR *ppszData) = 0;
   12163     virtual HRESULT WINAPI put_DevicePower(LONG PowerMode) = 0;
   12164     virtual HRESULT WINAPI get_DevicePower(LONG *pPowerMode) = 0;
   12165     virtual HRESULT WINAPI Calibrate(HEVENT hEvent,LONG Mode,LONG *pStatus) = 0;
   12166     virtual HRESULT WINAPI put_DevicePort(LONG DevicePort) = 0;
   12167     virtual HRESULT WINAPI get_DevicePort(LONG *pDevicePort) = 0;
   12168   };
   12169 #else
   12170   typedef struct IAMExtDeviceVtbl {
   12171     BEGIN_INTERFACE
   12172       HRESULT (WINAPI *QueryInterface)(IAMExtDevice *This,REFIID riid,void **ppvObject);
   12173       ULONG (WINAPI *AddRef)(IAMExtDevice *This);
   12174       ULONG (WINAPI *Release)(IAMExtDevice *This);
   12175       HRESULT (WINAPI *GetCapability)(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue);
   12176       HRESULT (WINAPI *get_ExternalDeviceID)(IAMExtDevice *This,LPOLESTR *ppszData);
   12177       HRESULT (WINAPI *get_ExternalDeviceVersion)(IAMExtDevice *This,LPOLESTR *ppszData);
   12178       HRESULT (WINAPI *put_DevicePower)(IAMExtDevice *This,LONG PowerMode);
   12179       HRESULT (WINAPI *get_DevicePower)(IAMExtDevice *This,LONG *pPowerMode);
   12180       HRESULT (WINAPI *Calibrate)(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus);
   12181       HRESULT (WINAPI *put_DevicePort)(IAMExtDevice *This,LONG DevicePort);
   12182       HRESULT (WINAPI *get_DevicePort)(IAMExtDevice *This,LONG *pDevicePort);
   12183     END_INTERFACE
   12184   } IAMExtDeviceVtbl;
   12185   struct IAMExtDevice {
   12186     CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
   12187   };
   12188 #ifdef COBJMACROS
   12189 #define IAMExtDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12190 #define IAMExtDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
   12191 #define IAMExtDevice_Release(This) (This)->lpVtbl->Release(This)
   12192 #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
   12193 #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) (This)->lpVtbl->get_ExternalDeviceID(This,ppszData)
   12194 #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) (This)->lpVtbl->get_ExternalDeviceVersion(This,ppszData)
   12195 #define IAMExtDevice_put_DevicePower(This,PowerMode) (This)->lpVtbl->put_DevicePower(This,PowerMode)
   12196 #define IAMExtDevice_get_DevicePower(This,pPowerMode) (This)->lpVtbl->get_DevicePower(This,pPowerMode)
   12197 #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) (This)->lpVtbl->Calibrate(This,hEvent,Mode,pStatus)
   12198 #define IAMExtDevice_put_DevicePort(This,DevicePort) (This)->lpVtbl->put_DevicePort(This,DevicePort)
   12199 #define IAMExtDevice_get_DevicePort(This,pDevicePort) (This)->lpVtbl->get_DevicePort(This,pDevicePort)
   12200 #endif
   12201 #endif
   12202   HRESULT WINAPI IAMExtDevice_GetCapability_Proxy(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue);
   12203   void __RPC_STUB IAMExtDevice_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12204   HRESULT WINAPI IAMExtDevice_get_ExternalDeviceID_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
   12205   void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12206   HRESULT WINAPI IAMExtDevice_get_ExternalDeviceVersion_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
   12207   void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12208   HRESULT WINAPI IAMExtDevice_put_DevicePower_Proxy(IAMExtDevice *This,LONG PowerMode);
   12209   void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12210   HRESULT WINAPI IAMExtDevice_get_DevicePower_Proxy(IAMExtDevice *This,LONG *pPowerMode);
   12211   void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12212   HRESULT WINAPI IAMExtDevice_Calibrate_Proxy(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus);
   12213   void __RPC_STUB IAMExtDevice_Calibrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12214   HRESULT WINAPI IAMExtDevice_put_DevicePort_Proxy(IAMExtDevice *This,LONG DevicePort);
   12215   void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12216   HRESULT WINAPI IAMExtDevice_get_DevicePort_Proxy(IAMExtDevice *This,LONG *pDevicePort);
   12217   void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12218 #endif
   12219 
   12220   typedef IAMExtDevice *PEXTDEVICE;
   12221 
   12222   extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
   12223   extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
   12224 #ifndef __IAMExtTransport_INTERFACE_DEFINED__
   12225 #define __IAMExtTransport_INTERFACE_DEFINED__
   12226   EXTERN_C const IID IID_IAMExtTransport;
   12227 #if defined(__cplusplus) && !defined(CINTERFACE)
   12228   struct IAMExtTransport : public IUnknown {
   12229   public:
   12230     virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0;
   12231     virtual HRESULT WINAPI put_MediaState(LONG State) = 0;
   12232     virtual HRESULT WINAPI get_MediaState(LONG *pState) = 0;
   12233     virtual HRESULT WINAPI put_LocalControl(LONG State) = 0;
   12234     virtual HRESULT WINAPI get_LocalControl(LONG *pState) = 0;
   12235     virtual HRESULT WINAPI GetStatus(LONG StatusItem,LONG *pValue) = 0;
   12236     virtual HRESULT WINAPI GetTransportBasicParameters(LONG Param,LONG *pValue,LPOLESTR *ppszData) = 0;
   12237     virtual HRESULT WINAPI SetTransportBasicParameters(LONG Param,LONG Value,LPCOLESTR pszData) = 0;
   12238     virtual HRESULT WINAPI GetTransportVideoParameters(LONG Param,LONG *pValue) = 0;
   12239     virtual HRESULT WINAPI SetTransportVideoParameters(LONG Param,LONG Value) = 0;
   12240     virtual HRESULT WINAPI GetTransportAudioParameters(LONG Param,LONG *pValue) = 0;
   12241     virtual HRESULT WINAPI SetTransportAudioParameters(LONG Param,LONG Value) = 0;
   12242     virtual HRESULT WINAPI put_Mode(LONG Mode) = 0;
   12243     virtual HRESULT WINAPI get_Mode(LONG *pMode) = 0;
   12244     virtual HRESULT WINAPI put_Rate(double dblRate) = 0;
   12245     virtual HRESULT WINAPI get_Rate(double *pdblRate) = 0;
   12246     virtual HRESULT WINAPI GetChase(LONG *pEnabled,LONG *pOffset,HEVENT *phEvent) = 0;
   12247     virtual HRESULT WINAPI SetChase(LONG Enable,LONG Offset,HEVENT hEvent) = 0;
   12248     virtual HRESULT WINAPI GetBump(LONG *pSpeed,LONG *pDuration) = 0;
   12249     virtual HRESULT WINAPI SetBump(LONG Speed,LONG Duration) = 0;
   12250     virtual HRESULT WINAPI get_AntiClogControl(LONG *pEnabled) = 0;
   12251     virtual HRESULT WINAPI put_AntiClogControl(LONG Enable) = 0;
   12252     virtual HRESULT WINAPI GetEditPropertySet(LONG EditID,LONG *pState) = 0;
   12253     virtual HRESULT WINAPI SetEditPropertySet(LONG *pEditID,LONG State) = 0;
   12254     virtual HRESULT WINAPI GetEditProperty(LONG EditID,LONG Param,LONG *pValue) = 0;
   12255     virtual HRESULT WINAPI SetEditProperty(LONG EditID,LONG Param,LONG Value) = 0;
   12256     virtual HRESULT WINAPI get_EditStart(LONG *pValue) = 0;
   12257     virtual HRESULT WINAPI put_EditStart(LONG Value) = 0;
   12258   };
   12259 #else
   12260   typedef struct IAMExtTransportVtbl {
   12261     BEGIN_INTERFACE
   12262       HRESULT (WINAPI *QueryInterface)(IAMExtTransport *This,REFIID riid,void **ppvObject);
   12263       ULONG (WINAPI *AddRef)(IAMExtTransport *This);
   12264       ULONG (WINAPI *Release)(IAMExtTransport *This);
   12265       HRESULT (WINAPI *GetCapability)(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue);
   12266       HRESULT (WINAPI *put_MediaState)(IAMExtTransport *This,LONG State);
   12267       HRESULT (WINAPI *get_MediaState)(IAMExtTransport *This,LONG *pState);
   12268       HRESULT (WINAPI *put_LocalControl)(IAMExtTransport *This,LONG State);
   12269       HRESULT (WINAPI *get_LocalControl)(IAMExtTransport *This,LONG *pState);
   12270       HRESULT (WINAPI *GetStatus)(IAMExtTransport *This,LONG StatusItem,LONG *pValue);
   12271       HRESULT (WINAPI *GetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData);
   12272       HRESULT (WINAPI *SetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData);
   12273       HRESULT (WINAPI *GetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG *pValue);
   12274       HRESULT (WINAPI *SetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG Value);
   12275       HRESULT (WINAPI *GetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG *pValue);
   12276       HRESULT (WINAPI *SetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG Value);
   12277       HRESULT (WINAPI *put_Mode)(IAMExtTransport *This,LONG Mode);
   12278       HRESULT (WINAPI *get_Mode)(IAMExtTransport *This,LONG *pMode);
   12279       HRESULT (WINAPI *put_Rate)(IAMExtTransport *This,double dblRate);
   12280       HRESULT (WINAPI *get_Rate)(IAMExtTransport *This,double *pdblRate);
   12281       HRESULT (WINAPI *GetChase)(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent);
   12282       HRESULT (WINAPI *SetChase)(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent);
   12283       HRESULT (WINAPI *GetBump)(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration);
   12284       HRESULT (WINAPI *SetBump)(IAMExtTransport *This,LONG Speed,LONG Duration);
   12285       HRESULT (WINAPI *get_AntiClogControl)(IAMExtTransport *This,LONG *pEnabled);
   12286       HRESULT (WINAPI *put_AntiClogControl)(IAMExtTransport *This,LONG Enable);
   12287       HRESULT (WINAPI *GetEditPropertySet)(IAMExtTransport *This,LONG EditID,LONG *pState);
   12288       HRESULT (WINAPI *SetEditPropertySet)(IAMExtTransport *This,LONG *pEditID,LONG State);
   12289       HRESULT (WINAPI *GetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue);
   12290       HRESULT (WINAPI *SetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value);
   12291       HRESULT (WINAPI *get_EditStart)(IAMExtTransport *This,LONG *pValue);
   12292       HRESULT (WINAPI *put_EditStart)(IAMExtTransport *This,LONG Value);
   12293     END_INTERFACE
   12294   } IAMExtTransportVtbl;
   12295   struct IAMExtTransport {
   12296     CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
   12297   };
   12298 #ifdef COBJMACROS
   12299 #define IAMExtTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12300 #define IAMExtTransport_AddRef(This) (This)->lpVtbl->AddRef(This)
   12301 #define IAMExtTransport_Release(This) (This)->lpVtbl->Release(This)
   12302 #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
   12303 #define IAMExtTransport_put_MediaState(This,State) (This)->lpVtbl->put_MediaState(This,State)
   12304 #define IAMExtTransport_get_MediaState(This,pState) (This)->lpVtbl->get_MediaState(This,pState)
   12305 #define IAMExtTransport_put_LocalControl(This,State) (This)->lpVtbl->put_LocalControl(This,State)
   12306 #define IAMExtTransport_get_LocalControl(This,pState) (This)->lpVtbl->get_LocalControl(This,pState)
   12307 #define IAMExtTransport_GetStatus(This,StatusItem,pValue) (This)->lpVtbl->GetStatus(This,StatusItem,pValue)
   12308 #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) (This)->lpVtbl->GetTransportBasicParameters(This,Param,pValue,ppszData)
   12309 #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) (This)->lpVtbl->SetTransportBasicParameters(This,Param,Value,pszData)
   12310 #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) (This)->lpVtbl->GetTransportVideoParameters(This,Param,pValue)
   12311 #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) (This)->lpVtbl->SetTransportVideoParameters(This,Param,Value)
   12312 #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) (This)->lpVtbl->GetTransportAudioParameters(This,Param,pValue)
   12313 #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) (This)->lpVtbl->SetTransportAudioParameters(This,Param,Value)
   12314 #define IAMExtTransport_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode)
   12315 #define IAMExtTransport_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
   12316 #define IAMExtTransport_put_Rate(This,dblRate) (This)->lpVtbl->put_Rate(This,dblRate)
   12317 #define IAMExtTransport_get_Rate(This,pdblRate) (This)->lpVtbl->get_Rate(This,pdblRate)
   12318 #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) (This)->lpVtbl->GetChase(This,pEnabled,pOffset,phEvent)
   12319 #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) (This)->lpVtbl->SetChase(This,Enable,Offset,hEvent)
   12320 #define IAMExtTransport_GetBump(This,pSpeed,pDuration) (This)->lpVtbl->GetBump(This,pSpeed,pDuration)
   12321 #define IAMExtTransport_SetBump(This,Speed,Duration) (This)->lpVtbl->SetBump(This,Speed,Duration)
   12322 #define IAMExtTransport_get_AntiClogControl(This,pEnabled) (This)->lpVtbl->get_AntiClogControl(This,pEnabled)
   12323 #define IAMExtTransport_put_AntiClogControl(This,Enable) (This)->lpVtbl->put_AntiClogControl(This,Enable)
   12324 #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) (This)->lpVtbl->GetEditPropertySet(This,EditID,pState)
   12325 #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) (This)->lpVtbl->SetEditPropertySet(This,pEditID,State)
   12326 #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) (This)->lpVtbl->GetEditProperty(This,EditID,Param,pValue)
   12327 #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) (This)->lpVtbl->SetEditProperty(This,EditID,Param,Value)
   12328 #define IAMExtTransport_get_EditStart(This,pValue) (This)->lpVtbl->get_EditStart(This,pValue)
   12329 #define IAMExtTransport_put_EditStart(This,Value) (This)->lpVtbl->put_EditStart(This,Value)
   12330 #endif
   12331 #endif
   12332   HRESULT WINAPI IAMExtTransport_GetCapability_Proxy(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue);
   12333   void __RPC_STUB IAMExtTransport_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12334   HRESULT WINAPI IAMExtTransport_put_MediaState_Proxy(IAMExtTransport *This,LONG State);
   12335   void __RPC_STUB IAMExtTransport_put_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12336   HRESULT WINAPI IAMExtTransport_get_MediaState_Proxy(IAMExtTransport *This,LONG *pState);
   12337   void __RPC_STUB IAMExtTransport_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12338   HRESULT WINAPI IAMExtTransport_put_LocalControl_Proxy(IAMExtTransport *This,LONG State);
   12339   void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12340   HRESULT WINAPI IAMExtTransport_get_LocalControl_Proxy(IAMExtTransport *This,LONG *pState);
   12341   void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12342   HRESULT WINAPI IAMExtTransport_GetStatus_Proxy(IAMExtTransport *This,LONG StatusItem,LONG *pValue);
   12343   void __RPC_STUB IAMExtTransport_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12344   HRESULT WINAPI IAMExtTransport_GetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData);
   12345   void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12346   HRESULT WINAPI IAMExtTransport_SetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData);
   12347   void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12348   HRESULT WINAPI IAMExtTransport_GetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue);
   12349   void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12350   HRESULT WINAPI IAMExtTransport_SetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value);
   12351   void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12352   HRESULT WINAPI IAMExtTransport_GetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue);
   12353   void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12354   HRESULT WINAPI IAMExtTransport_SetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value);
   12355   void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12356   HRESULT WINAPI IAMExtTransport_put_Mode_Proxy(IAMExtTransport *This,LONG Mode);
   12357   void __RPC_STUB IAMExtTransport_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12358   HRESULT WINAPI IAMExtTransport_get_Mode_Proxy(IAMExtTransport *This,LONG *pMode);
   12359   void __RPC_STUB IAMExtTransport_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12360   HRESULT WINAPI IAMExtTransport_put_Rate_Proxy(IAMExtTransport *This,double dblRate);
   12361   void __RPC_STUB IAMExtTransport_put_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12362   HRESULT WINAPI IAMExtTransport_get_Rate_Proxy(IAMExtTransport *This,double *pdblRate);
   12363   void __RPC_STUB IAMExtTransport_get_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12364   HRESULT WINAPI IAMExtTransport_GetChase_Proxy(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent);
   12365   void __RPC_STUB IAMExtTransport_GetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12366   HRESULT WINAPI IAMExtTransport_SetChase_Proxy(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent);
   12367   void __RPC_STUB IAMExtTransport_SetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12368   HRESULT WINAPI IAMExtTransport_GetBump_Proxy(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration);
   12369   void __RPC_STUB IAMExtTransport_GetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12370   HRESULT WINAPI IAMExtTransport_SetBump_Proxy(IAMExtTransport *This,LONG Speed,LONG Duration);
   12371   void __RPC_STUB IAMExtTransport_SetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12372   HRESULT WINAPI IAMExtTransport_get_AntiClogControl_Proxy(IAMExtTransport *This,LONG *pEnabled);
   12373   void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12374   HRESULT WINAPI IAMExtTransport_put_AntiClogControl_Proxy(IAMExtTransport *This,LONG Enable);
   12375   void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12376   HRESULT WINAPI IAMExtTransport_GetEditPropertySet_Proxy(IAMExtTransport *This,LONG EditID,LONG *pState);
   12377   void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12378   HRESULT WINAPI IAMExtTransport_SetEditPropertySet_Proxy(IAMExtTransport *This,LONG *pEditID,LONG State);
   12379   void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12380   HRESULT WINAPI IAMExtTransport_GetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue);
   12381   void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12382   HRESULT WINAPI IAMExtTransport_SetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value);
   12383   void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12384   HRESULT WINAPI IAMExtTransport_get_EditStart_Proxy(IAMExtTransport *This,LONG *pValue);
   12385   void __RPC_STUB IAMExtTransport_get_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12386   HRESULT WINAPI IAMExtTransport_put_EditStart_Proxy(IAMExtTransport *This,LONG Value);
   12387   void __RPC_STUB IAMExtTransport_put_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12388 #endif
   12389 
   12390   typedef IAMExtTransport *PIAMEXTTRANSPORT;
   12391 
   12392 #ifndef TIMECODE_DEFINED
   12393 #define TIMECODE_DEFINED
   12394   typedef union _timecode {
   12395     __C89_NAMELESS struct {
   12396       WORD wFrameRate;
   12397       WORD wFrameFract;
   12398       DWORD dwFrames;
   12399     };
   12400     DWORDLONG qw;
   12401   } TIMECODE;
   12402 #endif
   12403 
   12404   typedef TIMECODE *PTIMECODE;
   12405 
   12406   typedef struct tagTIMECODE_SAMPLE {
   12407     LONGLONG qwTick;
   12408     TIMECODE timecode;
   12409     DWORD dwUser;
   12410     DWORD dwFlags;
   12411   } TIMECODE_SAMPLE;
   12412 
   12413   typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
   12414 
   12415   extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec;
   12416   extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec;
   12417 #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
   12418 #define __IAMTimecodeReader_INTERFACE_DEFINED__
   12419   EXTERN_C const IID IID_IAMTimecodeReader;
   12420 #if defined(__cplusplus) && !defined(CINTERFACE)
   12421   struct IAMTimecodeReader : public IUnknown {
   12422   public:
   12423     virtual HRESULT WINAPI GetTCRMode(LONG Param,LONG *pValue) = 0;
   12424     virtual HRESULT WINAPI SetTCRMode(LONG Param,LONG Value) = 0;
   12425     virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0;
   12426     virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0;
   12427     virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   12428   };
   12429 #else
   12430   typedef struct IAMTimecodeReaderVtbl {
   12431     BEGIN_INTERFACE
   12432       HRESULT (WINAPI *QueryInterface)(IAMTimecodeReader *This,REFIID riid,void **ppvObject);
   12433       ULONG (WINAPI *AddRef)(IAMTimecodeReader *This);
   12434       ULONG (WINAPI *Release)(IAMTimecodeReader *This);
   12435       HRESULT (WINAPI *GetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG *pValue);
   12436       HRESULT (WINAPI *SetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG Value);
   12437       HRESULT (WINAPI *put_VITCLine)(IAMTimecodeReader *This,LONG Line);
   12438       HRESULT (WINAPI *get_VITCLine)(IAMTimecodeReader *This,LONG *pLine);
   12439       HRESULT (WINAPI *GetTimecode)(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
   12440     END_INTERFACE
   12441   } IAMTimecodeReaderVtbl;
   12442   struct IAMTimecodeReader {
   12443     CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
   12444   };
   12445 #ifdef COBJMACROS
   12446 #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12447 #define IAMTimecodeReader_AddRef(This) (This)->lpVtbl->AddRef(This)
   12448 #define IAMTimecodeReader_Release(This) (This)->lpVtbl->Release(This)
   12449 #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) (This)->lpVtbl->GetTCRMode(This,Param,pValue)
   12450 #define IAMTimecodeReader_SetTCRMode(This,Param,Value) (This)->lpVtbl->SetTCRMode(This,Param,Value)
   12451 #define IAMTimecodeReader_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
   12452 #define IAMTimecodeReader_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
   12453 #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
   12454 #endif
   12455 #endif
   12456   HRESULT WINAPI IAMTimecodeReader_GetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG *pValue);
   12457   void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12458   HRESULT WINAPI IAMTimecodeReader_SetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG Value);
   12459   void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12460   HRESULT WINAPI IAMTimecodeReader_put_VITCLine_Proxy(IAMTimecodeReader *This,LONG Line);
   12461   void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12462   HRESULT WINAPI IAMTimecodeReader_get_VITCLine_Proxy(IAMTimecodeReader *This,LONG *pLine);
   12463   void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12464   HRESULT WINAPI IAMTimecodeReader_GetTimecode_Proxy(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
   12465   void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12466 #endif
   12467 
   12468   typedef IAMTimecodeReader *PIAMTIMECODEREADER;
   12469 
   12470   extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
   12471   extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
   12472 #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
   12473 #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
   12474   EXTERN_C const IID IID_IAMTimecodeGenerator;
   12475 #if defined(__cplusplus) && !defined(CINTERFACE)
   12476   struct IAMTimecodeGenerator : public IUnknown {
   12477   public:
   12478     virtual HRESULT WINAPI GetTCGMode(LONG Param,LONG *pValue) = 0;
   12479     virtual HRESULT WINAPI SetTCGMode(LONG Param,LONG Value) = 0;
   12480     virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0;
   12481     virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0;
   12482     virtual HRESULT WINAPI SetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   12483     virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   12484   };
   12485 #else
   12486   typedef struct IAMTimecodeGeneratorVtbl {
   12487     BEGIN_INTERFACE
   12488       HRESULT (WINAPI *QueryInterface)(IAMTimecodeGenerator *This,REFIID riid,void **ppvObject);
   12489       ULONG (WINAPI *AddRef)(IAMTimecodeGenerator *This);
   12490       ULONG (WINAPI *Release)(IAMTimecodeGenerator *This);
   12491       HRESULT (WINAPI *GetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG *pValue);
   12492       HRESULT (WINAPI *SetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG Value);
   12493       HRESULT (WINAPI *put_VITCLine)(IAMTimecodeGenerator *This,LONG Line);
   12494       HRESULT (WINAPI *get_VITCLine)(IAMTimecodeGenerator *This,LONG *pLine);
   12495       HRESULT (WINAPI *SetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   12496       HRESULT (WINAPI *GetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   12497     END_INTERFACE
   12498   } IAMTimecodeGeneratorVtbl;
   12499   struct IAMTimecodeGenerator {
   12500     CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
   12501   };
   12502 #ifdef COBJMACROS
   12503 #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12504 #define IAMTimecodeGenerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   12505 #define IAMTimecodeGenerator_Release(This) (This)->lpVtbl->Release(This)
   12506 #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) (This)->lpVtbl->GetTCGMode(This,Param,pValue)
   12507 #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) (This)->lpVtbl->SetTCGMode(This,Param,Value)
   12508 #define IAMTimecodeGenerator_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
   12509 #define IAMTimecodeGenerator_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
   12510 #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) (This)->lpVtbl->SetTimecode(This,pTimecodeSample)
   12511 #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
   12512 #endif
   12513 #endif
   12514   HRESULT WINAPI IAMTimecodeGenerator_GetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG *pValue);
   12515   void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12516   HRESULT WINAPI IAMTimecodeGenerator_SetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG Value);
   12517   void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12518   HRESULT WINAPI IAMTimecodeGenerator_put_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG Line);
   12519   void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12520   HRESULT WINAPI IAMTimecodeGenerator_get_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG *pLine);
   12521   void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12522   HRESULT WINAPI IAMTimecodeGenerator_SetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   12523   void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12524   HRESULT WINAPI IAMTimecodeGenerator_GetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   12525   void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12526 #endif
   12527 
   12528   typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
   12529 
   12530   extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
   12531   extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
   12532 #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
   12533 #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
   12534   EXTERN_C const IID IID_IAMTimecodeDisplay;
   12535 #if defined(__cplusplus) && !defined(CINTERFACE)
   12536   struct IAMTimecodeDisplay : public IUnknown {
   12537   public:
   12538     virtual HRESULT WINAPI GetTCDisplayEnable(LONG *pState) = 0;
   12539     virtual HRESULT WINAPI SetTCDisplayEnable(LONG State) = 0;
   12540     virtual HRESULT WINAPI GetTCDisplay(LONG Param,LONG *pValue) = 0;
   12541     virtual HRESULT WINAPI SetTCDisplay(LONG Param,LONG Value) = 0;
   12542   };
   12543 #else
   12544   typedef struct IAMTimecodeDisplayVtbl {
   12545     BEGIN_INTERFACE
   12546       HRESULT (WINAPI *QueryInterface)(IAMTimecodeDisplay *This,REFIID riid,void **ppvObject);
   12547       ULONG (WINAPI *AddRef)(IAMTimecodeDisplay *This);
   12548       ULONG (WINAPI *Release)(IAMTimecodeDisplay *This);
   12549       HRESULT (WINAPI *GetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG *pState);
   12550       HRESULT (WINAPI *SetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG State);
   12551       HRESULT (WINAPI *GetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG *pValue);
   12552       HRESULT (WINAPI *SetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG Value);
   12553     END_INTERFACE
   12554   } IAMTimecodeDisplayVtbl;
   12555   struct IAMTimecodeDisplay {
   12556     CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
   12557   };
   12558 #ifdef COBJMACROS
   12559 #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12560 #define IAMTimecodeDisplay_AddRef(This) (This)->lpVtbl->AddRef(This)
   12561 #define IAMTimecodeDisplay_Release(This) (This)->lpVtbl->Release(This)
   12562 #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) (This)->lpVtbl->GetTCDisplayEnable(This,pState)
   12563 #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) (This)->lpVtbl->SetTCDisplayEnable(This,State)
   12564 #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) (This)->lpVtbl->GetTCDisplay(This,Param,pValue)
   12565 #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) (This)->lpVtbl->SetTCDisplay(This,Param,Value)
   12566 #endif
   12567 #endif
   12568   HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG *pState);
   12569   void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12570   HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG State);
   12571   void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12572   HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG *pValue);
   12573   void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12574   HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG Value);
   12575   void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12576 #endif
   12577 
   12578   typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
   12579 
   12580   extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec;
   12581   extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec;
   12582 #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
   12583 #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
   12584   EXTERN_C const IID IID_IAMDevMemoryAllocator;
   12585 #if defined(__cplusplus) && !defined(CINTERFACE)
   12586   struct IAMDevMemoryAllocator : public IUnknown {
   12587   public:
   12588     virtual HRESULT WINAPI GetInfo(DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk) = 0;
   12589     virtual HRESULT WINAPI CheckMemory(const BYTE *pBuffer) = 0;
   12590     virtual HRESULT WINAPI Alloc(BYTE **ppBuffer,DWORD *pdwcbBuffer) = 0;
   12591     virtual HRESULT WINAPI Free(BYTE *pBuffer) = 0;
   12592     virtual HRESULT WINAPI GetDevMemoryObject(IUnknown **ppUnkInnner,IUnknown *pUnkOuter) = 0;
   12593   };
   12594 #else
   12595   typedef struct IAMDevMemoryAllocatorVtbl {
   12596     BEGIN_INTERFACE
   12597       HRESULT (WINAPI *QueryInterface)(IAMDevMemoryAllocator *This,REFIID riid,void **ppvObject);
   12598       ULONG (WINAPI *AddRef)(IAMDevMemoryAllocator *This);
   12599       ULONG (WINAPI *Release)(IAMDevMemoryAllocator *This);
   12600       HRESULT (WINAPI *GetInfo)(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
   12601       HRESULT (WINAPI *CheckMemory)(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
   12602       HRESULT (WINAPI *Alloc)(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
   12603       HRESULT (WINAPI *Free)(IAMDevMemoryAllocator *This,BYTE *pBuffer);
   12604       HRESULT (WINAPI *GetDevMemoryObject)(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
   12605     END_INTERFACE
   12606   } IAMDevMemoryAllocatorVtbl;
   12607   struct IAMDevMemoryAllocator {
   12608     CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
   12609   };
   12610 #ifdef COBJMACROS
   12611 #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12612 #define IAMDevMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   12613 #define IAMDevMemoryAllocator_Release(This) (This)->lpVtbl->Release(This)
   12614 #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) (This)->lpVtbl->GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
   12615 #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) (This)->lpVtbl->CheckMemory(This,pBuffer)
   12616 #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) (This)->lpVtbl->Alloc(This,ppBuffer,pdwcbBuffer)
   12617 #define IAMDevMemoryAllocator_Free(This,pBuffer) (This)->lpVtbl->Free(This,pBuffer)
   12618 #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) (This)->lpVtbl->GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
   12619 #endif
   12620 #endif
   12621   HRESULT WINAPI IAMDevMemoryAllocator_GetInfo_Proxy(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
   12622   void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12623   HRESULT WINAPI IAMDevMemoryAllocator_CheckMemory_Proxy(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
   12624   void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12625   HRESULT WINAPI IAMDevMemoryAllocator_Alloc_Proxy(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
   12626   void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12627   HRESULT WINAPI IAMDevMemoryAllocator_Free_Proxy(IAMDevMemoryAllocator *This,BYTE *pBuffer);
   12628   void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12629   HRESULT WINAPI IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
   12630   void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12631 #endif
   12632 
   12633   typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
   12634 
   12635   extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
   12636   extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
   12637 #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
   12638 #define __IAMDevMemoryControl_INTERFACE_DEFINED__
   12639   EXTERN_C const IID IID_IAMDevMemoryControl;
   12640 #if defined(__cplusplus) && !defined(CINTERFACE)
   12641   struct IAMDevMemoryControl : public IUnknown {
   12642   public:
   12643     virtual HRESULT WINAPI QueryWriteSync(void) = 0;
   12644     virtual HRESULT WINAPI WriteSync(void) = 0;
   12645     virtual HRESULT WINAPI GetDevId(DWORD *pdwDevId) = 0;
   12646   };
   12647 #else
   12648   typedef struct IAMDevMemoryControlVtbl {
   12649     BEGIN_INTERFACE
   12650       HRESULT (WINAPI *QueryInterface)(IAMDevMemoryControl *This,REFIID riid,void **ppvObject);
   12651       ULONG (WINAPI *AddRef)(IAMDevMemoryControl *This);
   12652       ULONG (WINAPI *Release)(IAMDevMemoryControl *This);
   12653       HRESULT (WINAPI *QueryWriteSync)(IAMDevMemoryControl *This);
   12654       HRESULT (WINAPI *WriteSync)(IAMDevMemoryControl *This);
   12655       HRESULT (WINAPI *GetDevId)(IAMDevMemoryControl *This,DWORD *pdwDevId);
   12656     END_INTERFACE
   12657   } IAMDevMemoryControlVtbl;
   12658   struct IAMDevMemoryControl {
   12659     CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
   12660   };
   12661 #ifdef COBJMACROS
   12662 #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12663 #define IAMDevMemoryControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   12664 #define IAMDevMemoryControl_Release(This) (This)->lpVtbl->Release(This)
   12665 #define IAMDevMemoryControl_QueryWriteSync(This) (This)->lpVtbl->QueryWriteSync(This)
   12666 #define IAMDevMemoryControl_WriteSync(This) (This)->lpVtbl->WriteSync(This)
   12667 #define IAMDevMemoryControl_GetDevId(This,pdwDevId) (This)->lpVtbl->GetDevId(This,pdwDevId)
   12668 #endif
   12669 #endif
   12670   HRESULT WINAPI IAMDevMemoryControl_QueryWriteSync_Proxy(IAMDevMemoryControl *This);
   12671   void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12672   HRESULT WINAPI IAMDevMemoryControl_WriteSync_Proxy(IAMDevMemoryControl *This);
   12673   void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12674   HRESULT WINAPI IAMDevMemoryControl_GetDevId_Proxy(IAMDevMemoryControl *This,DWORD *pdwDevId);
   12675   void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12676 #endif
   12677 
   12678   typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
   12679 
   12680   enum _AMSTREAMSELECTINFOFLAGS {
   12681     AMSTREAMSELECTINFO_ENABLED = 0x1,AMSTREAMSELECTINFO_EXCLUSIVE = 0x2
   12682   };
   12683 
   12684   enum _AMSTREAMSELECTENABLEFLAGS {
   12685     AMSTREAMSELECTENABLE_ENABLE = 0x1,AMSTREAMSELECTENABLE_ENABLEALL = 0x2
   12686   };
   12687 
   12688   extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;
   12689   extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;
   12690 #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
   12691 #define __IAMStreamSelect_INTERFACE_DEFINED__
   12692   EXTERN_C const IID IID_IAMStreamSelect;
   12693 #if defined(__cplusplus) && !defined(CINTERFACE)
   12694   struct IAMStreamSelect : public IUnknown {
   12695   public:
   12696     virtual HRESULT WINAPI Count(DWORD *pcStreams) = 0;
   12697     virtual HRESULT WINAPI Info(LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk) = 0;
   12698     virtual HRESULT WINAPI Enable(LONG lIndex,DWORD dwFlags) = 0;
   12699   };
   12700 #else
   12701   typedef struct IAMStreamSelectVtbl {
   12702     BEGIN_INTERFACE
   12703       HRESULT (WINAPI *QueryInterface)(IAMStreamSelect *This,REFIID riid,void **ppvObject);
   12704       ULONG (WINAPI *AddRef)(IAMStreamSelect *This);
   12705       ULONG (WINAPI *Release)(IAMStreamSelect *This);
   12706       HRESULT (WINAPI *Count)(IAMStreamSelect *This,DWORD *pcStreams);
   12707       HRESULT (WINAPI *Info)(IAMStreamSelect *This,LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk);
   12708       HRESULT (WINAPI *Enable)(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags);
   12709     END_INTERFACE
   12710   } IAMStreamSelectVtbl;
   12711   struct IAMStreamSelect {
   12712     CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
   12713   };
   12714 #ifdef COBJMACROS
   12715 #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12716 #define IAMStreamSelect_AddRef(This) (This)->lpVtbl->AddRef(This)
   12717 #define IAMStreamSelect_Release(This) (This)->lpVtbl->Release(This)
   12718 #define IAMStreamSelect_Count(This,pcStreams) (This)->lpVtbl->Count(This,pcStreams)
   12719 #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) (This)->lpVtbl->Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
   12720 #define IAMStreamSelect_Enable(This,lIndex,dwFlags) (This)->lpVtbl->Enable(This,lIndex,dwFlags)
   12721 #endif
   12722 #endif
   12723   HRESULT WINAPI IAMStreamSelect_Count_Proxy(IAMStreamSelect *This,DWORD *pcStreams);
   12724   void __RPC_STUB IAMStreamSelect_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12725   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);
   12726   void __RPC_STUB IAMStreamSelect_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12727   HRESULT WINAPI IAMStreamSelect_Enable_Proxy(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags);
   12728   void __RPC_STUB IAMStreamSelect_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12729 #endif
   12730 
   12731   typedef IAMStreamSelect *PAMSTREAMSELECT;
   12732 
   12733   enum _AMRESCTL_RESERVEFLAGS {
   12734     AMRESCTL_RESERVEFLAGS_RESERVE = 0,AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
   12735   };
   12736 
   12737   extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
   12738   extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
   12739 #ifndef __IAMResourceControl_INTERFACE_DEFINED__
   12740 #define __IAMResourceControl_INTERFACE_DEFINED__
   12741   EXTERN_C const IID IID_IAMResourceControl;
   12742 #if defined(__cplusplus) && !defined(CINTERFACE)
   12743   struct IAMResourceControl : public IUnknown {
   12744   public:
   12745     virtual HRESULT WINAPI Reserve(DWORD dwFlags,PVOID pvReserved) = 0;
   12746   };
   12747 #else
   12748   typedef struct IAMResourceControlVtbl {
   12749     BEGIN_INTERFACE
   12750       HRESULT (WINAPI *QueryInterface)(IAMResourceControl *This,REFIID riid,void **ppvObject);
   12751       ULONG (WINAPI *AddRef)(IAMResourceControl *This);
   12752       ULONG (WINAPI *Release)(IAMResourceControl *This);
   12753       HRESULT (WINAPI *Reserve)(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
   12754     END_INTERFACE
   12755   } IAMResourceControlVtbl;
   12756   struct IAMResourceControl {
   12757     CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
   12758   };
   12759 #ifdef COBJMACROS
   12760 #define IAMResourceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12761 #define IAMResourceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   12762 #define IAMResourceControl_Release(This) (This)->lpVtbl->Release(This)
   12763 #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) (This)->lpVtbl->Reserve(This,dwFlags,pvReserved)
   12764 #endif
   12765 #endif
   12766   HRESULT WINAPI IAMResourceControl_Reserve_Proxy(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
   12767   void __RPC_STUB IAMResourceControl_Reserve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12768 #endif
   12769 
   12770 #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
   12771 #define __IAMClockAdjust_INTERFACE_DEFINED__
   12772   EXTERN_C const IID IID_IAMClockAdjust;
   12773 #if defined(__cplusplus) && !defined(CINTERFACE)
   12774   struct IAMClockAdjust : public IUnknown {
   12775   public:
   12776     virtual HRESULT WINAPI SetClockDelta(REFERENCE_TIME rtDelta) = 0;
   12777   };
   12778 #else
   12779   typedef struct IAMClockAdjustVtbl {
   12780     BEGIN_INTERFACE
   12781       HRESULT (WINAPI *QueryInterface)(IAMClockAdjust *This,REFIID riid,void **ppvObject);
   12782       ULONG (WINAPI *AddRef)(IAMClockAdjust *This);
   12783       ULONG (WINAPI *Release)(IAMClockAdjust *This);
   12784       HRESULT (WINAPI *SetClockDelta)(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
   12785     END_INTERFACE
   12786   } IAMClockAdjustVtbl;
   12787   struct IAMClockAdjust {
   12788     CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
   12789   };
   12790 #ifdef COBJMACROS
   12791 #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12792 #define IAMClockAdjust_AddRef(This) (This)->lpVtbl->AddRef(This)
   12793 #define IAMClockAdjust_Release(This) (This)->lpVtbl->Release(This)
   12794 #define IAMClockAdjust_SetClockDelta(This,rtDelta) (This)->lpVtbl->SetClockDelta(This,rtDelta)
   12795 #endif
   12796 #endif
   12797   HRESULT WINAPI IAMClockAdjust_SetClockDelta_Proxy(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
   12798   void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12799 #endif
   12800 
   12801 #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
   12802 #define __IDrawVideoImage_INTERFACE_DEFINED__
   12803   EXTERN_C const IID IID_IDrawVideoImage;
   12804 #if defined(__cplusplus) && !defined(CINTERFACE)
   12805   struct IDrawVideoImage : public IUnknown {
   12806   public:
   12807     virtual HRESULT WINAPI DrawVideoImageBegin(void) = 0;
   12808     virtual HRESULT WINAPI DrawVideoImageEnd(void) = 0;
   12809     virtual HRESULT WINAPI DrawVideoImageDraw(HDC hdc,LPRECT lprcSrc,LPRECT lprcDst) = 0;
   12810   };
   12811 #else
   12812   typedef struct IDrawVideoImageVtbl {
   12813     BEGIN_INTERFACE
   12814       HRESULT (WINAPI *QueryInterface)(IDrawVideoImage *This,REFIID riid,void **ppvObject);
   12815       ULONG (WINAPI *AddRef)(IDrawVideoImage *This);
   12816       ULONG (WINAPI *Release)(IDrawVideoImage *This);
   12817       HRESULT (WINAPI *DrawVideoImageBegin)(IDrawVideoImage *This);
   12818       HRESULT (WINAPI *DrawVideoImageEnd)(IDrawVideoImage *This);
   12819       HRESULT (WINAPI *DrawVideoImageDraw)(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
   12820     END_INTERFACE
   12821   } IDrawVideoImageVtbl;
   12822   struct IDrawVideoImage {
   12823     CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
   12824   };
   12825 #ifdef COBJMACROS
   12826 #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12827 #define IDrawVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
   12828 #define IDrawVideoImage_Release(This) (This)->lpVtbl->Release(This)
   12829 #define IDrawVideoImage_DrawVideoImageBegin(This) (This)->lpVtbl->DrawVideoImageBegin(This)
   12830 #define IDrawVideoImage_DrawVideoImageEnd(This) (This)->lpVtbl->DrawVideoImageEnd(This)
   12831 #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) (This)->lpVtbl->DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
   12832 #endif
   12833 #endif
   12834   HRESULT WINAPI IDrawVideoImage_DrawVideoImageBegin_Proxy(IDrawVideoImage *This);
   12835   void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12836   HRESULT WINAPI IDrawVideoImage_DrawVideoImageEnd_Proxy(IDrawVideoImage *This);
   12837   void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12838   HRESULT WINAPI IDrawVideoImage_DrawVideoImageDraw_Proxy(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
   12839   void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12840 #endif
   12841 
   12842 #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
   12843 #define __IDecimateVideoImage_INTERFACE_DEFINED__
   12844   EXTERN_C const IID IID_IDecimateVideoImage;
   12845 #if defined(__cplusplus) && !defined(CINTERFACE)
   12846   struct IDecimateVideoImage : public IUnknown {
   12847   public:
   12848     virtual HRESULT WINAPI SetDecimationImageSize(LONG lWidth,LONG lHeight) = 0;
   12849     virtual HRESULT WINAPI ResetDecimationImageSize(void) = 0;
   12850   };
   12851 #else
   12852   typedef struct IDecimateVideoImageVtbl {
   12853     BEGIN_INTERFACE
   12854       HRESULT (WINAPI *QueryInterface)(IDecimateVideoImage *This,REFIID riid,void **ppvObject);
   12855       ULONG (WINAPI *AddRef)(IDecimateVideoImage *This);
   12856       ULONG (WINAPI *Release)(IDecimateVideoImage *This);
   12857       HRESULT (WINAPI *SetDecimationImageSize)(IDecimateVideoImage *This,LONG lWidth,LONG lHeight);
   12858       HRESULT (WINAPI *ResetDecimationImageSize)(IDecimateVideoImage *This);
   12859     END_INTERFACE
   12860   } IDecimateVideoImageVtbl;
   12861   struct IDecimateVideoImage {
   12862     CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
   12863   };
   12864 #ifdef COBJMACROS
   12865 #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12866 #define IDecimateVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
   12867 #define IDecimateVideoImage_Release(This) (This)->lpVtbl->Release(This)
   12868 #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) (This)->lpVtbl->SetDecimationImageSize(This,lWidth,lHeight)
   12869 #define IDecimateVideoImage_ResetDecimationImageSize(This) (This)->lpVtbl->ResetDecimationImageSize(This)
   12870 #endif
   12871 #endif
   12872   HRESULT WINAPI IDecimateVideoImage_SetDecimationImageSize_Proxy(IDecimateVideoImage *This,LONG lWidth,LONG lHeight);
   12873   void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12874   HRESULT WINAPI IDecimateVideoImage_ResetDecimationImageSize_Proxy(IDecimateVideoImage *This);
   12875   void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12876 #endif
   12877 
   12878   typedef enum _DECIMATION_USAGE {
   12879     DECIMATION_LEGACY = 0,
   12880     DECIMATION_USE_DECODER_ONLY,DECIMATION_USE_VIDEOPORT_ONLY,DECIMATION_USE_OVERLAY_ONLY,
   12881     DECIMATION_DEFAULT
   12882   } DECIMATION_USAGE;
   12883 
   12884   extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
   12885   extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
   12886 #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
   12887 #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
   12888   EXTERN_C const IID IID_IAMVideoDecimationProperties;
   12889 #if defined(__cplusplus) && !defined(CINTERFACE)
   12890   struct IAMVideoDecimationProperties : public IUnknown {
   12891   public:
   12892     virtual HRESULT WINAPI QueryDecimationUsage(DECIMATION_USAGE *lpUsage) = 0;
   12893     virtual HRESULT WINAPI SetDecimationUsage(DECIMATION_USAGE Usage) = 0;
   12894   };
   12895 #else
   12896   typedef struct IAMVideoDecimationPropertiesVtbl {
   12897     BEGIN_INTERFACE
   12898       HRESULT (WINAPI *QueryInterface)(IAMVideoDecimationProperties *This,REFIID riid,void **ppvObject);
   12899       ULONG (WINAPI *AddRef)(IAMVideoDecimationProperties *This);
   12900       ULONG (WINAPI *Release)(IAMVideoDecimationProperties *This);
   12901       HRESULT (WINAPI *QueryDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
   12902       HRESULT (WINAPI *SetDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
   12903     END_INTERFACE
   12904   } IAMVideoDecimationPropertiesVtbl;
   12905   struct IAMVideoDecimationProperties {
   12906     CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
   12907   };
   12908 #ifdef COBJMACROS
   12909 #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12910 #define IAMVideoDecimationProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
   12911 #define IAMVideoDecimationProperties_Release(This) (This)->lpVtbl->Release(This)
   12912 #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) (This)->lpVtbl->QueryDecimationUsage(This,lpUsage)
   12913 #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) (This)->lpVtbl->SetDecimationUsage(This,Usage)
   12914 #endif
   12915 #endif
   12916   HRESULT WINAPI IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
   12917   void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12918   HRESULT WINAPI IAMVideoDecimationProperties_SetDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
   12919   void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12920 #endif
   12921 
   12922 #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
   12923 #define __IVideoFrameStep_INTERFACE_DEFINED__
   12924   EXTERN_C const IID IID_IVideoFrameStep;
   12925 #if defined(__cplusplus) && !defined(CINTERFACE)
   12926   struct IVideoFrameStep : public IUnknown {
   12927   public:
   12928     virtual HRESULT WINAPI Step(DWORD dwFrames,IUnknown *pStepObject) = 0;
   12929     virtual HRESULT WINAPI CanStep(LONG bMultiple,IUnknown *pStepObject) = 0;
   12930     virtual HRESULT WINAPI CancelStep(void) = 0;
   12931   };
   12932 #else
   12933   typedef struct IVideoFrameStepVtbl {
   12934     BEGIN_INTERFACE
   12935       HRESULT (WINAPI *QueryInterface)(IVideoFrameStep *This,REFIID riid,void **ppvObject);
   12936       ULONG (WINAPI *AddRef)(IVideoFrameStep *This);
   12937       ULONG (WINAPI *Release)(IVideoFrameStep *This);
   12938       HRESULT (WINAPI *Step)(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject);
   12939       HRESULT (WINAPI *CanStep)(IVideoFrameStep *This,LONG bMultiple,IUnknown *pStepObject);
   12940       HRESULT (WINAPI *CancelStep)(IVideoFrameStep *This);
   12941     END_INTERFACE
   12942   } IVideoFrameStepVtbl;
   12943   struct IVideoFrameStep {
   12944     CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
   12945   };
   12946 #ifdef COBJMACROS
   12947 #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12948 #define IVideoFrameStep_AddRef(This) (This)->lpVtbl->AddRef(This)
   12949 #define IVideoFrameStep_Release(This) (This)->lpVtbl->Release(This)
   12950 #define IVideoFrameStep_Step(This,dwFrames,pStepObject) (This)->lpVtbl->Step(This,dwFrames,pStepObject)
   12951 #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject) (This)->lpVtbl->CanStep(This,bMultiple,pStepObject)
   12952 #define IVideoFrameStep_CancelStep(This) (This)->lpVtbl->CancelStep(This)
   12953 #endif
   12954 #endif
   12955   HRESULT WINAPI IVideoFrameStep_Step_Proxy(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject);
   12956   void __RPC_STUB IVideoFrameStep_Step_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12957   HRESULT WINAPI IVideoFrameStep_CanStep_Proxy(IVideoFrameStep *This,LONG bMultiple,IUnknown *pStepObject);
   12958   void __RPC_STUB IVideoFrameStep_CanStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12959   HRESULT WINAPI IVideoFrameStep_CancelStep_Proxy(IVideoFrameStep *This);
   12960   void __RPC_STUB IVideoFrameStep_CancelStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12961 #endif
   12962 
   12963   enum _AM_PUSHSOURCE_FLAGS {
   12964     AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4,
   12965     AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000
   12966   };
   12967 
   12968   extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec;
   12969   extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec;
   12970 #ifndef __IAMLatency_INTERFACE_DEFINED__
   12971 #define __IAMLatency_INTERFACE_DEFINED__
   12972   EXTERN_C const IID IID_IAMLatency;
   12973 #if defined(__cplusplus) && !defined(CINTERFACE)
   12974   struct IAMLatency : public IUnknown {
   12975   public:
   12976     virtual HRESULT WINAPI GetLatency(REFERENCE_TIME *prtLatency) = 0;
   12977   };
   12978 #else
   12979   typedef struct IAMLatencyVtbl {
   12980     BEGIN_INTERFACE
   12981       HRESULT (WINAPI *QueryInterface)(IAMLatency *This,REFIID riid,void **ppvObject);
   12982       ULONG (WINAPI *AddRef)(IAMLatency *This);
   12983       ULONG (WINAPI *Release)(IAMLatency *This);
   12984       HRESULT (WINAPI *GetLatency)(IAMLatency *This,REFERENCE_TIME *prtLatency);
   12985     END_INTERFACE
   12986   } IAMLatencyVtbl;
   12987   struct IAMLatency {
   12988     CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
   12989   };
   12990 #ifdef COBJMACROS
   12991 #define IAMLatency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12992 #define IAMLatency_AddRef(This) (This)->lpVtbl->AddRef(This)
   12993 #define IAMLatency_Release(This) (This)->lpVtbl->Release(This)
   12994 #define IAMLatency_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency)
   12995 #endif
   12996 #endif
   12997   HRESULT WINAPI IAMLatency_GetLatency_Proxy(IAMLatency *This,REFERENCE_TIME *prtLatency);
   12998   void __RPC_STUB IAMLatency_GetLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12999 #endif
   13000 
   13001 #ifndef __IAMPushSource_INTERFACE_DEFINED__
   13002 #define __IAMPushSource_INTERFACE_DEFINED__
   13003   EXTERN_C const IID IID_IAMPushSource;
   13004 #if defined(__cplusplus) && !defined(CINTERFACE)
   13005   struct IAMPushSource : public IAMLatency {
   13006   public:
   13007     virtual HRESULT WINAPI GetPushSourceFlags(ULONG *pFlags) = 0;
   13008     virtual HRESULT WINAPI SetPushSourceFlags(ULONG Flags) = 0;
   13009     virtual HRESULT WINAPI SetStreamOffset(REFERENCE_TIME rtOffset) = 0;
   13010     virtual HRESULT WINAPI GetStreamOffset(REFERENCE_TIME *prtOffset) = 0;
   13011     virtual HRESULT WINAPI GetMaxStreamOffset(REFERENCE_TIME *prtMaxOffset) = 0;
   13012     virtual HRESULT WINAPI SetMaxStreamOffset(REFERENCE_TIME rtMaxOffset) = 0;
   13013   };
   13014 #else
   13015   typedef struct IAMPushSourceVtbl {
   13016     BEGIN_INTERFACE
   13017       HRESULT (WINAPI *QueryInterface)(IAMPushSource *This,REFIID riid,void **ppvObject);
   13018       ULONG (WINAPI *AddRef)(IAMPushSource *This);
   13019       ULONG (WINAPI *Release)(IAMPushSource *This);
   13020       HRESULT (WINAPI *GetLatency)(IAMPushSource *This,REFERENCE_TIME *prtLatency);
   13021       HRESULT (WINAPI *GetPushSourceFlags)(IAMPushSource *This,ULONG *pFlags);
   13022       HRESULT (WINAPI *SetPushSourceFlags)(IAMPushSource *This,ULONG Flags);
   13023       HRESULT (WINAPI *SetStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtOffset);
   13024       HRESULT (WINAPI *GetStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtOffset);
   13025       HRESULT (WINAPI *GetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset);
   13026       HRESULT (WINAPI *SetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtMaxOffset);
   13027     END_INTERFACE
   13028   } IAMPushSourceVtbl;
   13029   struct IAMPushSource {
   13030     CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
   13031   };
   13032 #ifdef COBJMACROS
   13033 #define IAMPushSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13034 #define IAMPushSource_AddRef(This) (This)->lpVtbl->AddRef(This)
   13035 #define IAMPushSource_Release(This) (This)->lpVtbl->Release(This)
   13036 #define IAMPushSource_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency)
   13037 #define IAMPushSource_GetPushSourceFlags(This,pFlags) (This)->lpVtbl->GetPushSourceFlags(This,pFlags)
   13038 #define IAMPushSource_SetPushSourceFlags(This,Flags) (This)->lpVtbl->SetPushSourceFlags(This,Flags)
   13039 #define IAMPushSource_SetStreamOffset(This,rtOffset) (This)->lpVtbl->SetStreamOffset(This,rtOffset)
   13040 #define IAMPushSource_GetStreamOffset(This,prtOffset) (This)->lpVtbl->GetStreamOffset(This,prtOffset)
   13041 #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset) (This)->lpVtbl->GetMaxStreamOffset(This,prtMaxOffset)
   13042 #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset) (This)->lpVtbl->SetMaxStreamOffset(This,rtMaxOffset)
   13043 #endif
   13044 #endif
   13045   HRESULT WINAPI IAMPushSource_GetPushSourceFlags_Proxy(IAMPushSource *This,ULONG *pFlags);
   13046   void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13047   HRESULT WINAPI IAMPushSource_SetPushSourceFlags_Proxy(IAMPushSource *This,ULONG Flags);
   13048   void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13049   HRESULT WINAPI IAMPushSource_SetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtOffset);
   13050   void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13051   HRESULT WINAPI IAMPushSource_GetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtOffset);
   13052   void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13053   HRESULT WINAPI IAMPushSource_GetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset);
   13054   void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13055   HRESULT WINAPI IAMPushSource_SetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtMaxOffset);
   13056   void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13057 #endif
   13058 
   13059 #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
   13060 #define __IAMDeviceRemoval_INTERFACE_DEFINED__
   13061   EXTERN_C const IID IID_IAMDeviceRemoval;
   13062 #if defined(__cplusplus) && !defined(CINTERFACE)
   13063   struct IAMDeviceRemoval : public IUnknown {
   13064   public:
   13065     virtual HRESULT WINAPI DeviceInfo(CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink) = 0;
   13066     virtual HRESULT WINAPI Reassociate(void) = 0;
   13067     virtual HRESULT WINAPI Disassociate(void) = 0;
   13068   };
   13069 #else
   13070   typedef struct IAMDeviceRemovalVtbl {
   13071     BEGIN_INTERFACE
   13072       HRESULT (WINAPI *QueryInterface)(IAMDeviceRemoval *This,REFIID riid,void **ppvObject);
   13073       ULONG (WINAPI *AddRef)(IAMDeviceRemoval *This);
   13074       ULONG (WINAPI *Release)(IAMDeviceRemoval *This);
   13075       HRESULT (WINAPI *DeviceInfo)(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
   13076       HRESULT (WINAPI *Reassociate)(IAMDeviceRemoval *This);
   13077       HRESULT (WINAPI *Disassociate)(IAMDeviceRemoval *This);
   13078     END_INTERFACE
   13079   } IAMDeviceRemovalVtbl;
   13080   struct IAMDeviceRemoval {
   13081     CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
   13082   };
   13083 #ifdef COBJMACROS
   13084 #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13085 #define IAMDeviceRemoval_AddRef(This) (This)->lpVtbl->AddRef(This)
   13086 #define IAMDeviceRemoval_Release(This) (This)->lpVtbl->Release(This)
   13087 #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) (This)->lpVtbl->DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
   13088 #define IAMDeviceRemoval_Reassociate(This) (This)->lpVtbl->Reassociate(This)
   13089 #define IAMDeviceRemoval_Disassociate(This) (This)->lpVtbl->Disassociate(This)
   13090 #endif
   13091 #endif
   13092   HRESULT WINAPI IAMDeviceRemoval_DeviceInfo_Proxy(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
   13093   void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13094   HRESULT WINAPI IAMDeviceRemoval_Reassociate_Proxy(IAMDeviceRemoval *This);
   13095   void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13096   HRESULT WINAPI IAMDeviceRemoval_Disassociate_Proxy(IAMDeviceRemoval *This);
   13097   void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13098 #endif
   13099 
   13100   typedef struct __MIDL___MIDL_itf_strmif_0355_0001 {
   13101     DWORD dwDVAAuxSrc;
   13102     DWORD dwDVAAuxCtl;
   13103     DWORD dwDVAAuxSrc1;
   13104     DWORD dwDVAAuxCtl1;
   13105     DWORD dwDVVAuxSrc;
   13106     DWORD dwDVVAuxCtl;
   13107     DWORD dwDVReserved[2];
   13108   } DVINFO;
   13109 
   13110   typedef struct __MIDL___MIDL_itf_strmif_0355_0001 *PDVINFO;
   13111 
   13112   enum _DVENCODERRESOLUTION {
   13113     DVENCODERRESOLUTION_720x480 = 2012,DVENCODERRESOLUTION_360x240 = 2013,DVENCODERRESOLUTION_180x120 = 2014,DVENCODERRESOLUTION_88x60 = 2015
   13114   };
   13115 
   13116   enum _DVENCODERVIDEOFORMAT {
   13117     DVENCODERVIDEOFORMAT_NTSC = 2000,DVENCODERVIDEOFORMAT_PAL = 2001
   13118   };
   13119 
   13120   enum _DVENCODERFORMAT {
   13121     DVENCODERFORMAT_DVSD = 2007,DVENCODERFORMAT_DVHD = 2008,DVENCODERFORMAT_DVSL = 2009
   13122   };
   13123 
   13124   extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
   13125   extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
   13126 #ifndef __IDVEnc_INTERFACE_DEFINED__
   13127 #define __IDVEnc_INTERFACE_DEFINED__
   13128   EXTERN_C const IID IID_IDVEnc;
   13129 #if defined(__cplusplus) && !defined(CINTERFACE)
   13130   struct IDVEnc : public IUnknown {
   13131   public:
   13132     virtual HRESULT WINAPI get_IFormatResolution(int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
   13133     virtual HRESULT WINAPI put_IFormatResolution(int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
   13134   };
   13135 #else
   13136   typedef struct IDVEncVtbl {
   13137     BEGIN_INTERFACE
   13138       HRESULT (WINAPI *QueryInterface)(IDVEnc *This,REFIID riid,void **ppvObject);
   13139       ULONG (WINAPI *AddRef)(IDVEnc *This);
   13140       ULONG (WINAPI *Release)(IDVEnc *This);
   13141       HRESULT (WINAPI *get_IFormatResolution)(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   13142       HRESULT (WINAPI *put_IFormatResolution)(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   13143     END_INTERFACE
   13144   } IDVEncVtbl;
   13145   struct IDVEnc {
   13146     CONST_VTBL struct IDVEncVtbl *lpVtbl;
   13147   };
   13148 #ifdef COBJMACROS
   13149 #define IDVEnc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13150 #define IDVEnc_AddRef(This) (This)->lpVtbl->AddRef(This)
   13151 #define IDVEnc_Release(This) (This)->lpVtbl->Release(This)
   13152 #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
   13153 #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
   13154 #endif
   13155 #endif
   13156   HRESULT WINAPI IDVEnc_get_IFormatResolution_Proxy(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   13157   void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13158   HRESULT WINAPI IDVEnc_put_IFormatResolution_Proxy(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   13159   void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13160 #endif
   13161 
   13162   enum _DVDECODERRESOLUTION {
   13163     DVDECODERRESOLUTION_720x480 = 1000,DVDECODERRESOLUTION_360x240 = 1001,DVDECODERRESOLUTION_180x120 = 1002,DVDECODERRESOLUTION_88x60 = 1003
   13164   };
   13165 
   13166   enum _DVRESOLUTION {
   13167     DVRESOLUTION_FULL = 1000,DVRESOLUTION_HALF = 1001,DVRESOLUTION_QUARTER = 1002,DVRESOLUTION_DC = 1003
   13168   };
   13169 
   13170   extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec;
   13171   extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec;
   13172 #ifndef __IIPDVDec_INTERFACE_DEFINED__
   13173 #define __IIPDVDec_INTERFACE_DEFINED__
   13174   EXTERN_C const IID IID_IIPDVDec;
   13175 #if defined(__cplusplus) && !defined(CINTERFACE)
   13176   struct IIPDVDec : public IUnknown {
   13177   public:
   13178     virtual HRESULT WINAPI get_IPDisplay(int *displayPix) = 0;
   13179     virtual HRESULT WINAPI put_IPDisplay(int displayPix) = 0;
   13180   };
   13181 #else
   13182   typedef struct IIPDVDecVtbl {
   13183     BEGIN_INTERFACE
   13184       HRESULT (WINAPI *QueryInterface)(IIPDVDec *This,REFIID riid,void **ppvObject);
   13185       ULONG (WINAPI *AddRef)(IIPDVDec *This);
   13186       ULONG (WINAPI *Release)(IIPDVDec *This);
   13187       HRESULT (WINAPI *get_IPDisplay)(IIPDVDec *This,int *displayPix);
   13188       HRESULT (WINAPI *put_IPDisplay)(IIPDVDec *This,int displayPix);
   13189     END_INTERFACE
   13190   } IIPDVDecVtbl;
   13191   struct IIPDVDec {
   13192     CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
   13193   };
   13194 #ifdef COBJMACROS
   13195 #define IIPDVDec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13196 #define IIPDVDec_AddRef(This) (This)->lpVtbl->AddRef(This)
   13197 #define IIPDVDec_Release(This) (This)->lpVtbl->Release(This)
   13198 #define IIPDVDec_get_IPDisplay(This,displayPix) (This)->lpVtbl->get_IPDisplay(This,displayPix)
   13199 #define IIPDVDec_put_IPDisplay(This,displayPix) (This)->lpVtbl->put_IPDisplay(This,displayPix)
   13200 #endif
   13201 #endif
   13202   HRESULT WINAPI IIPDVDec_get_IPDisplay_Proxy(IIPDVDec *This,int *displayPix);
   13203   void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13204   HRESULT WINAPI IIPDVDec_put_IPDisplay_Proxy(IIPDVDec *This,int displayPix);
   13205   void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13206 #endif
   13207 
   13208 #ifndef __IDVRGB219_INTERFACE_DEFINED__
   13209 #define __IDVRGB219_INTERFACE_DEFINED__
   13210   EXTERN_C const IID IID_IDVRGB219;
   13211 #if defined(__cplusplus) && !defined(CINTERFACE)
   13212   struct IDVRGB219 : public IUnknown {
   13213   public:
   13214     virtual HRESULT WINAPI SetRGB219(WINBOOL bState) = 0;
   13215   };
   13216 #else
   13217   typedef struct IDVRGB219Vtbl {
   13218     BEGIN_INTERFACE
   13219       HRESULT (WINAPI *QueryInterface)(IDVRGB219 *This,REFIID riid,void **ppvObject);
   13220       ULONG (WINAPI *AddRef)(IDVRGB219 *This);
   13221       ULONG (WINAPI *Release)(IDVRGB219 *This);
   13222       HRESULT (WINAPI *SetRGB219)(IDVRGB219 *This,WINBOOL bState);
   13223     END_INTERFACE
   13224   } IDVRGB219Vtbl;
   13225   struct IDVRGB219 {
   13226     CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
   13227   };
   13228 #ifdef COBJMACROS
   13229 #define IDVRGB219_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13230 #define IDVRGB219_AddRef(This) (This)->lpVtbl->AddRef(This)
   13231 #define IDVRGB219_Release(This) (This)->lpVtbl->Release(This)
   13232 #define IDVRGB219_SetRGB219(This,bState) (This)->lpVtbl->SetRGB219(This,bState)
   13233 #endif
   13234 #endif
   13235   HRESULT WINAPI IDVRGB219_SetRGB219_Proxy(IDVRGB219 *This,WINBOOL bState);
   13236   void __RPC_STUB IDVRGB219_SetRGB219_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13237 #endif
   13238 
   13239 #ifndef __IDVSplitter_INTERFACE_DEFINED__
   13240 #define __IDVSplitter_INTERFACE_DEFINED__
   13241   EXTERN_C const IID IID_IDVSplitter;
   13242 #if defined(__cplusplus) && !defined(CINTERFACE)
   13243   struct IDVSplitter : public IUnknown {
   13244   public:
   13245     virtual HRESULT WINAPI DiscardAlternateVideoFrames(int nDiscard) = 0;
   13246   };
   13247 #else
   13248   typedef struct IDVSplitterVtbl {
   13249     BEGIN_INTERFACE
   13250       HRESULT (WINAPI *QueryInterface)(IDVSplitter *This,REFIID riid,void **ppvObject);
   13251       ULONG (WINAPI *AddRef)(IDVSplitter *This);
   13252       ULONG (WINAPI *Release)(IDVSplitter *This);
   13253       HRESULT (WINAPI *DiscardAlternateVideoFrames)(IDVSplitter *This,int nDiscard);
   13254     END_INTERFACE
   13255   } IDVSplitterVtbl;
   13256   struct IDVSplitter {
   13257     CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
   13258   };
   13259 #ifdef COBJMACROS
   13260 #define IDVSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13261 #define IDVSplitter_AddRef(This) (This)->lpVtbl->AddRef(This)
   13262 #define IDVSplitter_Release(This) (This)->lpVtbl->Release(This)
   13263 #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) (This)->lpVtbl->DiscardAlternateVideoFrames(This,nDiscard)
   13264 #endif
   13265 #endif
   13266   HRESULT WINAPI IDVSplitter_DiscardAlternateVideoFrames_Proxy(IDVSplitter *This,int nDiscard);
   13267   void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13268 #endif
   13269 
   13270   enum _AM_AUDIO_RENDERER_STAT_PARAM {
   13271     AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
   13272     AM_AUDREND_STAT_PARAM_SLAVE_MODE,AM_AUDREND_STAT_PARAM_SILENCE_DUR,
   13273     AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,AM_AUDREND_STAT_PARAM_DISCONTINUITIES,
   13274     AM_AUDREND_STAT_PARAM_SLAVE_RATE,AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR,
   13275     AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR,
   13276     AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,AM_AUDREND_STAT_PARAM_BUFFERFULLNESS,
   13277     AM_AUDREND_STAT_PARAM_JITTER
   13278   };
   13279 
   13280   extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_c_ifspec;
   13281   extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_s_ifspec;
   13282 #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
   13283 #define __IAMAudioRendererStats_INTERFACE_DEFINED__
   13284   EXTERN_C const IID IID_IAMAudioRendererStats;
   13285 #if defined(__cplusplus) && !defined(CINTERFACE)
   13286   struct IAMAudioRendererStats : public IUnknown {
   13287   public:
   13288     virtual HRESULT WINAPI GetStatParam(DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2) = 0;
   13289   };
   13290 #else
   13291   typedef struct IAMAudioRendererStatsVtbl {
   13292     BEGIN_INTERFACE
   13293       HRESULT (WINAPI *QueryInterface)(IAMAudioRendererStats *This,REFIID riid,void **ppvObject);
   13294       ULONG (WINAPI *AddRef)(IAMAudioRendererStats *This);
   13295       ULONG (WINAPI *Release)(IAMAudioRendererStats *This);
   13296       HRESULT (WINAPI *GetStatParam)(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
   13297     END_INTERFACE
   13298   } IAMAudioRendererStatsVtbl;
   13299   struct IAMAudioRendererStats {
   13300     CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
   13301   };
   13302 #ifdef COBJMACROS
   13303 #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13304 #define IAMAudioRendererStats_AddRef(This) (This)->lpVtbl->AddRef(This)
   13305 #define IAMAudioRendererStats_Release(This) (This)->lpVtbl->Release(This)
   13306 #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) (This)->lpVtbl->GetStatParam(This,dwParam,pdwParam1,pdwParam2)
   13307 #endif
   13308 #endif
   13309   HRESULT WINAPI IAMAudioRendererStats_GetStatParam_Proxy(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
   13310   void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13311 #endif
   13312 
   13313   enum _AM_INTF_SEARCH_FLAGS {
   13314     AM_INTF_SEARCH_INPUT_PIN = 0x1,AM_INTF_SEARCH_OUTPUT_PIN = 0x2,AM_INTF_SEARCH_FILTER = 0x4
   13315   };
   13316 
   13317   extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec;
   13318   extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec;
   13319 #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
   13320 #define __IAMGraphStreams_INTERFACE_DEFINED__
   13321   EXTERN_C const IID IID_IAMGraphStreams;
   13322 #if defined(__cplusplus) && !defined(CINTERFACE)
   13323   struct IAMGraphStreams : public IUnknown {
   13324   public:
   13325     virtual HRESULT WINAPI FindUpstreamInterface(IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags) = 0;
   13326     virtual HRESULT WINAPI SyncUsingStreamOffset(WINBOOL bUseStreamOffset) = 0;
   13327     virtual HRESULT WINAPI SetMaxGraphLatency(REFERENCE_TIME rtMaxGraphLatency) = 0;
   13328   };
   13329 #else
   13330   typedef struct IAMGraphStreamsVtbl {
   13331     BEGIN_INTERFACE
   13332       HRESULT (WINAPI *QueryInterface)(IAMGraphStreams *This,REFIID riid,void **ppvObject);
   13333       ULONG (WINAPI *AddRef)(IAMGraphStreams *This);
   13334       ULONG (WINAPI *Release)(IAMGraphStreams *This);
   13335       HRESULT (WINAPI *FindUpstreamInterface)(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
   13336       HRESULT (WINAPI *SyncUsingStreamOffset)(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
   13337       HRESULT (WINAPI *SetMaxGraphLatency)(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
   13338     END_INTERFACE
   13339   } IAMGraphStreamsVtbl;
   13340   struct IAMGraphStreams {
   13341     CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
   13342   };
   13343 #ifdef COBJMACROS
   13344 #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13345 #define IAMGraphStreams_AddRef(This) (This)->lpVtbl->AddRef(This)
   13346 #define IAMGraphStreams_Release(This) (This)->lpVtbl->Release(This)
   13347 #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) (This)->lpVtbl->FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
   13348 #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) (This)->lpVtbl->SyncUsingStreamOffset(This,bUseStreamOffset)
   13349 #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) (This)->lpVtbl->SetMaxGraphLatency(This,rtMaxGraphLatency)
   13350 #endif
   13351 #endif
   13352   HRESULT WINAPI IAMGraphStreams_FindUpstreamInterface_Proxy(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
   13353   void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13354   HRESULT WINAPI IAMGraphStreams_SyncUsingStreamOffset_Proxy(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
   13355   void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13356   HRESULT WINAPI IAMGraphStreams_SetMaxGraphLatency_Proxy(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
   13357   void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13358 #endif
   13359 
   13360   enum AMOVERLAYFX {
   13361     AMOVERFX_NOFX = 0,AMOVERFX_MIRRORLEFTRIGHT = 0x2,AMOVERFX_MIRRORUPDOWN = 0x4,AMOVERFX_DEINTERLACE = 0x8
   13362   };
   13363 
   13364   extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec;
   13365   extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec;
   13366 #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
   13367 #define __IAMOverlayFX_INTERFACE_DEFINED__
   13368   EXTERN_C const IID IID_IAMOverlayFX;
   13369 #if defined(__cplusplus) && !defined(CINTERFACE)
   13370   struct IAMOverlayFX : public IUnknown {
   13371   public:
   13372     virtual HRESULT WINAPI QueryOverlayFXCaps(DWORD *lpdwOverlayFXCaps) = 0;
   13373     virtual HRESULT WINAPI SetOverlayFX(DWORD dwOverlayFX) = 0;
   13374     virtual HRESULT WINAPI GetOverlayFX(DWORD *lpdwOverlayFX) = 0;
   13375   };
   13376 #else
   13377   typedef struct IAMOverlayFXVtbl {
   13378     BEGIN_INTERFACE
   13379       HRESULT (WINAPI *QueryInterface)(IAMOverlayFX *This,REFIID riid,void **ppvObject);
   13380       ULONG (WINAPI *AddRef)(IAMOverlayFX *This);
   13381       ULONG (WINAPI *Release)(IAMOverlayFX *This);
   13382       HRESULT (WINAPI *QueryOverlayFXCaps)(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
   13383       HRESULT (WINAPI *SetOverlayFX)(IAMOverlayFX *This,DWORD dwOverlayFX);
   13384       HRESULT (WINAPI *GetOverlayFX)(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
   13385     END_INTERFACE
   13386   } IAMOverlayFXVtbl;
   13387   struct IAMOverlayFX {
   13388     CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
   13389   };
   13390 #ifdef COBJMACROS
   13391 #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13392 #define IAMOverlayFX_AddRef(This) (This)->lpVtbl->AddRef(This)
   13393 #define IAMOverlayFX_Release(This) (This)->lpVtbl->Release(This)
   13394 #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) (This)->lpVtbl->QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
   13395 #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) (This)->lpVtbl->SetOverlayFX(This,dwOverlayFX)
   13396 #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) (This)->lpVtbl->GetOverlayFX(This,lpdwOverlayFX)
   13397 #endif
   13398 #endif
   13399   HRESULT WINAPI IAMOverlayFX_QueryOverlayFXCaps_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
   13400   void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13401   HRESULT WINAPI IAMOverlayFX_SetOverlayFX_Proxy(IAMOverlayFX *This,DWORD dwOverlayFX);
   13402   void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13403   HRESULT WINAPI IAMOverlayFX_GetOverlayFX_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
   13404   void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13405 #endif
   13406 
   13407 #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
   13408 #define __IAMOpenProgress_INTERFACE_DEFINED__
   13409   EXTERN_C const IID IID_IAMOpenProgress;
   13410 #if defined(__cplusplus) && !defined(CINTERFACE)
   13411   struct IAMOpenProgress : public IUnknown {
   13412   public:
   13413     virtual HRESULT WINAPI QueryProgress(LONGLONG *pllTotal,LONGLONG *pllCurrent) = 0;
   13414     virtual HRESULT WINAPI AbortOperation(void) = 0;
   13415   };
   13416 #else
   13417   typedef struct IAMOpenProgressVtbl {
   13418     BEGIN_INTERFACE
   13419       HRESULT (WINAPI *QueryInterface)(IAMOpenProgress *This,REFIID riid,void **ppvObject);
   13420       ULONG (WINAPI *AddRef)(IAMOpenProgress *This);
   13421       ULONG (WINAPI *Release)(IAMOpenProgress *This);
   13422       HRESULT (WINAPI *QueryProgress)(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
   13423       HRESULT (WINAPI *AbortOperation)(IAMOpenProgress *This);
   13424     END_INTERFACE
   13425   } IAMOpenProgressVtbl;
   13426   struct IAMOpenProgress {
   13427     CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
   13428   };
   13429 #ifdef COBJMACROS
   13430 #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13431 #define IAMOpenProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
   13432 #define IAMOpenProgress_Release(This) (This)->lpVtbl->Release(This)
   13433 #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) (This)->lpVtbl->QueryProgress(This,pllTotal,pllCurrent)
   13434 #define IAMOpenProgress_AbortOperation(This) (This)->lpVtbl->AbortOperation(This)
   13435 #endif
   13436 #endif
   13437   HRESULT WINAPI IAMOpenProgress_QueryProgress_Proxy(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
   13438   void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13439   HRESULT WINAPI IAMOpenProgress_AbortOperation_Proxy(IAMOpenProgress *This);
   13440   void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13441 #endif
   13442 
   13443 #ifdef __CRT_UUID_DECL
   13444 __CRT_UUID_DECL(IMpeg2Demultiplexer,0x436eee9c,0x264f,0x4242,0x90,0xe1,0x4e,0x33,0x0c,0x10,0x75,0x12);
   13445 #endif
   13446 
   13447 #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
   13448 #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
   13449   EXTERN_C const IID IID_IMpeg2Demultiplexer;
   13450 #if defined(__cplusplus) && !defined(CINTERFACE)
   13451   struct IMpeg2Demultiplexer : public IUnknown {
   13452   public:
   13453     virtual HRESULT WINAPI CreateOutputPin(AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin) = 0;
   13454     virtual HRESULT WINAPI SetOutputPinMediaType(LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType) = 0;
   13455     virtual HRESULT WINAPI DeleteOutputPin(LPWSTR pszPinName) = 0;
   13456   };
   13457 #else
   13458   typedef struct IMpeg2DemultiplexerVtbl {
   13459     BEGIN_INTERFACE
   13460       HRESULT (WINAPI *QueryInterface)(IMpeg2Demultiplexer *This,REFIID riid,void **ppvObject);
   13461       ULONG (WINAPI *AddRef)(IMpeg2Demultiplexer *This);
   13462       ULONG (WINAPI *Release)(IMpeg2Demultiplexer *This);
   13463       HRESULT (WINAPI *CreateOutputPin)(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
   13464       HRESULT (WINAPI *SetOutputPinMediaType)(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
   13465       HRESULT (WINAPI *DeleteOutputPin)(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
   13466     END_INTERFACE
   13467   } IMpeg2DemultiplexerVtbl;
   13468   struct IMpeg2Demultiplexer {
   13469     CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
   13470   };
   13471 #ifdef COBJMACROS
   13472 #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13473 #define IMpeg2Demultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This)
   13474 #define IMpeg2Demultiplexer_Release(This) (This)->lpVtbl->Release(This)
   13475 #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) (This)->lpVtbl->CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
   13476 #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) (This)->lpVtbl->SetOutputPinMediaType(This,pszPinName,pMediaType)
   13477 #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) (This)->lpVtbl->DeleteOutputPin(This,pszPinName)
   13478 #endif
   13479 #endif
   13480   HRESULT WINAPI IMpeg2Demultiplexer_CreateOutputPin_Proxy(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
   13481   void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13482   HRESULT WINAPI IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
   13483   void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13484   HRESULT WINAPI IMpeg2Demultiplexer_DeleteOutputPin_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
   13485   void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13486 #endif
   13487 
   13488 #define MPEG2_PROGRAM_STREAM_MAP 0x00000000
   13489 #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
   13490 #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
   13491 #define MPEG2_PROGRAM_PACK_HEADER 0x00000003
   13492 #define MPEG2_PROGRAM_PES_STREAM 0x00000004
   13493 #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
   13494 #define SUBSTREAM_FILTER_VAL_NONE 0x10000000
   13495 
   13496   typedef struct __MIDL___MIDL_itf_strmif_0365_0001 {
   13497     ULONG stream_id;
   13498     DWORD dwMediaSampleContent;
   13499     ULONG ulSubstreamFilterValue;
   13500     int iDataOffset;
   13501   } STREAM_ID_MAP;
   13502 
   13503   extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec;
   13504   extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec;
   13505 #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
   13506 #define __IEnumStreamIdMap_INTERFACE_DEFINED__
   13507   EXTERN_C const IID IID_IEnumStreamIdMap;
   13508 #if defined(__cplusplus) && !defined(CINTERFACE)
   13509   struct IEnumStreamIdMap : public IUnknown {
   13510   public:
   13511     virtual HRESULT WINAPI Next(ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived) = 0;
   13512     virtual HRESULT WINAPI Skip(ULONG cRecords) = 0;
   13513     virtual HRESULT WINAPI Reset(void) = 0;
   13514     virtual HRESULT WINAPI Clone(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
   13515   };
   13516 #else
   13517   typedef struct IEnumStreamIdMapVtbl {
   13518     BEGIN_INTERFACE
   13519       HRESULT (WINAPI *QueryInterface)(IEnumStreamIdMap *This,REFIID riid,void **ppvObject);
   13520       ULONG (WINAPI *AddRef)(IEnumStreamIdMap *This);
   13521       ULONG (WINAPI *Release)(IEnumStreamIdMap *This);
   13522       HRESULT (WINAPI *Next)(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
   13523       HRESULT (WINAPI *Skip)(IEnumStreamIdMap *This,ULONG cRecords);
   13524       HRESULT (WINAPI *Reset)(IEnumStreamIdMap *This);
   13525       HRESULT (WINAPI *Clone)(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   13526     END_INTERFACE
   13527   } IEnumStreamIdMapVtbl;
   13528   struct IEnumStreamIdMap {
   13529     CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
   13530   };
   13531 #ifdef COBJMACROS
   13532 #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13533 #define IEnumStreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
   13534 #define IEnumStreamIdMap_Release(This) (This)->lpVtbl->Release(This)
   13535 #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pStreamIdMap,pcReceived)
   13536 #define IEnumStreamIdMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords)
   13537 #define IEnumStreamIdMap_Reset(This) (This)->lpVtbl->Reset(This)
   13538 #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) (This)->lpVtbl->Clone(This,ppIEnumStreamIdMap)
   13539 #endif
   13540 #endif
   13541   HRESULT WINAPI IEnumStreamIdMap_Next_Proxy(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
   13542   void __RPC_STUB IEnumStreamIdMap_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13543   HRESULT WINAPI IEnumStreamIdMap_Skip_Proxy(IEnumStreamIdMap *This,ULONG cRecords);
   13544   void __RPC_STUB IEnumStreamIdMap_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13545   HRESULT WINAPI IEnumStreamIdMap_Reset_Proxy(IEnumStreamIdMap *This);
   13546   void __RPC_STUB IEnumStreamIdMap_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13547   HRESULT WINAPI IEnumStreamIdMap_Clone_Proxy(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   13548   void __RPC_STUB IEnumStreamIdMap_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13549 #endif
   13550 
   13551 #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
   13552 #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
   13553   EXTERN_C const IID IID_IMPEG2StreamIdMap;
   13554 #if defined(__cplusplus) && !defined(CINTERFACE)
   13555   struct IMPEG2StreamIdMap : public IUnknown {
   13556   public:
   13557     virtual HRESULT WINAPI MapStreamId(ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset) = 0;
   13558     virtual HRESULT WINAPI UnmapStreamId(ULONG culStreamId,ULONG *pulStreamId) = 0;
   13559     virtual HRESULT WINAPI EnumStreamIdMap(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
   13560   };
   13561 #else
   13562   typedef struct IMPEG2StreamIdMapVtbl {
   13563     BEGIN_INTERFACE
   13564       HRESULT (WINAPI *QueryInterface)(IMPEG2StreamIdMap *This,REFIID riid,void **ppvObject);
   13565       ULONG (WINAPI *AddRef)(IMPEG2StreamIdMap *This);
   13566       ULONG (WINAPI *Release)(IMPEG2StreamIdMap *This);
   13567       HRESULT (WINAPI *MapStreamId)(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
   13568       HRESULT (WINAPI *UnmapStreamId)(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
   13569       HRESULT (WINAPI *EnumStreamIdMap)(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   13570     END_INTERFACE
   13571   } IMPEG2StreamIdMapVtbl;
   13572   struct IMPEG2StreamIdMap {
   13573     CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
   13574   };
   13575 #ifdef COBJMACROS
   13576 #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13577 #define IMPEG2StreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
   13578 #define IMPEG2StreamIdMap_Release(This) (This)->lpVtbl->Release(This)
   13579 #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) (This)->lpVtbl->MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
   13580 #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) (This)->lpVtbl->UnmapStreamId(This,culStreamId,pulStreamId)
   13581 #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) (This)->lpVtbl->EnumStreamIdMap(This,ppIEnumStreamIdMap)
   13582 #endif
   13583 #endif
   13584   HRESULT WINAPI IMPEG2StreamIdMap_MapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
   13585   void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13586   HRESULT WINAPI IMPEG2StreamIdMap_UnmapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
   13587   void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13588   HRESULT WINAPI IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   13589   void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13590 #endif
   13591 
   13592 #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
   13593 #define __IRegisterServiceProvider_INTERFACE_DEFINED__
   13594   EXTERN_C const IID IID_IRegisterServiceProvider;
   13595 #if defined(__cplusplus) && !defined(CINTERFACE)
   13596   struct IRegisterServiceProvider : public IUnknown {
   13597   public:
   13598     virtual HRESULT WINAPI RegisterService(REFGUID guidService,IUnknown *pUnkObject) = 0;
   13599   };
   13600 #else
   13601   typedef struct IRegisterServiceProviderVtbl {
   13602     BEGIN_INTERFACE
   13603       HRESULT (WINAPI *QueryInterface)(IRegisterServiceProvider *This,REFIID riid,void **ppvObject);
   13604       ULONG (WINAPI *AddRef)(IRegisterServiceProvider *This);
   13605       ULONG (WINAPI *Release)(IRegisterServiceProvider *This);
   13606       HRESULT (WINAPI *RegisterService)(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
   13607     END_INTERFACE
   13608   } IRegisterServiceProviderVtbl;
   13609   struct IRegisterServiceProvider {
   13610     CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
   13611   };
   13612 #ifdef COBJMACROS
   13613 #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13614 #define IRegisterServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
   13615 #define IRegisterServiceProvider_Release(This) (This)->lpVtbl->Release(This)
   13616 #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) (This)->lpVtbl->RegisterService(This,guidService,pUnkObject)
   13617 #endif
   13618 #endif
   13619   HRESULT WINAPI IRegisterServiceProvider_RegisterService_Proxy(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
   13620   void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13621 #endif
   13622 
   13623 #ifdef __cplusplus
   13624 #ifndef _IAMFilterGraphCallback_
   13625 #define _IAMFilterGraphCallback_
   13626   EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
   13627   struct IAMFilterGraphCallback : public IUnknown {
   13628     virtual HRESULT UnableToRender(IPin *pPin) = 0;
   13629   };
   13630 #endif
   13631 #endif
   13632   struct CodecAPIEventData {
   13633     GUID guid;
   13634     DWORD dataLength;
   13635     DWORD reserved[3];
   13636   };
   13637 
   13638   extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_c_ifspec;
   13639   extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_s_ifspec;
   13640 #ifndef __ICodecAPI_INTERFACE_DEFINED__
   13641 #define __ICodecAPI_INTERFACE_DEFINED__
   13642   EXTERN_C const IID IID_ICodecAPI;
   13643 #if defined(__cplusplus) && !defined(CINTERFACE)
   13644   struct ICodecAPI : public IUnknown {
   13645   public:
   13646     virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
   13647     virtual HRESULT WINAPI IsModifiable(const GUID *Api) = 0;
   13648     virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
   13649     virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
   13650     virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
   13651     virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
   13652     virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
   13653     virtual HRESULT WINAPI RegisterForEvent(const GUID *Api,LONG_PTR userData) = 0;
   13654     virtual HRESULT WINAPI UnregisterForEvent(const GUID *Api) = 0;
   13655     virtual HRESULT WINAPI SetAllDefaults(void) = 0;
   13656     virtual HRESULT WINAPI SetValueWithNotify(const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   13657     virtual HRESULT WINAPI SetAllDefaultsWithNotify(GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   13658     virtual HRESULT WINAPI GetAllSettings(IStream *__MIDL_0016) = 0;
   13659     virtual HRESULT WINAPI SetAllSettings(IStream *__MIDL_0017) = 0;
   13660     virtual HRESULT WINAPI SetAllSettingsWithNotify(IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   13661   };
   13662 #else
   13663   typedef struct ICodecAPIVtbl {
   13664     BEGIN_INTERFACE
   13665       HRESULT (WINAPI *QueryInterface)(ICodecAPI *This,REFIID riid,void **ppvObject);
   13666       ULONG (WINAPI *AddRef)(ICodecAPI *This);
   13667       ULONG (WINAPI *Release)(ICodecAPI *This);
   13668       HRESULT (WINAPI *IsSupported)(ICodecAPI *This,const GUID *Api);
   13669       HRESULT (WINAPI *IsModifiable)(ICodecAPI *This,const GUID *Api);
   13670       HRESULT (WINAPI *GetParameterRange)(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   13671       HRESULT (WINAPI *GetParameterValues)(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   13672       HRESULT (WINAPI *GetDefaultValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   13673       HRESULT (WINAPI *GetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   13674       HRESULT (WINAPI *SetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   13675       HRESULT (WINAPI *RegisterForEvent)(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
   13676       HRESULT (WINAPI *UnregisterForEvent)(ICodecAPI *This,const GUID *Api);
   13677       HRESULT (WINAPI *SetAllDefaults)(ICodecAPI *This);
   13678       HRESULT (WINAPI *SetValueWithNotify)(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
   13679       HRESULT (WINAPI *SetAllDefaultsWithNotify)(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
   13680       HRESULT (WINAPI *GetAllSettings)(ICodecAPI *This,IStream *__MIDL_0016);
   13681       HRESULT (WINAPI *SetAllSettings)(ICodecAPI *This,IStream *__MIDL_0017);
   13682       HRESULT (WINAPI *SetAllSettingsWithNotify)(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
   13683     END_INTERFACE
   13684   } ICodecAPIVtbl;
   13685   struct ICodecAPI {
   13686     CONST_VTBL struct ICodecAPIVtbl *lpVtbl;
   13687   };
   13688 #ifdef COBJMACROS
   13689 #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13690 #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
   13691 #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This)
   13692 #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   13693 #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api)
   13694 #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   13695 #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   13696 #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   13697 #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   13698 #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   13699 #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData)
   13700 #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api)
   13701 #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This)
   13702 #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
   13703 #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
   13704 #define ICodecAPI_GetAllSettings(This,__MIDL_0016) (This)->lpVtbl->GetAllSettings(This,__MIDL_0016)
   13705 #define ICodecAPI_SetAllSettings(This,__MIDL_0017) (This)->lpVtbl->SetAllSettings(This,__MIDL_0017)
   13706 #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)
   13707 #endif
   13708 #endif
   13709   HRESULT WINAPI ICodecAPI_IsSupported_Proxy(ICodecAPI *This,const GUID *Api);
   13710   void __RPC_STUB ICodecAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13711   HRESULT WINAPI ICodecAPI_IsModifiable_Proxy(ICodecAPI *This,const GUID *Api);
   13712   void __RPC_STUB ICodecAPI_IsModifiable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13713   HRESULT WINAPI ICodecAPI_GetParameterRange_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   13714   void __RPC_STUB ICodecAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13715   HRESULT WINAPI ICodecAPI_GetParameterValues_Proxy(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   13716   void __RPC_STUB ICodecAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13717   HRESULT WINAPI ICodecAPI_GetDefaultValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   13718   void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13719   HRESULT WINAPI ICodecAPI_GetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   13720   void __RPC_STUB ICodecAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13721   HRESULT WINAPI ICodecAPI_SetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   13722   void __RPC_STUB ICodecAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13723   HRESULT WINAPI ICodecAPI_RegisterForEvent_Proxy(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
   13724   void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13725   HRESULT WINAPI ICodecAPI_UnregisterForEvent_Proxy(ICodecAPI *This,const GUID *Api);
   13726   void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13727   HRESULT WINAPI ICodecAPI_SetAllDefaults_Proxy(ICodecAPI *This);
   13728   void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13729   HRESULT WINAPI ICodecAPI_SetValueWithNotify_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
   13730   void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13731   HRESULT WINAPI ICodecAPI_SetAllDefaultsWithNotify_Proxy(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
   13732   void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13733   HRESULT WINAPI ICodecAPI_GetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0016);
   13734   void __RPC_STUB ICodecAPI_GetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13735   HRESULT WINAPI ICodecAPI_SetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0017);
   13736   void __RPC_STUB ICodecAPI_SetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13737   HRESULT WINAPI ICodecAPI_SetAllSettingsWithNotify_Proxy(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
   13738   void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13739 #endif
   13740 
   13741 #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
   13742 #define __IGetCapabilitiesKey_INTERFACE_DEFINED__
   13743   EXTERN_C const IID IID_IGetCapabilitiesKey;
   13744 #if defined(__cplusplus) && !defined(CINTERFACE)
   13745   struct IGetCapabilitiesKey : public IUnknown {
   13746   public:
   13747     virtual HRESULT WINAPI GetCapabilitiesKey(HKEY *pHKey) = 0;
   13748   };
   13749 #else
   13750   typedef struct IGetCapabilitiesKeyVtbl {
   13751     BEGIN_INTERFACE
   13752       HRESULT (WINAPI *QueryInterface)(IGetCapabilitiesKey *This,REFIID riid,void **ppvObject);
   13753       ULONG (WINAPI *AddRef)(IGetCapabilitiesKey *This);
   13754       ULONG (WINAPI *Release)(IGetCapabilitiesKey *This);
   13755       HRESULT (WINAPI *GetCapabilitiesKey)(IGetCapabilitiesKey *This,HKEY *pHKey);
   13756     END_INTERFACE
   13757   } IGetCapabilitiesKeyVtbl;
   13758   struct IGetCapabilitiesKey {
   13759     CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl;
   13760   };
   13761 #ifdef COBJMACROS
   13762 #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13763 #define IGetCapabilitiesKey_AddRef(This) (This)->lpVtbl->AddRef(This)
   13764 #define IGetCapabilitiesKey_Release(This) (This)->lpVtbl->Release(This)
   13765 #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) (This)->lpVtbl->GetCapabilitiesKey(This,pHKey)
   13766 #endif
   13767 #endif
   13768   HRESULT WINAPI IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(IGetCapabilitiesKey *This,HKEY *pHKey);
   13769   void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13770 #endif
   13771 
   13772 #ifndef __IEncoderAPI_INTERFACE_DEFINED__
   13773 #define __IEncoderAPI_INTERFACE_DEFINED__
   13774   EXTERN_C const IID IID_IEncoderAPI;
   13775 #if defined(__cplusplus) && !defined(CINTERFACE)
   13776   struct IEncoderAPI : public IUnknown {
   13777   public:
   13778     virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
   13779     virtual HRESULT WINAPI IsAvailable(const GUID *Api) = 0;
   13780     virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
   13781     virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
   13782     virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
   13783     virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
   13784     virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
   13785   };
   13786 #else
   13787   typedef struct IEncoderAPIVtbl {
   13788     BEGIN_INTERFACE
   13789       HRESULT (WINAPI *QueryInterface)(IEncoderAPI *This,REFIID riid,void **ppvObject);
   13790       ULONG (WINAPI *AddRef)(IEncoderAPI *This);
   13791       ULONG (WINAPI *Release)(IEncoderAPI *This);
   13792       HRESULT (WINAPI *IsSupported)(IEncoderAPI *This,const GUID *Api);
   13793       HRESULT (WINAPI *IsAvailable)(IEncoderAPI *This,const GUID *Api);
   13794       HRESULT (WINAPI *GetParameterRange)(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   13795       HRESULT (WINAPI *GetParameterValues)(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   13796       HRESULT (WINAPI *GetDefaultValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   13797       HRESULT (WINAPI *GetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   13798       HRESULT (WINAPI *SetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   13799     END_INTERFACE
   13800   } IEncoderAPIVtbl;
   13801   struct IEncoderAPI {
   13802     CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
   13803   };
   13804 #ifdef COBJMACROS
   13805 #define IEncoderAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13806 #define IEncoderAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
   13807 #define IEncoderAPI_Release(This) (This)->lpVtbl->Release(This)
   13808 #define IEncoderAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   13809 #define IEncoderAPI_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
   13810 #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   13811 #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   13812 #define IEncoderAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   13813 #define IEncoderAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   13814 #define IEncoderAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   13815 #endif
   13816 #endif
   13817   HRESULT WINAPI IEncoderAPI_IsSupported_Proxy(IEncoderAPI *This,const GUID *Api);
   13818   void __RPC_STUB IEncoderAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13819   HRESULT WINAPI IEncoderAPI_IsAvailable_Proxy(IEncoderAPI *This,const GUID *Api);
   13820   void __RPC_STUB IEncoderAPI_IsAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13821   HRESULT WINAPI IEncoderAPI_GetParameterRange_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   13822   void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13823   HRESULT WINAPI IEncoderAPI_GetParameterValues_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   13824   void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13825   HRESULT WINAPI IEncoderAPI_GetDefaultValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   13826   void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13827   HRESULT WINAPI IEncoderAPI_GetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   13828   void __RPC_STUB IEncoderAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13829   HRESULT WINAPI IEncoderAPI_SetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   13830   void __RPC_STUB IEncoderAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13831 #endif
   13832 
   13833 #ifndef __IVideoEncoder_INTERFACE_DEFINED__
   13834 #define __IVideoEncoder_INTERFACE_DEFINED__
   13835   EXTERN_C const IID IID_IVideoEncoder;
   13836 #if defined(__cplusplus) && !defined(CINTERFACE)
   13837   struct IVideoEncoder : public IEncoderAPI {
   13838   public:
   13839   };
   13840 #else
   13841   typedef struct IVideoEncoderVtbl {
   13842     BEGIN_INTERFACE
   13843       HRESULT (WINAPI *QueryInterface)(IVideoEncoder *This,REFIID riid,void **ppvObject);
   13844       ULONG (WINAPI *AddRef)(IVideoEncoder *This);
   13845       ULONG (WINAPI *Release)(IVideoEncoder *This);
   13846       HRESULT (WINAPI *IsSupported)(IVideoEncoder *This,const GUID *Api);
   13847       HRESULT (WINAPI *IsAvailable)(IVideoEncoder *This,const GUID *Api);
   13848       HRESULT (WINAPI *GetParameterRange)(IVideoEncoder *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   13849       HRESULT (WINAPI *GetParameterValues)(IVideoEncoder *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   13850       HRESULT (WINAPI *GetDefaultValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   13851       HRESULT (WINAPI *GetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   13852       HRESULT (WINAPI *SetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   13853     END_INTERFACE
   13854   } IVideoEncoderVtbl;
   13855   struct IVideoEncoder {
   13856     CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
   13857   };
   13858 #ifdef COBJMACROS
   13859 #define IVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13860 #define IVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   13861 #define IVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
   13862 #define IVideoEncoder_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   13863 #define IVideoEncoder_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
   13864 #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   13865 #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   13866 #define IVideoEncoder_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   13867 #define IVideoEncoder_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   13868 #define IVideoEncoder_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   13869 #endif
   13870 #endif
   13871 #endif
   13872 
   13873 #ifndef __ENCODER_API_DEFINES__
   13874 #define __ENCODER_API_DEFINES__
   13875   typedef enum __MIDL___MIDL_itf_strmif_0374_0001 {
   13876     ConstantBitRate = 0,
   13877     VariableBitRateAverage,VariableBitRatePeak
   13878   } VIDEOENCODER_BITRATE_MODE;
   13879 #endif
   13880 #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001
   13881 #define VMR_NOTSUPPORTED 0x00000000
   13882 #define VMR_SUPPORTED 0x00000001
   13883 #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001
   13884 #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002
   13885 #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003
   13886 #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004
   13887 #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005
   13888 #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006
   13889 #define DECODER_CAP_NOTSUPPORTED 0x00000000
   13890 #define DECODER_CAP_SUPPORTED 0x00000001
   13891 
   13892   extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_c_ifspec;
   13893   extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_s_ifspec;
   13894 #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
   13895 #define __IAMDecoderCaps_INTERFACE_DEFINED__
   13896   EXTERN_C const IID IID_IAMDecoderCaps;
   13897 #if defined(__cplusplus) && !defined(CINTERFACE)
   13898   struct IAMDecoderCaps : public IUnknown {
   13899   public:
   13900     virtual HRESULT WINAPI GetDecoderCaps(DWORD dwCapIndex,DWORD *lpdwCap) = 0;
   13901   };
   13902 #else
   13903   typedef struct IAMDecoderCapsVtbl {
   13904     BEGIN_INTERFACE
   13905       HRESULT (WINAPI *QueryInterface)(IAMDecoderCaps *This,REFIID riid,void **ppvObject);
   13906       ULONG (WINAPI *AddRef)(IAMDecoderCaps *This);
   13907       ULONG (WINAPI *Release)(IAMDecoderCaps *This);
   13908       HRESULT (WINAPI *GetDecoderCaps)(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
   13909     END_INTERFACE
   13910   } IAMDecoderCapsVtbl;
   13911   struct IAMDecoderCaps {
   13912     CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
   13913   };
   13914 #ifdef COBJMACROS
   13915 #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13916 #define IAMDecoderCaps_AddRef(This) (This)->lpVtbl->AddRef(This)
   13917 #define IAMDecoderCaps_Release(This) (This)->lpVtbl->Release(This)
   13918 #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) (This)->lpVtbl->GetDecoderCaps(This,dwCapIndex,lpdwCap)
   13919 #endif
   13920 #endif
   13921   HRESULT WINAPI IAMDecoderCaps_GetDecoderCaps_Proxy(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
   13922   void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13923 #endif
   13924 
   13925 #ifdef MINGW_HAS_DDRAW_H
   13926 #include <ddraw.h>
   13927 #else
   13928   typedef void *IDirectDraw;
   13929   typedef void *IDirectDrawSurface;
   13930   typedef void *LPDIRECTDRAWSURFACE7;
   13931   typedef void *LPDIRECTDRAW7;
   13932   typedef void *LPDDPIXELFORMAT;
   13933   typedef struct DDCOLORKEY {
   13934     DWORD dw1;
   13935     DWORD dw2;
   13936   } DDCOLORKEY;
   13937   typedef DDCOLORKEY *LPDDCOLORKEY;
   13938 #endif
   13939 
   13940   typedef enum tagDVD_DOMAIN {
   13941     DVD_DOMAIN_FirstPlay = 1,
   13942     DVD_DOMAIN_VideoManagerMenu,DVD_DOMAIN_VideoTitleSetMenu,DVD_DOMAIN_Title,
   13943     DVD_DOMAIN_Stop
   13944   } DVD_DOMAIN;
   13945 
   13946   typedef enum tagDVD_MENU_ID {
   13947     DVD_MENU_Title = 2,DVD_MENU_Root = 3,DVD_MENU_Subpicture = 4,DVD_MENU_Audio = 5,
   13948     DVD_MENU_Angle = 6,DVD_MENU_Chapter = 7
   13949   } DVD_MENU_ID;
   13950 
   13951   typedef enum tagDVD_DISC_SIDE {
   13952     DVD_SIDE_A = 1,DVD_SIDE_B = 2
   13953   } DVD_DISC_SIDE;
   13954 
   13955   typedef enum tagDVD_PREFERRED_DISPLAY_MODE {
   13956     DISPLAY_CONTENT_DEFAULT = 0,DISPLAY_16x9 = 1,DISPLAY_4x3_PANSCAN_PREFERRED = 2,DISPLAY_4x3_LETTERBOX_PREFERRED = 3
   13957   } DVD_PREFERRED_DISPLAY_MODE;
   13958 
   13959   typedef WORD DVD_REGISTER;
   13960   typedef DVD_REGISTER GPRMARRAY[16];
   13961   typedef DVD_REGISTER SPRMARRAY[24];
   13962 
   13963   typedef struct tagDVD_ATR {
   13964     ULONG ulCAT;
   13965     BYTE pbATRI[768];
   13966   } DVD_ATR;
   13967 
   13968   typedef BYTE DVD_VideoATR[2];
   13969   typedef BYTE DVD_AudioATR[8];
   13970   typedef BYTE DVD_SubpictureATR[6];
   13971 
   13972   typedef enum tagDVD_FRAMERATE {
   13973     DVD_FPS_25 = 1,DVD_FPS_30NonDrop = 3
   13974   } DVD_FRAMERATE;
   13975 
   13976   typedef struct tagDVD_TIMECODE {
   13977     ULONG Hours1 :4;
   13978     ULONG Hours10 :4;
   13979     ULONG Minutes1 :4;
   13980     ULONG Minutes10:4;
   13981     ULONG Seconds1 :4;
   13982     ULONG Seconds10:4;
   13983     ULONG Frames1 :4;
   13984     ULONG Frames10 :2;
   13985     ULONG FrameRateCode: 2;
   13986   } DVD_TIMECODE;
   13987 
   13988   typedef enum tagDVD_TIMECODE_FLAGS {
   13989     DVD_TC_FLAG_25fps = 0x1,DVD_TC_FLAG_30fps = 0x2,DVD_TC_FLAG_DropFrame = 0x4,DVD_TC_FLAG_Interpolated = 0x8
   13990   } DVD_TIMECODE_FLAGS;
   13991 
   13992   typedef struct tagDVD_HMSF_TIMECODE {
   13993     BYTE bHours;
   13994     BYTE bMinutes;
   13995     BYTE bSeconds;
   13996     BYTE bFrames;
   13997   } DVD_HMSF_TIMECODE;
   13998 
   13999   typedef struct tagDVD_PLAYBACK_LOCATION2 {
   14000     ULONG TitleNum;
   14001     ULONG ChapterNum;
   14002     DVD_HMSF_TIMECODE TimeCode;
   14003     ULONG TimeCodeFlags;
   14004   } DVD_PLAYBACK_LOCATION2;
   14005 
   14006   typedef struct tagDVD_PLAYBACK_LOCATION {
   14007     ULONG TitleNum;
   14008     ULONG ChapterNum;
   14009     ULONG TimeCode;
   14010   } DVD_PLAYBACK_LOCATION;
   14011 
   14012   typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
   14013 
   14014   typedef enum __MIDL___MIDL_itf_strmif_0376_0001 {
   14015     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,
   14016     UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,UOP_FLAG_PlayNext_Chapter = 0x80,UOP_FLAG_Play_Forwards = 0x100,
   14017     UOP_FLAG_Play_Backwards = 0x200,UOP_FLAG_ShowMenu_Title = 0x400,UOP_FLAG_ShowMenu_Root = 0x800,UOP_FLAG_ShowMenu_SubPic = 0x1000,
   14018     UOP_FLAG_ShowMenu_Audio = 0x2000,UOP_FLAG_ShowMenu_Angle = 0x4000,UOP_FLAG_ShowMenu_Chapter = 0x8000,UOP_FLAG_Resume = 0x10000,
   14019     UOP_FLAG_Select_Or_Activate_Button = 0x20000,UOP_FLAG_Still_Off = 0x40000,UOP_FLAG_Pause_On = 0x80000,UOP_FLAG_Select_Audio_Stream = 0x100000,
   14020     UOP_FLAG_Select_SubPic_Stream = 0x200000,UOP_FLAG_Select_Angle = 0x400000,UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000,
   14021     UOP_FLAG_Select_Video_Mode_Preference = 0x1000000
   14022   } VALID_UOP_FLAG;
   14023 
   14024   typedef enum __MIDL___MIDL_itf_strmif_0376_0002 {
   14025     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,
   14026     DVD_CMD_FLAG_EndAfterRendered = 0x10
   14027   } DVD_CMD_FLAGS;
   14028 
   14029   typedef enum __MIDL___MIDL_itf_strmif_0376_0003 {
   14030     DVD_ResetOnStop = 1,DVD_NotifyParentalLevelChange = 2,DVD_HMSF_TimeCodeEvents = 3,DVD_AudioDuringFFwdRew = 4
   14031   } DVD_OPTION_FLAG;
   14032 
   14033   typedef enum __MIDL___MIDL_itf_strmif_0376_0004 {
   14034     DVD_Relative_Upper = 1,DVD_Relative_Lower = 2,DVD_Relative_Left = 3,DVD_Relative_Right = 4
   14035   } DVD_RELATIVE_BUTTON;
   14036 
   14037   typedef enum tagDVD_PARENTAL_LEVEL {
   14038     DVD_PARENTAL_LEVEL_8 = 0x8000,DVD_PARENTAL_LEVEL_7 = 0x4000,DVD_PARENTAL_LEVEL_6 = 0x2000,DVD_PARENTAL_LEVEL_5 = 0x1000,
   14039     DVD_PARENTAL_LEVEL_4 = 0x800,DVD_PARENTAL_LEVEL_3 = 0x400,DVD_PARENTAL_LEVEL_2 = 0x200,DVD_PARENTAL_LEVEL_1 = 0x100
   14040   } DVD_PARENTAL_LEVEL;
   14041 
   14042   typedef enum tagDVD_AUDIO_LANG_EXT {
   14043     DVD_AUD_EXT_NotSpecified = 0,DVD_AUD_EXT_Captions = 1,DVD_AUD_EXT_VisuallyImpaired = 2,DVD_AUD_EXT_DirectorComments1 = 3,
   14044     DVD_AUD_EXT_DirectorComments2 = 4
   14045   } DVD_AUDIO_LANG_EXT;
   14046 
   14047   typedef enum tagDVD_SUBPICTURE_LANG_EXT {
   14048     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,
   14049     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,
   14050     DVD_SP_EXT_DirectorComments_Children = 15
   14051   } DVD_SUBPICTURE_LANG_EXT;
   14052 
   14053   typedef enum tagDVD_AUDIO_APPMODE {
   14054     DVD_AudioMode_None = 0,DVD_AudioMode_Karaoke = 1,DVD_AudioMode_Surround = 2,DVD_AudioMode_Other = 3
   14055   } DVD_AUDIO_APPMODE;
   14056 
   14057   typedef enum tagDVD_AUDIO_FORMAT {
   14058     DVD_AudioFormat_AC3 = 0,DVD_AudioFormat_MPEG1 = 1,DVD_AudioFormat_MPEG1_DRC = 2,DVD_AudioFormat_MPEG2 = 3,DVD_AudioFormat_MPEG2_DRC = 4,
   14059     DVD_AudioFormat_LPCM = 5,DVD_AudioFormat_DTS = 6,DVD_AudioFormat_SDDS = 7,DVD_AudioFormat_Other = 8
   14060   } DVD_AUDIO_FORMAT;
   14061 
   14062   typedef enum tagDVD_KARAOKE_DOWNMIX {
   14063     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,
   14064     DVD_Mix_0to1 = 0x100,DVD_Mix_1to1 = 0x200,DVD_Mix_2to1 = 0x400,DVD_Mix_3to1 = 0x800,DVD_Mix_4to1 = 0x1000,DVD_Mix_Lto1 = 0x2000,
   14065     DVD_Mix_Rto1 = 0x4000
   14066   } DVD_KARAOKE_DOWNMIX;
   14067 
   14068   typedef struct tagDVD_AudioAttributes {
   14069     DVD_AUDIO_APPMODE AppMode;
   14070     BYTE AppModeData;
   14071     DVD_AUDIO_FORMAT AudioFormat;
   14072     LCID Language;
   14073     DVD_AUDIO_LANG_EXT LanguageExtension;
   14074     WINBOOL fHasMultichannelInfo;
   14075     DWORD dwFrequency;
   14076     BYTE bQuantization;
   14077     BYTE bNumberOfChannels;
   14078     DWORD dwReserved[2];
   14079   } DVD_AudioAttributes;
   14080 
   14081   typedef struct tagDVD_MUA_MixingInfo {
   14082     WINBOOL fMixTo0;
   14083     WINBOOL fMixTo1;
   14084     WINBOOL fMix0InPhase;
   14085     WINBOOL fMix1InPhase;
   14086     DWORD dwSpeakerPosition;
   14087   } DVD_MUA_MixingInfo;
   14088 
   14089   typedef struct tagDVD_MUA_Coeff {
   14090     double log2_alpha;
   14091     double log2_beta;
   14092   } DVD_MUA_Coeff;
   14093 
   14094   typedef struct tagDVD_MultichannelAudioAttributes {
   14095     DVD_MUA_MixingInfo Info[8];
   14096     DVD_MUA_Coeff Coeff[8];
   14097   } DVD_MultichannelAudioAttributes;
   14098 
   14099   typedef enum tagDVD_KARAOKE_CONTENTS {
   14100     DVD_Karaoke_GuideVocal1 = 0x1,DVD_Karaoke_GuideVocal2 = 0x2,DVD_Karaoke_GuideMelody1 = 0x4,DVD_Karaoke_GuideMelody2 = 0x8,
   14101     DVD_Karaoke_GuideMelodyA = 0x10,DVD_Karaoke_GuideMelodyB = 0x20,DVD_Karaoke_SoundEffectA = 0x40,DVD_Karaoke_SoundEffectB = 0x80
   14102   } DVD_KARAOKE_CONTENTS;
   14103 
   14104   typedef enum tagDVD_KARAOKE_ASSIGNMENT {
   14105     DVD_Assignment_reserved0 = 0,DVD_Assignment_reserved1 = 1,DVD_Assignment_LR = 2,DVD_Assignment_LRM = 3,DVD_Assignment_LR1 = 4,
   14106     DVD_Assignment_LRM1 = 5,DVD_Assignment_LR12 = 6,DVD_Assignment_LRM12 = 7
   14107   } DVD_KARAOKE_ASSIGNMENT;
   14108 
   14109   typedef struct tagDVD_KaraokeAttributes {
   14110     BYTE bVersion;
   14111     WINBOOL fMasterOfCeremoniesInGuideVocal1;
   14112     WINBOOL fDuet;
   14113     DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
   14114     WORD wChannelContents[8];
   14115   } DVD_KaraokeAttributes;
   14116 
   14117   typedef enum tagDVD_VIDEO_COMPRESSION {
   14118     DVD_VideoCompression_Other = 0,DVD_VideoCompression_MPEG1 = 1,DVD_VideoCompression_MPEG2 = 2
   14119   } DVD_VIDEO_COMPRESSION;
   14120 
   14121   typedef struct tagDVD_VideoAttributes {
   14122     WINBOOL fPanscanPermitted;
   14123     WINBOOL fLetterboxPermitted;
   14124     ULONG ulAspectX;
   14125     ULONG ulAspectY;
   14126     ULONG ulFrameRate;
   14127     ULONG ulFrameHeight;
   14128     DVD_VIDEO_COMPRESSION Compression;
   14129     WINBOOL fLine21Field1InGOP;
   14130     WINBOOL fLine21Field2InGOP;
   14131     ULONG ulSourceResolutionX;
   14132     ULONG ulSourceResolutionY;
   14133     WINBOOL fIsSourceLetterboxed;
   14134     WINBOOL fIsFilmMode;
   14135   } DVD_VideoAttributes;
   14136 
   14137   typedef enum tagDVD_SUBPICTURE_TYPE {
   14138     DVD_SPType_NotSpecified = 0,DVD_SPType_Language = 1,DVD_SPType_Other = 2
   14139   } DVD_SUBPICTURE_TYPE;
   14140 
   14141   typedef enum tagDVD_SUBPICTURE_CODING {
   14142     DVD_SPCoding_RunLength = 0,DVD_SPCoding_Extended = 1,DVD_SPCoding_Other = 2
   14143   } DVD_SUBPICTURE_CODING;
   14144 
   14145   typedef struct tagDVD_SubpictureAttributes {
   14146     DVD_SUBPICTURE_TYPE Type;
   14147     DVD_SUBPICTURE_CODING CodingMode;
   14148     LCID Language;
   14149     DVD_SUBPICTURE_LANG_EXT LanguageExtension;
   14150   } DVD_SubpictureAttributes;
   14151 
   14152   typedef enum tagDVD_TITLE_APPMODE {
   14153     DVD_AppMode_Not_Specified = 0,DVD_AppMode_Karaoke = 1,DVD_AppMode_Other = 3
   14154   } DVD_TITLE_APPMODE;
   14155 
   14156   typedef struct tagDVD_TitleMainAttributes {
   14157     DVD_TITLE_APPMODE AppMode;
   14158     DVD_VideoAttributes VideoAttributes;
   14159     ULONG ulNumberOfAudioStreams;
   14160     DVD_AudioAttributes AudioAttributes[8];
   14161     DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8];
   14162     ULONG ulNumberOfSubpictureStreams;
   14163     DVD_SubpictureAttributes SubpictureAttributes[32];
   14164   } DVD_TitleAttributes;
   14165 
   14166   typedef struct tagDVD_MenuAttributes {
   14167     WINBOOL fCompatibleRegion[8];
   14168     DVD_VideoAttributes VideoAttributes;
   14169     WINBOOL fAudioPresent;
   14170     DVD_AudioAttributes AudioAttributes;
   14171     WINBOOL fSubpicturePresent;
   14172     DVD_SubpictureAttributes SubpictureAttributes;
   14173   } DVD_MenuAttributes;
   14174 
   14175   extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec;
   14176   extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec;
   14177 #ifndef __IDvdControl_INTERFACE_DEFINED__
   14178 #define __IDvdControl_INTERFACE_DEFINED__
   14179   EXTERN_C const IID IID_IDvdControl;
   14180 #if defined(__cplusplus) && !defined(CINTERFACE)
   14181   struct IDvdControl : public IUnknown {
   14182   public:
   14183     virtual HRESULT WINAPI TitlePlay(ULONG ulTitle) = 0;
   14184     virtual HRESULT WINAPI ChapterPlay(ULONG ulTitle,ULONG ulChapter) = 0;
   14185     virtual HRESULT WINAPI TimePlay(ULONG ulTitle,ULONG bcdTime) = 0;
   14186     virtual HRESULT WINAPI StopForResume(void) = 0;
   14187     virtual HRESULT WINAPI GoUp(void) = 0;
   14188     virtual HRESULT WINAPI TimeSearch(ULONG bcdTime) = 0;
   14189     virtual HRESULT WINAPI ChapterSearch(ULONG ulChapter) = 0;
   14190     virtual HRESULT WINAPI PrevPGSearch(void) = 0;
   14191     virtual HRESULT WINAPI TopPGSearch(void) = 0;
   14192     virtual HRESULT WINAPI NextPGSearch(void) = 0;
   14193     virtual HRESULT WINAPI ForwardScan(double dwSpeed) = 0;
   14194     virtual HRESULT WINAPI BackwardScan(double dwSpeed) = 0;
   14195     virtual HRESULT WINAPI MenuCall(DVD_MENU_ID MenuID) = 0;
   14196     virtual HRESULT WINAPI Resume(void) = 0;
   14197     virtual HRESULT WINAPI UpperButtonSelect(void) = 0;
   14198     virtual HRESULT WINAPI LowerButtonSelect(void) = 0;
   14199     virtual HRESULT WINAPI LeftButtonSelect(void) = 0;
   14200     virtual HRESULT WINAPI RightButtonSelect(void) = 0;
   14201     virtual HRESULT WINAPI ButtonActivate(void) = 0;
   14202     virtual HRESULT WINAPI ButtonSelectAndActivate(ULONG ulButton) = 0;
   14203     virtual HRESULT WINAPI StillOff(void) = 0;
   14204     virtual HRESULT WINAPI PauseOn(void) = 0;
   14205     virtual HRESULT WINAPI PauseOff(void) = 0;
   14206     virtual HRESULT WINAPI MenuLanguageSelect(LCID Language) = 0;
   14207     virtual HRESULT WINAPI AudioStreamChange(ULONG ulAudio) = 0;
   14208     virtual HRESULT WINAPI SubpictureStreamChange(ULONG ulSubPicture,WINBOOL bDisplay) = 0;
   14209     virtual HRESULT WINAPI AngleChange(ULONG ulAngle) = 0;
   14210     virtual HRESULT WINAPI ParentalLevelSelect(ULONG ulParentalLevel) = 0;
   14211     virtual HRESULT WINAPI ParentalCountrySelect(WORD wCountry) = 0;
   14212     virtual HRESULT WINAPI KaraokeAudioPresentationModeChange(ULONG ulMode) = 0;
   14213     virtual HRESULT WINAPI VideoModePreferrence(ULONG ulPreferredDisplayMode) = 0;
   14214     virtual HRESULT WINAPI SetRoot(LPCWSTR pszPath) = 0;
   14215     virtual HRESULT WINAPI MouseActivate(POINT point) = 0;
   14216     virtual HRESULT WINAPI MouseSelect(POINT point) = 0;
   14217     virtual HRESULT WINAPI ChapterPlayAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay) = 0;
   14218   };
   14219 #else
   14220   typedef struct IDvdControlVtbl {
   14221     BEGIN_INTERFACE
   14222       HRESULT (WINAPI *QueryInterface)(IDvdControl *This,REFIID riid,void **ppvObject);
   14223       ULONG (WINAPI *AddRef)(IDvdControl *This);
   14224       ULONG (WINAPI *Release)(IDvdControl *This);
   14225       HRESULT (WINAPI *TitlePlay)(IDvdControl *This,ULONG ulTitle);
   14226       HRESULT (WINAPI *ChapterPlay)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
   14227       HRESULT (WINAPI *TimePlay)(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
   14228       HRESULT (WINAPI *StopForResume)(IDvdControl *This);
   14229       HRESULT (WINAPI *GoUp)(IDvdControl *This);
   14230       HRESULT (WINAPI *TimeSearch)(IDvdControl *This,ULONG bcdTime);
   14231       HRESULT (WINAPI *ChapterSearch)(IDvdControl *This,ULONG ulChapter);
   14232       HRESULT (WINAPI *PrevPGSearch)(IDvdControl *This);
   14233       HRESULT (WINAPI *TopPGSearch)(IDvdControl *This);
   14234       HRESULT (WINAPI *NextPGSearch)(IDvdControl *This);
   14235       HRESULT (WINAPI *ForwardScan)(IDvdControl *This,double dwSpeed);
   14236       HRESULT (WINAPI *BackwardScan)(IDvdControl *This,double dwSpeed);
   14237       HRESULT (WINAPI *MenuCall)(IDvdControl *This,DVD_MENU_ID MenuID);
   14238       HRESULT (WINAPI *Resume)(IDvdControl *This);
   14239       HRESULT (WINAPI *UpperButtonSelect)(IDvdControl *This);
   14240       HRESULT (WINAPI *LowerButtonSelect)(IDvdControl *This);
   14241       HRESULT (WINAPI *LeftButtonSelect)(IDvdControl *This);
   14242       HRESULT (WINAPI *RightButtonSelect)(IDvdControl *This);
   14243       HRESULT (WINAPI *ButtonActivate)(IDvdControl *This);
   14244       HRESULT (WINAPI *ButtonSelectAndActivate)(IDvdControl *This,ULONG ulButton);
   14245       HRESULT (WINAPI *StillOff)(IDvdControl *This);
   14246       HRESULT (WINAPI *PauseOn)(IDvdControl *This);
   14247       HRESULT (WINAPI *PauseOff)(IDvdControl *This);
   14248       HRESULT (WINAPI *MenuLanguageSelect)(IDvdControl *This,LCID Language);
   14249       HRESULT (WINAPI *AudioStreamChange)(IDvdControl *This,ULONG ulAudio);
   14250       HRESULT (WINAPI *SubpictureStreamChange)(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
   14251       HRESULT (WINAPI *AngleChange)(IDvdControl *This,ULONG ulAngle);
   14252       HRESULT (WINAPI *ParentalLevelSelect)(IDvdControl *This,ULONG ulParentalLevel);
   14253       HRESULT (WINAPI *ParentalCountrySelect)(IDvdControl *This,WORD wCountry);
   14254       HRESULT (WINAPI *KaraokeAudioPresentationModeChange)(IDvdControl *This,ULONG ulMode);
   14255       HRESULT (WINAPI *VideoModePreferrence)(IDvdControl *This,ULONG ulPreferredDisplayMode);
   14256       HRESULT (WINAPI *SetRoot)(IDvdControl *This,LPCWSTR pszPath);
   14257       HRESULT (WINAPI *MouseActivate)(IDvdControl *This,POINT point);
   14258       HRESULT (WINAPI *MouseSelect)(IDvdControl *This,POINT point);
   14259       HRESULT (WINAPI *ChapterPlayAutoStop)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
   14260     END_INTERFACE
   14261   } IDvdControlVtbl;
   14262   struct IDvdControl {
   14263     CONST_VTBL struct IDvdControlVtbl *lpVtbl;
   14264   };
   14265 #ifdef COBJMACROS
   14266 #define IDvdControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14267 #define IDvdControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   14268 #define IDvdControl_Release(This) (This)->lpVtbl->Release(This)
   14269 #define IDvdControl_TitlePlay(This,ulTitle) (This)->lpVtbl->TitlePlay(This,ulTitle)
   14270 #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) (This)->lpVtbl->ChapterPlay(This,ulTitle,ulChapter)
   14271 #define IDvdControl_TimePlay(This,ulTitle,bcdTime) (This)->lpVtbl->TimePlay(This,ulTitle,bcdTime)
   14272 #define IDvdControl_StopForResume(This) (This)->lpVtbl->StopForResume(This)
   14273 #define IDvdControl_GoUp(This) (This)->lpVtbl->GoUp(This)
   14274 #define IDvdControl_TimeSearch(This,bcdTime) (This)->lpVtbl->TimeSearch(This,bcdTime)
   14275 #define IDvdControl_ChapterSearch(This,ulChapter) (This)->lpVtbl->ChapterSearch(This,ulChapter)
   14276 #define IDvdControl_PrevPGSearch(This) (This)->lpVtbl->PrevPGSearch(This)
   14277 #define IDvdControl_TopPGSearch(This) (This)->lpVtbl->TopPGSearch(This)
   14278 #define IDvdControl_NextPGSearch(This) (This)->lpVtbl->NextPGSearch(This)
   14279 #define IDvdControl_ForwardScan(This,dwSpeed) (This)->lpVtbl->ForwardScan(This,dwSpeed)
   14280 #define IDvdControl_BackwardScan(This,dwSpeed) (This)->lpVtbl->BackwardScan(This,dwSpeed)
   14281 #define IDvdControl_MenuCall(This,MenuID) (This)->lpVtbl->MenuCall(This,MenuID)
   14282 #define IDvdControl_Resume(This) (This)->lpVtbl->Resume(This)
   14283 #define IDvdControl_UpperButtonSelect(This) (This)->lpVtbl->UpperButtonSelect(This)
   14284 #define IDvdControl_LowerButtonSelect(This) (This)->lpVtbl->LowerButtonSelect(This)
   14285 #define IDvdControl_LeftButtonSelect(This) (This)->lpVtbl->LeftButtonSelect(This)
   14286 #define IDvdControl_RightButtonSelect(This) (This)->lpVtbl->RightButtonSelect(This)
   14287 #define IDvdControl_ButtonActivate(This) (This)->lpVtbl->ButtonActivate(This)
   14288 #define IDvdControl_ButtonSelectAndActivate(This,ulButton) (This)->lpVtbl->ButtonSelectAndActivate(This,ulButton)
   14289 #define IDvdControl_StillOff(This) (This)->lpVtbl->StillOff(This)
   14290 #define IDvdControl_PauseOn(This) (This)->lpVtbl->PauseOn(This)
   14291 #define IDvdControl_PauseOff(This) (This)->lpVtbl->PauseOff(This)
   14292 #define IDvdControl_MenuLanguageSelect(This,Language) (This)->lpVtbl->MenuLanguageSelect(This,Language)
   14293 #define IDvdControl_AudioStreamChange(This,ulAudio) (This)->lpVtbl->AudioStreamChange(This,ulAudio)
   14294 #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) (This)->lpVtbl->SubpictureStreamChange(This,ulSubPicture,bDisplay)
   14295 #define IDvdControl_AngleChange(This,ulAngle) (This)->lpVtbl->AngleChange(This,ulAngle)
   14296 #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) (This)->lpVtbl->ParentalLevelSelect(This,ulParentalLevel)
   14297 #define IDvdControl_ParentalCountrySelect(This,wCountry) (This)->lpVtbl->ParentalCountrySelect(This,wCountry)
   14298 #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) (This)->lpVtbl->KaraokeAudioPresentationModeChange(This,ulMode)
   14299 #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) (This)->lpVtbl->VideoModePreferrence(This,ulPreferredDisplayMode)
   14300 #define IDvdControl_SetRoot(This,pszPath) (This)->lpVtbl->SetRoot(This,pszPath)
   14301 #define IDvdControl_MouseActivate(This,point) (This)->lpVtbl->MouseActivate(This,point)
   14302 #define IDvdControl_MouseSelect(This,point) (This)->lpVtbl->MouseSelect(This,point)
   14303 #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) (This)->lpVtbl->ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
   14304 #endif
   14305 #endif
   14306   HRESULT WINAPI IDvdControl_TitlePlay_Proxy(IDvdControl *This,ULONG ulTitle);
   14307   void __RPC_STUB IDvdControl_TitlePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14308   HRESULT WINAPI IDvdControl_ChapterPlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
   14309   void __RPC_STUB IDvdControl_ChapterPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14310   HRESULT WINAPI IDvdControl_TimePlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
   14311   void __RPC_STUB IDvdControl_TimePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14312   HRESULT WINAPI IDvdControl_StopForResume_Proxy(IDvdControl *This);
   14313   void __RPC_STUB IDvdControl_StopForResume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14314   HRESULT WINAPI IDvdControl_GoUp_Proxy(IDvdControl *This);
   14315   void __RPC_STUB IDvdControl_GoUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14316   HRESULT WINAPI IDvdControl_TimeSearch_Proxy(IDvdControl *This,ULONG bcdTime);
   14317   void __RPC_STUB IDvdControl_TimeSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14318   HRESULT WINAPI IDvdControl_ChapterSearch_Proxy(IDvdControl *This,ULONG ulChapter);
   14319   void __RPC_STUB IDvdControl_ChapterSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14320   HRESULT WINAPI IDvdControl_PrevPGSearch_Proxy(IDvdControl *This);
   14321   void __RPC_STUB IDvdControl_PrevPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14322   HRESULT WINAPI IDvdControl_TopPGSearch_Proxy(IDvdControl *This);
   14323   void __RPC_STUB IDvdControl_TopPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14324   HRESULT WINAPI IDvdControl_NextPGSearch_Proxy(IDvdControl *This);
   14325   void __RPC_STUB IDvdControl_NextPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14326   HRESULT WINAPI IDvdControl_ForwardScan_Proxy(IDvdControl *This,double dwSpeed);
   14327   void __RPC_STUB IDvdControl_ForwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14328   HRESULT WINAPI IDvdControl_BackwardScan_Proxy(IDvdControl *This,double dwSpeed);
   14329   void __RPC_STUB IDvdControl_BackwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14330   HRESULT WINAPI IDvdControl_MenuCall_Proxy(IDvdControl *This,DVD_MENU_ID MenuID);
   14331   void __RPC_STUB IDvdControl_MenuCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14332   HRESULT WINAPI IDvdControl_Resume_Proxy(IDvdControl *This);
   14333   void __RPC_STUB IDvdControl_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14334   HRESULT WINAPI IDvdControl_UpperButtonSelect_Proxy(IDvdControl *This);
   14335   void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14336   HRESULT WINAPI IDvdControl_LowerButtonSelect_Proxy(IDvdControl *This);
   14337   void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14338   HRESULT WINAPI IDvdControl_LeftButtonSelect_Proxy(IDvdControl *This);
   14339   void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14340   HRESULT WINAPI IDvdControl_RightButtonSelect_Proxy(IDvdControl *This);
   14341   void __RPC_STUB IDvdControl_RightButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14342   HRESULT WINAPI IDvdControl_ButtonActivate_Proxy(IDvdControl *This);
   14343   void __RPC_STUB IDvdControl_ButtonActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14344   HRESULT WINAPI IDvdControl_ButtonSelectAndActivate_Proxy(IDvdControl *This,ULONG ulButton);
   14345   void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14346   HRESULT WINAPI IDvdControl_StillOff_Proxy(IDvdControl *This);
   14347   void __RPC_STUB IDvdControl_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14348   HRESULT WINAPI IDvdControl_PauseOn_Proxy(IDvdControl *This);
   14349   void __RPC_STUB IDvdControl_PauseOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14350   HRESULT WINAPI IDvdControl_PauseOff_Proxy(IDvdControl *This);
   14351   void __RPC_STUB IDvdControl_PauseOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14352   HRESULT WINAPI IDvdControl_MenuLanguageSelect_Proxy(IDvdControl *This,LCID Language);
   14353   void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14354   HRESULT WINAPI IDvdControl_AudioStreamChange_Proxy(IDvdControl *This,ULONG ulAudio);
   14355   void __RPC_STUB IDvdControl_AudioStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14356   HRESULT WINAPI IDvdControl_SubpictureStreamChange_Proxy(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
   14357   void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14358   HRESULT WINAPI IDvdControl_AngleChange_Proxy(IDvdControl *This,ULONG ulAngle);
   14359   void __RPC_STUB IDvdControl_AngleChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14360   HRESULT WINAPI IDvdControl_ParentalLevelSelect_Proxy(IDvdControl *This,ULONG ulParentalLevel);
   14361   void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14362   HRESULT WINAPI IDvdControl_ParentalCountrySelect_Proxy(IDvdControl *This,WORD wCountry);
   14363   void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14364   HRESULT WINAPI IDvdControl_KaraokeAudioPresentationModeChange_Proxy(IDvdControl *This,ULONG ulMode);
   14365   void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14366   HRESULT WINAPI IDvdControl_VideoModePreferrence_Proxy(IDvdControl *This,ULONG ulPreferredDisplayMode);
   14367   void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14368   HRESULT WINAPI IDvdControl_SetRoot_Proxy(IDvdControl *This,LPCWSTR pszPath);
   14369   void __RPC_STUB IDvdControl_SetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14370   HRESULT WINAPI IDvdControl_MouseActivate_Proxy(IDvdControl *This,POINT point);
   14371   void __RPC_STUB IDvdControl_MouseActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14372   HRESULT WINAPI IDvdControl_MouseSelect_Proxy(IDvdControl *This,POINT point);
   14373   void __RPC_STUB IDvdControl_MouseSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14374   HRESULT WINAPI IDvdControl_ChapterPlayAutoStop_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
   14375   void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14376 #endif
   14377 
   14378 #ifndef __IDvdInfo_INTERFACE_DEFINED__
   14379 #define __IDvdInfo_INTERFACE_DEFINED__
   14380   EXTERN_C const IID IID_IDvdInfo;
   14381 #if defined(__cplusplus) && !defined(CINTERFACE)
   14382   struct IDvdInfo : public IUnknown {
   14383   public:
   14384     virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
   14385     virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION *pLocation) = 0;
   14386     virtual HRESULT WINAPI GetTotalTitleTime(ULONG *pulTotalTime) = 0;
   14387     virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
   14388     virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
   14389     virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
   14390     virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled) = 0;
   14391     virtual HRESULT WINAPI GetCurrentUOPS(VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
   14392     virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
   14393     virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
   14394     virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   14395     virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   14396     virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_ATR *pATR) = 0;
   14397     virtual HRESULT WINAPI GetVMGAttributes(DVD_ATR *pATR) = 0;
   14398     virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoATR *pATR) = 0;
   14399     virtual HRESULT WINAPI GetCurrentAudioAttributes(DVD_AudioATR *pATR) = 0;
   14400     virtual HRESULT WINAPI GetCurrentSubpictureAttributes(DVD_SubpictureATR *pATR) = 0;
   14401     virtual HRESULT WINAPI GetCurrentVolumeInfo(ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
   14402     virtual HRESULT WINAPI GetDVDTextInfo(BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize) = 0;
   14403     virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,ULONG *pulCountryCode) = 0;
   14404     virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumberOfChapters) = 0;
   14405     virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
   14406     virtual HRESULT WINAPI GetRoot(LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize) = 0;
   14407   };
   14408 #else
   14409   typedef struct IDvdInfoVtbl {
   14410     BEGIN_INTERFACE
   14411       HRESULT (WINAPI *QueryInterface)(IDvdInfo *This,REFIID riid,void **ppvObject);
   14412       ULONG (WINAPI *AddRef)(IDvdInfo *This);
   14413       ULONG (WINAPI *Release)(IDvdInfo *This);
   14414       HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo *This,DVD_DOMAIN *pDomain);
   14415       HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
   14416       HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo *This,ULONG *pulTotalTime);
   14417       HRESULT (WINAPI *GetCurrentButton)(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   14418       HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   14419       HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   14420       HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
   14421       HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
   14422       HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo *This,SPRMARRAY *pRegisterArray);
   14423       HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo *This,GPRMARRAY *pRegisterArray);
   14424       HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   14425       HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   14426       HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
   14427       HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo *This,DVD_ATR *pATR);
   14428       HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo *This,DVD_VideoATR *pATR);
   14429       HRESULT (WINAPI *GetCurrentAudioAttributes)(IDvdInfo *This,DVD_AudioATR *pATR);
   14430       HRESULT (WINAPI *GetCurrentSubpictureAttributes)(IDvdInfo *This,DVD_SubpictureATR *pATR);
   14431       HRESULT (WINAPI *GetCurrentVolumeInfo)(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   14432       HRESULT (WINAPI *GetDVDTextInfo)(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
   14433       HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
   14434       HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
   14435       HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
   14436       HRESULT (WINAPI *GetRoot)(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
   14437     END_INTERFACE
   14438   } IDvdInfoVtbl;
   14439   struct IDvdInfo {
   14440     CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
   14441   };
   14442 #ifdef COBJMACROS
   14443 #define IDvdInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14444 #define IDvdInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   14445 #define IDvdInfo_Release(This) (This)->lpVtbl->Release(This)
   14446 #define IDvdInfo_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
   14447 #define IDvdInfo_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
   14448 #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) (This)->lpVtbl->GetTotalTitleTime(This,pulTotalTime)
   14449 #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
   14450 #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
   14451 #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
   14452 #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
   14453 #define IDvdInfo_GetCurrentUOPS(This,pUOP) (This)->lpVtbl->GetCurrentUOPS(This,pUOP)
   14454 #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
   14455 #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
   14456 #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
   14457 #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
   14458 #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pATR)
   14459 #define IDvdInfo_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
   14460 #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
   14461 #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) (This)->lpVtbl->GetCurrentAudioAttributes(This,pATR)
   14462 #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) (This)->lpVtbl->GetCurrentSubpictureAttributes(This,pATR)
   14463 #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) (This)->lpVtbl->GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
   14464 #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) (This)->lpVtbl->GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
   14465 #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
   14466 #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
   14467 #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
   14468 #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) (This)->lpVtbl->GetRoot(This,pRoot,ulBufSize,pulActualSize)
   14469 #endif
   14470 #endif
   14471   HRESULT WINAPI IDvdInfo_GetCurrentDomain_Proxy(IDvdInfo *This,DVD_DOMAIN *pDomain);
   14472   void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14473   HRESULT WINAPI IDvdInfo_GetCurrentLocation_Proxy(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
   14474   void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14475   HRESULT WINAPI IDvdInfo_GetTotalTitleTime_Proxy(IDvdInfo *This,ULONG *pulTotalTime);
   14476   void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14477   HRESULT WINAPI IDvdInfo_GetCurrentButton_Proxy(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   14478   void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14479   HRESULT WINAPI IDvdInfo_GetCurrentAngle_Proxy(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   14480   void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14481   HRESULT WINAPI IDvdInfo_GetCurrentAudio_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   14482   void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14483   HRESULT WINAPI IDvdInfo_GetCurrentSubpicture_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
   14484   void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14485   HRESULT WINAPI IDvdInfo_GetCurrentUOPS_Proxy(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
   14486   void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14487   HRESULT WINAPI IDvdInfo_GetAllSPRMs_Proxy(IDvdInfo *This,SPRMARRAY *pRegisterArray);
   14488   void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14489   HRESULT WINAPI IDvdInfo_GetAllGPRMs_Proxy(IDvdInfo *This,GPRMARRAY *pRegisterArray);
   14490   void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14491   HRESULT WINAPI IDvdInfo_GetAudioLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   14492   void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14493   HRESULT WINAPI IDvdInfo_GetSubpictureLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   14494   void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14495   HRESULT WINAPI IDvdInfo_GetTitleAttributes_Proxy(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
   14496   void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14497   HRESULT WINAPI IDvdInfo_GetVMGAttributes_Proxy(IDvdInfo *This,DVD_ATR *pATR);
   14498   void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14499   HRESULT WINAPI IDvdInfo_GetCurrentVideoAttributes_Proxy(IDvdInfo *This,DVD_VideoATR *pATR);
   14500   void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14501   HRESULT WINAPI IDvdInfo_GetCurrentAudioAttributes_Proxy(IDvdInfo *This,DVD_AudioATR *pATR);
   14502   void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14503   HRESULT WINAPI IDvdInfo_GetCurrentSubpictureAttributes_Proxy(IDvdInfo *This,DVD_SubpictureATR *pATR);
   14504   void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14505   HRESULT WINAPI IDvdInfo_GetCurrentVolumeInfo_Proxy(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   14506   void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14507   HRESULT WINAPI IDvdInfo_GetDVDTextInfo_Proxy(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
   14508   void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14509   HRESULT WINAPI IDvdInfo_GetPlayerParentalLevel_Proxy(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
   14510   void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14511   HRESULT WINAPI IDvdInfo_GetNumberOfChapters_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
   14512   void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14513   HRESULT WINAPI IDvdInfo_GetTitleParentalLevels_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
   14514   void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14515   HRESULT WINAPI IDvdInfo_GetRoot_Proxy(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
   14516   void __RPC_STUB IDvdInfo_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14517 #endif
   14518 
   14519 #ifndef __IDvdCmd_INTERFACE_DEFINED__
   14520 #define __IDvdCmd_INTERFACE_DEFINED__
   14521   EXTERN_C const IID IID_IDvdCmd;
   14522 #if defined(__cplusplus) && !defined(CINTERFACE)
   14523   struct IDvdCmd : public IUnknown {
   14524   public:
   14525     virtual HRESULT WINAPI WaitForStart(void) = 0;
   14526     virtual HRESULT WINAPI WaitForEnd(void) = 0;
   14527   };
   14528 #else
   14529   typedef struct IDvdCmdVtbl {
   14530     BEGIN_INTERFACE
   14531       HRESULT (WINAPI *QueryInterface)(IDvdCmd *This,REFIID riid,void **ppvObject);
   14532       ULONG (WINAPI *AddRef)(IDvdCmd *This);
   14533       ULONG (WINAPI *Release)(IDvdCmd *This);
   14534       HRESULT (WINAPI *WaitForStart)(IDvdCmd *This);
   14535       HRESULT (WINAPI *WaitForEnd)(IDvdCmd *This);
   14536     END_INTERFACE
   14537   } IDvdCmdVtbl;
   14538   struct IDvdCmd {
   14539     CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
   14540   };
   14541 #ifdef COBJMACROS
   14542 #define IDvdCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14543 #define IDvdCmd_AddRef(This) (This)->lpVtbl->AddRef(This)
   14544 #define IDvdCmd_Release(This) (This)->lpVtbl->Release(This)
   14545 #define IDvdCmd_WaitForStart(This) (This)->lpVtbl->WaitForStart(This)
   14546 #define IDvdCmd_WaitForEnd(This) (This)->lpVtbl->WaitForEnd(This)
   14547 #endif
   14548 #endif
   14549   HRESULT WINAPI IDvdCmd_WaitForStart_Proxy(IDvdCmd *This);
   14550   void __RPC_STUB IDvdCmd_WaitForStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14551   HRESULT WINAPI IDvdCmd_WaitForEnd_Proxy(IDvdCmd *This);
   14552   void __RPC_STUB IDvdCmd_WaitForEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14553 #endif
   14554 
   14555 #ifndef __IDvdState_INTERFACE_DEFINED__
   14556 #define __IDvdState_INTERFACE_DEFINED__
   14557   EXTERN_C const IID IID_IDvdState;
   14558 #if defined(__cplusplus) && !defined(CINTERFACE)
   14559   struct IDvdState : public IUnknown {
   14560   public:
   14561     virtual HRESULT WINAPI GetDiscID(ULONGLONG *pullUniqueID) = 0;
   14562     virtual HRESULT WINAPI GetParentalLevel(ULONG *pulParentalLevel) = 0;
   14563   };
   14564 #else
   14565   typedef struct IDvdStateVtbl {
   14566     BEGIN_INTERFACE
   14567       HRESULT (WINAPI *QueryInterface)(IDvdState *This,REFIID riid,void **ppvObject);
   14568       ULONG (WINAPI *AddRef)(IDvdState *This);
   14569       ULONG (WINAPI *Release)(IDvdState *This);
   14570       HRESULT (WINAPI *GetDiscID)(IDvdState *This,ULONGLONG *pullUniqueID);
   14571       HRESULT (WINAPI *GetParentalLevel)(IDvdState *This,ULONG *pulParentalLevel);
   14572     END_INTERFACE
   14573   } IDvdStateVtbl;
   14574   struct IDvdState {
   14575     CONST_VTBL struct IDvdStateVtbl *lpVtbl;
   14576   };
   14577 #ifdef COBJMACROS
   14578 #define IDvdState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14579 #define IDvdState_AddRef(This) (This)->lpVtbl->AddRef(This)
   14580 #define IDvdState_Release(This) (This)->lpVtbl->Release(This)
   14581 #define IDvdState_GetDiscID(This,pullUniqueID) (This)->lpVtbl->GetDiscID(This,pullUniqueID)
   14582 #define IDvdState_GetParentalLevel(This,pulParentalLevel) (This)->lpVtbl->GetParentalLevel(This,pulParentalLevel)
   14583 #endif
   14584 #endif
   14585   HRESULT WINAPI IDvdState_GetDiscID_Proxy(IDvdState *This,ULONGLONG *pullUniqueID);
   14586   void __RPC_STUB IDvdState_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14587   HRESULT WINAPI IDvdState_GetParentalLevel_Proxy(IDvdState *This,ULONG *pulParentalLevel);
   14588   void __RPC_STUB IDvdState_GetParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14589 #endif
   14590 
   14591 #ifndef __IDvdControl2_INTERFACE_DEFINED__
   14592 #define __IDvdControl2_INTERFACE_DEFINED__
   14593   EXTERN_C const IID IID_IDvdControl2;
   14594 #if defined(__cplusplus) && !defined(CINTERFACE)
   14595   struct IDvdControl2 : public IUnknown {
   14596   public:
   14597     virtual HRESULT WINAPI PlayTitle(ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14598     virtual HRESULT WINAPI PlayChapterInTitle(ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14599     virtual HRESULT WINAPI PlayAtTimeInTitle(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14600     virtual HRESULT WINAPI Stop(void) = 0;
   14601     virtual HRESULT WINAPI ReturnFromSubmenu(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14602     virtual HRESULT WINAPI PlayAtTime(DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14603     virtual HRESULT WINAPI PlayChapter(ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14604     virtual HRESULT WINAPI PlayPrevChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14605     virtual HRESULT WINAPI ReplayChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14606     virtual HRESULT WINAPI PlayNextChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14607     virtual HRESULT WINAPI PlayForwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14608     virtual HRESULT WINAPI PlayBackwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14609     virtual HRESULT WINAPI ShowMenu(DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14610     virtual HRESULT WINAPI Resume(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14611     virtual HRESULT WINAPI SelectRelativeButton(DVD_RELATIVE_BUTTON buttonDir) = 0;
   14612     virtual HRESULT WINAPI ActivateButton(void) = 0;
   14613     virtual HRESULT WINAPI SelectButton(ULONG ulButton) = 0;
   14614     virtual HRESULT WINAPI SelectAndActivateButton(ULONG ulButton) = 0;
   14615     virtual HRESULT WINAPI StillOff(void) = 0;
   14616     virtual HRESULT WINAPI Pause(WINBOOL bState) = 0;
   14617     virtual HRESULT WINAPI SelectAudioStream(ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14618     virtual HRESULT WINAPI SelectSubpictureStream(ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14619     virtual HRESULT WINAPI SetSubpictureState(WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14620     virtual HRESULT WINAPI SelectAngle(ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14621     virtual HRESULT WINAPI SelectParentalLevel(ULONG ulParentalLevel) = 0;
   14622     virtual HRESULT WINAPI SelectParentalCountry(BYTE bCountry[2]) = 0;
   14623     virtual HRESULT WINAPI SelectKaraokeAudioPresentationMode(ULONG ulMode) = 0;
   14624     virtual HRESULT WINAPI SelectVideoModePreference(ULONG ulPreferredDisplayMode) = 0;
   14625     virtual HRESULT WINAPI SetDVDDirectory(LPCWSTR pszwPath) = 0;
   14626     virtual HRESULT WINAPI ActivateAtPosition(POINT point) = 0;
   14627     virtual HRESULT WINAPI SelectAtPosition(POINT point) = 0;
   14628     virtual HRESULT WINAPI PlayChaptersAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14629     virtual HRESULT WINAPI AcceptParentalLevelChange(WINBOOL bAccept) = 0;
   14630     virtual HRESULT WINAPI SetOption(DVD_OPTION_FLAG flag,WINBOOL fState) = 0;
   14631     virtual HRESULT WINAPI SetState(IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14632     virtual HRESULT WINAPI PlayPeriodInTitleAutoStop(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14633     virtual HRESULT WINAPI SetGPRM(ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   14634     virtual HRESULT WINAPI SelectDefaultMenuLanguage(LCID Language) = 0;
   14635     virtual HRESULT WINAPI SelectDefaultAudioLanguage(LCID Language,DVD_AUDIO_LANG_EXT audioExtension) = 0;
   14636     virtual HRESULT WINAPI SelectDefaultSubpictureLanguage(LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
   14637   };
   14638 #else
   14639   typedef struct IDvdControl2Vtbl {
   14640     BEGIN_INTERFACE
   14641       HRESULT (WINAPI *QueryInterface)(IDvdControl2 *This,REFIID riid,void **ppvObject);
   14642       ULONG (WINAPI *AddRef)(IDvdControl2 *This);
   14643       ULONG (WINAPI *Release)(IDvdControl2 *This);
   14644       HRESULT (WINAPI *PlayTitle)(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
   14645       HRESULT (WINAPI *PlayChapterInTitle)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   14646       HRESULT (WINAPI *PlayAtTimeInTitle)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
   14647       HRESULT (WINAPI *Stop)(IDvdControl2 *This);
   14648       HRESULT (WINAPI *ReturnFromSubmenu)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14649       HRESULT (WINAPI *PlayAtTime)(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
   14650       HRESULT (WINAPI *PlayChapter)(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   14651       HRESULT (WINAPI *PlayPrevChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14652       HRESULT (WINAPI *ReplayChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14653       HRESULT (WINAPI *PlayNextChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14654       HRESULT (WINAPI *PlayForwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   14655       HRESULT (WINAPI *PlayBackwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   14656       HRESULT (WINAPI *ShowMenu)(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
   14657       HRESULT (WINAPI *Resume)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14658       HRESULT (WINAPI *SelectRelativeButton)(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
   14659       HRESULT (WINAPI *ActivateButton)(IDvdControl2 *This);
   14660       HRESULT (WINAPI *SelectButton)(IDvdControl2 *This,ULONG ulButton);
   14661       HRESULT (WINAPI *SelectAndActivateButton)(IDvdControl2 *This,ULONG ulButton);
   14662       HRESULT (WINAPI *StillOff)(IDvdControl2 *This);
   14663       HRESULT (WINAPI *Pause)(IDvdControl2 *This,WINBOOL bState);
   14664       HRESULT (WINAPI *SelectAudioStream)(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
   14665       HRESULT (WINAPI *SelectSubpictureStream)(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
   14666       HRESULT (WINAPI *SetSubpictureState)(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
   14667       HRESULT (WINAPI *SelectAngle)(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
   14668       HRESULT (WINAPI *SelectParentalLevel)(IDvdControl2 *This,ULONG ulParentalLevel);
   14669       HRESULT (WINAPI *SelectParentalCountry)(IDvdControl2 *This,BYTE bCountry[2]);
   14670       HRESULT (WINAPI *SelectKaraokeAudioPresentationMode)(IDvdControl2 *This,ULONG ulMode);
   14671       HRESULT (WINAPI *SelectVideoModePreference)(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
   14672       HRESULT (WINAPI *SetDVDDirectory)(IDvdControl2 *This,LPCWSTR pszwPath);
   14673       HRESULT (WINAPI *ActivateAtPosition)(IDvdControl2 *This,POINT point);
   14674       HRESULT (WINAPI *SelectAtPosition)(IDvdControl2 *This,POINT point);
   14675       HRESULT (WINAPI *PlayChaptersAutoStop)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
   14676       HRESULT (WINAPI *AcceptParentalLevelChange)(IDvdControl2 *This,WINBOOL bAccept);
   14677       HRESULT (WINAPI *SetOption)(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
   14678       HRESULT (WINAPI *SetState)(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
   14679       HRESULT (WINAPI *PlayPeriodInTitleAutoStop)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
   14680       HRESULT (WINAPI *SetGPRM)(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
   14681       HRESULT (WINAPI *SelectDefaultMenuLanguage)(IDvdControl2 *This,LCID Language);
   14682       HRESULT (WINAPI *SelectDefaultAudioLanguage)(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
   14683       HRESULT (WINAPI *SelectDefaultSubpictureLanguage)(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
   14684     END_INTERFACE
   14685   } IDvdControl2Vtbl;
   14686   struct IDvdControl2 {
   14687     CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
   14688   };
   14689 #ifdef COBJMACROS
   14690 #define IDvdControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14691 #define IDvdControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
   14692 #define IDvdControl2_Release(This) (This)->lpVtbl->Release(This)
   14693 #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) (This)->lpVtbl->PlayTitle(This,ulTitle,dwFlags,ppCmd)
   14694 #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
   14695 #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
   14696 #define IDvdControl2_Stop(This) (This)->lpVtbl->Stop(This)
   14697 #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) (This)->lpVtbl->ReturnFromSubmenu(This,dwFlags,ppCmd)
   14698 #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTime(This,pTime,dwFlags,ppCmd)
   14699 #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapter(This,ulChapter,dwFlags,ppCmd)
   14700 #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayPrevChapter(This,dwFlags,ppCmd)
   14701 #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) (This)->lpVtbl->ReplayChapter(This,dwFlags,ppCmd)
   14702 #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayNextChapter(This,dwFlags,ppCmd)
   14703 #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayForwards(This,dSpeed,dwFlags,ppCmd)
   14704 #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayBackwards(This,dSpeed,dwFlags,ppCmd)
   14705 #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) (This)->lpVtbl->ShowMenu(This,MenuID,dwFlags,ppCmd)
   14706 #define IDvdControl2_Resume(This,dwFlags,ppCmd) (This)->lpVtbl->Resume(This,dwFlags,ppCmd)
   14707 #define IDvdControl2_SelectRelativeButton(This,buttonDir) (This)->lpVtbl->SelectRelativeButton(This,buttonDir)
   14708 #define IDvdControl2_ActivateButton(This) (This)->lpVtbl->ActivateButton(This)
   14709 #define IDvdControl2_SelectButton(This,ulButton) (This)->lpVtbl->SelectButton(This,ulButton)
   14710 #define IDvdControl2_SelectAndActivateButton(This,ulButton) (This)->lpVtbl->SelectAndActivateButton(This,ulButton)
   14711 #define IDvdControl2_StillOff(This) (This)->lpVtbl->StillOff(This)
   14712 #define IDvdControl2_Pause(This,bState) (This)->lpVtbl->Pause(This,bState)
   14713 #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) (This)->lpVtbl->SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
   14714 #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) (This)->lpVtbl->SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
   14715 #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) (This)->lpVtbl->SetSubpictureState(This,bState,dwFlags,ppCmd)
   14716 #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) (This)->lpVtbl->SelectAngle(This,ulAngle,dwFlags,ppCmd)
   14717 #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) (This)->lpVtbl->SelectParentalLevel(This,ulParentalLevel)
   14718 #define IDvdControl2_SelectParentalCountry(This,bCountry) (This)->lpVtbl->SelectParentalCountry(This,bCountry)
   14719 #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) (This)->lpVtbl->SelectKaraokeAudioPresentationMode(This,ulMode)
   14720 #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) (This)->lpVtbl->SelectVideoModePreference(This,ulPreferredDisplayMode)
   14721 #define IDvdControl2_SetDVDDirectory(This,pszwPath) (This)->lpVtbl->SetDVDDirectory(This,pszwPath)
   14722 #define IDvdControl2_ActivateAtPosition(This,point) (This)->lpVtbl->ActivateAtPosition(This,point)
   14723 #define IDvdControl2_SelectAtPosition(This,point) (This)->lpVtbl->SelectAtPosition(This,point)
   14724 #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) (This)->lpVtbl->PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
   14725 #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) (This)->lpVtbl->AcceptParentalLevelChange(This,bAccept)
   14726 #define IDvdControl2_SetOption(This,flag,fState) (This)->lpVtbl->SetOption(This,flag,fState)
   14727 #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) (This)->lpVtbl->SetState(This,pState,dwFlags,ppCmd)
   14728 #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) (This)->lpVtbl->PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
   14729 #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) (This)->lpVtbl->SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
   14730 #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) (This)->lpVtbl->SelectDefaultMenuLanguage(This,Language)
   14731 #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) (This)->lpVtbl->SelectDefaultAudioLanguage(This,Language,audioExtension)
   14732 #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) (This)->lpVtbl->SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
   14733 #endif
   14734 #endif
   14735   HRESULT WINAPI IDvdControl2_PlayTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
   14736   void __RPC_STUB IDvdControl2_PlayTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14737   HRESULT WINAPI IDvdControl2_PlayChapterInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   14738   void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14739   HRESULT WINAPI IDvdControl2_PlayAtTimeInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
   14740   void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14741   HRESULT WINAPI IDvdControl2_Stop_Proxy(IDvdControl2 *This);
   14742   void __RPC_STUB IDvdControl2_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14743   HRESULT WINAPI IDvdControl2_ReturnFromSubmenu_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14744   void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14745   HRESULT WINAPI IDvdControl2_PlayAtTime_Proxy(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
   14746   void __RPC_STUB IDvdControl2_PlayAtTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14747   HRESULT WINAPI IDvdControl2_PlayChapter_Proxy(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   14748   void __RPC_STUB IDvdControl2_PlayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14749   HRESULT WINAPI IDvdControl2_PlayPrevChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14750   void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14751   HRESULT WINAPI IDvdControl2_ReplayChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14752   void __RPC_STUB IDvdControl2_ReplayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14753   HRESULT WINAPI IDvdControl2_PlayNextChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14754   void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14755   HRESULT WINAPI IDvdControl2_PlayForwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   14756   void __RPC_STUB IDvdControl2_PlayForwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14757   HRESULT WINAPI IDvdControl2_PlayBackwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   14758   void __RPC_STUB IDvdControl2_PlayBackwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14759   HRESULT WINAPI IDvdControl2_ShowMenu_Proxy(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
   14760   void __RPC_STUB IDvdControl2_ShowMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14761   HRESULT WINAPI IDvdControl2_Resume_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   14762   void __RPC_STUB IDvdControl2_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14763   HRESULT WINAPI IDvdControl2_SelectRelativeButton_Proxy(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
   14764   void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14765   HRESULT WINAPI IDvdControl2_ActivateButton_Proxy(IDvdControl2 *This);
   14766   void __RPC_STUB IDvdControl2_ActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14767   HRESULT WINAPI IDvdControl2_SelectButton_Proxy(IDvdControl2 *This,ULONG ulButton);
   14768   void __RPC_STUB IDvdControl2_SelectButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14769   HRESULT WINAPI IDvdControl2_SelectAndActivateButton_Proxy(IDvdControl2 *This,ULONG ulButton);
   14770   void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14771   HRESULT WINAPI IDvdControl2_StillOff_Proxy(IDvdControl2 *This);
   14772   void __RPC_STUB IDvdControl2_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14773   HRESULT WINAPI IDvdControl2_Pause_Proxy(IDvdControl2 *This,WINBOOL bState);
   14774   void __RPC_STUB IDvdControl2_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14775   HRESULT WINAPI IDvdControl2_SelectAudioStream_Proxy(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
   14776   void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14777   HRESULT WINAPI IDvdControl2_SelectSubpictureStream_Proxy(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
   14778   void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14779   HRESULT WINAPI IDvdControl2_SetSubpictureState_Proxy(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
   14780   void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14781   HRESULT WINAPI IDvdControl2_SelectAngle_Proxy(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
   14782   void __RPC_STUB IDvdControl2_SelectAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14783   HRESULT WINAPI IDvdControl2_SelectParentalLevel_Proxy(IDvdControl2 *This,ULONG ulParentalLevel);
   14784   void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14785   HRESULT WINAPI IDvdControl2_SelectParentalCountry_Proxy(IDvdControl2 *This,BYTE bCountry[2]);
   14786   void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14787   HRESULT WINAPI IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(IDvdControl2 *This,ULONG ulMode);
   14788   void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14789   HRESULT WINAPI IDvdControl2_SelectVideoModePreference_Proxy(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
   14790   void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14791   HRESULT WINAPI IDvdControl2_SetDVDDirectory_Proxy(IDvdControl2 *This,LPCWSTR pszwPath);
   14792   void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14793   HRESULT WINAPI IDvdControl2_ActivateAtPosition_Proxy(IDvdControl2 *This,POINT point);
   14794   void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14795   HRESULT WINAPI IDvdControl2_SelectAtPosition_Proxy(IDvdControl2 *This,POINT point);
   14796   void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14797   HRESULT WINAPI IDvdControl2_PlayChaptersAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
   14798   void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14799   HRESULT WINAPI IDvdControl2_AcceptParentalLevelChange_Proxy(IDvdControl2 *This,WINBOOL bAccept);
   14800   void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14801   HRESULT WINAPI IDvdControl2_SetOption_Proxy(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
   14802   void __RPC_STUB IDvdControl2_SetOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14803   HRESULT WINAPI IDvdControl2_SetState_Proxy(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
   14804   void __RPC_STUB IDvdControl2_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14805   HRESULT WINAPI IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
   14806   void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14807   HRESULT WINAPI IDvdControl2_SetGPRM_Proxy(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
   14808   void __RPC_STUB IDvdControl2_SetGPRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14809   HRESULT WINAPI IDvdControl2_SelectDefaultMenuLanguage_Proxy(IDvdControl2 *This,LCID Language);
   14810   void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14811   HRESULT WINAPI IDvdControl2_SelectDefaultAudioLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
   14812   void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14813   HRESULT WINAPI IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
   14814   void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14815 #endif
   14816 
   14817   enum DVD_TextStringType {
   14818     DVD_Struct_Volume = 0x1,DVD_Struct_Title = 0x2,DVD_Struct_ParentalID = 0x3,DVD_Struct_PartOfTitle = 0x4,DVD_Struct_Cell = 0x5,
   14819     DVD_Stream_Audio = 0x10,DVD_Stream_Subpicture = 0x11,DVD_Stream_Angle = 0x12,DVD_Channel_Audio = 0x20,DVD_General_Name = 0x30,
   14820     DVD_General_Comments = 0x31,DVD_Title_Series = 0x38,DVD_Title_Movie = 0x39,DVD_Title_Video = 0x3a,DVD_Title_Album = 0x3b,DVD_Title_Song = 0x3c,
   14821     DVD_Title_Other = 0x3f,DVD_Title_Sub_Series = 0x40,DVD_Title_Sub_Movie = 0x41,DVD_Title_Sub_Video = 0x42,DVD_Title_Sub_Album = 0x43,
   14822     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,
   14823     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
   14824   };
   14825 
   14826   enum DVD_TextCharSet {
   14827     DVD_CharSet_Unicode = 0,DVD_CharSet_ISO646 = 1,DVD_CharSet_JIS_Roman_Kanji = 2,DVD_CharSet_ISO8859_1 = 3,
   14828     DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
   14829   };
   14830 #define DVD_TITLE_MENU 0x000
   14831 #define DVD_STREAM_DATA_CURRENT 0x800
   14832 #define DVD_STREAM_DATA_VMGM 0x400
   14833 #define DVD_STREAM_DATA_VTSM 0x401
   14834 #define DVD_DEFAULT_AUDIO_STREAM 0x0f
   14835 
   14836   typedef struct tagDVD_DECODER_CAPS {
   14837     DWORD dwSize;
   14838     DWORD dwAudioCaps;
   14839     double dFwdMaxRateVideo;
   14840     double dFwdMaxRateAudio;
   14841     double dFwdMaxRateSP;
   14842     double dBwdMaxRateVideo;
   14843     double dBwdMaxRateAudio;
   14844     double dBwdMaxRateSP;
   14845     DWORD dwRes1;
   14846     DWORD dwRes2;
   14847     DWORD dwRes3;
   14848     DWORD dwRes4;
   14849   } DVD_DECODER_CAPS;
   14850 
   14851 #define DVD_AUDIO_CAPS_AC3 0x00000001
   14852 #define DVD_AUDIO_CAPS_MPEG2 0x00000002
   14853 #define DVD_AUDIO_CAPS_LPCM 0x00000004
   14854 #define DVD_AUDIO_CAPS_DTS 0x00000008
   14855 #define DVD_AUDIO_CAPS_SDDS 0x00000010
   14856 
   14857   extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
   14858   extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
   14859 #ifndef __IDvdInfo2_INTERFACE_DEFINED__
   14860 #define __IDvdInfo2_INTERFACE_DEFINED__
   14861   EXTERN_C const IID IID_IDvdInfo2;
   14862 #if defined(__cplusplus) && !defined(CINTERFACE)
   14863   struct IDvdInfo2 : public IUnknown {
   14864   public:
   14865     virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
   14866     virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
   14867     virtual HRESULT WINAPI GetTotalTitleTime(DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags) = 0;
   14868     virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
   14869     virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
   14870     virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
   14871     virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled) = 0;
   14872     virtual HRESULT WINAPI GetCurrentUOPS(ULONG *pulUOPs) = 0;
   14873     virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
   14874     virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
   14875     virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   14876     virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   14877     virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle) = 0;
   14878     virtual HRESULT WINAPI GetVMGAttributes(DVD_MenuAttributes *pATR) = 0;
   14879     virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoAttributes *pATR) = 0;
   14880     virtual HRESULT WINAPI GetAudioAttributes(ULONG ulStream,DVD_AudioAttributes *pATR) = 0;
   14881     virtual HRESULT WINAPI GetKaraokeAttributes(ULONG ulStream,DVD_KaraokeAttributes *pAttributes) = 0;
   14882     virtual HRESULT WINAPI GetSubpictureAttributes(ULONG ulStream,DVD_SubpictureAttributes *pATR) = 0;
   14883     virtual HRESULT WINAPI GetDVDVolumeInfo(ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
   14884     virtual HRESULT WINAPI GetDVDTextNumberOfLanguages(ULONG *pulNumOfLangs) = 0;
   14885     virtual HRESULT WINAPI GetDVDTextLanguageInfo(ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet) = 0;
   14886     virtual HRESULT WINAPI GetDVDTextStringAsNative(ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
   14887     virtual HRESULT WINAPI GetDVDTextStringAsUnicode(ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
   14888     virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,BYTE pbCountryCode[2]) = 0;
   14889     virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumOfChapters) = 0;
   14890     virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
   14891     virtual HRESULT WINAPI GetDVDDirectory(LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize) = 0;
   14892     virtual HRESULT WINAPI IsAudioStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
   14893     virtual HRESULT WINAPI GetDiscID(LPCWSTR pszwPath,ULONGLONG *pullDiscID) = 0;
   14894     virtual HRESULT WINAPI GetState(IDvdState **pStateData) = 0;
   14895     virtual HRESULT WINAPI GetMenuLanguages(LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages) = 0;
   14896     virtual HRESULT WINAPI GetButtonAtPosition(POINT point,ULONG *pulButtonIndex) = 0;
   14897     virtual HRESULT WINAPI GetCmdFromEvent(LONG_PTR lParam1,IDvdCmd **pCmdObj) = 0;
   14898     virtual HRESULT WINAPI GetDefaultMenuLanguage(LCID *pLanguage) = 0;
   14899     virtual HRESULT WINAPI GetDefaultAudioLanguage(LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
   14900     virtual HRESULT WINAPI GetDefaultSubpictureLanguage(LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
   14901     virtual HRESULT WINAPI GetDecoderCaps(DVD_DECODER_CAPS *pCaps) = 0;
   14902     virtual HRESULT WINAPI GetButtonRect(ULONG ulButton,RECT *pRect) = 0;
   14903     virtual HRESULT WINAPI IsSubpictureStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
   14904   };
   14905 #else
   14906   typedef struct IDvdInfo2Vtbl {
   14907     BEGIN_INTERFACE
   14908       HRESULT (WINAPI *QueryInterface)(IDvdInfo2 *This,REFIID riid,void **ppvObject);
   14909       ULONG (WINAPI *AddRef)(IDvdInfo2 *This);
   14910       ULONG (WINAPI *Release)(IDvdInfo2 *This);
   14911       HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
   14912       HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
   14913       HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
   14914       HRESULT (WINAPI *GetCurrentButton)(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   14915       HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   14916       HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   14917       HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
   14918       HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo2 *This,ULONG *pulUOPs);
   14919       HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
   14920       HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
   14921       HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   14922       HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   14923       HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
   14924       HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
   14925       HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
   14926       HRESULT (WINAPI *GetAudioAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
   14927       HRESULT (WINAPI *GetKaraokeAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
   14928       HRESULT (WINAPI *GetSubpictureAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
   14929       HRESULT (WINAPI *GetDVDVolumeInfo)(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   14930       HRESULT (WINAPI *GetDVDTextNumberOfLanguages)(IDvdInfo2 *This,ULONG *pulNumOfLangs);
   14931       HRESULT (WINAPI *GetDVDTextLanguageInfo)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
   14932       HRESULT (WINAPI *GetDVDTextStringAsNative)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   14933       HRESULT (WINAPI *GetDVDTextStringAsUnicode)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   14934       HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
   14935       HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
   14936       HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
   14937       HRESULT (WINAPI *GetDVDDirectory)(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
   14938       HRESULT (WINAPI *IsAudioStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   14939       HRESULT (WINAPI *GetDiscID)(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
   14940       HRESULT (WINAPI *GetState)(IDvdInfo2 *This,IDvdState **pStateData);
   14941       HRESULT (WINAPI *GetMenuLanguages)(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
   14942       HRESULT (WINAPI *GetButtonAtPosition)(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
   14943       HRESULT (WINAPI *GetCmdFromEvent)(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
   14944       HRESULT (WINAPI *GetDefaultMenuLanguage)(IDvdInfo2 *This,LCID *pLanguage);
   14945       HRESULT (WINAPI *GetDefaultAudioLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
   14946       HRESULT (WINAPI *GetDefaultSubpictureLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
   14947       HRESULT (WINAPI *GetDecoderCaps)(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
   14948       HRESULT (WINAPI *GetButtonRect)(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
   14949       HRESULT (WINAPI *IsSubpictureStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   14950     END_INTERFACE
   14951   } IDvdInfo2Vtbl;
   14952   struct IDvdInfo2 {
   14953     CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
   14954   };
   14955 #ifdef COBJMACROS
   14956 #define IDvdInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14957 #define IDvdInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
   14958 #define IDvdInfo2_Release(This) (This)->lpVtbl->Release(This)
   14959 #define IDvdInfo2_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
   14960 #define IDvdInfo2_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
   14961 #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) (This)->lpVtbl->GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
   14962 #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
   14963 #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
   14964 #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
   14965 #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
   14966 #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) (This)->lpVtbl->GetCurrentUOPS(This,pulUOPs)
   14967 #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
   14968 #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
   14969 #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
   14970 #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
   14971 #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pMenu,pTitle)
   14972 #define IDvdInfo2_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
   14973 #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
   14974 #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) (This)->lpVtbl->GetAudioAttributes(This,ulStream,pATR)
   14975 #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) (This)->lpVtbl->GetKaraokeAttributes(This,ulStream,pAttributes)
   14976 #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) (This)->lpVtbl->GetSubpictureAttributes(This,ulStream,pATR)
   14977 #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) (This)->lpVtbl->GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
   14978 #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) (This)->lpVtbl->GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
   14979 #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) (This)->lpVtbl->GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
   14980 #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
   14981 #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
   14982 #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
   14983 #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
   14984 #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
   14985 #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) (This)->lpVtbl->GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
   14986 #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
   14987 #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) (This)->lpVtbl->GetDiscID(This,pszwPath,pullDiscID)
   14988 #define IDvdInfo2_GetState(This,pStateData) (This)->lpVtbl->GetState(This,pStateData)
   14989 #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) (This)->lpVtbl->GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
   14990 #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) (This)->lpVtbl->GetButtonAtPosition(This,point,pulButtonIndex)
   14991 #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) (This)->lpVtbl->GetCmdFromEvent(This,lParam1,pCmdObj)
   14992 #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) (This)->lpVtbl->GetDefaultMenuLanguage(This,pLanguage)
   14993 #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) (This)->lpVtbl->GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
   14994 #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) (This)->lpVtbl->GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
   14995 #define IDvdInfo2_GetDecoderCaps(This,pCaps) (This)->lpVtbl->GetDecoderCaps(This,pCaps)
   14996 #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) (This)->lpVtbl->GetButtonRect(This,ulButton,pRect)
   14997 #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
   14998 #endif
   14999 #endif
   15000   HRESULT WINAPI IDvdInfo2_GetCurrentDomain_Proxy(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
   15001   void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15002   HRESULT WINAPI IDvdInfo2_GetCurrentLocation_Proxy(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
   15003   void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15004   HRESULT WINAPI IDvdInfo2_GetTotalTitleTime_Proxy(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
   15005   void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15006   HRESULT WINAPI IDvdInfo2_GetCurrentButton_Proxy(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   15007   void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15008   HRESULT WINAPI IDvdInfo2_GetCurrentAngle_Proxy(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   15009   void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15010   HRESULT WINAPI IDvdInfo2_GetCurrentAudio_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   15011   void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15012   HRESULT WINAPI IDvdInfo2_GetCurrentSubpicture_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
   15013   void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15014   HRESULT WINAPI IDvdInfo2_GetCurrentUOPS_Proxy(IDvdInfo2 *This,ULONG *pulUOPs);
   15015   void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15016   HRESULT WINAPI IDvdInfo2_GetAllSPRMs_Proxy(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
   15017   void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15018   HRESULT WINAPI IDvdInfo2_GetAllGPRMs_Proxy(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
   15019   void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15020   HRESULT WINAPI IDvdInfo2_GetAudioLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   15021   void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15022   HRESULT WINAPI IDvdInfo2_GetSubpictureLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   15023   void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15024   HRESULT WINAPI IDvdInfo2_GetTitleAttributes_Proxy(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
   15025   void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15026   HRESULT WINAPI IDvdInfo2_GetVMGAttributes_Proxy(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
   15027   void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15028   HRESULT WINAPI IDvdInfo2_GetCurrentVideoAttributes_Proxy(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
   15029   void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15030   HRESULT WINAPI IDvdInfo2_GetAudioAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
   15031   void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15032   HRESULT WINAPI IDvdInfo2_GetKaraokeAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
   15033   void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15034   HRESULT WINAPI IDvdInfo2_GetSubpictureAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
   15035   void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15036   HRESULT WINAPI IDvdInfo2_GetDVDVolumeInfo_Proxy(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   15037   void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15038   HRESULT WINAPI IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(IDvdInfo2 *This,ULONG *pulNumOfLangs);
   15039   void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15040   HRESULT WINAPI IDvdInfo2_GetDVDTextLanguageInfo_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
   15041   void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15042   HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsNative_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   15043   void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15044   HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   15045   void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15046   HRESULT WINAPI IDvdInfo2_GetPlayerParentalLevel_Proxy(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
   15047   void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15048   HRESULT WINAPI IDvdInfo2_GetNumberOfChapters_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
   15049   void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15050   HRESULT WINAPI IDvdInfo2_GetTitleParentalLevels_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
   15051   void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15052   HRESULT WINAPI IDvdInfo2_GetDVDDirectory_Proxy(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
   15053   void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15054   HRESULT WINAPI IDvdInfo2_IsAudioStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   15055   void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15056   HRESULT WINAPI IDvdInfo2_GetDiscID_Proxy(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
   15057   void __RPC_STUB IDvdInfo2_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15058   HRESULT WINAPI IDvdInfo2_GetState_Proxy(IDvdInfo2 *This,IDvdState **pStateData);
   15059   void __RPC_STUB IDvdInfo2_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15060   HRESULT WINAPI IDvdInfo2_GetMenuLanguages_Proxy(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
   15061   void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15062   HRESULT WINAPI IDvdInfo2_GetButtonAtPosition_Proxy(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
   15063   void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15064   HRESULT WINAPI IDvdInfo2_GetCmdFromEvent_Proxy(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
   15065   void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15066   HRESULT WINAPI IDvdInfo2_GetDefaultMenuLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage);
   15067   void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15068   HRESULT WINAPI IDvdInfo2_GetDefaultAudioLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
   15069   void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15070   HRESULT WINAPI IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
   15071   void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15072   HRESULT WINAPI IDvdInfo2_GetDecoderCaps_Proxy(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
   15073   void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15074   HRESULT WINAPI IDvdInfo2_GetButtonRect_Proxy(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
   15075   void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15076   HRESULT WINAPI IDvdInfo2_IsSubpictureStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   15077   void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15078 #endif
   15079 
   15080   typedef enum _AM_DVD_GRAPH_FLAGS {
   15081     AM_DVD_HWDEC_PREFER = 0x1,AM_DVD_HWDEC_ONLY = 0x2,AM_DVD_SWDEC_PREFER = 0x4,AM_DVD_SWDEC_ONLY = 0x8,AM_DVD_NOVPE = 0x100,
   15082     AM_DVD_VMR9_ONLY = 0x800
   15083   } AM_DVD_GRAPH_FLAGS;
   15084 
   15085   typedef enum _AM_DVD_STREAM_FLAGS {
   15086     AM_DVD_STREAM_VIDEO = 0x1,AM_DVD_STREAM_AUDIO = 0x2,AM_DVD_STREAM_SUBPIC = 0x4
   15087   } AM_DVD_STREAM_FLAGS;
   15088 
   15089   typedef struct __MIDL___MIDL_itf_strmif_0389_0001 {
   15090     HRESULT hrVPEStatus;
   15091     WINBOOL bDvdVolInvalid;
   15092     WINBOOL bDvdVolUnknown;
   15093     WINBOOL bNoLine21In;
   15094     WINBOOL bNoLine21Out;
   15095     int iNumStreams;
   15096     int iNumStreamsFailed;
   15097     DWORD dwFailedStreamsFlag;
   15098   } AM_DVD_RENDERSTATUS;
   15099 
   15100   extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec;
   15101   extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec;
   15102 #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
   15103 #define __IDvdGraphBuilder_INTERFACE_DEFINED__
   15104   EXTERN_C const IID IID_IDvdGraphBuilder;
   15105 #if defined(__cplusplus) && !defined(CINTERFACE)
   15106   struct IDvdGraphBuilder : public IUnknown {
   15107   public:
   15108     virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppGB) = 0;
   15109     virtual HRESULT WINAPI GetDvdInterface(REFIID riid,void **ppvIF) = 0;
   15110     virtual HRESULT WINAPI RenderDvdVideoVolume(LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus) = 0;
   15111   };
   15112 #else
   15113   typedef struct IDvdGraphBuilderVtbl {
   15114     BEGIN_INTERFACE
   15115       HRESULT (WINAPI *QueryInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvObject);
   15116       ULONG (WINAPI *AddRef)(IDvdGraphBuilder *This);
   15117       ULONG (WINAPI *Release)(IDvdGraphBuilder *This);
   15118       HRESULT (WINAPI *GetFiltergraph)(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
   15119       HRESULT (WINAPI *GetDvdInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
   15120       HRESULT (WINAPI *RenderDvdVideoVolume)(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
   15121     END_INTERFACE
   15122   } IDvdGraphBuilderVtbl;
   15123   struct IDvdGraphBuilder {
   15124     CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
   15125   };
   15126 #ifdef COBJMACROS
   15127 #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15128 #define IDvdGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   15129 #define IDvdGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   15130 #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) (This)->lpVtbl->GetFiltergraph(This,ppGB)
   15131 #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) (This)->lpVtbl->GetDvdInterface(This,riid,ppvIF)
   15132 #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) (This)->lpVtbl->RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
   15133 #endif
   15134 #endif
   15135   HRESULT WINAPI IDvdGraphBuilder_GetFiltergraph_Proxy(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
   15136   void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15137   HRESULT WINAPI IDvdGraphBuilder_GetDvdInterface_Proxy(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
   15138   void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15139   HRESULT WINAPI IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
   15140   void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15141 #endif
   15142 
   15143 #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
   15144 #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
   15145   EXTERN_C const IID IID_IDDrawExclModeVideo;
   15146 #if defined(__cplusplus) && !defined(CINTERFACE)
   15147   struct IDDrawExclModeVideo : public IUnknown {
   15148   public:
   15149     virtual HRESULT WINAPI SetDDrawObject(IDirectDraw *pDDrawObject) = 0;
   15150     virtual HRESULT WINAPI GetDDrawObject(IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal) = 0;
   15151     virtual HRESULT WINAPI SetDDrawSurface(IDirectDrawSurface *pDDrawSurface) = 0;
   15152     virtual HRESULT WINAPI GetDDrawSurface(IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal) = 0;
   15153     virtual HRESULT WINAPI SetDrawParameters(const RECT *prcSource,const RECT *prcTarget) = 0;
   15154     virtual HRESULT WINAPI GetNativeVideoProps(DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY) = 0;
   15155     virtual HRESULT WINAPI SetCallbackInterface(IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags) = 0;
   15156   };
   15157 #else
   15158   typedef struct IDDrawExclModeVideoVtbl {
   15159     BEGIN_INTERFACE
   15160       HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideo *This,REFIID riid,void **ppvObject);
   15161       ULONG (WINAPI *AddRef)(IDDrawExclModeVideo *This);
   15162       ULONG (WINAPI *Release)(IDDrawExclModeVideo *This);
   15163       HRESULT (WINAPI *SetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
   15164       HRESULT (WINAPI *GetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
   15165       HRESULT (WINAPI *SetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
   15166       HRESULT (WINAPI *GetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
   15167       HRESULT (WINAPI *SetDrawParameters)(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
   15168       HRESULT (WINAPI *GetNativeVideoProps)(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
   15169       HRESULT (WINAPI *SetCallbackInterface)(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
   15170     END_INTERFACE
   15171   } IDDrawExclModeVideoVtbl;
   15172   struct IDDrawExclModeVideo {
   15173     CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
   15174   };
   15175 #ifdef COBJMACROS
   15176 #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15177 #define IDDrawExclModeVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
   15178 #define IDDrawExclModeVideo_Release(This) (This)->lpVtbl->Release(This)
   15179 #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) (This)->lpVtbl->SetDDrawObject(This,pDDrawObject)
   15180 #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) (This)->lpVtbl->GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
   15181 #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) (This)->lpVtbl->SetDDrawSurface(This,pDDrawSurface)
   15182 #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) (This)->lpVtbl->GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
   15183 #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) (This)->lpVtbl->SetDrawParameters(This,prcSource,prcTarget)
   15184 #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) (This)->lpVtbl->GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
   15185 #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) (This)->lpVtbl->SetCallbackInterface(This,pCallback,dwFlags)
   15186 #endif
   15187 #endif
   15188   HRESULT WINAPI IDDrawExclModeVideo_SetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
   15189   void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15190   HRESULT WINAPI IDDrawExclModeVideo_GetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
   15191   void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15192   HRESULT WINAPI IDDrawExclModeVideo_SetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
   15193   void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15194   HRESULT WINAPI IDDrawExclModeVideo_GetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
   15195   void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15196   HRESULT WINAPI IDDrawExclModeVideo_SetDrawParameters_Proxy(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
   15197   void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15198   HRESULT WINAPI IDDrawExclModeVideo_GetNativeVideoProps_Proxy(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
   15199   void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15200   HRESULT WINAPI IDDrawExclModeVideo_SetCallbackInterface_Proxy(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
   15201   void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15202 #endif
   15203 
   15204   enum _AM_OVERLAY_NOTIFY_FLAGS {
   15205     AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4
   15206   };
   15207 
   15208   extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
   15209   extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
   15210 #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
   15211 #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
   15212   EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
   15213 #if defined(__cplusplus) && !defined(CINTERFACE)
   15214   struct IDDrawExclModeVideoCallback : public IUnknown {
   15215   public:
   15216     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;
   15217     virtual HRESULT WINAPI OnUpdateColorKey(const COLORKEY *pKey,DWORD dwColor) = 0;
   15218     virtual HRESULT WINAPI OnUpdateSize(DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight) = 0;
   15219   };
   15220 #else
   15221   typedef struct IDDrawExclModeVideoCallbackVtbl {
   15222     BEGIN_INTERFACE
   15223       HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideoCallback *This,REFIID riid,void **ppvObject);
   15224       ULONG (WINAPI *AddRef)(IDDrawExclModeVideoCallback *This);
   15225       ULONG (WINAPI *Release)(IDDrawExclModeVideoCallback *This);
   15226       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);
   15227       HRESULT (WINAPI *OnUpdateColorKey)(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
   15228       HRESULT (WINAPI *OnUpdateSize)(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
   15229     END_INTERFACE
   15230   } IDDrawExclModeVideoCallbackVtbl;
   15231   struct IDDrawExclModeVideoCallback {
   15232     CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
   15233   };
   15234 #ifdef COBJMACROS
   15235 #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15236 #define IDDrawExclModeVideoCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   15237 #define IDDrawExclModeVideoCallback_Release(This) (This)->lpVtbl->Release(This)
   15238 #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) (This)->lpVtbl->OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
   15239 #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) (This)->lpVtbl->OnUpdateColorKey(This,pKey,dwColor)
   15240 #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) (This)->lpVtbl->OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
   15241 #endif
   15242 #endif
   15243   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);
   15244   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15245   HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
   15246   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15247   HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
   15248   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15249 #endif
   15250 
   15251   extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_c_ifspec;
   15252   extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_s_ifspec;
   15253 #ifndef __IPinConnection_INTERFACE_DEFINED__
   15254 #define __IPinConnection_INTERFACE_DEFINED__
   15255   EXTERN_C const IID IID_IPinConnection;
   15256 #if defined(__cplusplus) && !defined(CINTERFACE)
   15257   struct IPinConnection : public IUnknown {
   15258   public:
   15259     virtual HRESULT WINAPI DynamicQueryAccept(const AM_MEDIA_TYPE *pmt) = 0;
   15260     virtual HRESULT WINAPI NotifyEndOfStream(HANDLE hNotifyEvent) = 0;
   15261     virtual HRESULT WINAPI IsEndPin(void) = 0;
   15262     virtual HRESULT WINAPI DynamicDisconnect(void) = 0;
   15263   };
   15264 #else
   15265   typedef struct IPinConnectionVtbl {
   15266     BEGIN_INTERFACE
   15267       HRESULT (WINAPI *QueryInterface)(IPinConnection *This,REFIID riid,void **ppvObject);
   15268       ULONG (WINAPI *AddRef)(IPinConnection *This);
   15269       ULONG (WINAPI *Release)(IPinConnection *This);
   15270       HRESULT (WINAPI *DynamicQueryAccept)(IPinConnection *This,const AM_MEDIA_TYPE *pmt);
   15271       HRESULT (WINAPI *NotifyEndOfStream)(IPinConnection *This,HANDLE hNotifyEvent);
   15272       HRESULT (WINAPI *IsEndPin)(IPinConnection *This);
   15273       HRESULT (WINAPI *DynamicDisconnect)(IPinConnection *This);
   15274     END_INTERFACE
   15275   } IPinConnectionVtbl;
   15276   struct IPinConnection {
   15277     CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
   15278   };
   15279 #ifdef COBJMACROS
   15280 #define IPinConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15281 #define IPinConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
   15282 #define IPinConnection_Release(This) (This)->lpVtbl->Release(This)
   15283 #define IPinConnection_DynamicQueryAccept(This,pmt) (This)->lpVtbl->DynamicQueryAccept(This,pmt)
   15284 #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) (This)->lpVtbl->NotifyEndOfStream(This,hNotifyEvent)
   15285 #define IPinConnection_IsEndPin(This) (This)->lpVtbl->IsEndPin(This)
   15286 #define IPinConnection_DynamicDisconnect(This) (This)->lpVtbl->DynamicDisconnect(This)
   15287 #endif
   15288 #endif
   15289   HRESULT WINAPI IPinConnection_DynamicQueryAccept_Proxy(IPinConnection *This,const AM_MEDIA_TYPE *pmt);
   15290   void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15291   HRESULT WINAPI IPinConnection_NotifyEndOfStream_Proxy(IPinConnection *This,HANDLE hNotifyEvent);
   15292   void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15293   HRESULT WINAPI IPinConnection_IsEndPin_Proxy(IPinConnection *This);
   15294   void __RPC_STUB IPinConnection_IsEndPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15295   HRESULT WINAPI IPinConnection_DynamicDisconnect_Proxy(IPinConnection *This);
   15296   void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15297 #endif
   15298 
   15299 #ifndef __IPinFlowControl_INTERFACE_DEFINED__
   15300 #define __IPinFlowControl_INTERFACE_DEFINED__
   15301   EXTERN_C const IID IID_IPinFlowControl;
   15302 #if defined(__cplusplus) && !defined(CINTERFACE)
   15303   struct IPinFlowControl : public IUnknown {
   15304   public:
   15305     virtual HRESULT WINAPI Block(DWORD dwBlockFlags,HANDLE hEvent) = 0;
   15306   };
   15307 #else
   15308   typedef struct IPinFlowControlVtbl {
   15309     BEGIN_INTERFACE
   15310       HRESULT (WINAPI *QueryInterface)(IPinFlowControl *This,REFIID riid,void **ppvObject);
   15311       ULONG (WINAPI *AddRef)(IPinFlowControl *This);
   15312       ULONG (WINAPI *Release)(IPinFlowControl *This);
   15313       HRESULT (WINAPI *Block)(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent);
   15314     END_INTERFACE
   15315   } IPinFlowControlVtbl;
   15316   struct IPinFlowControl {
   15317     CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
   15318   };
   15319 #ifdef COBJMACROS
   15320 #define IPinFlowControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15321 #define IPinFlowControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   15322 #define IPinFlowControl_Release(This) (This)->lpVtbl->Release(This)
   15323 #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) (This)->lpVtbl->Block(This,dwBlockFlags,hEvent)
   15324 #endif
   15325 #endif
   15326   HRESULT WINAPI IPinFlowControl_Block_Proxy(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent);
   15327   void __RPC_STUB IPinFlowControl_Block_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15328 #endif
   15329 
   15330   enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
   15331     AM_PIN_FLOW_CONTROL_BLOCK = 0x1
   15332   };
   15333   typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
   15334     AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2,
   15335     AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4
   15336   } AM_GRAPH_CONFIG_RECONNECT_FLAGS;
   15337 
   15338   enum _REM_FILTER_FLAGS {
   15339     REMFILTERF_LEAVECONNECTED = 0x1
   15340   };
   15341 
   15342   typedef enum _AM_FILTER_FLAGS {
   15343     AM_FILTER_FLAGS_REMOVABLE = 0x1
   15344   } AM_FILTER_FLAGS;
   15345 
   15346   extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec;
   15347   extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec;
   15348 #ifndef __IGraphConfig_INTERFACE_DEFINED__
   15349 #define __IGraphConfig_INTERFACE_DEFINED__
   15350   EXTERN_C const IID IID_IGraphConfig;
   15351 #if defined(__cplusplus) && !defined(CINTERFACE)
   15352   struct IGraphConfig : public IUnknown {
   15353   public:
   15354     virtual HRESULT WINAPI Reconnect(IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags) = 0;
   15355     virtual HRESULT WINAPI Reconfigure(IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent) = 0;
   15356     virtual HRESULT WINAPI AddFilterToCache(IBaseFilter *pFilter) = 0;
   15357     virtual HRESULT WINAPI EnumCacheFilter(IEnumFilters **pEnum) = 0;
   15358     virtual HRESULT WINAPI RemoveFilterFromCache(IBaseFilter *pFilter) = 0;
   15359     virtual HRESULT WINAPI GetStartTime(REFERENCE_TIME *prtStart) = 0;
   15360     virtual HRESULT WINAPI PushThroughData(IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort) = 0;
   15361     virtual HRESULT WINAPI SetFilterFlags(IBaseFilter *pFilter,DWORD dwFlags) = 0;
   15362     virtual HRESULT WINAPI GetFilterFlags(IBaseFilter *pFilter,DWORD *pdwFlags) = 0;
   15363     virtual HRESULT WINAPI RemoveFilterEx(IBaseFilter *pFilter,DWORD Flags) = 0;
   15364   };
   15365 #else
   15366   typedef struct IGraphConfigVtbl {
   15367     BEGIN_INTERFACE
   15368       HRESULT (WINAPI *QueryInterface)(IGraphConfig *This,REFIID riid,void **ppvObject);
   15369       ULONG (WINAPI *AddRef)(IGraphConfig *This);
   15370       ULONG (WINAPI *Release)(IGraphConfig *This);
   15371       HRESULT (WINAPI *Reconnect)(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags);
   15372       HRESULT (WINAPI *Reconfigure)(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent);
   15373       HRESULT (WINAPI *AddFilterToCache)(IGraphConfig *This,IBaseFilter *pFilter);
   15374       HRESULT (WINAPI *EnumCacheFilter)(IGraphConfig *This,IEnumFilters **pEnum);
   15375       HRESULT (WINAPI *RemoveFilterFromCache)(IGraphConfig *This,IBaseFilter *pFilter);
   15376       HRESULT (WINAPI *GetStartTime)(IGraphConfig *This,REFERENCE_TIME *prtStart);
   15377       HRESULT (WINAPI *PushThroughData)(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort);
   15378       HRESULT (WINAPI *SetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags);
   15379       HRESULT (WINAPI *GetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags);
   15380       HRESULT (WINAPI *RemoveFilterEx)(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags);
   15381     END_INTERFACE
   15382   } IGraphConfigVtbl;
   15383   struct IGraphConfig {
   15384     CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
   15385   };
   15386 #ifdef COBJMACROS
   15387 #define IGraphConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15388 #define IGraphConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   15389 #define IGraphConfig_Release(This) (This)->lpVtbl->Release(This)
   15390 #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) (This)->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
   15391 #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) (This)->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
   15392 #define IGraphConfig_AddFilterToCache(This,pFilter) (This)->lpVtbl->AddFilterToCache(This,pFilter)
   15393 #define IGraphConfig_EnumCacheFilter(This,pEnum) (This)->lpVtbl->EnumCacheFilter(This,pEnum)
   15394 #define IGraphConfig_RemoveFilterFromCache(This,pFilter) (This)->lpVtbl->RemoveFilterFromCache(This,pFilter)
   15395 #define IGraphConfig_GetStartTime(This,prtStart) (This)->lpVtbl->GetStartTime(This,prtStart)
   15396 #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) (This)->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort)
   15397 #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) (This)->lpVtbl->SetFilterFlags(This,pFilter,dwFlags)
   15398 #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) (This)->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags)
   15399 #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) (This)->lpVtbl->RemoveFilterEx(This,pFilter,Flags)
   15400 #endif
   15401 #endif
   15402   HRESULT WINAPI IGraphConfig_Reconnect_Proxy(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags);
   15403   void __RPC_STUB IGraphConfig_Reconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15404   HRESULT WINAPI IGraphConfig_Reconfigure_Proxy(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent);
   15405   void __RPC_STUB IGraphConfig_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15406   HRESULT WINAPI IGraphConfig_AddFilterToCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter);
   15407   void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15408   HRESULT WINAPI IGraphConfig_EnumCacheFilter_Proxy(IGraphConfig *This,IEnumFilters **pEnum);
   15409   void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15410   HRESULT WINAPI IGraphConfig_RemoveFilterFromCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter);
   15411   void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15412   HRESULT WINAPI IGraphConfig_GetStartTime_Proxy(IGraphConfig *This,REFERENCE_TIME *prtStart);
   15413   void __RPC_STUB IGraphConfig_GetStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15414   HRESULT WINAPI IGraphConfig_PushThroughData_Proxy(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort);
   15415   void __RPC_STUB IGraphConfig_PushThroughData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15416   HRESULT WINAPI IGraphConfig_SetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags);
   15417   void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15418   HRESULT WINAPI IGraphConfig_GetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags);
   15419   void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15420   HRESULT WINAPI IGraphConfig_RemoveFilterEx_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags);
   15421   void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15422 #endif
   15423 
   15424 #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
   15425 #define __IGraphConfigCallback_INTERFACE_DEFINED__
   15426   EXTERN_C const IID IID_IGraphConfigCallback;
   15427 #if defined(__cplusplus) && !defined(CINTERFACE)
   15428   struct IGraphConfigCallback : public IUnknown {
   15429   public:
   15430     virtual HRESULT WINAPI Reconfigure(PVOID pvContext,DWORD dwFlags) = 0;
   15431   };
   15432 #else
   15433   typedef struct IGraphConfigCallbackVtbl {
   15434     BEGIN_INTERFACE
   15435       HRESULT (WINAPI *QueryInterface)(IGraphConfigCallback *This,REFIID riid,void **ppvObject);
   15436       ULONG (WINAPI *AddRef)(IGraphConfigCallback *This);
   15437       ULONG (WINAPI *Release)(IGraphConfigCallback *This);
   15438       HRESULT (WINAPI *Reconfigure)(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags);
   15439     END_INTERFACE
   15440   } IGraphConfigCallbackVtbl;
   15441   struct IGraphConfigCallback {
   15442     CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
   15443   };
   15444 #ifdef COBJMACROS
   15445 #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15446 #define IGraphConfigCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   15447 #define IGraphConfigCallback_Release(This) (This)->lpVtbl->Release(This)
   15448 #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) (This)->lpVtbl->Reconfigure(This,pvContext,dwFlags)
   15449 #endif
   15450 #endif
   15451   HRESULT WINAPI IGraphConfigCallback_Reconfigure_Proxy(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags);
   15452   void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15453 #endif
   15454 
   15455 #ifndef __IFilterChain_INTERFACE_DEFINED__
   15456 #define __IFilterChain_INTERFACE_DEFINED__
   15457   EXTERN_C const IID IID_IFilterChain;
   15458 #if defined(__cplusplus) && !defined(CINTERFACE)
   15459   struct IFilterChain : public IUnknown {
   15460   public:
   15461     virtual HRESULT WINAPI StartChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   15462     virtual HRESULT WINAPI PauseChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   15463     virtual HRESULT WINAPI StopChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   15464     virtual HRESULT WINAPI RemoveChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   15465   };
   15466 #else
   15467   typedef struct IFilterChainVtbl {
   15468     BEGIN_INTERFACE
   15469       HRESULT (WINAPI *QueryInterface)(IFilterChain *This,REFIID riid,void **ppvObject);
   15470       ULONG (WINAPI *AddRef)(IFilterChain *This);
   15471       ULONG (WINAPI *Release)(IFilterChain *This);
   15472       HRESULT (WINAPI *StartChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   15473       HRESULT (WINAPI *PauseChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   15474       HRESULT (WINAPI *StopChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   15475       HRESULT (WINAPI *RemoveChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   15476     END_INTERFACE
   15477   } IFilterChainVtbl;
   15478   struct IFilterChain {
   15479     CONST_VTBL struct IFilterChainVtbl *lpVtbl;
   15480   };
   15481 #ifdef COBJMACROS
   15482 #define IFilterChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15483 #define IFilterChain_AddRef(This) (This)->lpVtbl->AddRef(This)
   15484 #define IFilterChain_Release(This) (This)->lpVtbl->Release(This)
   15485 #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StartChain(This,pStartFilter,pEndFilter)
   15486 #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->PauseChain(This,pStartFilter,pEndFilter)
   15487 #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StopChain(This,pStartFilter,pEndFilter)
   15488 #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter)
   15489 #endif
   15490 #endif
   15491   HRESULT WINAPI IFilterChain_StartChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   15492   void __RPC_STUB IFilterChain_StartChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15493   HRESULT WINAPI IFilterChain_PauseChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   15494   void __RPC_STUB IFilterChain_PauseChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15495   HRESULT WINAPI IFilterChain_StopChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   15496   void __RPC_STUB IFilterChain_StopChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15497   HRESULT WINAPI IFilterChain_RemoveChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   15498   void __RPC_STUB IFilterChain_RemoveChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15499 #endif
   15500 
   15501 #ifdef MINGW_HAS_DDRAW_H
   15502 #include <ddraw.h>
   15503 #endif
   15504 
   15505   typedef enum __MIDL___MIDL_itf_strmif_0397_0002 {
   15506     VMRSample_SyncPoint = 0x1,VMRSample_Preroll = 0x2,VMRSample_Discontinuity = 0x4,VMRSample_TimeValid = 0x8,VMRSample_SrcDstRectsValid = 0x10
   15507   } VMRPresentationFlags;
   15508 
   15509   typedef struct tagVMRPRESENTATIONINFO {
   15510     DWORD dwFlags;
   15511     LPDIRECTDRAWSURFACE7 lpSurf;
   15512     REFERENCE_TIME rtStart;
   15513     REFERENCE_TIME rtEnd;
   15514     SIZE szAspectRatio;
   15515     RECT rcSrc;
   15516     RECT rcDst;
   15517     DWORD dwTypeSpecificFlags;
   15518     DWORD dwInterlaceFlags;
   15519   } VMRPRESENTATIONINFO;
   15520 
   15521   extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec;
   15522   extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec;
   15523 #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
   15524 #define __IVMRImagePresenter_INTERFACE_DEFINED__
   15525   EXTERN_C const IID IID_IVMRImagePresenter;
   15526 #if defined(__cplusplus) && !defined(CINTERFACE)
   15527   struct IVMRImagePresenter : public IUnknown {
   15528   public:
   15529     virtual HRESULT WINAPI StartPresenting(DWORD_PTR dwUserID) = 0;
   15530     virtual HRESULT WINAPI StopPresenting(DWORD_PTR dwUserID) = 0;
   15531     virtual HRESULT WINAPI PresentImage(DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo) = 0;
   15532   };
   15533 #else
   15534   typedef struct IVMRImagePresenterVtbl {
   15535     BEGIN_INTERFACE
   15536       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenter *This,REFIID riid,void **ppvObject);
   15537       ULONG (WINAPI *AddRef)(IVMRImagePresenter *This);
   15538       ULONG (WINAPI *Release)(IVMRImagePresenter *This);
   15539       HRESULT (WINAPI *StartPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   15540       HRESULT (WINAPI *StopPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   15541       HRESULT (WINAPI *PresentImage)(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
   15542     END_INTERFACE
   15543   } IVMRImagePresenterVtbl;
   15544   struct IVMRImagePresenter {
   15545     CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
   15546   };
   15547 #ifdef COBJMACROS
   15548 #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15549 #define IVMRImagePresenter_AddRef(This) (This)->lpVtbl->AddRef(This)
   15550 #define IVMRImagePresenter_Release(This) (This)->lpVtbl->Release(This)
   15551 #define IVMRImagePresenter_StartPresenting(This,dwUserID) (This)->lpVtbl->StartPresenting(This,dwUserID)
   15552 #define IVMRImagePresenter_StopPresenting(This,dwUserID) (This)->lpVtbl->StopPresenting(This,dwUserID)
   15553 #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) (This)->lpVtbl->PresentImage(This,dwUserID,lpPresInfo)
   15554 #endif
   15555 #endif
   15556   HRESULT WINAPI IVMRImagePresenter_StartPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   15557   void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15558   HRESULT WINAPI IVMRImagePresenter_StopPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   15559   void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15560   HRESULT WINAPI IVMRImagePresenter_PresentImage_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
   15561   void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15562 #endif
   15563 
   15564   typedef enum __MIDL___MIDL_itf_strmif_0398_0001 {
   15565     AMAP_PIXELFORMAT_VALID = 0x1,AMAP_3D_TARGET = 0x2,AMAP_ALLOW_SYSMEM = 0x4,AMAP_FORCE_SYSMEM = 0x8,AMAP_DIRECTED_FLIP = 0x10,AMAP_DXVA_TARGET = 0x20
   15566   } VMRSurfaceAllocationFlags;
   15567 
   15568   typedef struct tagVMRALLOCATIONINFO {
   15569     DWORD dwFlags;
   15570     LPBITMAPINFOHEADER lpHdr;
   15571     LPDDPIXELFORMAT lpPixFmt;
   15572     SIZE szAspectRatio;
   15573     DWORD dwMinBuffers;
   15574     DWORD dwMaxBuffers;
   15575     DWORD dwInterlaceFlags;
   15576     SIZE szNativeSize;
   15577   } VMRALLOCATIONINFO;
   15578 
   15579   extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec;
   15580   extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec;
   15581 #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
   15582 #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
   15583   EXTERN_C const IID IID_IVMRSurfaceAllocator;
   15584 #if defined(__cplusplus) && !defined(CINTERFACE)
   15585   struct IVMRSurfaceAllocator : public IUnknown {
   15586   public:
   15587     virtual HRESULT WINAPI AllocateSurface(DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
   15588     virtual HRESULT WINAPI FreeSurface(DWORD_PTR dwID) = 0;
   15589     virtual HRESULT WINAPI PrepareSurface(DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags) = 0;
   15590     virtual HRESULT WINAPI AdviseNotify(IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
   15591   };
   15592 #else
   15593   typedef struct IVMRSurfaceAllocatorVtbl {
   15594     BEGIN_INTERFACE
   15595       HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocator *This,REFIID riid,void **ppvObject);
   15596       ULONG (WINAPI *AddRef)(IVMRSurfaceAllocator *This);
   15597       ULONG (WINAPI *Release)(IVMRSurfaceAllocator *This);
   15598       HRESULT (WINAPI *AllocateSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
   15599       HRESULT (WINAPI *FreeSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
   15600       HRESULT (WINAPI *PrepareSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
   15601       HRESULT (WINAPI *AdviseNotify)(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
   15602     END_INTERFACE
   15603   } IVMRSurfaceAllocatorVtbl;
   15604   struct IVMRSurfaceAllocator {
   15605     CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
   15606   };
   15607 #ifdef COBJMACROS
   15608 #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15609 #define IVMRSurfaceAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   15610 #define IVMRSurfaceAllocator_Release(This) (This)->lpVtbl->Release(This)
   15611 #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) (This)->lpVtbl->AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
   15612 #define IVMRSurfaceAllocator_FreeSurface(This,dwID) (This)->lpVtbl->FreeSurface(This,dwID)
   15613 #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) (This)->lpVtbl->PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
   15614 #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) (This)->lpVtbl->AdviseNotify(This,lpIVMRSurfAllocNotify)
   15615 #endif
   15616 #endif
   15617   HRESULT WINAPI IVMRSurfaceAllocator_AllocateSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
   15618   void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15619   HRESULT WINAPI IVMRSurfaceAllocator_FreeSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
   15620   void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15621   HRESULT WINAPI IVMRSurfaceAllocator_PrepareSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
   15622   void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15623   HRESULT WINAPI IVMRSurfaceAllocator_AdviseNotify_Proxy(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
   15624   void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15625 #endif
   15626 
   15627 #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
   15628 #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
   15629   EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
   15630 #if defined(__cplusplus) && !defined(CINTERFACE)
   15631   struct IVMRSurfaceAllocatorNotify : public IUnknown {
   15632   public:
   15633     virtual HRESULT WINAPI AdviseSurfaceAllocator(DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
   15634     virtual HRESULT WINAPI SetDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
   15635     virtual HRESULT WINAPI ChangeDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
   15636     virtual HRESULT WINAPI RestoreDDrawSurfaces(void) = 0;
   15637     virtual HRESULT WINAPI NotifyEvent(LONG EventCode,LONG_PTR Param1,LONG_PTR Param2) = 0;
   15638     virtual HRESULT WINAPI SetBorderColor(COLORREF clrBorder) = 0;
   15639   };
   15640 #else
   15641   typedef struct IVMRSurfaceAllocatorNotifyVtbl {
   15642     BEGIN_INTERFACE
   15643       HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocatorNotify *This,REFIID riid,void **ppvObject);
   15644       ULONG (WINAPI *AddRef)(IVMRSurfaceAllocatorNotify *This);
   15645       ULONG (WINAPI *Release)(IVMRSurfaceAllocatorNotify *This);
   15646       HRESULT (WINAPI *AdviseSurfaceAllocator)(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
   15647       HRESULT (WINAPI *SetDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   15648       HRESULT (WINAPI *ChangeDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   15649       HRESULT (WINAPI *RestoreDDrawSurfaces)(IVMRSurfaceAllocatorNotify *This);
   15650       HRESULT (WINAPI *NotifyEvent)(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
   15651       HRESULT (WINAPI *SetBorderColor)(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
   15652     END_INTERFACE
   15653   } IVMRSurfaceAllocatorNotifyVtbl;
   15654   struct IVMRSurfaceAllocatorNotify {
   15655     CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
   15656   };
   15657 #ifdef COBJMACROS
   15658 #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15659 #define IVMRSurfaceAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   15660 #define IVMRSurfaceAllocatorNotify_Release(This) (This)->lpVtbl->Release(This)
   15661 #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) (This)->lpVtbl->AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
   15662 #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->SetDDrawDevice(This,lpDDrawDevice,hMonitor)
   15663 #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
   15664 #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) (This)->lpVtbl->RestoreDDrawSurfaces(This)
   15665 #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) (This)->lpVtbl->NotifyEvent(This,EventCode,Param1,Param2)
   15666 #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) (This)->lpVtbl->SetBorderColor(This,clrBorder)
   15667 #endif
   15668 #endif
   15669   HRESULT WINAPI IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
   15670   void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15671   HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   15672   void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15673   HRESULT WINAPI IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   15674   void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15675   HRESULT WINAPI IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(IVMRSurfaceAllocatorNotify *This);
   15676   void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15677   HRESULT WINAPI IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
   15678   void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15679   HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
   15680   void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15681 #endif
   15682 
   15683   typedef enum __MIDL___MIDL_itf_strmif_0400_0001 {
   15684     VMR_ARMODE_NONE = 0,VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1
   15685   } VMR_ASPECT_RATIO_MODE;
   15686 
   15687   extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec;
   15688   extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec;
   15689 #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
   15690 #define __IVMRWindowlessControl_INTERFACE_DEFINED__
   15691   EXTERN_C const IID IID_IVMRWindowlessControl;
   15692 #if defined(__cplusplus) && !defined(CINTERFACE)
   15693   struct IVMRWindowlessControl : public IUnknown {
   15694   public:
   15695     virtual HRESULT WINAPI GetNativeVideoSize(LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight) = 0;
   15696     virtual HRESULT WINAPI GetMinIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
   15697     virtual HRESULT WINAPI GetMaxIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
   15698     virtual HRESULT WINAPI SetVideoPosition(const LPRECT lpSRCRect,const LPRECT lpDSTRect) = 0;
   15699     virtual HRESULT WINAPI GetVideoPosition(LPRECT lpSRCRect,LPRECT lpDSTRect) = 0;
   15700     virtual HRESULT WINAPI GetAspectRatioMode(DWORD *lpAspectRatioMode) = 0;
   15701     virtual HRESULT WINAPI SetAspectRatioMode(DWORD AspectRatioMode) = 0;
   15702     virtual HRESULT WINAPI SetVideoClippingWindow(HWND hwnd) = 0;
   15703     virtual HRESULT WINAPI RepaintVideo(HWND hwnd,HDC hdc) = 0;
   15704     virtual HRESULT WINAPI DisplayModeChanged(void) = 0;
   15705     virtual HRESULT WINAPI GetCurrentImage(BYTE **lpDib) = 0;
   15706     virtual HRESULT WINAPI SetBorderColor(COLORREF Clr) = 0;
   15707     virtual HRESULT WINAPI GetBorderColor(COLORREF *lpClr) = 0;
   15708     virtual HRESULT WINAPI SetColorKey(COLORREF Clr) = 0;
   15709     virtual HRESULT WINAPI GetColorKey(COLORREF *lpClr) = 0;
   15710   };
   15711 #else
   15712   typedef struct IVMRWindowlessControlVtbl {
   15713     BEGIN_INTERFACE
   15714       HRESULT (WINAPI *QueryInterface)(IVMRWindowlessControl *This,REFIID riid,void **ppvObject);
   15715       ULONG (WINAPI *AddRef)(IVMRWindowlessControl *This);
   15716       ULONG (WINAPI *Release)(IVMRWindowlessControl *This);
   15717       HRESULT (WINAPI *GetNativeVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
   15718       HRESULT (WINAPI *GetMinIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   15719       HRESULT (WINAPI *GetMaxIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   15720       HRESULT (WINAPI *SetVideoPosition)(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
   15721       HRESULT (WINAPI *GetVideoPosition)(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
   15722       HRESULT (WINAPI *GetAspectRatioMode)(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
   15723       HRESULT (WINAPI *SetAspectRatioMode)(IVMRWindowlessControl *This,DWORD AspectRatioMode);
   15724       HRESULT (WINAPI *SetVideoClippingWindow)(IVMRWindowlessControl *This,HWND hwnd);
   15725       HRESULT (WINAPI *RepaintVideo)(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
   15726       HRESULT (WINAPI *DisplayModeChanged)(IVMRWindowlessControl *This);
   15727       HRESULT (WINAPI *GetCurrentImage)(IVMRWindowlessControl *This,BYTE **lpDib);
   15728       HRESULT (WINAPI *SetBorderColor)(IVMRWindowlessControl *This,COLORREF Clr);
   15729       HRESULT (WINAPI *GetBorderColor)(IVMRWindowlessControl *This,COLORREF *lpClr);
   15730       HRESULT (WINAPI *SetColorKey)(IVMRWindowlessControl *This,COLORREF Clr);
   15731       HRESULT (WINAPI *GetColorKey)(IVMRWindowlessControl *This,COLORREF *lpClr);
   15732     END_INTERFACE
   15733   } IVMRWindowlessControlVtbl;
   15734   struct IVMRWindowlessControl {
   15735     CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
   15736   };
   15737 #ifdef COBJMACROS
   15738 #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15739 #define IVMRWindowlessControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   15740 #define IVMRWindowlessControl_Release(This) (This)->lpVtbl->Release(This)
   15741 #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) (This)->lpVtbl->GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
   15742 #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMinIdealVideoSize(This,lpWidth,lpHeight)
   15743 #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMaxIdealVideoSize(This,lpWidth,lpHeight)
   15744 #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->SetVideoPosition(This,lpSRCRect,lpDSTRect)
   15745 #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->GetVideoPosition(This,lpSRCRect,lpDSTRect)
   15746 #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,lpAspectRatioMode)
   15747 #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,AspectRatioMode)
   15748 #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd)
   15749 #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc)
   15750 #define IVMRWindowlessControl_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This)
   15751 #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) (This)->lpVtbl->GetCurrentImage(This,lpDib)
   15752 #define IVMRWindowlessControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr)
   15753 #define IVMRWindowlessControl_GetBorderColor(This,lpClr) (This)->lpVtbl->GetBorderColor(This,lpClr)
   15754 #define IVMRWindowlessControl_SetColorKey(This,Clr) (This)->lpVtbl->SetColorKey(This,Clr)
   15755 #define IVMRWindowlessControl_GetColorKey(This,lpClr) (This)->lpVtbl->GetColorKey(This,lpClr)
   15756 #endif
   15757 #endif
   15758   HRESULT WINAPI IVMRWindowlessControl_GetNativeVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
   15759   void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15760   HRESULT WINAPI IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   15761   void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15762   HRESULT WINAPI IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   15763   void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15764   HRESULT WINAPI IVMRWindowlessControl_SetVideoPosition_Proxy(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
   15765   void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15766   HRESULT WINAPI IVMRWindowlessControl_GetVideoPosition_Proxy(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
   15767   void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15768   HRESULT WINAPI IVMRWindowlessControl_GetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
   15769   void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15770   HRESULT WINAPI IVMRWindowlessControl_SetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD AspectRatioMode);
   15771   void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15772   HRESULT WINAPI IVMRWindowlessControl_SetVideoClippingWindow_Proxy(IVMRWindowlessControl *This,HWND hwnd);
   15773   void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15774   HRESULT WINAPI IVMRWindowlessControl_RepaintVideo_Proxy(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
   15775   void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15776   HRESULT WINAPI IVMRWindowlessControl_DisplayModeChanged_Proxy(IVMRWindowlessControl *This);
   15777   void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15778   HRESULT WINAPI IVMRWindowlessControl_GetCurrentImage_Proxy(IVMRWindowlessControl *This,BYTE **lpDib);
   15779   void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15780   HRESULT WINAPI IVMRWindowlessControl_SetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
   15781   void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15782   HRESULT WINAPI IVMRWindowlessControl_GetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
   15783   void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15784   HRESULT WINAPI IVMRWindowlessControl_SetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
   15785   void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15786   HRESULT WINAPI IVMRWindowlessControl_GetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
   15787   void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15788 #endif
   15789 
   15790   typedef enum __MIDL___MIDL_itf_strmif_0401_0001 {
   15791     MixerPref_NoDecimation = 0x1,MixerPref_DecimateOutput = 0x2,MixerPref_ARAdjustXorY = 0x4,MixerPref_DecimationReserved = 0x8,
   15792     MixerPref_DecimateMask = 0xf,MixerPref_BiLinearFiltering = 0x10,MixerPref_PointFiltering = 0x20,MixerPref_FilteringMask = 0xf0,
   15793     MixerPref_RenderTargetRGB = 0x100,MixerPref_RenderTargetYUV = 0x1000,MixerPref_RenderTargetYUV420 = 0x200,MixerPref_RenderTargetYUV422 = 0x400,
   15794     MixerPref_RenderTargetYUV444 = 0x800,MixerPref_RenderTargetReserved = 0xe000,MixerPref_RenderTargetMask = 0xff00,
   15795     MixerPref_DynamicSwitchToBOB = 0x10000,MixerPref_DynamicDecimateBy2 = 0x20000,MixerPref_DynamicReserved = 0xc0000,
   15796     MixerPref_DynamicMask = 0xf0000
   15797   } VMRMixerPrefs;
   15798 
   15799   typedef struct _NORMALIZEDRECT {
   15800     float left;
   15801     float top;
   15802     float right;
   15803     float bottom;
   15804   } NORMALIZEDRECT;
   15805 
   15806   typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
   15807 
   15808   extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_c_ifspec;
   15809   extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_s_ifspec;
   15810 #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
   15811 #define __IVMRMixerControl_INTERFACE_DEFINED__
   15812   EXTERN_C const IID IID_IVMRMixerControl;
   15813 #if defined(__cplusplus) && !defined(CINTERFACE)
   15814   struct IVMRMixerControl : public IUnknown {
   15815   public:
   15816     virtual HRESULT WINAPI SetAlpha(DWORD dwStreamID,float Alpha) = 0;
   15817     virtual HRESULT WINAPI GetAlpha(DWORD dwStreamID,float *pAlpha) = 0;
   15818     virtual HRESULT WINAPI SetZOrder(DWORD dwStreamID,DWORD dwZ) = 0;
   15819     virtual HRESULT WINAPI GetZOrder(DWORD dwStreamID,DWORD *pZ) = 0;
   15820     virtual HRESULT WINAPI SetOutputRect(DWORD dwStreamID,const NORMALIZEDRECT *pRect) = 0;
   15821     virtual HRESULT WINAPI GetOutputRect(DWORD dwStreamID,NORMALIZEDRECT *pRect) = 0;
   15822     virtual HRESULT WINAPI SetBackgroundClr(COLORREF ClrBkg) = 0;
   15823     virtual HRESULT WINAPI GetBackgroundClr(COLORREF *lpClrBkg) = 0;
   15824     virtual HRESULT WINAPI SetMixingPrefs(DWORD dwMixerPrefs) = 0;
   15825     virtual HRESULT WINAPI GetMixingPrefs(DWORD *pdwMixerPrefs) = 0;
   15826   };
   15827 #else
   15828   typedef struct IVMRMixerControlVtbl {
   15829     BEGIN_INTERFACE
   15830       HRESULT (WINAPI *QueryInterface)(IVMRMixerControl *This,REFIID riid,void **ppvObject);
   15831       ULONG (WINAPI *AddRef)(IVMRMixerControl *This);
   15832       ULONG (WINAPI *Release)(IVMRMixerControl *This);
   15833       HRESULT (WINAPI *SetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
   15834       HRESULT (WINAPI *GetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
   15835       HRESULT (WINAPI *SetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
   15836       HRESULT (WINAPI *GetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
   15837       HRESULT (WINAPI *SetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
   15838       HRESULT (WINAPI *GetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
   15839       HRESULT (WINAPI *SetBackgroundClr)(IVMRMixerControl *This,COLORREF ClrBkg);
   15840       HRESULT (WINAPI *GetBackgroundClr)(IVMRMixerControl *This,COLORREF *lpClrBkg);
   15841       HRESULT (WINAPI *SetMixingPrefs)(IVMRMixerControl *This,DWORD dwMixerPrefs);
   15842       HRESULT (WINAPI *GetMixingPrefs)(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
   15843     END_INTERFACE
   15844   } IVMRMixerControlVtbl;
   15845   struct IVMRMixerControl {
   15846     CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
   15847   };
   15848 #ifdef COBJMACROS
   15849 #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15850 #define IVMRMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   15851 #define IVMRMixerControl_Release(This) (This)->lpVtbl->Release(This)
   15852 #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) (This)->lpVtbl->SetAlpha(This,dwStreamID,Alpha)
   15853 #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) (This)->lpVtbl->GetAlpha(This,dwStreamID,pAlpha)
   15854 #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetZOrder(This,dwStreamID,dwZ)
   15855 #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) (This)->lpVtbl->GetZOrder(This,dwStreamID,pZ)
   15856 #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->SetOutputRect(This,dwStreamID,pRect)
   15857 #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->GetOutputRect(This,dwStreamID,pRect)
   15858 #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) (This)->lpVtbl->SetBackgroundClr(This,ClrBkg)
   15859 #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) (This)->lpVtbl->GetBackgroundClr(This,lpClrBkg)
   15860 #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) (This)->lpVtbl->SetMixingPrefs(This,dwMixerPrefs)
   15861 #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) (This)->lpVtbl->GetMixingPrefs(This,pdwMixerPrefs)
   15862 #endif
   15863 #endif
   15864   HRESULT WINAPI IVMRMixerControl_SetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
   15865   void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15866   HRESULT WINAPI IVMRMixerControl_GetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
   15867   void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15868   HRESULT WINAPI IVMRMixerControl_SetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
   15869   void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15870   HRESULT WINAPI IVMRMixerControl_GetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
   15871   void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15872   HRESULT WINAPI IVMRMixerControl_SetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
   15873   void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15874   HRESULT WINAPI IVMRMixerControl_GetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
   15875   void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15876   HRESULT WINAPI IVMRMixerControl_SetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF ClrBkg);
   15877   void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15878   HRESULT WINAPI IVMRMixerControl_GetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF *lpClrBkg);
   15879   void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15880   HRESULT WINAPI IVMRMixerControl_SetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD dwMixerPrefs);
   15881   void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15882   HRESULT WINAPI IVMRMixerControl_GetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
   15883 
   15884   void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15885 #endif
   15886 
   15887 #ifdef __cplusplus
   15888   typedef struct tagVMRGUID {
   15889     ::GUID *pGUID;
   15890     ::GUID GUID;
   15891   } VMRGUID;
   15892 #else
   15893   typedef struct tagVMRGUID {
   15894     GUID *pGUID;
   15895     GUID GUID;
   15896   } VMRGUID;
   15897 #endif
   15898 
   15899   typedef struct tagVMRMONITORINFO {
   15900     VMRGUID guid;
   15901     RECT rcMonitor;
   15902     HMONITOR hMon;
   15903     DWORD dwFlags;
   15904     wchar_t szDevice[32];
   15905     wchar_t szDescription[256];
   15906     LARGE_INTEGER liDriverVersion;
   15907     DWORD dwVendorId;
   15908     DWORD dwDeviceId;
   15909     DWORD dwSubSysId;
   15910     DWORD dwRevision;
   15911   } VMRMONITORINFO;
   15912 
   15913   extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_c_ifspec;
   15914   extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_s_ifspec;
   15915 #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
   15916 #define __IVMRMonitorConfig_INTERFACE_DEFINED__
   15917   EXTERN_C const IID IID_IVMRMonitorConfig;
   15918 #if defined(__cplusplus) && !defined(CINTERFACE)
   15919   struct IVMRMonitorConfig : public IUnknown {
   15920   public:
   15921     virtual HRESULT WINAPI SetMonitor(const VMRGUID *pGUID) = 0;
   15922     virtual HRESULT WINAPI GetMonitor(VMRGUID *pGUID) = 0;
   15923     virtual HRESULT WINAPI SetDefaultMonitor(const VMRGUID *pGUID) = 0;
   15924     virtual HRESULT WINAPI GetDefaultMonitor(VMRGUID *pGUID) = 0;
   15925     virtual HRESULT WINAPI GetAvailableMonitors(VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices) = 0;
   15926   };
   15927 #else
   15928   typedef struct IVMRMonitorConfigVtbl {
   15929     BEGIN_INTERFACE
   15930       HRESULT (WINAPI *QueryInterface)(IVMRMonitorConfig *This,REFIID riid,void **ppvObject);
   15931       ULONG (WINAPI *AddRef)(IVMRMonitorConfig *This);
   15932       ULONG (WINAPI *Release)(IVMRMonitorConfig *This);
   15933       HRESULT (WINAPI *SetMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   15934       HRESULT (WINAPI *GetMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
   15935       HRESULT (WINAPI *SetDefaultMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   15936       HRESULT (WINAPI *GetDefaultMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
   15937       HRESULT (WINAPI *GetAvailableMonitors)(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
   15938     END_INTERFACE
   15939   } IVMRMonitorConfigVtbl;
   15940   struct IVMRMonitorConfig {
   15941     CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
   15942   };
   15943 #ifdef COBJMACROS
   15944 #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15945 #define IVMRMonitorConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   15946 #define IVMRMonitorConfig_Release(This) (This)->lpVtbl->Release(This)
   15947 #define IVMRMonitorConfig_SetMonitor(This,pGUID) (This)->lpVtbl->SetMonitor(This,pGUID)
   15948 #define IVMRMonitorConfig_GetMonitor(This,pGUID) (This)->lpVtbl->GetMonitor(This,pGUID)
   15949 #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) (This)->lpVtbl->SetDefaultMonitor(This,pGUID)
   15950 #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) (This)->lpVtbl->GetDefaultMonitor(This,pGUID)
   15951 #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) (This)->lpVtbl->GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
   15952 #endif
   15953 #endif
   15954   HRESULT WINAPI IVMRMonitorConfig_SetMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   15955   void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15956   HRESULT WINAPI IVMRMonitorConfig_GetMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
   15957   void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15958   HRESULT WINAPI IVMRMonitorConfig_SetDefaultMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   15959   void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15960   HRESULT WINAPI IVMRMonitorConfig_GetDefaultMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
   15961   void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15962   HRESULT WINAPI IVMRMonitorConfig_GetAvailableMonitors_Proxy(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
   15963   void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15964 #endif
   15965 
   15966   typedef enum __MIDL___MIDL_itf_strmif_0403_0001 {
   15967     RenderPrefs_RestrictToInitialMonitor = 0,RenderPrefs_ForceOffscreen = 0x1,RenderPrefs_ForceOverlays = 0x2,RenderPrefs_AllowOverlays = 0,
   15968     RenderPrefs_AllowOffscreen = 0,RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,RenderPrefs_Reserved = 0x10,RenderPrefs_PreferAGPMemWhenMixing = 0x20,
   15969     RenderPrefs_Mask = 0x3f
   15970   } VMRRenderPrefs;
   15971 
   15972   typedef enum __MIDL___MIDL_itf_strmif_0403_0002 {
   15973     VMRMode_Windowed = 0x1,VMRMode_Windowless = 0x2,VMRMode_Renderless = 0x4,VMRMode_Mask = 0x7
   15974   } VMRMode;
   15975 
   15976   enum __MIDL___MIDL_itf_strmif_0403_0003 {
   15977     MAX_NUMBER_OF_STREAMS = 16
   15978   };
   15979 
   15980   extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec;
   15981   extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec;
   15982 #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
   15983 #define __IVMRFilterConfig_INTERFACE_DEFINED__
   15984   EXTERN_C const IID IID_IVMRFilterConfig;
   15985 #if defined(__cplusplus) && !defined(CINTERFACE)
   15986   struct IVMRFilterConfig : public IUnknown {
   15987   public:
   15988     virtual HRESULT WINAPI SetImageCompositor(IVMRImageCompositor *lpVMRImgCompositor) = 0;
   15989     virtual HRESULT WINAPI SetNumberOfStreams(DWORD dwMaxStreams) = 0;
   15990     virtual HRESULT WINAPI GetNumberOfStreams(DWORD *pdwMaxStreams) = 0;
   15991     virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
   15992     virtual HRESULT WINAPI GetRenderingPrefs(DWORD *pdwRenderFlags) = 0;
   15993     virtual HRESULT WINAPI SetRenderingMode(DWORD Mode) = 0;
   15994     virtual HRESULT WINAPI GetRenderingMode(DWORD *pMode) = 0;
   15995   };
   15996 #else
   15997   typedef struct IVMRFilterConfigVtbl {
   15998     BEGIN_INTERFACE
   15999       HRESULT (WINAPI *QueryInterface)(IVMRFilterConfig *This,REFIID riid,void **ppvObject);
   16000       ULONG (WINAPI *AddRef)(IVMRFilterConfig *This);
   16001       ULONG (WINAPI *Release)(IVMRFilterConfig *This);
   16002       HRESULT (WINAPI *SetImageCompositor)(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
   16003       HRESULT (WINAPI *SetNumberOfStreams)(IVMRFilterConfig *This,DWORD dwMaxStreams);
   16004       HRESULT (WINAPI *GetNumberOfStreams)(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
   16005       HRESULT (WINAPI *SetRenderingPrefs)(IVMRFilterConfig *This,DWORD dwRenderFlags);
   16006       HRESULT (WINAPI *GetRenderingPrefs)(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
   16007       HRESULT (WINAPI *SetRenderingMode)(IVMRFilterConfig *This,DWORD Mode);
   16008       HRESULT (WINAPI *GetRenderingMode)(IVMRFilterConfig *This,DWORD *pMode);
   16009     END_INTERFACE
   16010   } IVMRFilterConfigVtbl;
   16011   struct IVMRFilterConfig {
   16012     CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
   16013   };
   16014 #ifdef COBJMACROS
   16015 #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16016 #define IVMRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   16017 #define IVMRFilterConfig_Release(This) (This)->lpVtbl->Release(This)
   16018 #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) (This)->lpVtbl->SetImageCompositor(This,lpVMRImgCompositor)
   16019 #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams)
   16020 #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams)
   16021 #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   16022 #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags)
   16023 #define IVMRFilterConfig_SetRenderingMode(This,Mode) (This)->lpVtbl->SetRenderingMode(This,Mode)
   16024 #define IVMRFilterConfig_GetRenderingMode(This,pMode) (This)->lpVtbl->GetRenderingMode(This,pMode)
   16025 #endif
   16026 #endif
   16027   HRESULT WINAPI IVMRFilterConfig_SetImageCompositor_Proxy(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
   16028   void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16029   HRESULT WINAPI IVMRFilterConfig_SetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD dwMaxStreams);
   16030   void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16031   HRESULT WINAPI IVMRFilterConfig_GetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
   16032   void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16033   HRESULT WINAPI IVMRFilterConfig_SetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD dwRenderFlags);
   16034   void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16035   HRESULT WINAPI IVMRFilterConfig_GetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
   16036   void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16037   HRESULT WINAPI IVMRFilterConfig_SetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD Mode);
   16038   void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16039   HRESULT WINAPI IVMRFilterConfig_GetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD *pMode);
   16040   void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16041 #endif
   16042 
   16043 #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
   16044 #define __IVMRAspectRatioControl_INTERFACE_DEFINED__
   16045   EXTERN_C const IID IID_IVMRAspectRatioControl;
   16046 #if defined(__cplusplus) && !defined(CINTERFACE)
   16047   struct IVMRAspectRatioControl : public IUnknown {
   16048   public:
   16049     virtual HRESULT WINAPI GetAspectRatioMode(LPDWORD lpdwARMode) = 0;
   16050     virtual HRESULT WINAPI SetAspectRatioMode(DWORD dwARMode) = 0;
   16051   };
   16052 #else
   16053   typedef struct IVMRAspectRatioControlVtbl {
   16054     BEGIN_INTERFACE
   16055       HRESULT (WINAPI *QueryInterface)(IVMRAspectRatioControl *This,REFIID riid,void **ppvObject);
   16056       ULONG (WINAPI *AddRef)(IVMRAspectRatioControl *This);
   16057       ULONG (WINAPI *Release)(IVMRAspectRatioControl *This);
   16058       HRESULT (WINAPI *GetAspectRatioMode)(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
   16059       HRESULT (WINAPI *SetAspectRatioMode)(IVMRAspectRatioControl *This,DWORD dwARMode);
   16060     END_INTERFACE
   16061   } IVMRAspectRatioControlVtbl;
   16062   struct IVMRAspectRatioControl {
   16063     CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
   16064   };
   16065 #ifdef COBJMACROS
   16066 #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16067 #define IVMRAspectRatioControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   16068 #define IVMRAspectRatioControl_Release(This) (This)->lpVtbl->Release(This)
   16069 #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) (This)->lpVtbl->GetAspectRatioMode(This,lpdwARMode)
   16070 #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) (This)->lpVtbl->SetAspectRatioMode(This,dwARMode)
   16071 #endif
   16072 #endif
   16073   HRESULT WINAPI IVMRAspectRatioControl_GetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
   16074   void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16075   HRESULT WINAPI IVMRAspectRatioControl_SetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,DWORD dwARMode);
   16076   void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16077 #endif
   16078 
   16079   typedef enum __MIDL___MIDL_itf_strmif_0405_0001 {
   16080     DeinterlacePref_NextBest = 0x1,DeinterlacePref_BOB = 0x2,DeinterlacePref_Weave = 0x4,DeinterlacePref_Mask = 0x7
   16081   } VMRDeinterlacePrefs;
   16082 
   16083   typedef enum __MIDL___MIDL_itf_strmif_0405_0002 {
   16084     DeinterlaceTech_Unknown = 0,DeinterlaceTech_BOBLineReplicate = 0x1,DeinterlaceTech_BOBVerticalStretch = 0x2,DeinterlaceTech_MedianFiltering = 0x4,
   16085     DeinterlaceTech_EdgeFiltering = 0x10,DeinterlaceTech_FieldAdaptive = 0x20,DeinterlaceTech_PixelAdaptive = 0x40,
   16086     DeinterlaceTech_MotionVectorSteered = 0x80
   16087   } VMRDeinterlaceTech;
   16088 
   16089   typedef struct _VMRFrequency {
   16090     DWORD dwNumerator;
   16091     DWORD dwDenominator;
   16092   } VMRFrequency;
   16093 
   16094   typedef struct _VMRVideoDesc {
   16095     DWORD dwSize;
   16096     DWORD dwSampleWidth;
   16097     DWORD dwSampleHeight;
   16098     WINBOOL SingleFieldPerSample;
   16099     DWORD dwFourCC;
   16100     VMRFrequency InputSampleFreq;
   16101     VMRFrequency OutputFrameFreq;
   16102   } VMRVideoDesc;
   16103 
   16104   typedef struct _VMRDeinterlaceCaps {
   16105     DWORD dwSize;
   16106     DWORD dwNumPreviousOutputFrames;
   16107     DWORD dwNumForwardRefSamples;
   16108     DWORD dwNumBackwardRefSamples;
   16109     VMRDeinterlaceTech DeinterlaceTechnology;
   16110   } VMRDeinterlaceCaps;
   16111 
   16112   extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_c_ifspec;
   16113   extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_s_ifspec;
   16114 #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
   16115 #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
   16116   EXTERN_C const IID IID_IVMRDeinterlaceControl;
   16117 #if defined(__cplusplus) && !defined(CINTERFACE)
   16118   struct IVMRDeinterlaceControl : public IUnknown {
   16119   public:
   16120     virtual HRESULT WINAPI GetNumberOfDeinterlaceModes(VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes) = 0;
   16121     virtual HRESULT WINAPI GetDeinterlaceModeCaps(LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
   16122     virtual HRESULT WINAPI GetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   16123     virtual HRESULT WINAPI SetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   16124     virtual HRESULT WINAPI GetDeinterlacePrefs(LPDWORD lpdwDeinterlacePrefs) = 0;
   16125     virtual HRESULT WINAPI SetDeinterlacePrefs(DWORD dwDeinterlacePrefs) = 0;
   16126     virtual HRESULT WINAPI GetActualDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   16127   };
   16128 #else
   16129   typedef struct IVMRDeinterlaceControlVtbl {
   16130     BEGIN_INTERFACE
   16131       HRESULT (WINAPI *QueryInterface)(IVMRDeinterlaceControl *This,REFIID riid,void **ppvObject);
   16132       ULONG (WINAPI *AddRef)(IVMRDeinterlaceControl *This);
   16133       ULONG (WINAPI *Release)(IVMRDeinterlaceControl *This);
   16134       HRESULT (WINAPI *GetNumberOfDeinterlaceModes)(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
   16135       HRESULT (WINAPI *GetDeinterlaceModeCaps)(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
   16136       HRESULT (WINAPI *GetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   16137       HRESULT (WINAPI *SetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   16138       HRESULT (WINAPI *GetDeinterlacePrefs)(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
   16139       HRESULT (WINAPI *SetDeinterlacePrefs)(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
   16140       HRESULT (WINAPI *GetActualDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   16141     END_INTERFACE
   16142   } IVMRDeinterlaceControlVtbl;
   16143   struct IVMRDeinterlaceControl {
   16144     CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
   16145   };
   16146 #ifdef COBJMACROS
   16147 #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16148 #define IVMRDeinterlaceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   16149 #define IVMRDeinterlaceControl_Release(This) (This)->lpVtbl->Release(This)
   16150 #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
   16151 #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
   16152 #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   16153 #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   16154 #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) (This)->lpVtbl->GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
   16155 #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) (This)->lpVtbl->SetDeinterlacePrefs(This,dwDeinterlacePrefs)
   16156 #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   16157 #endif
   16158 #endif
   16159   HRESULT WINAPI IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
   16160   void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16161   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
   16162   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16163   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   16164   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16165   HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   16166   void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16167   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
   16168   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16169   HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
   16170   void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16171   HRESULT WINAPI IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   16172   void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16173 #endif
   16174 
   16175   typedef struct _VMRALPHABITMAP {
   16176     DWORD dwFlags;
   16177     HDC hdc;
   16178     LPDIRECTDRAWSURFACE7 pDDS;
   16179     RECT rSrc;
   16180     NORMALIZEDRECT rDest;
   16181     FLOAT fAlpha;
   16182     COLORREF clrSrcKey;
   16183   } VMRALPHABITMAP;
   16184 
   16185   typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
   16186 
   16187 #define VMRBITMAP_DISABLE 0x00000001
   16188 #define VMRBITMAP_HDC 0x00000002
   16189 #define VMRBITMAP_ENTIREDDS 0x00000004
   16190 #define VMRBITMAP_SRCCOLORKEY 0x00000008
   16191 #define VMRBITMAP_SRCRECT 0x00000010
   16192 
   16193   extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec;
   16194   extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec;
   16195 #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
   16196 #define __IVMRMixerBitmap_INTERFACE_DEFINED__
   16197   EXTERN_C const IID IID_IVMRMixerBitmap;
   16198 #if defined(__cplusplus) && !defined(CINTERFACE)
   16199   struct IVMRMixerBitmap : public IUnknown {
   16200   public:
   16201     virtual HRESULT WINAPI SetAlphaBitmap(const VMRALPHABITMAP *pBmpParms) = 0;
   16202     virtual HRESULT WINAPI UpdateAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
   16203     virtual HRESULT WINAPI GetAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
   16204   };
   16205 #else
   16206   typedef struct IVMRMixerBitmapVtbl {
   16207     BEGIN_INTERFACE
   16208       HRESULT (WINAPI *QueryInterface)(IVMRMixerBitmap *This,REFIID riid,void **ppvObject);
   16209       ULONG (WINAPI *AddRef)(IVMRMixerBitmap *This);
   16210       ULONG (WINAPI *Release)(IVMRMixerBitmap *This);
   16211       HRESULT (WINAPI *SetAlphaBitmap)(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
   16212       HRESULT (WINAPI *UpdateAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   16213       HRESULT (WINAPI *GetAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   16214     END_INTERFACE
   16215   } IVMRMixerBitmapVtbl;
   16216   struct IVMRMixerBitmap {
   16217     CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
   16218   };
   16219 #ifdef COBJMACROS
   16220 #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16221 #define IVMRMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
   16222 #define IVMRMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
   16223 #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) (This)->lpVtbl->SetAlphaBitmap(This,pBmpParms)
   16224 #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,pBmpParms)
   16225 #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->GetAlphaBitmapParameters(This,pBmpParms)
   16226 #endif
   16227 #endif
   16228   HRESULT WINAPI IVMRMixerBitmap_SetAlphaBitmap_Proxy(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
   16229   void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16230   HRESULT WINAPI IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   16231   void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16232   HRESULT WINAPI IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   16233   void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16234 #endif
   16235 
   16236   typedef struct _VMRVIDEOSTREAMINFO {
   16237     LPDIRECTDRAWSURFACE7 pddsVideoSurface;
   16238     DWORD dwWidth;
   16239     DWORD dwHeight;
   16240     DWORD dwStrmID;
   16241     FLOAT fAlpha;
   16242     DDCOLORKEY ddClrKey;
   16243     NORMALIZEDRECT rNormal;
   16244   } VMRVIDEOSTREAMINFO;
   16245 
   16246   extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_c_ifspec;
   16247   extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_s_ifspec;
   16248 #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
   16249 #define __IVMRImageCompositor_INTERFACE_DEFINED__
   16250   EXTERN_C const IID IID_IVMRImageCompositor;
   16251 #if defined(__cplusplus) && !defined(CINTERFACE)
   16252   struct IVMRImageCompositor : public IUnknown {
   16253   public:
   16254     virtual HRESULT WINAPI InitCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
   16255     virtual HRESULT WINAPI TermCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
   16256     virtual HRESULT WINAPI SetStreamMediaType(DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture) = 0;
   16257     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;
   16258   };
   16259 #else
   16260   typedef struct IVMRImageCompositorVtbl {
   16261     BEGIN_INTERFACE
   16262       HRESULT (WINAPI *QueryInterface)(IVMRImageCompositor *This,REFIID riid,void **ppvObject);
   16263       ULONG (WINAPI *AddRef)(IVMRImageCompositor *This);
   16264       ULONG (WINAPI *Release)(IVMRImageCompositor *This);
   16265       HRESULT (WINAPI *InitCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   16266       HRESULT (WINAPI *TermCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   16267       HRESULT (WINAPI *SetStreamMediaType)(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
   16268       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);
   16269     END_INTERFACE
   16270   } IVMRImageCompositorVtbl;
   16271   struct IVMRImageCompositor {
   16272     CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
   16273   };
   16274 #ifdef COBJMACROS
   16275 #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16276 #define IVMRImageCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
   16277 #define IVMRImageCompositor_Release(This) (This)->lpVtbl->Release(This)
   16278 #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
   16279 #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
   16280 #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) (This)->lpVtbl->SetStreamMediaType(This,dwStrmID,pmt,fTexture)
   16281 #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) (This)->lpVtbl->CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
   16282 #endif
   16283 #endif
   16284   HRESULT WINAPI IVMRImageCompositor_InitCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   16285   void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16286   HRESULT WINAPI IVMRImageCompositor_TermCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   16287   void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16288   HRESULT WINAPI IVMRImageCompositor_SetStreamMediaType_Proxy(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
   16289   void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16290   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);
   16291   void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16292 #endif
   16293 
   16294 #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
   16295 #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
   16296   EXTERN_C const IID IID_IVMRVideoStreamControl;
   16297 #if defined(__cplusplus) && !defined(CINTERFACE)
   16298   struct IVMRVideoStreamControl : public IUnknown {
   16299   public:
   16300     virtual HRESULT WINAPI SetColorKey(LPDDCOLORKEY lpClrKey) = 0;
   16301     virtual HRESULT WINAPI GetColorKey(LPDDCOLORKEY lpClrKey) = 0;
   16302     virtual HRESULT WINAPI SetStreamActiveState(WINBOOL fActive) = 0;
   16303     virtual HRESULT WINAPI GetStreamActiveState(WINBOOL *lpfActive) = 0;
   16304   };
   16305 #else
   16306   typedef struct IVMRVideoStreamControlVtbl {
   16307     BEGIN_INTERFACE
   16308       HRESULT (WINAPI *QueryInterface)(IVMRVideoStreamControl *This,REFIID riid,void **ppvObject);
   16309       ULONG (WINAPI *AddRef)(IVMRVideoStreamControl *This);
   16310       ULONG (WINAPI *Release)(IVMRVideoStreamControl *This);
   16311       HRESULT (WINAPI *SetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   16312       HRESULT (WINAPI *GetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   16313       HRESULT (WINAPI *SetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL fActive);
   16314       HRESULT (WINAPI *GetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
   16315     END_INTERFACE
   16316   } IVMRVideoStreamControlVtbl;
   16317   struct IVMRVideoStreamControl {
   16318     CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
   16319   };
   16320 #ifdef COBJMACROS
   16321 #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16322 #define IVMRVideoStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   16323 #define IVMRVideoStreamControl_Release(This) (This)->lpVtbl->Release(This)
   16324 #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) (This)->lpVtbl->SetColorKey(This,lpClrKey)
   16325 #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) (This)->lpVtbl->GetColorKey(This,lpClrKey)
   16326 #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) (This)->lpVtbl->SetStreamActiveState(This,fActive)
   16327 #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) (This)->lpVtbl->GetStreamActiveState(This,lpfActive)
   16328 #endif
   16329 #endif
   16330   HRESULT WINAPI IVMRVideoStreamControl_SetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   16331   void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16332   HRESULT WINAPI IVMRVideoStreamControl_GetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   16333   void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16334   HRESULT WINAPI IVMRVideoStreamControl_SetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL fActive);
   16335   void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16336   HRESULT WINAPI IVMRVideoStreamControl_GetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
   16337   void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16338 #endif
   16339 
   16340 #ifndef __IVMRSurface_INTERFACE_DEFINED__
   16341 #define __IVMRSurface_INTERFACE_DEFINED__
   16342   EXTERN_C const IID IID_IVMRSurface;
   16343 #if defined(__cplusplus) && !defined(CINTERFACE)
   16344   struct IVMRSurface : public IUnknown {
   16345   public:
   16346     virtual HRESULT WINAPI IsSurfaceLocked(void) = 0;
   16347     virtual HRESULT WINAPI LockSurface(BYTE **lpSurface) = 0;
   16348     virtual HRESULT WINAPI UnlockSurface(void) = 0;
   16349     virtual HRESULT WINAPI GetSurface(LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
   16350   };
   16351 #else
   16352   typedef struct IVMRSurfaceVtbl {
   16353     BEGIN_INTERFACE
   16354       HRESULT (WINAPI *QueryInterface)(IVMRSurface *This,REFIID riid,void **ppvObject);
   16355       ULONG (WINAPI *AddRef)(IVMRSurface *This);
   16356       ULONG (WINAPI *Release)(IVMRSurface *This);
   16357       HRESULT (WINAPI *IsSurfaceLocked)(IVMRSurface *This);
   16358       HRESULT (WINAPI *LockSurface)(IVMRSurface *This,BYTE **lpSurface);
   16359       HRESULT (WINAPI *UnlockSurface)(IVMRSurface *This);
   16360       HRESULT (WINAPI *GetSurface)(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
   16361     END_INTERFACE
   16362   } IVMRSurfaceVtbl;
   16363   struct IVMRSurface {
   16364     CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
   16365   };
   16366 #ifdef COBJMACROS
   16367 #define IVMRSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16368 #define IVMRSurface_AddRef(This) (This)->lpVtbl->AddRef(This)
   16369 #define IVMRSurface_Release(This) (This)->lpVtbl->Release(This)
   16370 #define IVMRSurface_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This)
   16371 #define IVMRSurface_LockSurface(This,lpSurface) (This)->lpVtbl->LockSurface(This,lpSurface)
   16372 #define IVMRSurface_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This)
   16373 #define IVMRSurface_GetSurface(This,lplpSurface) (This)->lpVtbl->GetSurface(This,lplpSurface)
   16374 #endif
   16375 #endif
   16376   HRESULT WINAPI IVMRSurface_IsSurfaceLocked_Proxy(IVMRSurface *This);
   16377   void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16378   HRESULT WINAPI IVMRSurface_LockSurface_Proxy(IVMRSurface *This,BYTE **lpSurface);
   16379   void __RPC_STUB IVMRSurface_LockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16380   HRESULT WINAPI IVMRSurface_UnlockSurface_Proxy(IVMRSurface *This);
   16381   void __RPC_STUB IVMRSurface_UnlockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16382   HRESULT WINAPI IVMRSurface_GetSurface_Proxy(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
   16383   void __RPC_STUB IVMRSurface_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16384 #endif
   16385 
   16386 #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
   16387 #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
   16388   EXTERN_C const IID IID_IVMRImagePresenterConfig;
   16389 
   16390 #if defined(__cplusplus) && !defined(CINTERFACE)
   16391   struct IVMRImagePresenterConfig : public IUnknown {
   16392   public:
   16393     virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
   16394     virtual HRESULT WINAPI GetRenderingPrefs(DWORD *dwRenderFlags) = 0;
   16395   };
   16396 #else
   16397   typedef struct IVMRImagePresenterConfigVtbl {
   16398     BEGIN_INTERFACE
   16399       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterConfig *This,REFIID riid,void **ppvObject);
   16400       ULONG (WINAPI *AddRef)(IVMRImagePresenterConfig *This);
   16401       ULONG (WINAPI *Release)(IVMRImagePresenterConfig *This);
   16402       HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
   16403       HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
   16404     END_INTERFACE
   16405   } IVMRImagePresenterConfigVtbl;
   16406   struct IVMRImagePresenterConfig {
   16407     CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
   16408   };
   16409 #ifdef COBJMACROS
   16410 #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16411 #define IVMRImagePresenterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   16412 #define IVMRImagePresenterConfig_Release(This) (This)->lpVtbl->Release(This)
   16413 #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   16414 #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
   16415 #endif
   16416 #endif
   16417   HRESULT WINAPI IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
   16418   void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16419   HRESULT WINAPI IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
   16420   void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16421 #endif
   16422 
   16423 #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
   16424 #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
   16425   EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
   16426 #if defined(__cplusplus) && !defined(CINTERFACE)
   16427   struct IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig {
   16428   public:
   16429     virtual HRESULT WINAPI SetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
   16430     virtual HRESULT WINAPI GetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
   16431   };
   16432 #else
   16433   typedef struct IVMRImagePresenterExclModeConfigVtbl {
   16434     BEGIN_INTERFACE
   16435       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterExclModeConfig *This,REFIID riid,void **ppvObject);
   16436       ULONG (WINAPI *AddRef)(IVMRImagePresenterExclModeConfig *This);
   16437       ULONG (WINAPI *Release)(IVMRImagePresenterExclModeConfig *This);
   16438       HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD dwRenderFlags);
   16439       HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD *dwRenderFlags);
   16440       HRESULT (WINAPI *SetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
   16441       HRESULT (WINAPI *GetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
   16442     END_INTERFACE
   16443   } IVMRImagePresenterExclModeConfigVtbl;
   16444   struct IVMRImagePresenterExclModeConfig {
   16445     CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
   16446   };
   16447 #ifdef COBJMACROS
   16448 #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16449 #define IVMRImagePresenterExclModeConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   16450 #define IVMRImagePresenterExclModeConfig_Release(This) (This)->lpVtbl->Release(This)
   16451 #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   16452 #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
   16453 #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
   16454 #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
   16455 #endif
   16456 #endif
   16457   HRESULT WINAPI IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
   16458   void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16459   HRESULT WINAPI IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
   16460   void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16461 #endif
   16462 
   16463 #ifndef __IVPManager_INTERFACE_DEFINED__
   16464 #define __IVPManager_INTERFACE_DEFINED__
   16465   EXTERN_C const IID IID_IVPManager;
   16466 #if defined(__cplusplus) && !defined(CINTERFACE)
   16467   struct IVPManager : public IUnknown {
   16468   public:
   16469     virtual HRESULT WINAPI SetVideoPortIndex(DWORD dwVideoPortIndex) = 0;
   16470     virtual HRESULT WINAPI GetVideoPortIndex(DWORD *pdwVideoPortIndex) = 0;
   16471   };
   16472 #else
   16473   typedef struct IVPManagerVtbl {
   16474     BEGIN_INTERFACE
   16475       HRESULT (WINAPI *QueryInterface)(IVPManager *This,REFIID riid,void **ppvObject);
   16476       ULONG (WINAPI *AddRef)(IVPManager *This);
   16477       ULONG (WINAPI *Release)(IVPManager *This);
   16478       HRESULT (WINAPI *SetVideoPortIndex)(IVPManager *This,DWORD dwVideoPortIndex);
   16479       HRESULT (WINAPI *GetVideoPortIndex)(IVPManager *This,DWORD *pdwVideoPortIndex);
   16480     END_INTERFACE
   16481   } IVPManagerVtbl;
   16482   struct IVPManager {
   16483     CONST_VTBL struct IVPManagerVtbl *lpVtbl;
   16484   };
   16485 #ifdef COBJMACROS
   16486 #define IVPManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16487 #define IVPManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   16488 #define IVPManager_Release(This) (This)->lpVtbl->Release(This)
   16489 #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) (This)->lpVtbl->SetVideoPortIndex(This,dwVideoPortIndex)
   16490 #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) (This)->lpVtbl->GetVideoPortIndex(This,pdwVideoPortIndex)
   16491 #endif
   16492 #endif
   16493   HRESULT WINAPI IVPManager_SetVideoPortIndex_Proxy(IVPManager *This,DWORD dwVideoPortIndex);
   16494   void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16495   HRESULT WINAPI IVPManager_GetVideoPortIndex_Proxy(IVPManager *This,DWORD *pdwVideoPortIndex);
   16496   void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   16497 #endif
   16498 
   16499 #if (_WIN32_WINNT >= 0x0601)
   16500 #undef  INTERFACE
   16501 #define INTERFACE IAMAsyncReaderTimestampScaling
   16502 #ifdef __GNUC__
   16503 #warning COM interfaces layout in this header has not been verified.
   16504 #warning COM interfaces with incorrect layout may not work at all.
   16505 __MINGW_BROKEN_INTERFACE(INTERFACE)
   16506 #endif
   16507 DECLARE_INTERFACE_(IAMAsyncReaderTimestampScaling,IUnknown)
   16508 {
   16509     BEGIN_INTERFACE
   16510 
   16511     /* IUnknown methods */
   16512     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
   16513     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
   16514     STDMETHOD_(ULONG, Release)(THIS) PURE;
   16515 
   16516     /* IAMAsyncReaderTimestampScaling methods */
   16517     STDMETHOD_(HRESULT,GetTimestampMode)(THIS_ WINBOOL *pfRaw) PURE;
   16518     STDMETHOD_(HRESULT,SetTimestampMode)(THIS_ WINBOOL fRaw) PURE;
   16519 
   16520     END_INTERFACE
   16521 };
   16522 #ifdef COBJMACROS
   16523 #define IAMAsyncReaderTimestampScaling_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16524 #define IAMAsyncReaderTimestampScaling_AddRef(This) (This)->lpVtbl->AddRef(This)
   16525 #define IAMAsyncReaderTimestampScaling_Release(This) (This)->lpVtbl->Release(This)
   16526 #define IAMAsyncReaderTimestampScaling_GetTimestampMode(This,pfRaw) (This)->lpVtbl->GetTimestampMode(This,pfRaw)
   16527 #define IAMAsyncReaderTimestampScaling_SetTimestampMode(This,fRaw) (This)->lpVtbl->SetTimestampMode(This,fRaw)
   16528 #endif /*COBJMACROS*/
   16529 
   16530 #undef  INTERFACE
   16531 #define INTERFACE IAMPluginControl
   16532 #ifdef __GNUC__
   16533 #warning COM interfaces layout in this header has not been verified.
   16534 #warning COM interfaces with incorrect layout may not work at all.
   16535 __MINGW_BROKEN_INTERFACE(INTERFACE)
   16536 #endif
   16537 DECLARE_INTERFACE_(IAMPluginControl,IUnknown)
   16538 {
   16539     BEGIN_INTERFACE
   16540 
   16541     /* IUnknown methods */
   16542     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
   16543     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
   16544     STDMETHOD_(ULONG, Release)(THIS) PURE;
   16545 
   16546     /* IAMPluginControl methods */
   16547     STDMETHOD_(HRESULT,GetDisabledByIndex)(THIS_ DWORD index,CLSID *clsid) PURE;
   16548     STDMETHOD_(HRESULT,GetPreferredClsid)(THIS_ REFGUID subType,CLSID *clsid) PURE;
   16549     STDMETHOD_(HRESULT,GetPreferredClsidByIndex)(THIS_ DWORD index,GUID *subType,CLSID *clsid) PURE;
   16550     STDMETHOD_(HRESULT,IsDisabled)(THIS_ REFCLSID clsid) PURE;
   16551     STDMETHOD_(HRESULT,IsLegacyDisabled)(THIS_ LPCWSTR dllName) PURE;
   16552     STDMETHOD_(HRESULT,SetDisabled)(THIS_ REFCLSID clsid,BOOL disabled) PURE;
   16553     STDMETHOD_(HRESULT,SetPreferredClsid)(THIS_ REFGUID subType,const CLSID *clsid) PURE;
   16554 
   16555     END_INTERFACE
   16556 };
   16557 #ifdef COBJMACROS
   16558 #define IAMPluginControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16559 #define IAMPluginControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   16560 #define IAMPluginControl_Release(This) (This)->lpVtbl->Release(This)
   16561 #define IAMPluginControl_GetDisabledByIndex(This,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,index,clsid)
   16562 #define IAMPluginControl_GetPreferredClsid(This,subType,clsid) (This)->lpVtbl->GetPreferredClsid(This,subType,clsid)
   16563 #define IAMPluginControl_GetPreferredClsidByIndex(This,index,subType,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid)
   16564 #define IAMPluginControl_IsDisabled(This,clsid) (This)->lpVtbl->IsDisabled(This,clsid)
   16565 #define IAMPluginControl_IsLegacyDisabled(This,dllName) (This)->lpVtbl->IsLegacyDisabled(This,dllName)
   16566 #define IAMPluginControl_SetDisabled(This,clsid,disabled) (This)->lpVtbl->SetDisabled(This,clsid,disabled)
   16567 #define IAMPluginControl_SetPreferredClsid(This,subType,clsid) (This)->lpVtbl->SetPreferredClsid(This,subType,clsid)
   16568 #endif /*COBJMACROS*/
   16569 
   16570 #endif /*(_WIN32_WINNT >= 0x0601)*/
   16571 
   16572   extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec;
   16573   extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec;
   16574 /* Begin additional prototypes for all interfaces */
   16575 
   16576 
   16577 /* End additional prototypes */
   16578 
   16579 #ifdef __cplusplus
   16580 }
   16581 #endif
   16582 
   16583 #endif /* __strmif_h__ */
   16584