Home | History | Annotate | Download | only in dshow
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the w64 mingw-runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error This stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef COM_NO_WINDOWS_H
     18 #include "windows.h"
     19 #include "ole2.h"
     20 #endif
     21 
     22 #ifndef __strmif_h__
     23 #define __strmif_h__
     24 
     25 #ifndef __ICreateDevEnum_FWD_DEFINED__
     26 #define __ICreateDevEnum_FWD_DEFINED__
     27 typedef struct ICreateDevEnum ICreateDevEnum;
     28 #endif
     29 
     30 #ifndef __IPin_FWD_DEFINED__
     31 #define __IPin_FWD_DEFINED__
     32 typedef struct IPin IPin;
     33 #endif
     34 
     35 #ifndef __IEnumPins_FWD_DEFINED__
     36 #define __IEnumPins_FWD_DEFINED__
     37 typedef struct IEnumPins IEnumPins;
     38 #endif
     39 
     40 #ifndef __IEnumMediaTypes_FWD_DEFINED__
     41 #define __IEnumMediaTypes_FWD_DEFINED__
     42 typedef struct IEnumMediaTypes IEnumMediaTypes;
     43 #endif
     44 
     45 #ifndef __IFilterGraph_FWD_DEFINED__
     46 #define __IFilterGraph_FWD_DEFINED__
     47 typedef struct IFilterGraph IFilterGraph;
     48 #endif
     49 
     50 #ifndef __IEnumFilters_FWD_DEFINED__
     51 #define __IEnumFilters_FWD_DEFINED__
     52 typedef struct IEnumFilters IEnumFilters;
     53 #endif
     54 
     55 #ifndef __IMediaFilter_FWD_DEFINED__
     56 #define __IMediaFilter_FWD_DEFINED__
     57 typedef struct IMediaFilter IMediaFilter;
     58 #endif
     59 
     60 #ifndef __IBaseFilter_FWD_DEFINED__
     61 #define __IBaseFilter_FWD_DEFINED__
     62 typedef struct IBaseFilter IBaseFilter;
     63 #endif
     64 
     65 #ifndef __IReferenceClock_FWD_DEFINED__
     66 #define __IReferenceClock_FWD_DEFINED__
     67 typedef struct IReferenceClock IReferenceClock;
     68 #endif
     69 
     70 #ifndef __IReferenceClock2_FWD_DEFINED__
     71 #define __IReferenceClock2_FWD_DEFINED__
     72 typedef struct IReferenceClock2 IReferenceClock2;
     73 #endif
     74 
     75 #ifndef __IMediaSample_FWD_DEFINED__
     76 #define __IMediaSample_FWD_DEFINED__
     77 typedef struct IMediaSample IMediaSample;
     78 #endif
     79 
     80 #ifndef __IMediaSample2_FWD_DEFINED__
     81 #define __IMediaSample2_FWD_DEFINED__
     82 typedef struct IMediaSample2 IMediaSample2;
     83 #endif
     84 
     85 #ifndef __IMemAllocator_FWD_DEFINED__
     86 #define __IMemAllocator_FWD_DEFINED__
     87 typedef struct IMemAllocator IMemAllocator;
     88 #endif
     89 
     90 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
     91 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
     92 typedef struct IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
     93 #endif
     94 
     95 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
     96 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
     97 typedef struct IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
     98 #endif
     99 
    100 #ifndef __IMemInputPin_FWD_DEFINED__
    101 #define __IMemInputPin_FWD_DEFINED__
    102 typedef struct IMemInputPin IMemInputPin;
    103 #endif
    104 
    105 #ifndef __IAMovieSetup_FWD_DEFINED__
    106 #define __IAMovieSetup_FWD_DEFINED__
    107 typedef struct IAMovieSetup IAMovieSetup;
    108 #endif
    109 
    110 #ifndef __IMediaSeeking_FWD_DEFINED__
    111 #define __IMediaSeeking_FWD_DEFINED__
    112 typedef struct IMediaSeeking IMediaSeeking;
    113 #endif
    114 
    115 #ifndef __IEnumRegFilters_FWD_DEFINED__
    116 #define __IEnumRegFilters_FWD_DEFINED__
    117 typedef struct IEnumRegFilters IEnumRegFilters;
    118 #endif
    119 
    120 #ifndef __IFilterMapper_FWD_DEFINED__
    121 #define __IFilterMapper_FWD_DEFINED__
    122 typedef struct IFilterMapper IFilterMapper;
    123 #endif
    124 
    125 #ifndef __IFilterMapper2_FWD_DEFINED__
    126 #define __IFilterMapper2_FWD_DEFINED__
    127 typedef struct IFilterMapper2 IFilterMapper2;
    128 #endif
    129 
    130 #ifndef __IFilterMapper3_FWD_DEFINED__
    131 #define __IFilterMapper3_FWD_DEFINED__
    132 typedef struct IFilterMapper3 IFilterMapper3;
    133 #endif
    134 
    135 #ifndef __IQualityControl_FWD_DEFINED__
    136 #define __IQualityControl_FWD_DEFINED__
    137 typedef struct IQualityControl IQualityControl;
    138 #endif
    139 
    140 #ifndef __IOverlayNotify_FWD_DEFINED__
    141 #define __IOverlayNotify_FWD_DEFINED__
    142 typedef struct IOverlayNotify IOverlayNotify;
    143 #endif
    144 
    145 #ifndef __IOverlayNotify2_FWD_DEFINED__
    146 #define __IOverlayNotify2_FWD_DEFINED__
    147 typedef struct IOverlayNotify2 IOverlayNotify2;
    148 #endif
    149 
    150 #ifndef __IOverlay_FWD_DEFINED__
    151 #define __IOverlay_FWD_DEFINED__
    152 typedef struct IOverlay IOverlay;
    153 #endif
    154 
    155 #ifndef __IMediaEventSink_FWD_DEFINED__
    156 #define __IMediaEventSink_FWD_DEFINED__
    157 typedef struct IMediaEventSink IMediaEventSink;
    158 #endif
    159 
    160 #ifndef __IFileSourceFilter_FWD_DEFINED__
    161 #define __IFileSourceFilter_FWD_DEFINED__
    162 typedef struct IFileSourceFilter IFileSourceFilter;
    163 #endif
    164 
    165 #ifndef __IFileSinkFilter_FWD_DEFINED__
    166 #define __IFileSinkFilter_FWD_DEFINED__
    167 typedef struct IFileSinkFilter IFileSinkFilter;
    168 #endif
    169 
    170 #ifndef __IFileSinkFilter2_FWD_DEFINED__
    171 #define __IFileSinkFilter2_FWD_DEFINED__
    172 typedef struct IFileSinkFilter2 IFileSinkFilter2;
    173 #endif
    174 
    175 #ifndef __IGraphBuilder_FWD_DEFINED__
    176 #define __IGraphBuilder_FWD_DEFINED__
    177 typedef struct IGraphBuilder IGraphBuilder;
    178 #endif
    179 
    180 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
    181 #define __ICaptureGraphBuilder_FWD_DEFINED__
    182 typedef struct ICaptureGraphBuilder ICaptureGraphBuilder;
    183 #endif
    184 
    185 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
    186 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
    187 typedef struct IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
    188 #endif
    189 
    190 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
    191 #define __ICaptureGraphBuilder2_FWD_DEFINED__
    192 typedef struct ICaptureGraphBuilder2 ICaptureGraphBuilder2;
    193 #endif
    194 
    195 #ifndef __IFilterGraph2_FWD_DEFINED__
    196 #define __IFilterGraph2_FWD_DEFINED__
    197 typedef struct IFilterGraph2 IFilterGraph2;
    198 #endif
    199 
    200 #ifndef __IStreamBuilder_FWD_DEFINED__
    201 #define __IStreamBuilder_FWD_DEFINED__
    202 typedef struct IStreamBuilder IStreamBuilder;
    203 #endif
    204 
    205 #ifndef __IAsyncReader_FWD_DEFINED__
    206 #define __IAsyncReader_FWD_DEFINED__
    207 typedef struct IAsyncReader IAsyncReader;
    208 #endif
    209 
    210 #ifndef __IGraphVersion_FWD_DEFINED__
    211 #define __IGraphVersion_FWD_DEFINED__
    212 typedef struct IGraphVersion IGraphVersion;
    213 #endif
    214 
    215 #ifndef __IResourceConsumer_FWD_DEFINED__
    216 #define __IResourceConsumer_FWD_DEFINED__
    217 typedef struct IResourceConsumer IResourceConsumer;
    218 #endif
    219 
    220 #ifndef __IResourceManager_FWD_DEFINED__
    221 #define __IResourceManager_FWD_DEFINED__
    222 typedef struct IResourceManager IResourceManager;
    223 #endif
    224 
    225 #ifndef __IDistributorNotify_FWD_DEFINED__
    226 #define __IDistributorNotify_FWD_DEFINED__
    227 typedef struct IDistributorNotify IDistributorNotify;
    228 #endif
    229 
    230 #ifndef __IAMStreamControl_FWD_DEFINED__
    231 #define __IAMStreamControl_FWD_DEFINED__
    232 typedef struct IAMStreamControl IAMStreamControl;
    233 #endif
    234 
    235 #ifndef __ISeekingPassThru_FWD_DEFINED__
    236 #define __ISeekingPassThru_FWD_DEFINED__
    237 typedef struct ISeekingPassThru ISeekingPassThru;
    238 #endif
    239 
    240 #ifndef __IAMStreamConfig_FWD_DEFINED__
    241 #define __IAMStreamConfig_FWD_DEFINED__
    242 typedef struct IAMStreamConfig IAMStreamConfig;
    243 #endif
    244 
    245 #ifndef __IConfigInterleaving_FWD_DEFINED__
    246 #define __IConfigInterleaving_FWD_DEFINED__
    247 typedef struct IConfigInterleaving IConfigInterleaving;
    248 #endif
    249 
    250 #ifndef __IConfigAviMux_FWD_DEFINED__
    251 #define __IConfigAviMux_FWD_DEFINED__
    252 typedef struct IConfigAviMux IConfigAviMux;
    253 #endif
    254 
    255 #ifndef __IAMVideoCompression_FWD_DEFINED__
    256 #define __IAMVideoCompression_FWD_DEFINED__
    257 typedef struct IAMVideoCompression IAMVideoCompression;
    258 #endif
    259 
    260 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
    261 #define __IAMVfwCaptureDialogs_FWD_DEFINED__
    262 typedef struct IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
    263 #endif
    264 
    265 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
    266 #define __IAMVfwCompressDialogs_FWD_DEFINED__
    267 typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs;
    268 #endif
    269 
    270 #ifndef __IAMDroppedFrames_FWD_DEFINED__
    271 #define __IAMDroppedFrames_FWD_DEFINED__
    272 typedef struct IAMDroppedFrames IAMDroppedFrames;
    273 #endif
    274 
    275 #ifndef __IAMAudioInputMixer_FWD_DEFINED__
    276 #define __IAMAudioInputMixer_FWD_DEFINED__
    277 typedef struct IAMAudioInputMixer IAMAudioInputMixer;
    278 #endif
    279 
    280 #ifndef __IAMBufferNegotiation_FWD_DEFINED__
    281 #define __IAMBufferNegotiation_FWD_DEFINED__
    282 typedef struct IAMBufferNegotiation IAMBufferNegotiation;
    283 #endif
    284 
    285 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
    286 #define __IAMAnalogVideoDecoder_FWD_DEFINED__
    287 typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
    288 #endif
    289 
    290 #ifndef __IAMVideoProcAmp_FWD_DEFINED__
    291 #define __IAMVideoProcAmp_FWD_DEFINED__
    292 typedef struct IAMVideoProcAmp IAMVideoProcAmp;
    293 #endif
    294 
    295 #ifndef __IAMCameraControl_FWD_DEFINED__
    296 #define __IAMCameraControl_FWD_DEFINED__
    297 typedef struct IAMCameraControl IAMCameraControl;
    298 #endif
    299 
    300 #ifndef __IAMVideoControl_FWD_DEFINED__
    301 #define __IAMVideoControl_FWD_DEFINED__
    302 typedef struct IAMVideoControl IAMVideoControl;
    303 #endif
    304 
    305 #ifndef __IAMCrossbar_FWD_DEFINED__
    306 #define __IAMCrossbar_FWD_DEFINED__
    307 typedef struct IAMCrossbar IAMCrossbar;
    308 #endif
    309 
    310 #ifndef __IAMTuner_FWD_DEFINED__
    311 #define __IAMTuner_FWD_DEFINED__
    312 typedef struct IAMTuner IAMTuner;
    313 #endif
    314 
    315 #ifndef __IAMTunerNotification_FWD_DEFINED__
    316 #define __IAMTunerNotification_FWD_DEFINED__
    317 typedef struct IAMTunerNotification IAMTunerNotification;
    318 #endif
    319 
    320 #ifndef __IAMTVTuner_FWD_DEFINED__
    321 #define __IAMTVTuner_FWD_DEFINED__
    322 typedef struct IAMTVTuner IAMTVTuner;
    323 #endif
    324 
    325 #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
    326 #define __IBPCSatelliteTuner_FWD_DEFINED__
    327 typedef struct IBPCSatelliteTuner IBPCSatelliteTuner;
    328 #endif
    329 
    330 #ifndef __IAMTVAudio_FWD_DEFINED__
    331 #define __IAMTVAudio_FWD_DEFINED__
    332 typedef struct IAMTVAudio IAMTVAudio;
    333 #endif
    334 
    335 #ifndef __IAMTVAudioNotification_FWD_DEFINED__
    336 #define __IAMTVAudioNotification_FWD_DEFINED__
    337 typedef struct IAMTVAudioNotification IAMTVAudioNotification;
    338 #endif
    339 
    340 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
    341 #define __IAMAnalogVideoEncoder_FWD_DEFINED__
    342 typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
    343 #endif
    344 
    345 #ifndef __IKsPropertySet_FWD_DEFINED__
    346 #define __IKsPropertySet_FWD_DEFINED__
    347 typedef struct IKsPropertySet IKsPropertySet;
    348 #endif
    349 
    350 #ifndef __IMediaPropertyBag_FWD_DEFINED__
    351 #define __IMediaPropertyBag_FWD_DEFINED__
    352 typedef struct IMediaPropertyBag IMediaPropertyBag;
    353 #endif
    354 
    355 #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
    356 #define __IPersistMediaPropertyBag_FWD_DEFINED__
    357 typedef struct IPersistMediaPropertyBag IPersistMediaPropertyBag;
    358 #endif
    359 
    360 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
    361 #define __IAMPhysicalPinInfo_FWD_DEFINED__
    362 typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo;
    363 #endif
    364 
    365 #ifndef __IAMExtDevice_FWD_DEFINED__
    366 #define __IAMExtDevice_FWD_DEFINED__
    367 typedef struct IAMExtDevice IAMExtDevice;
    368 #endif
    369 
    370 #ifndef __IAMExtTransport_FWD_DEFINED__
    371 #define __IAMExtTransport_FWD_DEFINED__
    372 typedef struct IAMExtTransport IAMExtTransport;
    373 #endif
    374 
    375 #ifndef __IAMTimecodeReader_FWD_DEFINED__
    376 #define __IAMTimecodeReader_FWD_DEFINED__
    377 typedef struct IAMTimecodeReader IAMTimecodeReader;
    378 #endif
    379 
    380 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
    381 #define __IAMTimecodeGenerator_FWD_DEFINED__
    382 typedef struct IAMTimecodeGenerator IAMTimecodeGenerator;
    383 #endif
    384 
    385 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
    386 #define __IAMTimecodeDisplay_FWD_DEFINED__
    387 typedef struct IAMTimecodeDisplay IAMTimecodeDisplay;
    388 #endif
    389 
    390 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
    391 #define __IAMDevMemoryAllocator_FWD_DEFINED__
    392 typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator;
    393 #endif
    394 
    395 #ifndef __IAMDevMemoryControl_FWD_DEFINED__
    396 #define __IAMDevMemoryControl_FWD_DEFINED__
    397 typedef struct IAMDevMemoryControl IAMDevMemoryControl;
    398 #endif
    399 
    400 #ifndef __IAMStreamSelect_FWD_DEFINED__
    401 #define __IAMStreamSelect_FWD_DEFINED__
    402 typedef struct IAMStreamSelect IAMStreamSelect;
    403 #endif
    404 
    405 #ifndef __IAMResourceControl_FWD_DEFINED__
    406 #define __IAMResourceControl_FWD_DEFINED__
    407 typedef struct IAMResourceControl IAMResourceControl;
    408 #endif
    409 
    410 #ifndef __IAMClockAdjust_FWD_DEFINED__
    411 #define __IAMClockAdjust_FWD_DEFINED__
    412 typedef struct IAMClockAdjust IAMClockAdjust;
    413 #endif
    414 
    415 #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
    416 #define __IAMFilterMiscFlags_FWD_DEFINED__
    417 typedef struct IAMFilterMiscFlags IAMFilterMiscFlags;
    418 #endif
    419 
    420 #ifndef __IDrawVideoImage_FWD_DEFINED__
    421 #define __IDrawVideoImage_FWD_DEFINED__
    422 typedef struct IDrawVideoImage IDrawVideoImage;
    423 #endif
    424 
    425 #ifndef __IDecimateVideoImage_FWD_DEFINED__
    426 #define __IDecimateVideoImage_FWD_DEFINED__
    427 typedef struct IDecimateVideoImage IDecimateVideoImage;
    428 #endif
    429 
    430 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
    431 #define __IAMVideoDecimationProperties_FWD_DEFINED__
    432 typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties;
    433 #endif
    434 
    435 #ifndef __IVideoFrameStep_FWD_DEFINED__
    436 #define __IVideoFrameStep_FWD_DEFINED__
    437 typedef struct IVideoFrameStep IVideoFrameStep;
    438 #endif
    439 
    440 #ifndef __IAMLatency_FWD_DEFINED__
    441 #define __IAMLatency_FWD_DEFINED__
    442 typedef struct IAMLatency IAMLatency;
    443 #endif
    444 
    445 #ifndef __IAMPushSource_FWD_DEFINED__
    446 #define __IAMPushSource_FWD_DEFINED__
    447 typedef struct IAMPushSource IAMPushSource;
    448 #endif
    449 
    450 #ifndef __IAMDeviceRemoval_FWD_DEFINED__
    451 #define __IAMDeviceRemoval_FWD_DEFINED__
    452 typedef struct IAMDeviceRemoval IAMDeviceRemoval;
    453 #endif
    454 
    455 #ifndef __IDVEnc_FWD_DEFINED__
    456 #define __IDVEnc_FWD_DEFINED__
    457 typedef struct IDVEnc IDVEnc;
    458 #endif
    459 
    460 #ifndef __IIPDVDec_FWD_DEFINED__
    461 #define __IIPDVDec_FWD_DEFINED__
    462 typedef struct IIPDVDec IIPDVDec;
    463 #endif
    464 
    465 #ifndef __IDVRGB219_FWD_DEFINED__
    466 #define __IDVRGB219_FWD_DEFINED__
    467 typedef struct IDVRGB219 IDVRGB219;
    468 #endif
    469 
    470 #ifndef __IDVSplitter_FWD_DEFINED__
    471 #define __IDVSplitter_FWD_DEFINED__
    472 typedef struct IDVSplitter IDVSplitter;
    473 #endif
    474 
    475 #ifndef __IAMAudioRendererStats_FWD_DEFINED__
    476 #define __IAMAudioRendererStats_FWD_DEFINED__
    477 typedef struct IAMAudioRendererStats IAMAudioRendererStats;
    478 #endif
    479 
    480 #ifndef __IAMGraphStreams_FWD_DEFINED__
    481 #define __IAMGraphStreams_FWD_DEFINED__
    482 typedef struct IAMGraphStreams IAMGraphStreams;
    483 #endif
    484 
    485 #ifndef __IAMOverlayFX_FWD_DEFINED__
    486 #define __IAMOverlayFX_FWD_DEFINED__
    487 typedef struct IAMOverlayFX IAMOverlayFX;
    488 #endif
    489 
    490 #ifndef __IAMOpenProgress_FWD_DEFINED__
    491 #define __IAMOpenProgress_FWD_DEFINED__
    492 typedef struct IAMOpenProgress IAMOpenProgress;
    493 #endif
    494 
    495 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
    496 #define __IMpeg2Demultiplexer_FWD_DEFINED__
    497 typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer;
    498 #endif
    499 
    500 #ifndef __IEnumStreamIdMap_FWD_DEFINED__
    501 #define __IEnumStreamIdMap_FWD_DEFINED__
    502 typedef struct IEnumStreamIdMap IEnumStreamIdMap;
    503 #endif
    504 
    505 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
    506 #define __IMPEG2StreamIdMap_FWD_DEFINED__
    507 typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap;
    508 #endif
    509 
    510 #ifndef __IRegisterServiceProvider_FWD_DEFINED__
    511 #define __IRegisterServiceProvider_FWD_DEFINED__
    512 typedef struct IRegisterServiceProvider IRegisterServiceProvider;
    513 #endif
    514 
    515 #ifndef __IAMClockSlave_FWD_DEFINED__
    516 #define __IAMClockSlave_FWD_DEFINED__
    517 typedef struct IAMClockSlave IAMClockSlave;
    518 #endif
    519 
    520 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
    521 #define __IAMGraphBuilderCallback_FWD_DEFINED__
    522 typedef struct IAMGraphBuilderCallback IAMGraphBuilderCallback;
    523 #endif
    524 
    525 #ifndef __ICodecAPI_FWD_DEFINED__
    526 #define __ICodecAPI_FWD_DEFINED__
    527 typedef struct ICodecAPI ICodecAPI;
    528 #endif
    529 
    530 #ifndef __IGetCapabilitiesKey_FWD_DEFINED__
    531 #define __IGetCapabilitiesKey_FWD_DEFINED__
    532 typedef struct IGetCapabilitiesKey IGetCapabilitiesKey;
    533 #endif
    534 
    535 #ifndef __IEncoderAPI_FWD_DEFINED__
    536 #define __IEncoderAPI_FWD_DEFINED__
    537 typedef struct IEncoderAPI IEncoderAPI;
    538 #endif
    539 
    540 #ifndef __IVideoEncoder_FWD_DEFINED__
    541 #define __IVideoEncoder_FWD_DEFINED__
    542 typedef struct IVideoEncoder IVideoEncoder;
    543 #endif
    544 
    545 #ifndef __IAMDecoderCaps_FWD_DEFINED__
    546 #define __IAMDecoderCaps_FWD_DEFINED__
    547 typedef struct IAMDecoderCaps IAMDecoderCaps;
    548 #endif
    549 
    550 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__
    551 #define __IAMCertifiedOutputProtection_FWD_DEFINED__
    552 typedef struct IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
    553 #endif
    554 
    555 #ifndef __IDvdControl_FWD_DEFINED__
    556 #define __IDvdControl_FWD_DEFINED__
    557 typedef struct IDvdControl IDvdControl;
    558 #endif
    559 
    560 #ifndef __IDvdInfo_FWD_DEFINED__
    561 #define __IDvdInfo_FWD_DEFINED__
    562 typedef struct IDvdInfo IDvdInfo;
    563 #endif
    564 
    565 #ifndef __IDvdCmd_FWD_DEFINED__
    566 #define __IDvdCmd_FWD_DEFINED__
    567 typedef struct IDvdCmd IDvdCmd;
    568 #endif
    569 
    570 #ifndef __IDvdState_FWD_DEFINED__
    571 #define __IDvdState_FWD_DEFINED__
    572 typedef struct IDvdState IDvdState;
    573 #endif
    574 
    575 #ifndef __IDvdControl2_FWD_DEFINED__
    576 #define __IDvdControl2_FWD_DEFINED__
    577 typedef struct IDvdControl2 IDvdControl2;
    578 #endif
    579 
    580 #ifndef __IDvdInfo2_FWD_DEFINED__
    581 #define __IDvdInfo2_FWD_DEFINED__
    582 typedef struct IDvdInfo2 IDvdInfo2;
    583 #endif
    584 
    585 #ifndef __IDvdGraphBuilder_FWD_DEFINED__
    586 #define __IDvdGraphBuilder_FWD_DEFINED__
    587 typedef struct IDvdGraphBuilder IDvdGraphBuilder;
    588 #endif
    589 
    590 #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
    591 #define __IDDrawExclModeVideo_FWD_DEFINED__
    592 typedef struct IDDrawExclModeVideo IDDrawExclModeVideo;
    593 #endif
    594 
    595 #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
    596 #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
    597 typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
    598 #endif
    599 
    600 #ifndef __IPinConnection_FWD_DEFINED__
    601 #define __IPinConnection_FWD_DEFINED__
    602 typedef struct IPinConnection IPinConnection;
    603 #endif
    604 
    605 #ifndef __IPinFlowControl_FWD_DEFINED__
    606 #define __IPinFlowControl_FWD_DEFINED__
    607 typedef struct IPinFlowControl IPinFlowControl;
    608 #endif
    609 
    610 #ifndef __IGraphConfig_FWD_DEFINED__
    611 #define __IGraphConfig_FWD_DEFINED__
    612 typedef struct IGraphConfig IGraphConfig;
    613 #endif
    614 
    615 #ifndef __IGraphConfigCallback_FWD_DEFINED__
    616 #define __IGraphConfigCallback_FWD_DEFINED__
    617 typedef struct IGraphConfigCallback IGraphConfigCallback;
    618 #endif
    619 
    620 #ifndef __IFilterChain_FWD_DEFINED__
    621 #define __IFilterChain_FWD_DEFINED__
    622 typedef struct IFilterChain IFilterChain;
    623 #endif
    624 
    625 #ifndef __IVMRImagePresenter_FWD_DEFINED__
    626 #define __IVMRImagePresenter_FWD_DEFINED__
    627 typedef struct IVMRImagePresenter IVMRImagePresenter;
    628 #endif
    629 
    630 #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
    631 #define __IVMRSurfaceAllocator_FWD_DEFINED__
    632 typedef struct IVMRSurfaceAllocator IVMRSurfaceAllocator;
    633 #endif
    634 
    635 #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
    636 #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
    637 typedef struct IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
    638 #endif
    639 
    640 #ifndef __IVMRWindowlessControl_FWD_DEFINED__
    641 #define __IVMRWindowlessControl_FWD_DEFINED__
    642 typedef struct IVMRWindowlessControl IVMRWindowlessControl;
    643 #endif
    644 
    645 #ifndef __IVMRMixerControl_FWD_DEFINED__
    646 #define __IVMRMixerControl_FWD_DEFINED__
    647 typedef struct IVMRMixerControl IVMRMixerControl;
    648 #endif
    649 
    650 #ifndef __IVMRMonitorConfig_FWD_DEFINED__
    651 #define __IVMRMonitorConfig_FWD_DEFINED__
    652 typedef struct IVMRMonitorConfig IVMRMonitorConfig;
    653 #endif
    654 
    655 #ifndef __IVMRFilterConfig_FWD_DEFINED__
    656 #define __IVMRFilterConfig_FWD_DEFINED__
    657 typedef struct IVMRFilterConfig IVMRFilterConfig;
    658 #endif
    659 
    660 #ifndef __IVMRAspectRatioControl_FWD_DEFINED__
    661 #define __IVMRAspectRatioControl_FWD_DEFINED__
    662 typedef struct IVMRAspectRatioControl IVMRAspectRatioControl;
    663 #endif
    664 
    665 #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
    666 #define __IVMRDeinterlaceControl_FWD_DEFINED__
    667 typedef struct IVMRDeinterlaceControl IVMRDeinterlaceControl;
    668 #endif
    669 
    670 #ifndef __IVMRMixerBitmap_FWD_DEFINED__
    671 #define __IVMRMixerBitmap_FWD_DEFINED__
    672 typedef struct IVMRMixerBitmap IVMRMixerBitmap;
    673 #endif
    674 
    675 #ifndef __IVMRImageCompositor_FWD_DEFINED__
    676 #define __IVMRImageCompositor_FWD_DEFINED__
    677 typedef struct IVMRImageCompositor IVMRImageCompositor;
    678 #endif
    679 
    680 #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
    681 #define __IVMRVideoStreamControl_FWD_DEFINED__
    682 typedef struct IVMRVideoStreamControl IVMRVideoStreamControl;
    683 #endif
    684 
    685 #ifndef __IVMRSurface_FWD_DEFINED__
    686 #define __IVMRSurface_FWD_DEFINED__
    687 typedef struct IVMRSurface IVMRSurface;
    688 #endif
    689 
    690 #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
    691 #define __IVMRImagePresenterConfig_FWD_DEFINED__
    692 typedef struct IVMRImagePresenterConfig IVMRImagePresenterConfig;
    693 #endif
    694 
    695 #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
    696 #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
    697 typedef struct IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
    698 #endif
    699 
    700 #ifndef __IVPManager_FWD_DEFINED__
    701 #define __IVPManager_FWD_DEFINED__
    702 typedef struct IVPManager IVPManager;
    703 #endif
    704 
    705 #include "unknwn.h"
    706 #include "objidl.h"
    707 #include "oaidl.h"
    708 #include "ocidl.h"
    709 
    710 #ifdef __cplusplus
    711 extern "C" {
    712 #endif
    713 
    714 #ifndef __MIDL_user_allocate_free_DEFINED__
    715 #define __MIDL_user_allocate_free_DEFINED__
    716   void *__RPC_API MIDL_user_allocate(size_t);
    717   void __RPC_API MIDL_user_free(void *);
    718 #endif
    719 
    720 #define CDEF_CLASS_DEFAULT 0x0001
    721 #define CDEF_BYPASS_CLASS_MANAGER 0x0002
    722 #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008
    723 #define CDEF_DEVMON_CMGR_DEVICE 0x0010
    724 #define CDEF_DEVMON_DMO 0x0020
    725 #define CDEF_DEVMON_PNP_DEVICE 0x0040
    726 #define CDEF_DEVMON_FILTER 0x0080
    727 #define CDEF_DEVMON_SELECTIVE_MASK 0x00f0
    728 
    729   extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
    730   extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
    731 #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
    732 #define __ICreateDevEnum_INTERFACE_DEFINED__
    733   EXTERN_C const IID IID_ICreateDevEnum;
    734 #if defined(__cplusplus) && !defined(CINTERFACE)
    735   struct ICreateDevEnum : public IUnknown {
    736   public:
    737     virtual HRESULT WINAPI CreateClassEnumerator(REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) = 0;
    738   };
    739 #else
    740   typedef struct ICreateDevEnumVtbl {
    741     BEGIN_INTERFACE
    742       HRESULT (WINAPI *QueryInterface)(ICreateDevEnum *This,REFIID riid,void **ppvObject);
    743       ULONG (WINAPI *AddRef)(ICreateDevEnum *This);
    744       ULONG (WINAPI *Release)(ICreateDevEnum *This);
    745       HRESULT (WINAPI *CreateClassEnumerator)(ICreateDevEnum *This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags);
    746     END_INTERFACE
    747   } ICreateDevEnumVtbl;
    748   struct ICreateDevEnum {
    749     CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
    750   };
    751 #ifdef COBJMACROS
    752 #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    753 #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This)
    754 #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This)
    755 #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
    756 #endif
    757 #endif
    758   HRESULT WINAPI ICreateDevEnum_CreateClassEnumerator_Proxy(ICreateDevEnum *This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags);
    759   void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    760 #endif
    761 
    762 #define CHARS_IN_GUID 39
    763   typedef struct _AMMediaType {
    764     GUID majortype;
    765     GUID subtype;
    766     WINBOOL bFixedSizeSamples;
    767     WINBOOL bTemporalCompression;
    768     ULONG lSampleSize;
    769     GUID formattype;
    770     IUnknown *pUnk;
    771     ULONG cbFormat;
    772     BYTE *pbFormat;
    773   } AM_MEDIA_TYPE;
    774 
    775   typedef enum _PinDirection {
    776     PINDIR_INPUT = 0,PINDIR_OUTPUT = PINDIR_INPUT + 1
    777   } PIN_DIRECTION;
    778 
    779 #define MAX_PIN_NAME 128
    780 #define MAX_FILTER_NAME 128
    781 
    782 #ifndef __REFERENCE_TIME_DEFINED
    783 #define __REFERENCE_TIME_DEFINED
    784 typedef LONGLONG REFERENCE_TIME;
    785 #endif /*__REFERENCE_TIME_DEFINED*/
    786 
    787   typedef double REFTIME;
    788   typedef DWORD_PTR HSEMAPHORE;
    789   typedef DWORD_PTR HEVENT;
    790 
    791   typedef struct _AllocatorProperties {
    792     long cBuffers;
    793     long cbBuffer;
    794     long cbAlign;
    795     long cbPrefix;
    796   } ALLOCATOR_PROPERTIES;
    797 
    798   extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
    799   extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
    800 #ifndef __IPin_INTERFACE_DEFINED__
    801 #define __IPin_INTERFACE_DEFINED__
    802   typedef struct _PinInfo {
    803     IBaseFilter *pFilter;
    804     PIN_DIRECTION dir;
    805     WCHAR achName[128];
    806   } PIN_INFO;
    807 
    808   EXTERN_C const IID IID_IPin;
    809 #if defined(__cplusplus) && !defined(CINTERFACE)
    810   struct IPin : public IUnknown {
    811   public:
    812     virtual HRESULT WINAPI Connect(IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) = 0;
    813     virtual HRESULT WINAPI ReceiveConnection(IPin *pConnector,const AM_MEDIA_TYPE *pmt) = 0;
    814     virtual HRESULT WINAPI Disconnect(void) = 0;
    815     virtual HRESULT WINAPI ConnectedTo(IPin **pPin) = 0;
    816     virtual HRESULT WINAPI ConnectionMediaType(AM_MEDIA_TYPE *pmt) = 0;
    817     virtual HRESULT WINAPI QueryPinInfo(PIN_INFO *pInfo) = 0;
    818     virtual HRESULT WINAPI QueryDirection(PIN_DIRECTION *pPinDir) = 0;
    819     virtual HRESULT WINAPI QueryId(LPWSTR *Id) = 0;
    820     virtual HRESULT WINAPI QueryAccept(const AM_MEDIA_TYPE *pmt) = 0;
    821     virtual HRESULT WINAPI EnumMediaTypes(IEnumMediaTypes **ppEnum) = 0;
    822     virtual HRESULT WINAPI QueryInternalConnections(IPin **apPin,ULONG *nPin) = 0;
    823     virtual HRESULT WINAPI EndOfStream(void) = 0;
    824     virtual HRESULT WINAPI BeginFlush(void) = 0;
    825     virtual HRESULT WINAPI EndFlush(void) = 0;
    826     virtual HRESULT WINAPI NewSegment(REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) = 0;
    827   };
    828 #else
    829   typedef struct IPinVtbl {
    830     BEGIN_INTERFACE
    831       HRESULT (WINAPI *QueryInterface)(IPin *This,REFIID riid,void **ppvObject);
    832       ULONG (WINAPI *AddRef)(IPin *This);
    833       ULONG (WINAPI *Release)(IPin *This);
    834       HRESULT (WINAPI *Connect)(IPin *This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt);
    835       HRESULT (WINAPI *ReceiveConnection)(IPin *This,IPin *pConnector,const AM_MEDIA_TYPE *pmt);
    836       HRESULT (WINAPI *Disconnect)(IPin *This);
    837       HRESULT (WINAPI *ConnectedTo)(IPin *This,IPin **pPin);
    838       HRESULT (WINAPI *ConnectionMediaType)(IPin *This,AM_MEDIA_TYPE *pmt);
    839       HRESULT (WINAPI *QueryPinInfo)(IPin *This,PIN_INFO *pInfo);
    840       HRESULT (WINAPI *QueryDirection)(IPin *This,PIN_DIRECTION *pPinDir);
    841       HRESULT (WINAPI *QueryId)(IPin *This,LPWSTR *Id);
    842       HRESULT (WINAPI *QueryAccept)(IPin *This,const AM_MEDIA_TYPE *pmt);
    843       HRESULT (WINAPI *EnumMediaTypes)(IPin *This,IEnumMediaTypes **ppEnum);
    844       HRESULT (WINAPI *QueryInternalConnections)(IPin *This,IPin **apPin,ULONG *nPin);
    845       HRESULT (WINAPI *EndOfStream)(IPin *This);
    846       HRESULT (WINAPI *BeginFlush)(IPin *This);
    847       HRESULT (WINAPI *EndFlush)(IPin *This);
    848       HRESULT (WINAPI *NewSegment)(IPin *This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate);
    849     END_INTERFACE
    850   } IPinVtbl;
    851   struct IPin {
    852     CONST_VTBL struct IPinVtbl *lpVtbl;
    853   };
    854 #ifdef COBJMACROS
    855 #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    856 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This)
    857 #define IPin_Release(This) (This)->lpVtbl->Release(This)
    858 #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt)
    859 #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt)
    860 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This)
    861 #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin)
    862 #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt)
    863 #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo)
    864 #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir)
    865 #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id)
    866 #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt)
    867 #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum)
    868 #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin)
    869 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
    870 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
    871 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This)
    872 #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate)
    873 #endif
    874 #endif
    875   HRESULT WINAPI IPin_Connect_Proxy(IPin *This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt);
    876   void __RPC_STUB IPin_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    877   HRESULT WINAPI IPin_ReceiveConnection_Proxy(IPin *This,IPin *pConnector,const AM_MEDIA_TYPE *pmt);
    878   void __RPC_STUB IPin_ReceiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    879   HRESULT WINAPI IPin_Disconnect_Proxy(IPin *This);
    880   void __RPC_STUB IPin_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    881   HRESULT WINAPI IPin_ConnectedTo_Proxy(IPin *This,IPin **pPin);
    882   void __RPC_STUB IPin_ConnectedTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    883   HRESULT WINAPI IPin_ConnectionMediaType_Proxy(IPin *This,AM_MEDIA_TYPE *pmt);
    884   void __RPC_STUB IPin_ConnectionMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    885   HRESULT WINAPI IPin_QueryPinInfo_Proxy(IPin *This,PIN_INFO *pInfo);
    886   void __RPC_STUB IPin_QueryPinInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    887   HRESULT WINAPI IPin_QueryDirection_Proxy(IPin *This,PIN_DIRECTION *pPinDir);
    888   void __RPC_STUB IPin_QueryDirection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    889   HRESULT WINAPI IPin_QueryId_Proxy(IPin *This,LPWSTR *Id);
    890   void __RPC_STUB IPin_QueryId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    891   HRESULT WINAPI IPin_QueryAccept_Proxy(IPin *This,const AM_MEDIA_TYPE *pmt);
    892   void __RPC_STUB IPin_QueryAccept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    893   HRESULT WINAPI IPin_EnumMediaTypes_Proxy(IPin *This,IEnumMediaTypes **ppEnum);
    894   void __RPC_STUB IPin_EnumMediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    895   HRESULT WINAPI IPin_QueryInternalConnections_Proxy(IPin *This,IPin **apPin,ULONG *nPin);
    896   void __RPC_STUB IPin_QueryInternalConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    897   HRESULT WINAPI IPin_EndOfStream_Proxy(IPin *This);
    898   void __RPC_STUB IPin_EndOfStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    899   HRESULT WINAPI IPin_BeginFlush_Proxy(IPin *This);
    900   void __RPC_STUB IPin_BeginFlush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    901   HRESULT WINAPI IPin_EndFlush_Proxy(IPin *This);
    902   void __RPC_STUB IPin_EndFlush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    903   HRESULT WINAPI IPin_NewSegment_Proxy(IPin *This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate);
    904   void __RPC_STUB IPin_NewSegment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    905 #endif
    906 
    907   typedef IPin *PPIN;
    908 
    909   extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
    910   extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
    911 #ifndef __IEnumPins_INTERFACE_DEFINED__
    912 #define __IEnumPins_INTERFACE_DEFINED__
    913   EXTERN_C const IID IID_IEnumPins;
    914 #if defined(__cplusplus) && !defined(CINTERFACE)
    915   struct IEnumPins : public IUnknown {
    916   public:
    917     virtual HRESULT WINAPI Next(ULONG cPins,IPin **ppPins,ULONG *pcFetched) = 0;
    918     virtual HRESULT WINAPI Skip(ULONG cPins) = 0;
    919     virtual HRESULT WINAPI Reset(void) = 0;
    920     virtual HRESULT WINAPI Clone(IEnumPins **ppEnum) = 0;
    921   };
    922 #else
    923   typedef struct IEnumPinsVtbl {
    924     BEGIN_INTERFACE
    925       HRESULT (WINAPI *QueryInterface)(IEnumPins *This,REFIID riid,void **ppvObject);
    926       ULONG (WINAPI *AddRef)(IEnumPins *This);
    927       ULONG (WINAPI *Release)(IEnumPins *This);
    928       HRESULT (WINAPI *Next)(IEnumPins *This,ULONG cPins,IPin **ppPins,ULONG *pcFetched);
    929       HRESULT (WINAPI *Skip)(IEnumPins *This,ULONG cPins);
    930       HRESULT (WINAPI *Reset)(IEnumPins *This);
    931       HRESULT (WINAPI *Clone)(IEnumPins *This,IEnumPins **ppEnum);
    932     END_INTERFACE
    933   } IEnumPinsVtbl;
    934   struct IEnumPins {
    935     CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
    936   };
    937 #ifdef COBJMACROS
    938 #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    939 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This)
    940 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This)
    941 #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched)
    942 #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins)
    943 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This)
    944 #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
    945 #endif
    946 #endif
    947   HRESULT WINAPI IEnumPins_Next_Proxy(IEnumPins *This,ULONG cPins,IPin **ppPins,ULONG *pcFetched);
    948   void __RPC_STUB IEnumPins_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    949   HRESULT WINAPI IEnumPins_Skip_Proxy(IEnumPins *This,ULONG cPins);
    950   void __RPC_STUB IEnumPins_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    951   HRESULT WINAPI IEnumPins_Reset_Proxy(IEnumPins *This);
    952   void __RPC_STUB IEnumPins_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    953   HRESULT WINAPI IEnumPins_Clone_Proxy(IEnumPins *This,IEnumPins **ppEnum);
    954   void __RPC_STUB IEnumPins_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    955 #endif
    956 
    957   typedef IEnumPins *PENUMPINS;
    958 
    959   extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
    960   extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
    961 #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
    962 #define __IEnumMediaTypes_INTERFACE_DEFINED__
    963   EXTERN_C const IID IID_IEnumMediaTypes;
    964 #if defined(__cplusplus) && !defined(CINTERFACE)
    965   struct IEnumMediaTypes : public IUnknown {
    966   public:
    967     virtual HRESULT WINAPI Next(ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) = 0;
    968     virtual HRESULT WINAPI Skip(ULONG cMediaTypes) = 0;
    969     virtual HRESULT WINAPI Reset(void) = 0;
    970     virtual HRESULT WINAPI Clone(IEnumMediaTypes **ppEnum) = 0;
    971   };
    972 #else
    973   typedef struct IEnumMediaTypesVtbl {
    974     BEGIN_INTERFACE
    975       HRESULT (WINAPI *QueryInterface)(IEnumMediaTypes *This,REFIID riid,void **ppvObject);
    976       ULONG (WINAPI *AddRef)(IEnumMediaTypes *This);
    977       ULONG (WINAPI *Release)(IEnumMediaTypes *This);
    978       HRESULT (WINAPI *Next)(IEnumMediaTypes *This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched);
    979       HRESULT (WINAPI *Skip)(IEnumMediaTypes *This,ULONG cMediaTypes);
    980       HRESULT (WINAPI *Reset)(IEnumMediaTypes *This);
    981       HRESULT (WINAPI *Clone)(IEnumMediaTypes *This,IEnumMediaTypes **ppEnum);
    982     END_INTERFACE
    983   } IEnumMediaTypesVtbl;
    984   struct IEnumMediaTypes {
    985     CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
    986   };
    987 #ifdef COBJMACROS
    988 #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    989 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This)
    990 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This)
    991 #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched)
    992 #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes)
    993 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This)
    994 #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
    995 #endif
    996 #endif
    997   HRESULT WINAPI IEnumMediaTypes_Next_Proxy(IEnumMediaTypes *This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched);
    998   void __RPC_STUB IEnumMediaTypes_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    999   HRESULT WINAPI IEnumMediaTypes_Skip_Proxy(IEnumMediaTypes *This,ULONG cMediaTypes);
   1000   void __RPC_STUB IEnumMediaTypes_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1001   HRESULT WINAPI IEnumMediaTypes_Reset_Proxy(IEnumMediaTypes *This);
   1002   void __RPC_STUB IEnumMediaTypes_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1003   HRESULT WINAPI IEnumMediaTypes_Clone_Proxy(IEnumMediaTypes *This,IEnumMediaTypes **ppEnum);
   1004   void __RPC_STUB IEnumMediaTypes_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1005 #endif
   1006 
   1007   typedef IEnumMediaTypes *PENUMMEDIATYPES;
   1008 
   1009   extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
   1010   extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
   1011 #ifndef __IFilterGraph_INTERFACE_DEFINED__
   1012 #define __IFilterGraph_INTERFACE_DEFINED__
   1013 
   1014   EXTERN_C const IID IID_IFilterGraph;
   1015 #if defined(__cplusplus) && !defined(CINTERFACE)
   1016   struct IFilterGraph : public IUnknown {
   1017   public:
   1018     virtual HRESULT WINAPI AddFilter(IBaseFilter *pFilter,LPCWSTR pName) = 0;
   1019     virtual HRESULT WINAPI RemoveFilter(IBaseFilter *pFilter) = 0;
   1020     virtual HRESULT WINAPI EnumFilters(IEnumFilters **ppEnum) = 0;
   1021     virtual HRESULT WINAPI FindFilterByName(LPCWSTR pName,IBaseFilter **ppFilter) = 0;
   1022     virtual HRESULT WINAPI ConnectDirect(IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) = 0;
   1023     virtual HRESULT WINAPI Reconnect(IPin *ppin) = 0;
   1024     virtual HRESULT WINAPI Disconnect(IPin *ppin) = 0;
   1025     virtual HRESULT WINAPI SetDefaultSyncSource(void) = 0;
   1026   };
   1027 #else
   1028   typedef struct IFilterGraphVtbl {
   1029     BEGIN_INTERFACE
   1030       HRESULT (WINAPI *QueryInterface)(IFilterGraph *This,REFIID riid,void **ppvObject);
   1031       ULONG (WINAPI *AddRef)(IFilterGraph *This);
   1032       ULONG (WINAPI *Release)(IFilterGraph *This);
   1033       HRESULT (WINAPI *AddFilter)(IFilterGraph *This,IBaseFilter *pFilter,LPCWSTR pName);
   1034       HRESULT (WINAPI *RemoveFilter)(IFilterGraph *This,IBaseFilter *pFilter);
   1035       HRESULT (WINAPI *EnumFilters)(IFilterGraph *This,IEnumFilters **ppEnum);
   1036       HRESULT (WINAPI *FindFilterByName)(IFilterGraph *This,LPCWSTR pName,IBaseFilter **ppFilter);
   1037       HRESULT (WINAPI *ConnectDirect)(IFilterGraph *This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt);
   1038       HRESULT (WINAPI *Reconnect)(IFilterGraph *This,IPin *ppin);
   1039       HRESULT (WINAPI *Disconnect)(IFilterGraph *This,IPin *ppin);
   1040       HRESULT (WINAPI *SetDefaultSyncSource)(IFilterGraph *This);
   1041     END_INTERFACE
   1042   } IFilterGraphVtbl;
   1043   struct IFilterGraph {
   1044     CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
   1045   };
   1046 #ifdef COBJMACROS
   1047 #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1048 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This)
   1049 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This)
   1050 #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   1051 #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   1052 #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   1053 #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   1054 #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   1055 #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   1056 #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   1057 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   1058 #endif
   1059 #endif
   1060   HRESULT WINAPI IFilterGraph_AddFilter_Proxy(IFilterGraph *This,IBaseFilter *pFilter,LPCWSTR pName);
   1061   void __RPC_STUB IFilterGraph_AddFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1062   HRESULT WINAPI IFilterGraph_RemoveFilter_Proxy(IFilterGraph *This,IBaseFilter *pFilter);
   1063   void __RPC_STUB IFilterGraph_RemoveFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1064   HRESULT WINAPI IFilterGraph_EnumFilters_Proxy(IFilterGraph *This,IEnumFilters **ppEnum);
   1065   void __RPC_STUB IFilterGraph_EnumFilters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1066   HRESULT WINAPI IFilterGraph_FindFilterByName_Proxy(IFilterGraph *This,LPCWSTR pName,IBaseFilter **ppFilter);
   1067   void __RPC_STUB IFilterGraph_FindFilterByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1068   HRESULT WINAPI IFilterGraph_ConnectDirect_Proxy(IFilterGraph *This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt);
   1069   void __RPC_STUB IFilterGraph_ConnectDirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1070   HRESULT WINAPI IFilterGraph_Reconnect_Proxy(IFilterGraph *This,IPin *ppin);
   1071   void __RPC_STUB IFilterGraph_Reconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1072   HRESULT WINAPI IFilterGraph_Disconnect_Proxy(IFilterGraph *This,IPin *ppin);
   1073   void __RPC_STUB IFilterGraph_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1074   HRESULT WINAPI IFilterGraph_SetDefaultSyncSource_Proxy(IFilterGraph *This);
   1075   void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1076 #endif
   1077 
   1078   typedef IFilterGraph *PFILTERGRAPH;
   1079 
   1080   extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
   1081   extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
   1082 #ifndef __IEnumFilters_INTERFACE_DEFINED__
   1083 #define __IEnumFilters_INTERFACE_DEFINED__
   1084   EXTERN_C const IID IID_IEnumFilters;
   1085 #if defined(__cplusplus) && !defined(CINTERFACE)
   1086   struct IEnumFilters : public IUnknown {
   1087   public:
   1088     virtual HRESULT WINAPI Next(ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) = 0;
   1089     virtual HRESULT WINAPI Skip(ULONG cFilters) = 0;
   1090     virtual HRESULT WINAPI Reset(void) = 0;
   1091     virtual HRESULT WINAPI Clone(IEnumFilters **ppEnum) = 0;
   1092   };
   1093 #else
   1094   typedef struct IEnumFiltersVtbl {
   1095     BEGIN_INTERFACE
   1096       HRESULT (WINAPI *QueryInterface)(IEnumFilters *This,REFIID riid,void **ppvObject);
   1097       ULONG (WINAPI *AddRef)(IEnumFilters *This);
   1098       ULONG (WINAPI *Release)(IEnumFilters *This);
   1099       HRESULT (WINAPI *Next)(IEnumFilters *This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched);
   1100       HRESULT (WINAPI *Skip)(IEnumFilters *This,ULONG cFilters);
   1101       HRESULT (WINAPI *Reset)(IEnumFilters *This);
   1102       HRESULT (WINAPI *Clone)(IEnumFilters *This,IEnumFilters **ppEnum);
   1103     END_INTERFACE
   1104   } IEnumFiltersVtbl;
   1105   struct IEnumFilters {
   1106     CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
   1107   };
   1108 #ifdef COBJMACROS
   1109 #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1110 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
   1111 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This)
   1112 #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched)
   1113 #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
   1114 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This)
   1115 #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   1116 #endif
   1117 #endif
   1118   HRESULT WINAPI IEnumFilters_Next_Proxy(IEnumFilters *This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched);
   1119   void __RPC_STUB IEnumFilters_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1120   HRESULT WINAPI IEnumFilters_Skip_Proxy(IEnumFilters *This,ULONG cFilters);
   1121   void __RPC_STUB IEnumFilters_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1122   HRESULT WINAPI IEnumFilters_Reset_Proxy(IEnumFilters *This);
   1123   void __RPC_STUB IEnumFilters_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1124   HRESULT WINAPI IEnumFilters_Clone_Proxy(IEnumFilters *This,IEnumFilters **ppEnum);
   1125   void __RPC_STUB IEnumFilters_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1126 #endif
   1127 
   1128   typedef IEnumFilters *PENUMFILTERS;
   1129 
   1130   extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
   1131   extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
   1132 #ifndef __IMediaFilter_INTERFACE_DEFINED__
   1133 #define __IMediaFilter_INTERFACE_DEFINED__
   1134   typedef enum _FilterState {
   1135     State_Stopped = 0,State_Paused,State_Running
   1136   } FILTER_STATE;
   1137 
   1138   EXTERN_C const IID IID_IMediaFilter;
   1139 #if defined(__cplusplus) && !defined(CINTERFACE)
   1140   struct IMediaFilter : public IPersist {
   1141   public:
   1142     virtual HRESULT WINAPI Stop(void) = 0;
   1143     virtual HRESULT WINAPI Pause(void) = 0;
   1144     virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0;
   1145     virtual HRESULT WINAPI GetState(DWORD dwMilliSecsTimeout,FILTER_STATE *State) = 0;
   1146     virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0;
   1147     virtual HRESULT WINAPI GetSyncSource(IReferenceClock **pClock) = 0;
   1148   };
   1149 #else
   1150   typedef struct IMediaFilterVtbl {
   1151     BEGIN_INTERFACE
   1152       HRESULT (WINAPI *QueryInterface)(IMediaFilter *This,REFIID riid,void **ppvObject);
   1153       ULONG (WINAPI *AddRef)(IMediaFilter *This);
   1154       ULONG (WINAPI *Release)(IMediaFilter *This);
   1155       HRESULT (WINAPI *GetClassID)(IMediaFilter *This,CLSID *pClassID);
   1156       HRESULT (WINAPI *Stop)(IMediaFilter *This);
   1157       HRESULT (WINAPI *Pause)(IMediaFilter *This);
   1158       HRESULT (WINAPI *Run)(IMediaFilter *This,REFERENCE_TIME tStart);
   1159       HRESULT (WINAPI *GetState)(IMediaFilter *This,DWORD dwMilliSecsTimeout,FILTER_STATE *State);
   1160       HRESULT (WINAPI *SetSyncSource)(IMediaFilter *This,IReferenceClock *pClock);
   1161       HRESULT (WINAPI *GetSyncSource)(IMediaFilter *This,IReferenceClock **pClock);
   1162     END_INTERFACE
   1163   } IMediaFilterVtbl;
   1164   struct IMediaFilter {
   1165     CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
   1166   };
   1167 #ifdef COBJMACROS
   1168 #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1169 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   1170 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This)
   1171 #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   1172 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This)
   1173 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This)
   1174 #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   1175 #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
   1176 #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   1177 #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
   1178 #endif
   1179 #endif
   1180   HRESULT WINAPI IMediaFilter_Stop_Proxy(IMediaFilter *This);
   1181   void __RPC_STUB IMediaFilter_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1182   HRESULT WINAPI IMediaFilter_Pause_Proxy(IMediaFilter *This);
   1183   void __RPC_STUB IMediaFilter_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1184   HRESULT WINAPI IMediaFilter_Run_Proxy(IMediaFilter *This,REFERENCE_TIME tStart);
   1185   void __RPC_STUB IMediaFilter_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1186   HRESULT WINAPI IMediaFilter_GetState_Proxy(IMediaFilter *This,DWORD dwMilliSecsTimeout,FILTER_STATE *State);
   1187   void __RPC_STUB IMediaFilter_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1188   HRESULT WINAPI IMediaFilter_SetSyncSource_Proxy(IMediaFilter *This,IReferenceClock *pClock);
   1189   void __RPC_STUB IMediaFilter_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1190   HRESULT WINAPI IMediaFilter_GetSyncSource_Proxy(IMediaFilter *This,IReferenceClock **pClock);
   1191   void __RPC_STUB IMediaFilter_GetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1192 #endif
   1193 
   1194   typedef IMediaFilter *PMEDIAFILTER;
   1195 
   1196   extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
   1197   extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
   1198 #ifndef __IBaseFilter_INTERFACE_DEFINED__
   1199 #define __IBaseFilter_INTERFACE_DEFINED__
   1200 
   1201   typedef struct _FilterInfo {
   1202     WCHAR achName[128];
   1203     IFilterGraph *pGraph;
   1204   } FILTER_INFO;
   1205 
   1206   EXTERN_C const IID IID_IBaseFilter;
   1207 #if defined(__cplusplus) && !defined(CINTERFACE)
   1208   struct IBaseFilter : public IMediaFilter {
   1209   public:
   1210     virtual HRESULT WINAPI EnumPins(IEnumPins **ppEnum) = 0;
   1211     virtual HRESULT WINAPI FindPin(LPCWSTR Id,IPin **ppPin) = 0;
   1212     virtual HRESULT WINAPI QueryFilterInfo(FILTER_INFO *pInfo) = 0;
   1213     virtual HRESULT WINAPI JoinFilterGraph(IFilterGraph *pGraph,LPCWSTR pName) = 0;
   1214     virtual HRESULT WINAPI QueryVendorInfo(LPWSTR *pVendorInfo) = 0;
   1215   };
   1216 #else
   1217   typedef struct IBaseFilterVtbl {
   1218     BEGIN_INTERFACE
   1219       HRESULT (WINAPI *QueryInterface)(IBaseFilter *This,REFIID riid,void **ppvObject);
   1220       ULONG (WINAPI *AddRef)(IBaseFilter *This);
   1221       ULONG (WINAPI *Release)(IBaseFilter *This);
   1222       HRESULT (WINAPI *GetClassID)(IBaseFilter *This,CLSID *pClassID);
   1223       HRESULT (WINAPI *Stop)(IBaseFilter *This);
   1224       HRESULT (WINAPI *Pause)(IBaseFilter *This);
   1225       HRESULT (WINAPI *Run)(IBaseFilter *This,REFERENCE_TIME tStart);
   1226       HRESULT (WINAPI *GetState)(IBaseFilter *This,DWORD dwMilliSecsTimeout,FILTER_STATE *State);
   1227       HRESULT (WINAPI *SetSyncSource)(IBaseFilter *This,IReferenceClock *pClock);
   1228       HRESULT (WINAPI *GetSyncSource)(IBaseFilter *This,IReferenceClock **pClock);
   1229       HRESULT (WINAPI *EnumPins)(IBaseFilter *This,IEnumPins **ppEnum);
   1230       HRESULT (WINAPI *FindPin)(IBaseFilter *This,LPCWSTR Id,IPin **ppPin);
   1231       HRESULT (WINAPI *QueryFilterInfo)(IBaseFilter *This,FILTER_INFO *pInfo);
   1232       HRESULT (WINAPI *JoinFilterGraph)(IBaseFilter *This,IFilterGraph *pGraph,LPCWSTR pName);
   1233       HRESULT (WINAPI *QueryVendorInfo)(IBaseFilter *This,LPWSTR *pVendorInfo);
   1234     END_INTERFACE
   1235   } IBaseFilterVtbl;
   1236   struct IBaseFilter {
   1237     CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
   1238   };
   1239 #ifdef COBJMACROS
   1240 #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1241 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   1242 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This)
   1243 #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   1244 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This)
   1245 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This)
   1246 #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   1247 #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
   1248 #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   1249 #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
   1250 #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum)
   1251 #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin)
   1252 #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo)
   1253 #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName)
   1254 #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo)
   1255 #endif
   1256 #endif
   1257   HRESULT WINAPI IBaseFilter_EnumPins_Proxy(IBaseFilter *This,IEnumPins **ppEnum);
   1258   void __RPC_STUB IBaseFilter_EnumPins_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1259   HRESULT WINAPI IBaseFilter_FindPin_Proxy(IBaseFilter *This,LPCWSTR Id,IPin **ppPin);
   1260   void __RPC_STUB IBaseFilter_FindPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1261   HRESULT WINAPI IBaseFilter_QueryFilterInfo_Proxy(IBaseFilter *This,FILTER_INFO *pInfo);
   1262   void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1263   HRESULT WINAPI IBaseFilter_JoinFilterGraph_Proxy(IBaseFilter *This,IFilterGraph *pGraph,LPCWSTR pName);
   1264   void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1265   HRESULT WINAPI IBaseFilter_QueryVendorInfo_Proxy(IBaseFilter *This,LPWSTR *pVendorInfo);
   1266   void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1267 #endif
   1268 
   1269   typedef IBaseFilter *PFILTER;
   1270 
   1271   extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
   1272   extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
   1273 #ifndef __IReferenceClock_INTERFACE_DEFINED__
   1274 #define __IReferenceClock_INTERFACE_DEFINED__
   1275   EXTERN_C const IID IID_IReferenceClock;
   1276 #if defined(__cplusplus) && !defined(CINTERFACE)
   1277   struct IReferenceClock : public IUnknown {
   1278   public:
   1279     virtual HRESULT WINAPI GetTime(REFERENCE_TIME *pTime) = 0;
   1280     virtual HRESULT WINAPI AdviseTime(REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) = 0;
   1281     virtual HRESULT WINAPI AdvisePeriodic(REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) = 0;
   1282     virtual HRESULT WINAPI Unadvise(DWORD_PTR dwAdviseCookie) = 0;
   1283   };
   1284 #else
   1285   typedef struct IReferenceClockVtbl {
   1286     BEGIN_INTERFACE
   1287       HRESULT (WINAPI *QueryInterface)(IReferenceClock *This,REFIID riid,void **ppvObject);
   1288       ULONG (WINAPI *AddRef)(IReferenceClock *This);
   1289       ULONG (WINAPI *Release)(IReferenceClock *This);
   1290       HRESULT (WINAPI *GetTime)(IReferenceClock *This,REFERENCE_TIME *pTime);
   1291       HRESULT (WINAPI *AdviseTime)(IReferenceClock *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
   1292       HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
   1293       HRESULT (WINAPI *Unadvise)(IReferenceClock *This,DWORD_PTR dwAdviseCookie);
   1294     END_INTERFACE
   1295   } IReferenceClockVtbl;
   1296   struct IReferenceClock {
   1297     CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
   1298   };
   1299 #ifdef COBJMACROS
   1300 #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1301 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This)
   1302 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This)
   1303 #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
   1304 #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
   1305 #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
   1306 #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
   1307 #endif
   1308 #endif
   1309   HRESULT WINAPI IReferenceClock_GetTime_Proxy(IReferenceClock *This,REFERENCE_TIME *pTime);
   1310   void __RPC_STUB IReferenceClock_GetTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1311   HRESULT WINAPI IReferenceClock_AdviseTime_Proxy(IReferenceClock *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
   1312   void __RPC_STUB IReferenceClock_AdviseTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1313   HRESULT WINAPI IReferenceClock_AdvisePeriodic_Proxy(IReferenceClock *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
   1314   void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1315   HRESULT WINAPI IReferenceClock_Unadvise_Proxy(IReferenceClock *This,DWORD_PTR dwAdviseCookie);
   1316   void __RPC_STUB IReferenceClock_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1317 #endif
   1318 
   1319   typedef IReferenceClock *PREFERENCECLOCK;
   1320 
   1321   extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
   1322   extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
   1323 #ifndef __IReferenceClock2_INTERFACE_DEFINED__
   1324 #define __IReferenceClock2_INTERFACE_DEFINED__
   1325   EXTERN_C const IID IID_IReferenceClock2;
   1326 #if defined(__cplusplus) && !defined(CINTERFACE)
   1327   struct IReferenceClock2 : public IReferenceClock {
   1328   };
   1329 #else
   1330   typedef struct IReferenceClock2Vtbl {
   1331     BEGIN_INTERFACE
   1332       HRESULT (WINAPI *QueryInterface)(IReferenceClock2 *This,REFIID riid,void **ppvObject);
   1333       ULONG (WINAPI *AddRef)(IReferenceClock2 *This);
   1334       ULONG (WINAPI *Release)(IReferenceClock2 *This);
   1335       HRESULT (WINAPI *GetTime)(IReferenceClock2 *This,REFERENCE_TIME *pTime);
   1336       HRESULT (WINAPI *AdviseTime)(IReferenceClock2 *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
   1337       HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock2 *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
   1338       HRESULT (WINAPI *Unadvise)(IReferenceClock2 *This,DWORD_PTR dwAdviseCookie);
   1339     END_INTERFACE
   1340   } IReferenceClock2Vtbl;
   1341   struct IReferenceClock2 {
   1342     CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
   1343   };
   1344 #ifdef COBJMACROS
   1345 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1346 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1347 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This)
   1348 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
   1349 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
   1350 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
   1351 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
   1352 #endif
   1353 #endif
   1354 #endif
   1355 
   1356   typedef IReferenceClock2 *PREFERENCECLOCK2;
   1357 
   1358   extern RPC_IF_HANDLE __MIDL_itf_strmif_0126_v0_0_c_ifspec;
   1359   extern RPC_IF_HANDLE __MIDL_itf_strmif_0126_v0_0_s_ifspec;
   1360 #ifndef __IMediaSample_INTERFACE_DEFINED__
   1361 #define __IMediaSample_INTERFACE_DEFINED__
   1362   EXTERN_C const IID IID_IMediaSample;
   1363 #if defined(__cplusplus) && !defined(CINTERFACE)
   1364   struct IMediaSample : public IUnknown {
   1365   public:
   1366     virtual HRESULT WINAPI GetPointer(BYTE **ppBuffer) = 0;
   1367     virtual long WINAPI GetSize(void) = 0;
   1368     virtual HRESULT WINAPI GetTime(REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) = 0;
   1369     virtual HRESULT WINAPI SetTime(REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) = 0;
   1370     virtual HRESULT WINAPI IsSyncPoint(void) = 0;
   1371     virtual HRESULT WINAPI SetSyncPoint(WINBOOL bIsSyncPoint) = 0;
   1372     virtual HRESULT WINAPI IsPreroll(void) = 0;
   1373     virtual HRESULT WINAPI SetPreroll(WINBOOL bIsPreroll) = 0;
   1374     virtual long WINAPI GetActualDataLength(void) = 0;
   1375     virtual HRESULT WINAPI SetActualDataLength(long __MIDL_0010) = 0;
   1376     virtual HRESULT WINAPI GetMediaType(AM_MEDIA_TYPE **ppMediaType) = 0;
   1377     virtual HRESULT WINAPI SetMediaType(AM_MEDIA_TYPE *pMediaType) = 0;
   1378     virtual HRESULT WINAPI IsDiscontinuity(void) = 0;
   1379     virtual HRESULT WINAPI SetDiscontinuity(WINBOOL bDiscontinuity) = 0;
   1380     virtual HRESULT WINAPI GetMediaTime(LONGLONG *pTimeStart,LONGLONG *pTimeEnd) = 0;
   1381     virtual HRESULT WINAPI SetMediaTime(LONGLONG *pTimeStart,LONGLONG *pTimeEnd) = 0;
   1382   };
   1383 #else
   1384   typedef struct IMediaSampleVtbl {
   1385     BEGIN_INTERFACE
   1386       HRESULT (WINAPI *QueryInterface)(IMediaSample *This,REFIID riid,void **ppvObject);
   1387       ULONG (WINAPI *AddRef)(IMediaSample *This);
   1388       ULONG (WINAPI *Release)(IMediaSample *This);
   1389       HRESULT (WINAPI *GetPointer)(IMediaSample *This,BYTE **ppBuffer);
   1390       long (WINAPI *GetSize)(IMediaSample *This);
   1391       HRESULT (WINAPI *GetTime)(IMediaSample *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
   1392       HRESULT (WINAPI *SetTime)(IMediaSample *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
   1393       HRESULT (WINAPI *IsSyncPoint)(IMediaSample *This);
   1394       HRESULT (WINAPI *SetSyncPoint)(IMediaSample *This,WINBOOL bIsSyncPoint);
   1395       HRESULT (WINAPI *IsPreroll)(IMediaSample *This);
   1396       HRESULT (WINAPI *SetPreroll)(IMediaSample *This,WINBOOL bIsPreroll);
   1397       long (WINAPI *GetActualDataLength)(IMediaSample *This);
   1398       HRESULT (WINAPI *SetActualDataLength)(IMediaSample *This,long __MIDL_0010);
   1399       HRESULT (WINAPI *GetMediaType)(IMediaSample *This,AM_MEDIA_TYPE **ppMediaType);
   1400       HRESULT (WINAPI *SetMediaType)(IMediaSample *This,AM_MEDIA_TYPE *pMediaType);
   1401       HRESULT (WINAPI *IsDiscontinuity)(IMediaSample *This);
   1402       HRESULT (WINAPI *SetDiscontinuity)(IMediaSample *This,WINBOOL bDiscontinuity);
   1403       HRESULT (WINAPI *GetMediaTime)(IMediaSample *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
   1404       HRESULT (WINAPI *SetMediaTime)(IMediaSample *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
   1405     END_INTERFACE
   1406   } IMediaSampleVtbl;
   1407   struct IMediaSample {
   1408     CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
   1409   };
   1410 #ifdef COBJMACROS
   1411 #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1412 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
   1413 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This)
   1414 #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
   1415 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This)
   1416 #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
   1417 #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
   1418 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
   1419 #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
   1420 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
   1421 #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
   1422 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
   1423 #define IMediaSample_SetActualDataLength(This,__MIDL_0010) (This)->lpVtbl->SetActualDataLength(This,__MIDL_0010)
   1424 #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
   1425 #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
   1426 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
   1427 #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
   1428 #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
   1429 #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
   1430 #endif
   1431 #endif
   1432   HRESULT WINAPI IMediaSample_GetPointer_Proxy(IMediaSample *This,BYTE **ppBuffer);
   1433   void __RPC_STUB IMediaSample_GetPointer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1434   long WINAPI IMediaSample_GetSize_Proxy(IMediaSample *This);
   1435   void __RPC_STUB IMediaSample_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1436   HRESULT WINAPI IMediaSample_GetTime_Proxy(IMediaSample *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
   1437   void __RPC_STUB IMediaSample_GetTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1438   HRESULT WINAPI IMediaSample_SetTime_Proxy(IMediaSample *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
   1439   void __RPC_STUB IMediaSample_SetTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1440   HRESULT WINAPI IMediaSample_IsSyncPoint_Proxy(IMediaSample *This);
   1441   void __RPC_STUB IMediaSample_IsSyncPoint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1442   HRESULT WINAPI IMediaSample_SetSyncPoint_Proxy(IMediaSample *This,WINBOOL bIsSyncPoint);
   1443   void __RPC_STUB IMediaSample_SetSyncPoint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1444   HRESULT WINAPI IMediaSample_IsPreroll_Proxy(IMediaSample *This);
   1445   void __RPC_STUB IMediaSample_IsPreroll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1446   HRESULT WINAPI IMediaSample_SetPreroll_Proxy(IMediaSample *This,WINBOOL bIsPreroll);
   1447   void __RPC_STUB IMediaSample_SetPreroll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1448   long WINAPI IMediaSample_GetActualDataLength_Proxy(IMediaSample *This);
   1449   void __RPC_STUB IMediaSample_GetActualDataLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1450   HRESULT WINAPI IMediaSample_SetActualDataLength_Proxy(IMediaSample *This,long __MIDL_0010);
   1451   void __RPC_STUB IMediaSample_SetActualDataLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1452   HRESULT WINAPI IMediaSample_GetMediaType_Proxy(IMediaSample *This,AM_MEDIA_TYPE **ppMediaType);
   1453   void __RPC_STUB IMediaSample_GetMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1454   HRESULT WINAPI IMediaSample_SetMediaType_Proxy(IMediaSample *This,AM_MEDIA_TYPE *pMediaType);
   1455   void __RPC_STUB IMediaSample_SetMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1456   HRESULT WINAPI IMediaSample_IsDiscontinuity_Proxy(IMediaSample *This);
   1457   void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1458   HRESULT WINAPI IMediaSample_SetDiscontinuity_Proxy(IMediaSample *This,WINBOOL bDiscontinuity);
   1459   void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1460   HRESULT WINAPI IMediaSample_GetMediaTime_Proxy(IMediaSample *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
   1461   void __RPC_STUB IMediaSample_GetMediaTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1462   HRESULT WINAPI IMediaSample_SetMediaTime_Proxy(IMediaSample *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
   1463   void __RPC_STUB IMediaSample_SetMediaTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1464 #endif
   1465 
   1466   typedef IMediaSample *PMEDIASAMPLE;
   1467 
   1468   enum tagAM_SAMPLE_PROPERTY_FLAGS {
   1469     AM_SAMPLE_SPLICEPOINT = 0x1,AM_SAMPLE_PREROLL = 0x2,AM_SAMPLE_DATADISCONTINUITY = 0x4,AM_SAMPLE_TYPECHANGED = 0x8,AM_SAMPLE_TIMEVALID = 0x10,
   1470     AM_SAMPLE_TIMEDISCONTINUITY = 0x40,AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,AM_SAMPLE_STOPVALID = 0x100,AM_SAMPLE_ENDOFSTREAM = 0x200,AM_STREAM_MEDIA = 0,
   1471     AM_STREAM_CONTROL = 1
   1472   };
   1473   typedef struct tagAM_SAMPLE2_PROPERTIES {
   1474     DWORD cbData;
   1475     DWORD dwTypeSpecificFlags;
   1476     DWORD dwSampleFlags;
   1477     LONG lActual;
   1478     REFERENCE_TIME tStart;
   1479     REFERENCE_TIME tStop;
   1480     DWORD dwStreamId;
   1481     AM_MEDIA_TYPE *pMediaType;
   1482     BYTE *pbBuffer;
   1483     LONG cbBuffer;
   1484   } AM_SAMPLE2_PROPERTIES;
   1485 
   1486   extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_c_ifspec;
   1487   extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_s_ifspec;
   1488 #ifndef __IMediaSample2_INTERFACE_DEFINED__
   1489 #define __IMediaSample2_INTERFACE_DEFINED__
   1490   EXTERN_C const IID IID_IMediaSample2;
   1491 #if defined(__cplusplus) && !defined(CINTERFACE)
   1492   struct IMediaSample2 : public IMediaSample {
   1493   public:
   1494     virtual HRESULT WINAPI GetProperties(DWORD cbProperties,BYTE *pbProperties) = 0;
   1495     virtual HRESULT WINAPI SetProperties(DWORD cbProperties,const BYTE *pbProperties) = 0;
   1496   };
   1497 #else
   1498   typedef struct IMediaSample2Vtbl {
   1499     BEGIN_INTERFACE
   1500       HRESULT (WINAPI *QueryInterface)(IMediaSample2 *This,REFIID riid,void **ppvObject);
   1501       ULONG (WINAPI *AddRef)(IMediaSample2 *This);
   1502       ULONG (WINAPI *Release)(IMediaSample2 *This);
   1503       HRESULT (WINAPI *GetPointer)(IMediaSample2 *This,BYTE **ppBuffer);
   1504       long (WINAPI *GetSize)(IMediaSample2 *This);
   1505       HRESULT (WINAPI *GetTime)(IMediaSample2 *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
   1506       HRESULT (WINAPI *SetTime)(IMediaSample2 *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
   1507       HRESULT (WINAPI *IsSyncPoint)(IMediaSample2 *This);
   1508       HRESULT (WINAPI *SetSyncPoint)(IMediaSample2 *This,WINBOOL bIsSyncPoint);
   1509       HRESULT (WINAPI *IsPreroll)(IMediaSample2 *This);
   1510       HRESULT (WINAPI *SetPreroll)(IMediaSample2 *This,WINBOOL bIsPreroll);
   1511       long (WINAPI *GetActualDataLength)(IMediaSample2 *This);
   1512       HRESULT (WINAPI *SetActualDataLength)(IMediaSample2 *This,long __MIDL_0010);
   1513       HRESULT (WINAPI *GetMediaType)(IMediaSample2 *This,AM_MEDIA_TYPE **ppMediaType);
   1514       HRESULT (WINAPI *SetMediaType)(IMediaSample2 *This,AM_MEDIA_TYPE *pMediaType);
   1515       HRESULT (WINAPI *IsDiscontinuity)(IMediaSample2 *This);
   1516       HRESULT (WINAPI *SetDiscontinuity)(IMediaSample2 *This,WINBOOL bDiscontinuity);
   1517       HRESULT (WINAPI *GetMediaTime)(IMediaSample2 *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
   1518       HRESULT (WINAPI *SetMediaTime)(IMediaSample2 *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
   1519       HRESULT (WINAPI *GetProperties)(IMediaSample2 *This,DWORD cbProperties,BYTE *pbProperties);
   1520       HRESULT (WINAPI *SetProperties)(IMediaSample2 *This,DWORD cbProperties,const BYTE *pbProperties);
   1521     END_INTERFACE
   1522   } IMediaSample2Vtbl;
   1523   struct IMediaSample2 {
   1524     CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
   1525   };
   1526 #ifdef COBJMACROS
   1527 #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1528 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1529 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This)
   1530 #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
   1531 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This)
   1532 #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
   1533 #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
   1534 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
   1535 #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
   1536 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
   1537 #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
   1538 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
   1539 #define IMediaSample2_SetActualDataLength(This,__MIDL_0010) (This)->lpVtbl->SetActualDataLength(This,__MIDL_0010)
   1540 #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
   1541 #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
   1542 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
   1543 #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
   1544 #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
   1545 #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
   1546 #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties)
   1547 #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties)
   1548 #endif
   1549 #endif
   1550   HRESULT WINAPI IMediaSample2_GetProperties_Proxy(IMediaSample2 *This,DWORD cbProperties,BYTE *pbProperties);
   1551   void __RPC_STUB IMediaSample2_GetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1552   HRESULT WINAPI IMediaSample2_SetProperties_Proxy(IMediaSample2 *This,DWORD cbProperties,const BYTE *pbProperties);
   1553   void __RPC_STUB IMediaSample2_SetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1554 #endif
   1555 
   1556   typedef IMediaSample2 *PMEDIASAMPLE2;
   1557 
   1558 #define AM_GBF_PREVFRAMESKIPPED 1
   1559 #define AM_GBF_NOTASYNCPOINT 2
   1560 #define AM_GBF_NOWAIT 4
   1561 #define AM_GBF_NODDSURFACELOCK 8
   1562 
   1563   extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;
   1564   extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;
   1565 #ifndef __IMemAllocator_INTERFACE_DEFINED__
   1566 #define __IMemAllocator_INTERFACE_DEFINED__
   1567   EXTERN_C const IID IID_IMemAllocator;
   1568 #if defined(__cplusplus) && !defined(CINTERFACE)
   1569   struct IMemAllocator : public IUnknown {
   1570   public:
   1571     virtual HRESULT WINAPI SetProperties(ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) = 0;
   1572     virtual HRESULT WINAPI GetProperties(ALLOCATOR_PROPERTIES *pProps) = 0;
   1573     virtual HRESULT WINAPI Commit(void) = 0;
   1574     virtual HRESULT WINAPI Decommit(void) = 0;
   1575     virtual HRESULT WINAPI GetBuffer(IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) = 0;
   1576     virtual HRESULT WINAPI ReleaseBuffer(IMediaSample *pBuffer) = 0;
   1577   };
   1578 #else
   1579   typedef struct IMemAllocatorVtbl {
   1580     BEGIN_INTERFACE
   1581       HRESULT (WINAPI *QueryInterface)(IMemAllocator *This,REFIID riid,void **ppvObject);
   1582       ULONG (WINAPI *AddRef)(IMemAllocator *This);
   1583       ULONG (WINAPI *Release)(IMemAllocator *This);
   1584       HRESULT (WINAPI *SetProperties)(IMemAllocator *This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual);
   1585       HRESULT (WINAPI *GetProperties)(IMemAllocator *This,ALLOCATOR_PROPERTIES *pProps);
   1586       HRESULT (WINAPI *Commit)(IMemAllocator *This);
   1587       HRESULT (WINAPI *Decommit)(IMemAllocator *This);
   1588       HRESULT (WINAPI *GetBuffer)(IMemAllocator *This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags);
   1589       HRESULT (WINAPI *ReleaseBuffer)(IMemAllocator *This,IMediaSample *pBuffer);
   1590     END_INTERFACE
   1591   } IMemAllocatorVtbl;
   1592   struct IMemAllocator {
   1593     CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
   1594   };
   1595 #ifdef COBJMACROS
   1596 #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1597 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   1598 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This)
   1599 #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
   1600 #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
   1601 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This)
   1602 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This)
   1603 #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
   1604 #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
   1605 #endif
   1606 #endif
   1607   HRESULT WINAPI IMemAllocator_SetProperties_Proxy(IMemAllocator *This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual);
   1608   void __RPC_STUB IMemAllocator_SetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1609   HRESULT WINAPI IMemAllocator_GetProperties_Proxy(IMemAllocator *This,ALLOCATOR_PROPERTIES *pProps);
   1610   void __RPC_STUB IMemAllocator_GetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1611   HRESULT WINAPI IMemAllocator_Commit_Proxy(IMemAllocator *This);
   1612   void __RPC_STUB IMemAllocator_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1613   HRESULT WINAPI IMemAllocator_Decommit_Proxy(IMemAllocator *This);
   1614   void __RPC_STUB IMemAllocator_Decommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1615   HRESULT WINAPI IMemAllocator_GetBuffer_Proxy(IMemAllocator *This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags);
   1616   void __RPC_STUB IMemAllocator_GetBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1617   HRESULT WINAPI IMemAllocator_ReleaseBuffer_Proxy(IMemAllocator *This,IMediaSample *pBuffer);
   1618   void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1619 #endif
   1620 
   1621   typedef IMemAllocator *PMEMALLOCATOR;
   1622 
   1623   extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
   1624   extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
   1625 #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
   1626 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
   1627   EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
   1628 #if defined(__cplusplus) && !defined(CINTERFACE)
   1629   struct IMemAllocatorCallbackTemp : public IMemAllocator {
   1630   public:
   1631     virtual HRESULT WINAPI SetNotify(IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
   1632     virtual HRESULT WINAPI GetFreeCount(LONG *plBuffersFree) = 0;
   1633   };
   1634 #else
   1635   typedef struct IMemAllocatorCallbackTempVtbl {
   1636     BEGIN_INTERFACE
   1637       HRESULT (WINAPI *QueryInterface)(IMemAllocatorCallbackTemp *This,REFIID riid,void **ppvObject);
   1638       ULONG (WINAPI *AddRef)(IMemAllocatorCallbackTemp *This);
   1639       ULONG (WINAPI *Release)(IMemAllocatorCallbackTemp *This);
   1640       HRESULT (WINAPI *SetProperties)(IMemAllocatorCallbackTemp *This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual);
   1641       HRESULT (WINAPI *GetProperties)(IMemAllocatorCallbackTemp *This,ALLOCATOR_PROPERTIES *pProps);
   1642       HRESULT (WINAPI *Commit)(IMemAllocatorCallbackTemp *This);
   1643       HRESULT (WINAPI *Decommit)(IMemAllocatorCallbackTemp *This);
   1644       HRESULT (WINAPI *GetBuffer)(IMemAllocatorCallbackTemp *This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags);
   1645       HRESULT (WINAPI *ReleaseBuffer)(IMemAllocatorCallbackTemp *This,IMediaSample *pBuffer);
   1646       HRESULT (WINAPI *SetNotify)(IMemAllocatorCallbackTemp *This,IMemAllocatorNotifyCallbackTemp *pNotify);
   1647       HRESULT (WINAPI *GetFreeCount)(IMemAllocatorCallbackTemp *This,LONG *plBuffersFree);
   1648     END_INTERFACE
   1649   } IMemAllocatorCallbackTempVtbl;
   1650   struct IMemAllocatorCallbackTemp {
   1651     CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
   1652   };
   1653 #ifdef COBJMACROS
   1654 #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1655 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
   1656 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
   1657 #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
   1658 #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
   1659 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This)
   1660 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This)
   1661 #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
   1662 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
   1663 #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify)
   1664 #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree)
   1665 #endif
   1666 #endif
   1667   HRESULT WINAPI IMemAllocatorCallbackTemp_SetNotify_Proxy(IMemAllocatorCallbackTemp *This,IMemAllocatorNotifyCallbackTemp *pNotify);
   1668   void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1669   HRESULT WINAPI IMemAllocatorCallbackTemp_GetFreeCount_Proxy(IMemAllocatorCallbackTemp *This,LONG *plBuffersFree);
   1670   void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1671 #endif
   1672 
   1673 #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
   1674 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
   1675   EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
   1676 #if defined(__cplusplus) && !defined(CINTERFACE)
   1677   struct IMemAllocatorNotifyCallbackTemp : public IUnknown {
   1678   public:
   1679     virtual HRESULT WINAPI NotifyRelease(void) = 0;
   1680   };
   1681 #else
   1682   typedef struct IMemAllocatorNotifyCallbackTempVtbl {
   1683     BEGIN_INTERFACE
   1684       HRESULT (WINAPI *QueryInterface)(IMemAllocatorNotifyCallbackTemp *This,REFIID riid,void **ppvObject);
   1685       ULONG (WINAPI *AddRef)(IMemAllocatorNotifyCallbackTemp *This);
   1686       ULONG (WINAPI *Release)(IMemAllocatorNotifyCallbackTemp *This);
   1687       HRESULT (WINAPI *NotifyRelease)(IMemAllocatorNotifyCallbackTemp *This);
   1688     END_INTERFACE
   1689   } IMemAllocatorNotifyCallbackTempVtbl;
   1690   struct IMemAllocatorNotifyCallbackTemp {
   1691     CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
   1692   };
   1693 #ifdef COBJMACROS
   1694 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1695 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
   1696 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
   1697 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This)
   1698 #endif
   1699 #endif
   1700   HRESULT WINAPI IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(IMemAllocatorNotifyCallbackTemp *This);
   1701   void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1702 #endif
   1703 
   1704 #ifndef __IMemInputPin_INTERFACE_DEFINED__
   1705 #define __IMemInputPin_INTERFACE_DEFINED__
   1706   EXTERN_C const IID IID_IMemInputPin;
   1707 #if defined(__cplusplus) && !defined(CINTERFACE)
   1708   struct IMemInputPin : public IUnknown {
   1709   public:
   1710     virtual HRESULT WINAPI GetAllocator(IMemAllocator **ppAllocator) = 0;
   1711     virtual HRESULT WINAPI NotifyAllocator(IMemAllocator *pAllocator,WINBOOL bReadOnly) = 0;
   1712     virtual HRESULT WINAPI GetAllocatorRequirements(ALLOCATOR_PROPERTIES *pProps) = 0;
   1713     virtual HRESULT WINAPI Receive(IMediaSample *pSample) = 0;
   1714     virtual HRESULT WINAPI ReceiveMultiple(IMediaSample **pSamples,long nSamples,long *nSamplesProcessed) = 0;
   1715     virtual HRESULT WINAPI ReceiveCanBlock(void) = 0;
   1716   };
   1717 #else
   1718   typedef struct IMemInputPinVtbl {
   1719     BEGIN_INTERFACE
   1720       HRESULT (WINAPI *QueryInterface)(IMemInputPin *This,REFIID riid,void **ppvObject);
   1721       ULONG (WINAPI *AddRef)(IMemInputPin *This);
   1722       ULONG (WINAPI *Release)(IMemInputPin *This);
   1723       HRESULT (WINAPI *GetAllocator)(IMemInputPin *This,IMemAllocator **ppAllocator);
   1724       HRESULT (WINAPI *NotifyAllocator)(IMemInputPin *This,IMemAllocator *pAllocator,WINBOOL bReadOnly);
   1725       HRESULT (WINAPI *GetAllocatorRequirements)(IMemInputPin *This,ALLOCATOR_PROPERTIES *pProps);
   1726       HRESULT (WINAPI *Receive)(IMemInputPin *This,IMediaSample *pSample);
   1727       HRESULT (WINAPI *ReceiveMultiple)(IMemInputPin *This,IMediaSample **pSamples,long nSamples,long *nSamplesProcessed);
   1728       HRESULT (WINAPI *ReceiveCanBlock)(IMemInputPin *This);
   1729     END_INTERFACE
   1730   } IMemInputPinVtbl;
   1731   struct IMemInputPin {
   1732     CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
   1733   };
   1734 #ifdef COBJMACROS
   1735 #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1736 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This)
   1737 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This)
   1738 #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator)
   1739 #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly)
   1740 #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps)
   1741 #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample)
   1742 #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
   1743 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This)
   1744 #endif
   1745 #endif
   1746   HRESULT WINAPI IMemInputPin_GetAllocator_Proxy(IMemInputPin *This,IMemAllocator **ppAllocator);
   1747   void __RPC_STUB IMemInputPin_GetAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1748   HRESULT WINAPI IMemInputPin_NotifyAllocator_Proxy(IMemInputPin *This,IMemAllocator *pAllocator,WINBOOL bReadOnly);
   1749   void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1750   HRESULT WINAPI IMemInputPin_GetAllocatorRequirements_Proxy(IMemInputPin *This,ALLOCATOR_PROPERTIES *pProps);
   1751   void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1752   HRESULT WINAPI IMemInputPin_Receive_Proxy(IMemInputPin *This,IMediaSample *pSample);
   1753   void __RPC_STUB IMemInputPin_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1754   HRESULT WINAPI IMemInputPin_ReceiveMultiple_Proxy(IMemInputPin *This,IMediaSample **pSamples,long nSamples,long *nSamplesProcessed);
   1755   void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1756   HRESULT WINAPI IMemInputPin_ReceiveCanBlock_Proxy(IMemInputPin *This);
   1757   void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1758 #endif
   1759 
   1760   typedef IMemInputPin *PMEMINPUTPIN;
   1761 
   1762   extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_c_ifspec;
   1763   extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_s_ifspec;
   1764 #ifndef __IAMovieSetup_INTERFACE_DEFINED__
   1765 #define __IAMovieSetup_INTERFACE_DEFINED__
   1766   EXTERN_C const IID IID_IAMovieSetup;
   1767 #if defined(__cplusplus) && !defined(CINTERFACE)
   1768   struct IAMovieSetup : public IUnknown {
   1769   public:
   1770     virtual HRESULT WINAPI Register(void) = 0;
   1771     virtual HRESULT WINAPI Unregister(void) = 0;
   1772   };
   1773 #else
   1774   typedef struct IAMovieSetupVtbl {
   1775     BEGIN_INTERFACE
   1776       HRESULT (WINAPI *QueryInterface)(IAMovieSetup *This,REFIID riid,void **ppvObject);
   1777       ULONG (WINAPI *AddRef)(IAMovieSetup *This);
   1778       ULONG (WINAPI *Release)(IAMovieSetup *This);
   1779       HRESULT (WINAPI *Register)(IAMovieSetup *This);
   1780       HRESULT (WINAPI *Unregister)(IAMovieSetup *This);
   1781     END_INTERFACE
   1782   } IAMovieSetupVtbl;
   1783   struct IAMovieSetup {
   1784     CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
   1785   };
   1786 #ifdef COBJMACROS
   1787 #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1788 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This)
   1789 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This)
   1790 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This)
   1791 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This)
   1792 #endif
   1793 #endif
   1794   HRESULT WINAPI IAMovieSetup_Register_Proxy(IAMovieSetup *This);
   1795   void __RPC_STUB IAMovieSetup_Register_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1796   HRESULT WINAPI IAMovieSetup_Unregister_Proxy(IAMovieSetup *This);
   1797   void __RPC_STUB IAMovieSetup_Unregister_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1798 #endif
   1799 
   1800   typedef IAMovieSetup *PAMOVIESETUP;
   1801 
   1802   typedef enum AM_SEEKING_SeekingFlags {
   1803     AM_SEEKING_NoPositioning = 0,AM_SEEKING_AbsolutePositioning = 0x1,AM_SEEKING_RelativePositioning = 0x2,AM_SEEKING_IncrementalPositioning = 0x3,
   1804     AM_SEEKING_PositioningBitsMask = 0x3,AM_SEEKING_SeekToKeyFrame = 0x4,AM_SEEKING_ReturnTime = 0x8,AM_SEEKING_Segment = 0x10,AM_SEEKING_NoFlush = 0x20
   1805   } AM_SEEKING_SEEKING_FLAGS;
   1806 
   1807   typedef enum AM_SEEKING_SeekingCapabilities {
   1808     AM_SEEKING_CanSeekAbsolute = 0x1,AM_SEEKING_CanSeekForwards = 0x2,AM_SEEKING_CanSeekBackwards = 0x4,AM_SEEKING_CanGetCurrentPos = 0x8,
   1809     AM_SEEKING_CanGetStopPos = 0x10,AM_SEEKING_CanGetDuration = 0x20,AM_SEEKING_CanPlayBackwards = 0x40,AM_SEEKING_CanDoSegments = 0x80,
   1810     AM_SEEKING_Source = 0x100
   1811   } AM_SEEKING_SEEKING_CAPABILITIES;
   1812 
   1813   extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_c_ifspec;
   1814   extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_s_ifspec;
   1815 #ifndef __IMediaSeeking_INTERFACE_DEFINED__
   1816 #define __IMediaSeeking_INTERFACE_DEFINED__
   1817   EXTERN_C const IID IID_IMediaSeeking;
   1818 #if defined(__cplusplus) && !defined(CINTERFACE)
   1819   struct IMediaSeeking : public IUnknown {
   1820   public:
   1821     virtual HRESULT WINAPI GetCapabilities(DWORD *pCapabilities) = 0;
   1822     virtual HRESULT WINAPI CheckCapabilities(DWORD *pCapabilities) = 0;
   1823     virtual HRESULT WINAPI IsFormatSupported(const GUID *pFormat) = 0;
   1824     virtual HRESULT WINAPI QueryPreferredFormat(GUID *pFormat) = 0;
   1825     virtual HRESULT WINAPI GetTimeFormat(GUID *pFormat) = 0;
   1826     virtual HRESULT WINAPI IsUsingTimeFormat(const GUID *pFormat) = 0;
   1827     virtual HRESULT WINAPI SetTimeFormat(const GUID *pFormat) = 0;
   1828     virtual HRESULT WINAPI GetDuration(LONGLONG *pDuration) = 0;
   1829     virtual HRESULT WINAPI GetStopPosition(LONGLONG *pStop) = 0;
   1830     virtual HRESULT WINAPI GetCurrentPosition(LONGLONG *pCurrent) = 0;
   1831     virtual HRESULT WINAPI ConvertTimeFormat(LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) = 0;
   1832     virtual HRESULT WINAPI SetPositions(LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) = 0;
   1833     virtual HRESULT WINAPI GetPositions(LONGLONG *pCurrent,LONGLONG *pStop) = 0;
   1834     virtual HRESULT WINAPI GetAvailable(LONGLONG *pEarliest,LONGLONG *pLatest) = 0;
   1835     virtual HRESULT WINAPI SetRate(double dRate) = 0;
   1836     virtual HRESULT WINAPI GetRate(double *pdRate) = 0;
   1837     virtual HRESULT WINAPI GetPreroll(LONGLONG *pllPreroll) = 0;
   1838   };
   1839 #else
   1840   typedef struct IMediaSeekingVtbl {
   1841     BEGIN_INTERFACE
   1842       HRESULT (WINAPI *QueryInterface)(IMediaSeeking *This,REFIID riid,void **ppvObject);
   1843       ULONG (WINAPI *AddRef)(IMediaSeeking *This);
   1844       ULONG (WINAPI *Release)(IMediaSeeking *This);
   1845       HRESULT (WINAPI *GetCapabilities)(IMediaSeeking *This,DWORD *pCapabilities);
   1846       HRESULT (WINAPI *CheckCapabilities)(IMediaSeeking *This,DWORD *pCapabilities);
   1847       HRESULT (WINAPI *IsFormatSupported)(IMediaSeeking *This,const GUID *pFormat);
   1848       HRESULT (WINAPI *QueryPreferredFormat)(IMediaSeeking *This,GUID *pFormat);
   1849       HRESULT (WINAPI *GetTimeFormat)(IMediaSeeking *This,GUID *pFormat);
   1850       HRESULT (WINAPI *IsUsingTimeFormat)(IMediaSeeking *This,const GUID *pFormat);
   1851       HRESULT (WINAPI *SetTimeFormat)(IMediaSeeking *This,const GUID *pFormat);
   1852       HRESULT (WINAPI *GetDuration)(IMediaSeeking *This,LONGLONG *pDuration);
   1853       HRESULT (WINAPI *GetStopPosition)(IMediaSeeking *This,LONGLONG *pStop);
   1854       HRESULT (WINAPI *GetCurrentPosition)(IMediaSeeking *This,LONGLONG *pCurrent);
   1855       HRESULT (WINAPI *ConvertTimeFormat)(IMediaSeeking *This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat);
   1856       HRESULT (WINAPI *SetPositions)(IMediaSeeking *This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags);
   1857       HRESULT (WINAPI *GetPositions)(IMediaSeeking *This,LONGLONG *pCurrent,LONGLONG *pStop);
   1858       HRESULT (WINAPI *GetAvailable)(IMediaSeeking *This,LONGLONG *pEarliest,LONGLONG *pLatest);
   1859       HRESULT (WINAPI *SetRate)(IMediaSeeking *This,double dRate);
   1860       HRESULT (WINAPI *GetRate)(IMediaSeeking *This,double *pdRate);
   1861       HRESULT (WINAPI *GetPreroll)(IMediaSeeking *This,LONGLONG *pllPreroll);
   1862     END_INTERFACE
   1863   } IMediaSeekingVtbl;
   1864   struct IMediaSeeking {
   1865     CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
   1866   };
   1867 #ifdef COBJMACROS
   1868 #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1869 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This)
   1870 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This)
   1871 #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities)
   1872 #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities)
   1873 #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat)
   1874 #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat)
   1875 #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat)
   1876 #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat)
   1877 #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat)
   1878 #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
   1879 #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop)
   1880 #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent)
   1881 #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
   1882 #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
   1883 #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop)
   1884 #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest)
   1885 #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate)
   1886 #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate)
   1887 #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll)
   1888 #endif
   1889 #endif
   1890   HRESULT WINAPI IMediaSeeking_GetCapabilities_Proxy(IMediaSeeking *This,DWORD *pCapabilities);
   1891   void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1892   HRESULT WINAPI IMediaSeeking_CheckCapabilities_Proxy(IMediaSeeking *This,DWORD *pCapabilities);
   1893   void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1894   HRESULT WINAPI IMediaSeeking_IsFormatSupported_Proxy(IMediaSeeking *This,const GUID *pFormat);
   1895   void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1896   HRESULT WINAPI IMediaSeeking_QueryPreferredFormat_Proxy(IMediaSeeking *This,GUID *pFormat);
   1897   void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1898   HRESULT WINAPI IMediaSeeking_GetTimeFormat_Proxy(IMediaSeeking *This,GUID *pFormat);
   1899   void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1900   HRESULT WINAPI IMediaSeeking_IsUsingTimeFormat_Proxy(IMediaSeeking *This,const GUID *pFormat);
   1901   void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1902   HRESULT WINAPI IMediaSeeking_SetTimeFormat_Proxy(IMediaSeeking *This,const GUID *pFormat);
   1903   void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1904   HRESULT WINAPI IMediaSeeking_GetDuration_Proxy(IMediaSeeking *This,LONGLONG *pDuration);
   1905   void __RPC_STUB IMediaSeeking_GetDuration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1906   HRESULT WINAPI IMediaSeeking_GetStopPosition_Proxy(IMediaSeeking *This,LONGLONG *pStop);
   1907   void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1908   HRESULT WINAPI IMediaSeeking_GetCurrentPosition_Proxy(IMediaSeeking *This,LONGLONG *pCurrent);
   1909   void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1910   HRESULT WINAPI IMediaSeeking_ConvertTimeFormat_Proxy(IMediaSeeking *This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat);
   1911   void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1912   HRESULT WINAPI IMediaSeeking_SetPositions_Proxy(IMediaSeeking *This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags);
   1913   void __RPC_STUB IMediaSeeking_SetPositions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1914   HRESULT WINAPI IMediaSeeking_GetPositions_Proxy(IMediaSeeking *This,LONGLONG *pCurrent,LONGLONG *pStop);
   1915   void __RPC_STUB IMediaSeeking_GetPositions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1916   HRESULT WINAPI IMediaSeeking_GetAvailable_Proxy(IMediaSeeking *This,LONGLONG *pEarliest,LONGLONG *pLatest);
   1917   void __RPC_STUB IMediaSeeking_GetAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1918   HRESULT WINAPI IMediaSeeking_SetRate_Proxy(IMediaSeeking *This,double dRate);
   1919   void __RPC_STUB IMediaSeeking_SetRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1920   HRESULT WINAPI IMediaSeeking_GetRate_Proxy(IMediaSeeking *This,double *pdRate);
   1921   void __RPC_STUB IMediaSeeking_GetRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1922   HRESULT WINAPI IMediaSeeking_GetPreroll_Proxy(IMediaSeeking *This,LONGLONG *pllPreroll);
   1923   void __RPC_STUB IMediaSeeking_GetPreroll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1924 #endif
   1925 
   1926   typedef IMediaSeeking *PMEDIASEEKING;
   1927 
   1928   enum tagAM_MEDIAEVENT_FLAGS {
   1929     AM_MEDIAEVENT_NONOTIFY = 0x01
   1930   };
   1931 
   1932   typedef struct __MIDL___MIDL_itf_strmif_0134_0001 {
   1933     CLSID Clsid;
   1934     LPWSTR Name;
   1935   } REGFILTER;
   1936 
   1937   extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
   1938   extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
   1939 #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
   1940 #define __IEnumRegFilters_INTERFACE_DEFINED__
   1941   EXTERN_C const IID IID_IEnumRegFilters;
   1942 #if defined(__cplusplus) && !defined(CINTERFACE)
   1943   struct IEnumRegFilters : public IUnknown {
   1944   public:
   1945     virtual HRESULT WINAPI Next(ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) = 0;
   1946     virtual HRESULT WINAPI Skip(ULONG cFilters) = 0;
   1947     virtual HRESULT WINAPI Reset(void) = 0;
   1948     virtual HRESULT WINAPI Clone(IEnumRegFilters **ppEnum) = 0;
   1949   };
   1950 #else
   1951   typedef struct IEnumRegFiltersVtbl {
   1952     BEGIN_INTERFACE
   1953       HRESULT (WINAPI *QueryInterface)(IEnumRegFilters *This,REFIID riid,void **ppvObject);
   1954       ULONG (WINAPI *AddRef)(IEnumRegFilters *This);
   1955       ULONG (WINAPI *Release)(IEnumRegFilters *This);
   1956       HRESULT (WINAPI *Next)(IEnumRegFilters *This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched);
   1957       HRESULT (WINAPI *Skip)(IEnumRegFilters *This,ULONG cFilters);
   1958       HRESULT (WINAPI *Reset)(IEnumRegFilters *This);
   1959       HRESULT (WINAPI *Clone)(IEnumRegFilters *This,IEnumRegFilters **ppEnum);
   1960     END_INTERFACE
   1961   } IEnumRegFiltersVtbl;
   1962   struct IEnumRegFilters {
   1963     CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
   1964   };
   1965 #ifdef COBJMACROS
   1966 #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1967 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
   1968 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This)
   1969 #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched)
   1970 #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
   1971 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This)
   1972 #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   1973 #endif
   1974 #endif
   1975   HRESULT WINAPI IEnumRegFilters_Next_Proxy(IEnumRegFilters *This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched);
   1976   void __RPC_STUB IEnumRegFilters_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1977   HRESULT WINAPI IEnumRegFilters_Skip_Proxy(IEnumRegFilters *This,ULONG cFilters);
   1978   void __RPC_STUB IEnumRegFilters_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1979   HRESULT WINAPI IEnumRegFilters_Reset_Proxy(IEnumRegFilters *This);
   1980   void __RPC_STUB IEnumRegFilters_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1981   HRESULT WINAPI IEnumRegFilters_Clone_Proxy(IEnumRegFilters *This,IEnumRegFilters **ppEnum);
   1982   void __RPC_STUB IEnumRegFilters_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1983 #endif
   1984 
   1985   typedef IEnumRegFilters *PENUMREGFILTERS;
   1986 
   1987   extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_c_ifspec;
   1988   extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_s_ifspec;
   1989 #ifndef __IFilterMapper_INTERFACE_DEFINED__
   1990 #define __IFilterMapper_INTERFACE_DEFINED__
   1991   enum __MIDL_IFilterMapper_0001 {
   1992     MERIT_PREFERRED = 0x800000,MERIT_NORMAL = 0x600000,MERIT_UNLIKELY = 0x400000,MERIT_DO_NOT_USE = 0x200000,MERIT_SW_COMPRESSOR = 0x100000,
   1993     MERIT_HW_COMPRESSOR = 0x100050
   1994   };
   1995   EXTERN_C const IID IID_IFilterMapper;
   1996 #if defined(__cplusplus) && !defined(CINTERFACE)
   1997   struct IFilterMapper : public IUnknown {
   1998   public:
   1999     virtual HRESULT WINAPI RegisterFilter(CLSID clsid,LPCWSTR Name,DWORD dwMerit) = 0;
   2000     virtual HRESULT WINAPI RegisterFilterInstance(CLSID clsid,LPCWSTR Name,CLSID *MRId) = 0;
   2001     virtual HRESULT WINAPI RegisterPin(CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) = 0;
   2002     virtual HRESULT WINAPI RegisterPinType(CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) = 0;
   2003     virtual HRESULT WINAPI UnregisterFilter(CLSID Filter) = 0;
   2004     virtual HRESULT WINAPI UnregisterFilterInstance(CLSID MRId) = 0;
   2005     virtual HRESULT WINAPI UnregisterPin(CLSID Filter,LPCWSTR Name) = 0;
   2006     virtual HRESULT WINAPI EnumMatchingFilters(IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOututNeeded,CLSID clsOutMaj,CLSID clsOutSub) = 0;
   2007   };
   2008 #else
   2009   typedef struct IFilterMapperVtbl {
   2010     BEGIN_INTERFACE
   2011       HRESULT (WINAPI *QueryInterface)(IFilterMapper *This,REFIID riid,void **ppvObject);
   2012       ULONG (WINAPI *AddRef)(IFilterMapper *This);
   2013       ULONG (WINAPI *Release)(IFilterMapper *This);
   2014       HRESULT (WINAPI *RegisterFilter)(IFilterMapper *This,CLSID clsid,LPCWSTR Name,DWORD dwMerit);
   2015       HRESULT (WINAPI *RegisterFilterInstance)(IFilterMapper *This,CLSID clsid,LPCWSTR Name,CLSID *MRId);
   2016       HRESULT (WINAPI *RegisterPin)(IFilterMapper *This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin);
   2017       HRESULT (WINAPI *RegisterPinType)(IFilterMapper *This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType);
   2018       HRESULT (WINAPI *UnregisterFilter)(IFilterMapper *This,CLSID Filter);
   2019       HRESULT (WINAPI *UnregisterFilterInstance)(IFilterMapper *This,CLSID MRId);
   2020       HRESULT (WINAPI *UnregisterPin)(IFilterMapper *This,CLSID Filter,LPCWSTR Name);
   2021       HRESULT (WINAPI *EnumMatchingFilters)(IFilterMapper *This,IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOututNeeded,CLSID clsOutMaj,CLSID clsOutSub);
   2022     END_INTERFACE
   2023   } IFilterMapperVtbl;
   2024   struct IFilterMapper {
   2025     CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
   2026   };
   2027 #ifdef COBJMACROS
   2028 #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2029 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This)
   2030 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This)
   2031 #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit)
   2032 #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId)
   2033 #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
   2034 #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
   2035 #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter)
   2036 #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId)
   2037 #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name)
   2038 #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)
   2039 #endif
   2040 #endif
   2041   HRESULT WINAPI IFilterMapper_RegisterFilter_Proxy(IFilterMapper *This,CLSID clsid,LPCWSTR Name,DWORD dwMerit);
   2042   void __RPC_STUB IFilterMapper_RegisterFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2043   HRESULT WINAPI IFilterMapper_RegisterFilterInstance_Proxy(IFilterMapper *This,CLSID clsid,LPCWSTR Name,CLSID *MRId);
   2044   void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2045   HRESULT WINAPI IFilterMapper_RegisterPin_Proxy(IFilterMapper *This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin);
   2046   void __RPC_STUB IFilterMapper_RegisterPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2047   HRESULT WINAPI IFilterMapper_RegisterPinType_Proxy(IFilterMapper *This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType);
   2048   void __RPC_STUB IFilterMapper_RegisterPinType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2049   HRESULT WINAPI IFilterMapper_UnregisterFilter_Proxy(IFilterMapper *This,CLSID Filter);
   2050   void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2051   HRESULT WINAPI IFilterMapper_UnregisterFilterInstance_Proxy(IFilterMapper *This,CLSID MRId);
   2052   void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2053   HRESULT WINAPI IFilterMapper_UnregisterPin_Proxy(IFilterMapper *This,CLSID Filter,LPCWSTR Name);
   2054   void __RPC_STUB IFilterMapper_UnregisterPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2055   HRESULT WINAPI IFilterMapper_EnumMatchingFilters_Proxy(IFilterMapper *This,IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOututNeeded,CLSID clsOutMaj,CLSID clsOutSub);
   2056   void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2057 #endif
   2058 
   2059   typedef struct __MIDL___MIDL_itf_strmif_0138_0001 {
   2060     const CLSID *clsMajorType;
   2061     const CLSID *clsMinorType;
   2062   } REGPINTYPES;
   2063 
   2064   typedef struct __MIDL___MIDL_itf_strmif_0138_0002 {
   2065     LPWSTR strName;
   2066     WINBOOL bRendered;
   2067     WINBOOL bOutput;
   2068     WINBOOL bZero;
   2069     WINBOOL bMany;
   2070     const CLSID *clsConnectsToFilter;
   2071     const WCHAR *strConnectsToPin;
   2072     UINT nMediaTypes;
   2073     const REGPINTYPES *lpMediaType;
   2074   } REGFILTERPINS;
   2075 
   2076   typedef struct __MIDL___MIDL_itf_strmif_0138_0003 {
   2077     CLSID clsMedium;
   2078     DWORD dw1;
   2079     DWORD dw2;
   2080   } REGPINMEDIUM;
   2081 
   2082   enum __MIDL___MIDL_itf_strmif_0138_0004 {
   2083     REG_PINFLAG_B_ZERO = 0x1,REG_PINFLAG_B_RENDERER = 0x2,REG_PINFLAG_B_MANY = 0x4,REG_PINFLAG_B_OUTPUT = 0x8
   2084   };
   2085   typedef struct __MIDL___MIDL_itf_strmif_0138_0005 {
   2086     DWORD dwFlags;
   2087     UINT cInstances;
   2088     UINT nMediaTypes;
   2089     const REGPINTYPES *lpMediaType;
   2090     UINT nMediums;
   2091     const REGPINMEDIUM *lpMedium;
   2092     const CLSID *clsPinCategory;
   2093   } REGFILTERPINS2;
   2094 
   2095   typedef struct __MIDL___MIDL_itf_strmif_0138_0006 {
   2096     DWORD dwVersion;
   2097     DWORD dwMerit;
   2098     union {
   2099       struct {
   2100     ULONG cPins;
   2101     const REGFILTERPINS *rgPins;
   2102       };
   2103       struct {
   2104     ULONG cPins2;
   2105     const REGFILTERPINS2 *rgPins2;
   2106       };
   2107     };
   2108   } REGFILTER2;
   2109 
   2110   extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
   2111   extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
   2112 #ifndef __IFilterMapper2_INTERFACE_DEFINED__
   2113 #define __IFilterMapper2_INTERFACE_DEFINED__
   2114   EXTERN_C const IID IID_IFilterMapper2;
   2115 #if defined(__cplusplus) && !defined(CINTERFACE)
   2116   struct IFilterMapper2 : public IUnknown {
   2117   public:
   2118     virtual HRESULT WINAPI CreateCategory(REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) = 0;
   2119     virtual HRESULT WINAPI UnregisterFilter(const CLSID *pclsidCategory,const OLECHAR *szInstance,REFCLSID Filter) = 0;
   2120     virtual HRESULT WINAPI RegisterFilter(REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,const OLECHAR *szInstance,const REGFILTER2 *prf2) = 0;
   2121     virtual HRESULT WINAPI EnumMatchingFilters(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) = 0;
   2122   };
   2123 #else
   2124   typedef struct IFilterMapper2Vtbl {
   2125     BEGIN_INTERFACE
   2126       HRESULT (WINAPI *QueryInterface)(IFilterMapper2 *This,REFIID riid,void **ppvObject);
   2127       ULONG (WINAPI *AddRef)(IFilterMapper2 *This);
   2128       ULONG (WINAPI *Release)(IFilterMapper2 *This);
   2129       HRESULT (WINAPI *CreateCategory)(IFilterMapper2 *This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description);
   2130       HRESULT (WINAPI *UnregisterFilter)(IFilterMapper2 *This,const CLSID *pclsidCategory,const OLECHAR *szInstance,REFCLSID Filter);
   2131       HRESULT (WINAPI *RegisterFilter)(IFilterMapper2 *This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,const OLECHAR *szInstance,const REGFILTER2 *prf2);
   2132       HRESULT (WINAPI *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);
   2133     END_INTERFACE
   2134   } IFilterMapper2Vtbl;
   2135   struct IFilterMapper2 {
   2136     CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
   2137   };
   2138 #ifdef COBJMACROS
   2139 #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2140 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2141 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This)
   2142 #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
   2143 #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
   2144 #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
   2145 #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)
   2146 #endif
   2147 #endif
   2148   HRESULT WINAPI IFilterMapper2_CreateCategory_Proxy(IFilterMapper2 *This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description);
   2149   void __RPC_STUB IFilterMapper2_CreateCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2150   HRESULT WINAPI IFilterMapper2_UnregisterFilter_Proxy(IFilterMapper2 *This,const CLSID *pclsidCategory,const OLECHAR *szInstance,REFCLSID Filter);
   2151   void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2152   HRESULT WINAPI IFilterMapper2_RegisterFilter_Proxy(IFilterMapper2 *This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,const OLECHAR *szInstance,const REGFILTER2 *prf2);
   2153   void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2154   HRESULT WINAPI IFilterMapper2_EnumMatchingFilters_Proxy(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);
   2155   void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2156 #endif
   2157 
   2158 #ifndef __IFilterMapper3_INTERFACE_DEFINED__
   2159 #define __IFilterMapper3_INTERFACE_DEFINED__
   2160   EXTERN_C const IID IID_IFilterMapper3;
   2161 #if defined(__cplusplus) && !defined(CINTERFACE)
   2162   struct IFilterMapper3 : public IFilterMapper2 {
   2163   public:
   2164     virtual HRESULT WINAPI GetICreateDevEnum(ICreateDevEnum **ppEnum) = 0;
   2165   };
   2166 #else
   2167   typedef struct IFilterMapper3Vtbl {
   2168     BEGIN_INTERFACE
   2169       HRESULT (WINAPI *QueryInterface)(IFilterMapper3 *This,REFIID riid,void **ppvObject);
   2170       ULONG (WINAPI *AddRef)(IFilterMapper3 *This);
   2171       ULONG (WINAPI *Release)(IFilterMapper3 *This);
   2172       HRESULT (WINAPI *CreateCategory)(IFilterMapper3 *This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description);
   2173       HRESULT (WINAPI *UnregisterFilter)(IFilterMapper3 *This,const CLSID *pclsidCategory,const OLECHAR *szInstance,REFCLSID Filter);
   2174       HRESULT (WINAPI *RegisterFilter)(IFilterMapper3 *This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,const OLECHAR *szInstance,const REGFILTER2 *prf2);
   2175       HRESULT (WINAPI *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);
   2176       HRESULT (WINAPI *GetICreateDevEnum)(IFilterMapper3 *This,ICreateDevEnum **ppEnum);
   2177     END_INTERFACE
   2178   } IFilterMapper3Vtbl;
   2179   struct IFilterMapper3 {
   2180     CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
   2181   };
   2182 #ifdef COBJMACROS
   2183 #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2184 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This)
   2185 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This)
   2186 #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
   2187 #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
   2188 #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
   2189 #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)
   2190 #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum)
   2191 #endif
   2192 #endif
   2193   HRESULT WINAPI IFilterMapper3_GetICreateDevEnum_Proxy(IFilterMapper3 *This,ICreateDevEnum **ppEnum);
   2194   void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2195 #endif
   2196 
   2197   typedef enum tagQualityMessageType {
   2198     Famine = 0,Flood = Famine + 1
   2199   } QualityMessageType;
   2200 
   2201   typedef struct tagQuality {
   2202     QualityMessageType Type;
   2203     long Proportion;
   2204     REFERENCE_TIME Late;
   2205     REFERENCE_TIME TimeStamp;
   2206   } Quality;
   2207 
   2208   typedef IQualityControl *PQUALITYCONTROL;
   2209 
   2210   extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
   2211   extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
   2212 #ifndef __IQualityControl_INTERFACE_DEFINED__
   2213 #define __IQualityControl_INTERFACE_DEFINED__
   2214   EXTERN_C const IID IID_IQualityControl;
   2215 #if defined(__cplusplus) && !defined(CINTERFACE)
   2216   struct IQualityControl : public IUnknown {
   2217   public:
   2218     virtual HRESULT WINAPI Notify(IBaseFilter *pSelf,Quality q) = 0;
   2219     virtual HRESULT WINAPI SetSink(IQualityControl *piqc) = 0;
   2220   };
   2221 #else
   2222   typedef struct IQualityControlVtbl {
   2223     BEGIN_INTERFACE
   2224       HRESULT (WINAPI *QueryInterface)(IQualityControl *This,REFIID riid,void **ppvObject);
   2225       ULONG (WINAPI *AddRef)(IQualityControl *This);
   2226       ULONG (WINAPI *Release)(IQualityControl *This);
   2227       HRESULT (WINAPI *Notify)(IQualityControl *This,IBaseFilter *pSelf,Quality q);
   2228       HRESULT (WINAPI *SetSink)(IQualityControl *This,IQualityControl *piqc);
   2229     END_INTERFACE
   2230   } IQualityControlVtbl;
   2231   struct IQualityControl {
   2232     CONST_VTBL struct IQualityControlVtbl *lpVtbl;
   2233   };
   2234 #ifdef COBJMACROS
   2235 #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2236 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   2237 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This)
   2238 #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q)
   2239 #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc)
   2240 #endif
   2241 #endif
   2242   HRESULT WINAPI IQualityControl_Notify_Proxy(IQualityControl *This,IBaseFilter *pSelf,Quality q);
   2243   void __RPC_STUB IQualityControl_Notify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2244   HRESULT WINAPI IQualityControl_SetSink_Proxy(IQualityControl *This,IQualityControl *piqc);
   2245   void __RPC_STUB IQualityControl_SetSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2246 #endif
   2247 
   2248   enum __MIDL___MIDL_itf_strmif_0142_0001 {
   2249     CK_NOCOLORKEY = 0,CK_INDEX = 0x1,CK_RGB = 0x2
   2250   };
   2251   typedef struct tagCOLORKEY {
   2252     DWORD KeyType;
   2253     DWORD PaletteIndex;
   2254     COLORREF LowColorValue;
   2255     COLORREF HighColorValue;
   2256   } COLORKEY;
   2257 
   2258   enum __MIDL___MIDL_itf_strmif_0142_0002 {
   2259     ADVISE_NONE = 0,ADVISE_CLIPPING = 0x1,ADVISE_PALETTE = 0x2,ADVISE_COLORKEY = 0x4,ADVISE_POSITION = 0x8,ADVISE_DISPLAY_CHANGE = 0x10
   2260   };
   2261 #define ADVISE_ALL (ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION)
   2262 #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE)
   2263 
   2264 #ifndef _WINGDI_
   2265   typedef struct _RGNDATAHEADER {
   2266     DWORD dwSize;
   2267     DWORD iType;
   2268     DWORD nCount;
   2269     DWORD nRgnSize;
   2270     RECT rcBound;
   2271   } RGNDATAHEADER;
   2272 
   2273   typedef struct _RGNDATA {
   2274     RGNDATAHEADER rdh;
   2275     char Buffer[1];
   2276   } RGNDATA;
   2277 #endif
   2278 
   2279   extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
   2280   extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
   2281 #ifndef __IOverlayNotify_INTERFACE_DEFINED__
   2282 #define __IOverlayNotify_INTERFACE_DEFINED__
   2283   EXTERN_C const IID IID_IOverlayNotify;
   2284 #if defined(__cplusplus) && !defined(CINTERFACE)
   2285   struct IOverlayNotify : public IUnknown {
   2286   public:
   2287     virtual HRESULT WINAPI OnPaletteChange(DWORD dwColors,const PALETTEENTRY *pPalette) = 0;
   2288     virtual HRESULT WINAPI OnClipChange(const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) = 0;
   2289     virtual HRESULT WINAPI OnColorKeyChange(const COLORKEY *pColorKey) = 0;
   2290     virtual HRESULT WINAPI OnPositionChange(const RECT *pSourceRect,const RECT *pDestinationRect) = 0;
   2291   };
   2292 #else
   2293   typedef struct IOverlayNotifyVtbl {
   2294     BEGIN_INTERFACE
   2295       HRESULT (WINAPI *QueryInterface)(IOverlayNotify *This,REFIID riid,void **ppvObject);
   2296       ULONG (WINAPI *AddRef)(IOverlayNotify *This);
   2297       ULONG (WINAPI *Release)(IOverlayNotify *This);
   2298       HRESULT (WINAPI *OnPaletteChange)(IOverlayNotify *This,DWORD dwColors,const PALETTEENTRY *pPalette);
   2299       HRESULT (WINAPI *OnClipChange)(IOverlayNotify *This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData);
   2300       HRESULT (WINAPI *OnColorKeyChange)(IOverlayNotify *This,const COLORKEY *pColorKey);
   2301       HRESULT (WINAPI *OnPositionChange)(IOverlayNotify *This,const RECT *pSourceRect,const RECT *pDestinationRect);
   2302     END_INTERFACE
   2303   } IOverlayNotifyVtbl;
   2304   struct IOverlayNotify {
   2305     CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
   2306   };
   2307 #ifdef COBJMACROS
   2308 #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2309 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   2310 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This)
   2311 #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
   2312 #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
   2313 #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
   2314 #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
   2315 #endif
   2316 #endif
   2317   HRESULT WINAPI IOverlayNotify_OnPaletteChange_Proxy(IOverlayNotify *This,DWORD dwColors,const PALETTEENTRY *pPalette);
   2318   void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2319   HRESULT WINAPI IOverlayNotify_OnClipChange_Proxy(IOverlayNotify *This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData);
   2320   void __RPC_STUB IOverlayNotify_OnClipChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2321   HRESULT WINAPI IOverlayNotify_OnColorKeyChange_Proxy(IOverlayNotify *This,const COLORKEY *pColorKey);
   2322   void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2323   HRESULT WINAPI IOverlayNotify_OnPositionChange_Proxy(IOverlayNotify *This,const RECT *pSourceRect,const RECT *pDestinationRect);
   2324   void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2325 #endif
   2326 
   2327   typedef IOverlayNotify *POVERLAYNOTIFY;
   2328 
   2329   extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;
   2330   extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;
   2331 #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
   2332 #define __IOverlayNotify2_INTERFACE_DEFINED__
   2333   EXTERN_C const IID IID_IOverlayNotify2;
   2334 #if defined(__cplusplus) && !defined(CINTERFACE)
   2335   struct IOverlayNotify2 : public IOverlayNotify {
   2336   public:
   2337     virtual HRESULT WINAPI OnDisplayChange(HMONITOR hMonitor) = 0;
   2338   };
   2339 #else
   2340   typedef struct IOverlayNotify2Vtbl {
   2341     BEGIN_INTERFACE
   2342       HRESULT (WINAPI *QueryInterface)(IOverlayNotify2 *This,REFIID riid,void **ppvObject);
   2343       ULONG (WINAPI *AddRef)(IOverlayNotify2 *This);
   2344       ULONG (WINAPI *Release)(IOverlayNotify2 *This);
   2345       HRESULT (WINAPI *OnPaletteChange)(IOverlayNotify2 *This,DWORD dwColors,const PALETTEENTRY *pPalette);
   2346       HRESULT (WINAPI *OnClipChange)(IOverlayNotify2 *This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData);
   2347       HRESULT (WINAPI *OnColorKeyChange)(IOverlayNotify2 *This,const COLORKEY *pColorKey);
   2348       HRESULT (WINAPI *OnPositionChange)(IOverlayNotify2 *This,const RECT *pSourceRect,const RECT *pDestinationRect);
   2349       HRESULT (WINAPI *OnDisplayChange)(IOverlayNotify2 *This,HMONITOR hMonitor);
   2350     END_INTERFACE
   2351   } IOverlayNotify2Vtbl;
   2352   struct IOverlayNotify2 {
   2353     CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
   2354   };
   2355 #ifdef COBJMACROS
   2356 #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2357 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2358 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This)
   2359 #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
   2360 #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
   2361 #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
   2362 #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
   2363 #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor)
   2364 #endif
   2365 #endif
   2366   HRESULT WINAPI IOverlayNotify2_OnDisplayChange_Proxy(IOverlayNotify2 *This,HMONITOR hMonitor);
   2367   void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2368 #endif
   2369 
   2370   typedef IOverlayNotify2 *POVERLAYNOTIFY2;
   2371 
   2372   extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
   2373   extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
   2374 #ifndef __IOverlay_INTERFACE_DEFINED__
   2375 #define __IOverlay_INTERFACE_DEFINED__
   2376   EXTERN_C const IID IID_IOverlay;
   2377 #if defined(__cplusplus) && !defined(CINTERFACE)
   2378   struct IOverlay : public IUnknown {
   2379   public:
   2380     virtual HRESULT WINAPI GetPalette(DWORD *pdwColors,PALETTEENTRY **ppPalette) = 0;
   2381     virtual HRESULT WINAPI SetPalette(DWORD dwColors,PALETTEENTRY *pPalette) = 0;
   2382     virtual HRESULT WINAPI GetDefaultColorKey(COLORKEY *pColorKey) = 0;
   2383     virtual HRESULT WINAPI GetColorKey(COLORKEY *pColorKey) = 0;
   2384     virtual HRESULT WINAPI SetColorKey(COLORKEY *pColorKey) = 0;
   2385     virtual HRESULT WINAPI GetWindowHandle(HWND *pHwnd) = 0;
   2386     virtual HRESULT WINAPI GetClipList(RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) = 0;
   2387     virtual HRESULT WINAPI GetVideoPosition(RECT *pSourceRect,RECT *pDestinationRect) = 0;
   2388     virtual HRESULT WINAPI Advise(IOverlayNotify *pOverlayNotify,DWORD dwInterests) = 0;
   2389     virtual HRESULT WINAPI Unadvise(void) = 0;
   2390   };
   2391 #else
   2392   typedef struct IOverlayVtbl {
   2393     BEGIN_INTERFACE
   2394       HRESULT (WINAPI *QueryInterface)(IOverlay *This,REFIID riid,void **ppvObject);
   2395       ULONG (WINAPI *AddRef)(IOverlay *This);
   2396       ULONG (WINAPI *Release)(IOverlay *This);
   2397       HRESULT (WINAPI *GetPalette)(IOverlay *This,DWORD *pdwColors,PALETTEENTRY **ppPalette);
   2398       HRESULT (WINAPI *SetPalette)(IOverlay *This,DWORD dwColors,PALETTEENTRY *pPalette);
   2399       HRESULT (WINAPI *GetDefaultColorKey)(IOverlay *This,COLORKEY *pColorKey);
   2400       HRESULT (WINAPI *GetColorKey)(IOverlay *This,COLORKEY *pColorKey);
   2401       HRESULT (WINAPI *SetColorKey)(IOverlay *This,COLORKEY *pColorKey);
   2402       HRESULT (WINAPI *GetWindowHandle)(IOverlay *This,HWND *pHwnd);
   2403       HRESULT (WINAPI *GetClipList)(IOverlay *This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData);
   2404       HRESULT (WINAPI *GetVideoPosition)(IOverlay *This,RECT *pSourceRect,RECT *pDestinationRect);
   2405       HRESULT (WINAPI *Advise)(IOverlay *This,IOverlayNotify *pOverlayNotify,DWORD dwInterests);
   2406       HRESULT (WINAPI *Unadvise)(IOverlay *This);
   2407     END_INTERFACE
   2408   } IOverlayVtbl;
   2409   struct IOverlay {
   2410     CONST_VTBL struct IOverlayVtbl *lpVtbl;
   2411   };
   2412 #ifdef COBJMACROS
   2413 #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2414 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This)
   2415 #define IOverlay_Release(This) (This)->lpVtbl->Release(This)
   2416 #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette)
   2417 #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette)
   2418 #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey)
   2419 #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey)
   2420 #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey)
   2421 #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd)
   2422 #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
   2423 #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect)
   2424 #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests)
   2425 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This)
   2426 #endif
   2427 #endif
   2428   HRESULT WINAPI IOverlay_GetPalette_Proxy(IOverlay *This,DWORD *pdwColors,PALETTEENTRY **ppPalette);
   2429   void __RPC_STUB IOverlay_GetPalette_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2430   HRESULT WINAPI IOverlay_SetPalette_Proxy(IOverlay *This,DWORD dwColors,PALETTEENTRY *pPalette);
   2431   void __RPC_STUB IOverlay_SetPalette_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2432   HRESULT WINAPI IOverlay_GetDefaultColorKey_Proxy(IOverlay *This,COLORKEY *pColorKey);
   2433   void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2434   HRESULT WINAPI IOverlay_GetColorKey_Proxy(IOverlay *This,COLORKEY *pColorKey);
   2435   void __RPC_STUB IOverlay_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2436   HRESULT WINAPI IOverlay_SetColorKey_Proxy(IOverlay *This,COLORKEY *pColorKey);
   2437   void __RPC_STUB IOverlay_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2438   HRESULT WINAPI IOverlay_GetWindowHandle_Proxy(IOverlay *This,HWND *pHwnd);
   2439   void __RPC_STUB IOverlay_GetWindowHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2440   HRESULT WINAPI IOverlay_GetClipList_Proxy(IOverlay *This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData);
   2441   void __RPC_STUB IOverlay_GetClipList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2442   HRESULT WINAPI IOverlay_GetVideoPosition_Proxy(IOverlay *This,RECT *pSourceRect,RECT *pDestinationRect);
   2443   void __RPC_STUB IOverlay_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2444   HRESULT WINAPI IOverlay_Advise_Proxy(IOverlay *This,IOverlayNotify *pOverlayNotify,DWORD dwInterests);
   2445   void __RPC_STUB IOverlay_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2446   HRESULT WINAPI IOverlay_Unadvise_Proxy(IOverlay *This);
   2447   void __RPC_STUB IOverlay_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2448 #endif
   2449 
   2450   typedef IOverlay *POVERLAY;
   2451 
   2452   extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_c_ifspec;
   2453   extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_s_ifspec;
   2454 #ifndef __IMediaEventSink_INTERFACE_DEFINED__
   2455 #define __IMediaEventSink_INTERFACE_DEFINED__
   2456   EXTERN_C const IID IID_IMediaEventSink;
   2457 #if defined(__cplusplus) && !defined(CINTERFACE)
   2458   struct IMediaEventSink : public IUnknown {
   2459   public:
   2460     virtual HRESULT WINAPI Notify(long EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) = 0;
   2461   };
   2462 #else
   2463   typedef struct IMediaEventSinkVtbl {
   2464     BEGIN_INTERFACE
   2465       HRESULT (WINAPI *QueryInterface)(IMediaEventSink *This,REFIID riid,void **ppvObject);
   2466       ULONG (WINAPI *AddRef)(IMediaEventSink *This);
   2467       ULONG (WINAPI *Release)(IMediaEventSink *This);
   2468       HRESULT (WINAPI *Notify)(IMediaEventSink *This,long EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2);
   2469     END_INTERFACE
   2470   } IMediaEventSinkVtbl;
   2471   struct IMediaEventSink {
   2472     CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
   2473   };
   2474 #ifdef COBJMACROS
   2475 #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2476 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
   2477 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This)
   2478 #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2)
   2479 #endif
   2480 #endif
   2481   HRESULT WINAPI IMediaEventSink_Notify_Proxy(IMediaEventSink *This,long EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2);
   2482   void __RPC_STUB IMediaEventSink_Notify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2483 #endif
   2484 
   2485   typedef IMediaEventSink *PMEDIAEVENTSINK;
   2486 
   2487   extern RPC_IF_HANDLE __MIDL_itf_strmif_0146_v0_0_c_ifspec;
   2488   extern RPC_IF_HANDLE __MIDL_itf_strmif_0146_v0_0_s_ifspec;
   2489 #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
   2490 #define __IFileSourceFilter_INTERFACE_DEFINED__
   2491   EXTERN_C const IID IID_IFileSourceFilter;
   2492 #if defined(__cplusplus) && !defined(CINTERFACE)
   2493   struct IFileSourceFilter : public IUnknown {
   2494   public:
   2495     virtual HRESULT WINAPI Load(LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) = 0;
   2496     virtual HRESULT WINAPI GetCurFile(LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) = 0;
   2497   };
   2498 #else
   2499   typedef struct IFileSourceFilterVtbl {
   2500     BEGIN_INTERFACE
   2501       HRESULT (WINAPI *QueryInterface)(IFileSourceFilter *This,REFIID riid,void **ppvObject);
   2502       ULONG (WINAPI *AddRef)(IFileSourceFilter *This);
   2503       ULONG (WINAPI *Release)(IFileSourceFilter *This);
   2504       HRESULT (WINAPI *Load)(IFileSourceFilter *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
   2505       HRESULT (WINAPI *GetCurFile)(IFileSourceFilter *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
   2506     END_INTERFACE
   2507   } IFileSourceFilterVtbl;
   2508   struct IFileSourceFilter {
   2509     CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
   2510   };
   2511 #ifdef COBJMACROS
   2512 #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2513 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   2514 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This)
   2515 #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt)
   2516 #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   2517 #endif
   2518 #endif
   2519   HRESULT WINAPI IFileSourceFilter_Load_Proxy(IFileSourceFilter *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
   2520   void __RPC_STUB IFileSourceFilter_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2521   HRESULT WINAPI IFileSourceFilter_GetCurFile_Proxy(IFileSourceFilter *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
   2522   void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2523 #endif
   2524 
   2525   typedef IFileSourceFilter *PFILTERFILESOURCE;
   2526 
   2527   extern RPC_IF_HANDLE __MIDL_itf_strmif_0147_v0_0_c_ifspec;
   2528   extern RPC_IF_HANDLE __MIDL_itf_strmif_0147_v0_0_s_ifspec;
   2529 #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
   2530 #define __IFileSinkFilter_INTERFACE_DEFINED__
   2531   EXTERN_C const IID IID_IFileSinkFilter;
   2532 #if defined(__cplusplus) && !defined(CINTERFACE)
   2533   struct IFileSinkFilter : public IUnknown {
   2534   public:
   2535     virtual HRESULT WINAPI SetFileName(LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) = 0;
   2536     virtual HRESULT WINAPI GetCurFile(LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) = 0;
   2537   };
   2538 #else
   2539   typedef struct IFileSinkFilterVtbl {
   2540     BEGIN_INTERFACE
   2541       HRESULT (WINAPI *QueryInterface)(IFileSinkFilter *This,REFIID riid,void **ppvObject);
   2542       ULONG (WINAPI *AddRef)(IFileSinkFilter *This);
   2543       ULONG (WINAPI *Release)(IFileSinkFilter *This);
   2544       HRESULT (WINAPI *SetFileName)(IFileSinkFilter *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
   2545       HRESULT (WINAPI *GetCurFile)(IFileSinkFilter *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
   2546     END_INTERFACE
   2547   } IFileSinkFilterVtbl;
   2548   struct IFileSinkFilter {
   2549     CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
   2550   };
   2551 #ifdef COBJMACROS
   2552 #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2553 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   2554 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This)
   2555 #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
   2556 #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   2557 #endif
   2558 #endif
   2559   HRESULT WINAPI IFileSinkFilter_SetFileName_Proxy(IFileSinkFilter *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
   2560   void __RPC_STUB IFileSinkFilter_SetFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2561   HRESULT WINAPI IFileSinkFilter_GetCurFile_Proxy(IFileSinkFilter *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
   2562   void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2563 #endif
   2564 
   2565   typedef IFileSinkFilter *PFILTERFILESINK;
   2566 
   2567   extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_c_ifspec;
   2568   extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_s_ifspec;
   2569 #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
   2570 #define __IFileSinkFilter2_INTERFACE_DEFINED__
   2571   EXTERN_C const IID IID_IFileSinkFilter2;
   2572 #if defined(__cplusplus) && !defined(CINTERFACE)
   2573   struct IFileSinkFilter2 : public IFileSinkFilter {
   2574   public:
   2575     virtual HRESULT WINAPI SetMode(DWORD dwFlags) = 0;
   2576     virtual HRESULT WINAPI GetMode(DWORD *pdwFlags) = 0;
   2577   };
   2578 #else
   2579   typedef struct IFileSinkFilter2Vtbl {
   2580     BEGIN_INTERFACE
   2581       HRESULT (WINAPI *QueryInterface)(IFileSinkFilter2 *This,REFIID riid,void **ppvObject);
   2582       ULONG (WINAPI *AddRef)(IFileSinkFilter2 *This);
   2583       ULONG (WINAPI *Release)(IFileSinkFilter2 *This);
   2584       HRESULT (WINAPI *SetFileName)(IFileSinkFilter2 *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
   2585       HRESULT (WINAPI *GetCurFile)(IFileSinkFilter2 *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
   2586       HRESULT (WINAPI *SetMode)(IFileSinkFilter2 *This,DWORD dwFlags);
   2587       HRESULT (WINAPI *GetMode)(IFileSinkFilter2 *This,DWORD *pdwFlags);
   2588     END_INTERFACE
   2589   } IFileSinkFilter2Vtbl;
   2590   struct IFileSinkFilter2 {
   2591     CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
   2592   };
   2593 #ifdef COBJMACROS
   2594 #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2595 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2596 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This)
   2597 #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
   2598 #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   2599 #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags)
   2600 #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags)
   2601 #endif
   2602 #endif
   2603   HRESULT WINAPI IFileSinkFilter2_SetMode_Proxy(IFileSinkFilter2 *This,DWORD dwFlags);
   2604   void __RPC_STUB IFileSinkFilter2_SetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2605   HRESULT WINAPI IFileSinkFilter2_GetMode_Proxy(IFileSinkFilter2 *This,DWORD *pdwFlags);
   2606   void __RPC_STUB IFileSinkFilter2_GetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2607 #endif
   2608 
   2609   typedef IFileSinkFilter2 *PFILESINKFILTER2;
   2610 
   2611   typedef enum __MIDL___MIDL_itf_strmif_0149_0001 {
   2612     AM_FILE_OVERWRITE = 0x1
   2613   } AM_FILESINK_FLAGS;
   2614 
   2615   extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_c_ifspec;
   2616   extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_s_ifspec;
   2617 #ifndef __IGraphBuilder_INTERFACE_DEFINED__
   2618 #define __IGraphBuilder_INTERFACE_DEFINED__
   2619   EXTERN_C const IID IID_IGraphBuilder;
   2620 #if defined(__cplusplus) && !defined(CINTERFACE)
   2621   struct IGraphBuilder : public IFilterGraph {
   2622   public:
   2623     virtual HRESULT WINAPI Connect(IPin *ppinOut,IPin *ppinIn) = 0;
   2624     virtual HRESULT WINAPI Render(IPin *ppinOut) = 0;
   2625     virtual HRESULT WINAPI RenderFile(LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) = 0;
   2626     virtual HRESULT WINAPI AddSourceFilter(LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) = 0;
   2627     virtual HRESULT WINAPI SetLogFile(DWORD_PTR hFile) = 0;
   2628     virtual HRESULT WINAPI Abort(void) = 0;
   2629     virtual HRESULT WINAPI ShouldOperationContinue(void) = 0;
   2630   };
   2631 #else
   2632   typedef struct IGraphBuilderVtbl {
   2633     BEGIN_INTERFACE
   2634       HRESULT (WINAPI *QueryInterface)(IGraphBuilder *This,REFIID riid,void **ppvObject);
   2635       ULONG (WINAPI *AddRef)(IGraphBuilder *This);
   2636       ULONG (WINAPI *Release)(IGraphBuilder *This);
   2637       HRESULT (WINAPI *AddFilter)(IGraphBuilder *This,IBaseFilter *pFilter,LPCWSTR pName);
   2638       HRESULT (WINAPI *RemoveFilter)(IGraphBuilder *This,IBaseFilter *pFilter);
   2639       HRESULT (WINAPI *EnumFilters)(IGraphBuilder *This,IEnumFilters **ppEnum);
   2640       HRESULT (WINAPI *FindFilterByName)(IGraphBuilder *This,LPCWSTR pName,IBaseFilter **ppFilter);
   2641       HRESULT (WINAPI *ConnectDirect)(IGraphBuilder *This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt);
   2642       HRESULT (WINAPI *Reconnect)(IGraphBuilder *This,IPin *ppin);
   2643       HRESULT (WINAPI *Disconnect)(IGraphBuilder *This,IPin *ppin);
   2644       HRESULT (WINAPI *SetDefaultSyncSource)(IGraphBuilder *This);
   2645       HRESULT (WINAPI *Connect)(IGraphBuilder *This,IPin *ppinOut,IPin *ppinIn);
   2646       HRESULT (WINAPI *Render)(IGraphBuilder *This,IPin *ppinOut);
   2647       HRESULT (WINAPI *RenderFile)(IGraphBuilder *This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList);
   2648       HRESULT (WINAPI *AddSourceFilter)(IGraphBuilder *This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
   2649       HRESULT (WINAPI *SetLogFile)(IGraphBuilder *This,DWORD_PTR hFile);
   2650       HRESULT (WINAPI *Abort)(IGraphBuilder *This);
   2651       HRESULT (WINAPI *ShouldOperationContinue)(IGraphBuilder *This);
   2652     END_INTERFACE
   2653   } IGraphBuilderVtbl;
   2654   struct IGraphBuilder {
   2655     CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
   2656   };
   2657 #ifdef COBJMACROS
   2658 #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2659 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   2660 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   2661 #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   2662 #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   2663 #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   2664 #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   2665 #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   2666 #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   2667 #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   2668 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   2669 #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
   2670 #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
   2671 #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
   2672 #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
   2673 #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
   2674 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This)
   2675 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
   2676 #endif
   2677 #endif
   2678   HRESULT WINAPI IGraphBuilder_Connect_Proxy(IGraphBuilder *This,IPin *ppinOut,IPin *ppinIn);
   2679   void __RPC_STUB IGraphBuilder_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2680   HRESULT WINAPI IGraphBuilder_Render_Proxy(IGraphBuilder *This,IPin *ppinOut);
   2681   void __RPC_STUB IGraphBuilder_Render_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2682   HRESULT WINAPI IGraphBuilder_RenderFile_Proxy(IGraphBuilder *This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList);
   2683   void __RPC_STUB IGraphBuilder_RenderFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2684   HRESULT WINAPI IGraphBuilder_AddSourceFilter_Proxy(IGraphBuilder *This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
   2685   void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2686   HRESULT WINAPI IGraphBuilder_SetLogFile_Proxy(IGraphBuilder *This,DWORD_PTR hFile);
   2687   void __RPC_STUB IGraphBuilder_SetLogFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2688   HRESULT WINAPI IGraphBuilder_Abort_Proxy(IGraphBuilder *This);
   2689   void __RPC_STUB IGraphBuilder_Abort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2690   HRESULT WINAPI IGraphBuilder_ShouldOperationContinue_Proxy(IGraphBuilder *This);
   2691   void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2692 #endif
   2693 
   2694 #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
   2695 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
   2696   EXTERN_C const IID IID_ICaptureGraphBuilder;
   2697 #if defined(__cplusplus) && !defined(CINTERFACE)
   2698   struct ICaptureGraphBuilder : public IUnknown {
   2699   public:
   2700     virtual HRESULT WINAPI SetFiltergraph(IGraphBuilder *pfg) = 0;
   2701     virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppfg) = 0;
   2702     virtual HRESULT WINAPI SetOutputFileName(const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) = 0;
   2703     virtual HRESULT WINAPI FindInterface(const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) = 0;
   2704     virtual HRESULT WINAPI RenderStream(const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) = 0;
   2705     virtual HRESULT WINAPI ControlStream(const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) = 0;
   2706     virtual HRESULT WINAPI AllocCapFile(LPCOLESTR lpstr,DWORDLONG dwlSize) = 0;
   2707     virtual HRESULT WINAPI CopyCaptureFile(LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) = 0;
   2708   };
   2709 #else
   2710   typedef struct ICaptureGraphBuilderVtbl {
   2711     BEGIN_INTERFACE
   2712       HRESULT (WINAPI *QueryInterface)(ICaptureGraphBuilder *This,REFIID riid,void **ppvObject);
   2713       ULONG (WINAPI *AddRef)(ICaptureGraphBuilder *This);
   2714       ULONG (WINAPI *Release)(ICaptureGraphBuilder *This);
   2715       HRESULT (WINAPI *SetFiltergraph)(ICaptureGraphBuilder *This,IGraphBuilder *pfg);
   2716       HRESULT (WINAPI *GetFiltergraph)(ICaptureGraphBuilder *This,IGraphBuilder **ppfg);
   2717       HRESULT (WINAPI *SetOutputFileName)(ICaptureGraphBuilder *This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink);
   2718       HRESULT (WINAPI *FindInterface)(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint);
   2719       HRESULT (WINAPI *RenderStream)(ICaptureGraphBuilder *This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer);
   2720       HRESULT (WINAPI *ControlStream)(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie);
   2721       HRESULT (WINAPI *AllocCapFile)(ICaptureGraphBuilder *This,LPCOLESTR lpstr,DWORDLONG dwlSize);
   2722       HRESULT (WINAPI *CopyCaptureFile)(ICaptureGraphBuilder *This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback);
   2723     END_INTERFACE
   2724   } ICaptureGraphBuilderVtbl;
   2725   struct ICaptureGraphBuilder {
   2726     CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
   2727   };
   2728 #ifdef COBJMACROS
   2729 #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2730 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   2731 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   2732 #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
   2733 #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
   2734 #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
   2735 #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint)
   2736 #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
   2737 #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
   2738 #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
   2739 #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
   2740 #endif
   2741 #endif
   2742   HRESULT WINAPI ICaptureGraphBuilder_SetFiltergraph_Proxy(ICaptureGraphBuilder *This,IGraphBuilder *pfg);
   2743   void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2744   HRESULT WINAPI ICaptureGraphBuilder_GetFiltergraph_Proxy(ICaptureGraphBuilder *This,IGraphBuilder **ppfg);
   2745   void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2746   HRESULT WINAPI ICaptureGraphBuilder_SetOutputFileName_Proxy(ICaptureGraphBuilder *This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink);
   2747   void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2748   HRESULT WINAPI ICaptureGraphBuilder_RemoteFindInterface_Proxy(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,IUnknown **ppint);
   2749   void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2750   HRESULT WINAPI ICaptureGraphBuilder_RenderStream_Proxy(ICaptureGraphBuilder *This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer);
   2751   void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2752   HRESULT WINAPI ICaptureGraphBuilder_ControlStream_Proxy(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie);
   2753   void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2754   HRESULT WINAPI ICaptureGraphBuilder_AllocCapFile_Proxy(ICaptureGraphBuilder *This,LPCOLESTR lpstr,DWORDLONG dwlSize);
   2755   void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2756   HRESULT WINAPI ICaptureGraphBuilder_CopyCaptureFile_Proxy(ICaptureGraphBuilder *This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback);
   2757   void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2758 #endif
   2759 
   2760 #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
   2761 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
   2762   EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
   2763 #if defined(__cplusplus) && !defined(CINTERFACE)
   2764   struct IAMCopyCaptureFileProgress : public IUnknown {
   2765   public:
   2766     virtual HRESULT WINAPI Progress(int iProgress) = 0;
   2767   };
   2768 #else
   2769   typedef struct IAMCopyCaptureFileProgressVtbl {
   2770     BEGIN_INTERFACE
   2771       HRESULT (WINAPI *QueryInterface)(IAMCopyCaptureFileProgress *This,REFIID riid,void **ppvObject);
   2772       ULONG (WINAPI *AddRef)(IAMCopyCaptureFileProgress *This);
   2773       ULONG (WINAPI *Release)(IAMCopyCaptureFileProgress *This);
   2774       HRESULT (WINAPI *Progress)(IAMCopyCaptureFileProgress *This,int iProgress);
   2775     END_INTERFACE
   2776   } IAMCopyCaptureFileProgressVtbl;
   2777   struct IAMCopyCaptureFileProgress {
   2778     CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
   2779   };
   2780 #ifdef COBJMACROS
   2781 #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2782 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
   2783 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This)
   2784 #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress)
   2785 #endif
   2786 #endif
   2787   HRESULT WINAPI IAMCopyCaptureFileProgress_Progress_Proxy(IAMCopyCaptureFileProgress *This,int iProgress);
   2788   void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2789 #endif
   2790 
   2791 #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
   2792 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
   2793   EXTERN_C const IID IID_ICaptureGraphBuilder2;
   2794 #if defined(__cplusplus) && !defined(CINTERFACE)
   2795   struct ICaptureGraphBuilder2 : public IUnknown {
   2796   public:
   2797     virtual HRESULT WINAPI SetFiltergraph(IGraphBuilder *pfg) = 0;
   2798     virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppfg) = 0;
   2799     virtual HRESULT WINAPI SetOutputFileName(const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) = 0;
   2800     virtual HRESULT WINAPI FindInterface(const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) = 0;
   2801     virtual HRESULT WINAPI RenderStream(const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) = 0;
   2802     virtual HRESULT WINAPI ControlStream(const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) = 0;
   2803     virtual HRESULT WINAPI AllocCapFile(LPCOLESTR lpstr,DWORDLONG dwlSize) = 0;
   2804     virtual HRESULT WINAPI CopyCaptureFile(LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) = 0;
   2805     virtual HRESULT WINAPI FindPin(IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) = 0;
   2806   };
   2807 #else
   2808   typedef struct ICaptureGraphBuilder2Vtbl {
   2809     BEGIN_INTERFACE
   2810       HRESULT (WINAPI *QueryInterface)(ICaptureGraphBuilder2 *This,REFIID riid,void **ppvObject);
   2811       ULONG (WINAPI *AddRef)(ICaptureGraphBuilder2 *This);
   2812       ULONG (WINAPI *Release)(ICaptureGraphBuilder2 *This);
   2813       HRESULT (WINAPI *SetFiltergraph)(ICaptureGraphBuilder2 *This,IGraphBuilder *pfg);
   2814       HRESULT (WINAPI *GetFiltergraph)(ICaptureGraphBuilder2 *This,IGraphBuilder **ppfg);
   2815       HRESULT (WINAPI *SetOutputFileName)(ICaptureGraphBuilder2 *This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink);
   2816       HRESULT (WINAPI *FindInterface)(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint);
   2817       HRESULT (WINAPI *RenderStream)(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer);
   2818       HRESULT (WINAPI *ControlStream)(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie);
   2819       HRESULT (WINAPI *AllocCapFile)(ICaptureGraphBuilder2 *This,LPCOLESTR lpstr,DWORDLONG dwlSize);
   2820       HRESULT (WINAPI *CopyCaptureFile)(ICaptureGraphBuilder2 *This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback);
   2821       HRESULT (WINAPI *FindPin)(ICaptureGraphBuilder2 *This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin);
   2822     END_INTERFACE
   2823   } ICaptureGraphBuilder2Vtbl;
   2824   struct ICaptureGraphBuilder2 {
   2825     CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
   2826   };
   2827 #ifdef COBJMACROS
   2828 #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2829 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2830 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This)
   2831 #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
   2832 #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
   2833 #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
   2834 #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint)
   2835 #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
   2836 #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
   2837 #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
   2838 #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
   2839 #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
   2840 #endif
   2841 #endif
   2842   HRESULT WINAPI ICaptureGraphBuilder2_SetFiltergraph_Proxy(ICaptureGraphBuilder2 *This,IGraphBuilder *pfg);
   2843   void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2844   HRESULT WINAPI ICaptureGraphBuilder2_GetFiltergraph_Proxy(ICaptureGraphBuilder2 *This,IGraphBuilder **ppfg);
   2845   void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2846   HRESULT WINAPI ICaptureGraphBuilder2_SetOutputFileName_Proxy(ICaptureGraphBuilder2 *This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink);
   2847   void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2848   HRESULT WINAPI ICaptureGraphBuilder2_RemoteFindInterface_Proxy(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,IUnknown **ppint);
   2849   void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2850   HRESULT WINAPI ICaptureGraphBuilder2_RenderStream_Proxy(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer);
   2851   void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2852   HRESULT WINAPI ICaptureGraphBuilder2_ControlStream_Proxy(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie);
   2853   void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2854   HRESULT WINAPI ICaptureGraphBuilder2_AllocCapFile_Proxy(ICaptureGraphBuilder2 *This,LPCOLESTR lpstr,DWORDLONG dwlSize);
   2855   void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2856   HRESULT WINAPI ICaptureGraphBuilder2_CopyCaptureFile_Proxy(ICaptureGraphBuilder2 *This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback);
   2857   void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2858   HRESULT WINAPI ICaptureGraphBuilder2_FindPin_Proxy(ICaptureGraphBuilder2 *This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin);
   2859   void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2860 #endif
   2861 
   2862   enum _AM_RENSDEREXFLAGS {
   2863     AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
   2864   };
   2865 
   2866   extern RPC_IF_HANDLE __MIDL_itf_strmif_0153_v0_0_c_ifspec;
   2867   extern RPC_IF_HANDLE __MIDL_itf_strmif_0153_v0_0_s_ifspec;
   2868 #ifndef __IFilterGraph2_INTERFACE_DEFINED__
   2869 #define __IFilterGraph2_INTERFACE_DEFINED__
   2870   EXTERN_C const IID IID_IFilterGraph2;
   2871 #if defined(__cplusplus) && !defined(CINTERFACE)
   2872   struct IFilterGraph2 : public IGraphBuilder {
   2873   public:
   2874     virtual HRESULT WINAPI AddSourceFilterForMoniker(IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) = 0;
   2875     virtual HRESULT WINAPI ReconnectEx(IPin *ppin,const AM_MEDIA_TYPE *pmt) = 0;
   2876     virtual HRESULT WINAPI RenderEx(IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) = 0;
   2877   };
   2878 #else
   2879   typedef struct IFilterGraph2Vtbl {
   2880     BEGIN_INTERFACE
   2881       HRESULT (WINAPI *QueryInterface)(IFilterGraph2 *This,REFIID riid,void **ppvObject);
   2882       ULONG (WINAPI *AddRef)(IFilterGraph2 *This);
   2883       ULONG (WINAPI *Release)(IFilterGraph2 *This);
   2884       HRESULT (WINAPI *AddFilter)(IFilterGraph2 *This,IBaseFilter *pFilter,LPCWSTR pName);
   2885       HRESULT (WINAPI *RemoveFilter)(IFilterGraph2 *This,IBaseFilter *pFilter);
   2886       HRESULT (WINAPI *EnumFilters)(IFilterGraph2 *This,IEnumFilters **ppEnum);
   2887       HRESULT (WINAPI *FindFilterByName)(IFilterGraph2 *This,LPCWSTR pName,IBaseFilter **ppFilter);
   2888       HRESULT (WINAPI *ConnectDirect)(IFilterGraph2 *This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt);
   2889       HRESULT (WINAPI *Reconnect)(IFilterGraph2 *This,IPin *ppin);
   2890       HRESULT (WINAPI *Disconnect)(IFilterGraph2 *This,IPin *ppin);
   2891       HRESULT (WINAPI *SetDefaultSyncSource)(IFilterGraph2 *This);
   2892       HRESULT (WINAPI *Connect)(IFilterGraph2 *This,IPin *ppinOut,IPin *ppinIn);
   2893       HRESULT (WINAPI *Render)(IFilterGraph2 *This,IPin *ppinOut);
   2894       HRESULT (WINAPI *RenderFile)(IFilterGraph2 *This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList);
   2895       HRESULT (WINAPI *AddSourceFilter)(IFilterGraph2 *This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
   2896       HRESULT (WINAPI *SetLogFile)(IFilterGraph2 *This,DWORD_PTR hFile);
   2897       HRESULT (WINAPI *Abort)(IFilterGraph2 *This);
   2898       HRESULT (WINAPI *ShouldOperationContinue)(IFilterGraph2 *This);
   2899       HRESULT (WINAPI *AddSourceFilterForMoniker)(IFilterGraph2 *This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
   2900       HRESULT (WINAPI *ReconnectEx)(IFilterGraph2 *This,IPin *ppin,const AM_MEDIA_TYPE *pmt);
   2901       HRESULT (WINAPI *RenderEx)(IFilterGraph2 *This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext);
   2902     END_INTERFACE
   2903   } IFilterGraph2Vtbl;
   2904   struct IFilterGraph2 {
   2905     CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
   2906   };
   2907 #ifdef COBJMACROS
   2908 #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2909 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2910 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This)
   2911 #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   2912 #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   2913 #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   2914 #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   2915 #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   2916 #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   2917 #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   2918 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   2919 #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
   2920 #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
   2921 #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
   2922 #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
   2923 #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
   2924 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This)
   2925 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
   2926 #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
   2927 #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt)
   2928 #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext)
   2929 #endif
   2930 #endif
   2931   HRESULT WINAPI IFilterGraph2_AddSourceFilterForMoniker_Proxy(IFilterGraph2 *This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
   2932   void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2933   HRESULT WINAPI IFilterGraph2_ReconnectEx_Proxy(IFilterGraph2 *This,IPin *ppin,const AM_MEDIA_TYPE *pmt);
   2934   void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2935   HRESULT WINAPI IFilterGraph2_RenderEx_Proxy(IFilterGraph2 *This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext);
   2936   void __RPC_STUB IFilterGraph2_RenderEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2937 #endif
   2938 
   2939 #ifndef __IStreamBuilder_INTERFACE_DEFINED__
   2940 #define __IStreamBuilder_INTERFACE_DEFINED__
   2941   EXTERN_C const IID IID_IStreamBuilder;
   2942 #if defined(__cplusplus) && !defined(CINTERFACE)
   2943   struct IStreamBuilder : public IUnknown {
   2944   public:
   2945     virtual HRESULT WINAPI Render(IPin *ppinOut,IGraphBuilder *pGraph) = 0;
   2946     virtual HRESULT WINAPI Backout(IPin *ppinOut,IGraphBuilder *pGraph) = 0;
   2947   };
   2948 #else
   2949   typedef struct IStreamBuilderVtbl {
   2950     BEGIN_INTERFACE
   2951       HRESULT (WINAPI *QueryInterface)(IStreamBuilder *This,REFIID riid,void **ppvObject);
   2952       ULONG (WINAPI *AddRef)(IStreamBuilder *This);
   2953       ULONG (WINAPI *Release)(IStreamBuilder *This);
   2954       HRESULT (WINAPI *Render)(IStreamBuilder *This,IPin *ppinOut,IGraphBuilder *pGraph);
   2955       HRESULT (WINAPI *Backout)(IStreamBuilder *This,IPin *ppinOut,IGraphBuilder *pGraph);
   2956     END_INTERFACE
   2957   } IStreamBuilderVtbl;
   2958   struct IStreamBuilder {
   2959     CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
   2960   };
   2961 #ifdef COBJMACROS
   2962 #define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2963 #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   2964 #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This)
   2965 #define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph)
   2966 #define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph)
   2967 #endif
   2968 #endif
   2969   HRESULT WINAPI IStreamBuilder_Render_Proxy(IStreamBuilder *This,IPin *ppinOut,IGraphBuilder *pGraph);
   2970   void __RPC_STUB IStreamBuilder_Render_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2971   HRESULT WINAPI IStreamBuilder_Backout_Proxy(IStreamBuilder *This,IPin *ppinOut,IGraphBuilder *pGraph);
   2972   void __RPC_STUB IStreamBuilder_Backout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2973 #endif
   2974 
   2975 #ifndef __IAsyncReader_INTERFACE_DEFINED__
   2976 #define __IAsyncReader_INTERFACE_DEFINED__
   2977   EXTERN_C const IID IID_IAsyncReader;
   2978 #if defined(__cplusplus) && !defined(CINTERFACE)
   2979   struct IAsyncReader : public IUnknown {
   2980   public:
   2981     virtual HRESULT WINAPI RequestAllocator(IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) = 0;
   2982     virtual HRESULT WINAPI Request(IMediaSample *pSample,DWORD_PTR dwUser) = 0;
   2983     virtual HRESULT WINAPI WaitForNext(DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) = 0;
   2984     virtual HRESULT WINAPI SyncReadAligned(IMediaSample *pSample) = 0;
   2985     virtual HRESULT WINAPI SyncRead(LONGLONG llPosition,LONG lLength,BYTE *pBuffer) = 0;
   2986     virtual HRESULT WINAPI Length(LONGLONG *pTotal,LONGLONG *pAvailable) = 0;
   2987     virtual HRESULT WINAPI BeginFlush(void) = 0;
   2988     virtual HRESULT WINAPI EndFlush(void) = 0;
   2989   };
   2990 #else
   2991   typedef struct IAsyncReaderVtbl {
   2992     BEGIN_INTERFACE
   2993       HRESULT (WINAPI *QueryInterface)(IAsyncReader *This,REFIID riid,void **ppvObject);
   2994       ULONG (WINAPI *AddRef)(IAsyncReader *This);
   2995       ULONG (WINAPI *Release)(IAsyncReader *This);
   2996       HRESULT (WINAPI *RequestAllocator)(IAsyncReader *This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual);
   2997       HRESULT (WINAPI *Request)(IAsyncReader *This,IMediaSample *pSample,DWORD_PTR dwUser);
   2998       HRESULT (WINAPI *WaitForNext)(IAsyncReader *This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser);
   2999       HRESULT (WINAPI *SyncReadAligned)(IAsyncReader *This,IMediaSample *pSample);
   3000       HRESULT (WINAPI *SyncRead)(IAsyncReader *This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer);
   3001       HRESULT (WINAPI *Length)(IAsyncReader *This,LONGLONG *pTotal,LONGLONG *pAvailable);
   3002       HRESULT (WINAPI *BeginFlush)(IAsyncReader *This);
   3003       HRESULT (WINAPI *EndFlush)(IAsyncReader *This);
   3004     END_INTERFACE
   3005   } IAsyncReaderVtbl;
   3006   struct IAsyncReader {
   3007     CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
   3008   };
   3009 #ifdef COBJMACROS
   3010 #define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3011 #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This)
   3012 #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This)
   3013 #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual)
   3014 #define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser)
   3015 #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser)
   3016 #define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample)
   3017 #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer)
   3018 #define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable)
   3019 #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
   3020 #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This)
   3021 #endif
   3022 #endif
   3023   HRESULT WINAPI IAsyncReader_RequestAllocator_Proxy(IAsyncReader *This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual);
   3024   void __RPC_STUB IAsyncReader_RequestAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3025   HRESULT WINAPI IAsyncReader_Request_Proxy(IAsyncReader *This,IMediaSample *pSample,DWORD_PTR dwUser);
   3026   void __RPC_STUB IAsyncReader_Request_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3027   HRESULT WINAPI IAsyncReader_WaitForNext_Proxy(IAsyncReader *This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser);
   3028   void __RPC_STUB IAsyncReader_WaitForNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3029   HRESULT WINAPI IAsyncReader_SyncReadAligned_Proxy(IAsyncReader *This,IMediaSample *pSample);
   3030   void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3031   HRESULT WINAPI IAsyncReader_SyncRead_Proxy(IAsyncReader *This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer);
   3032   void __RPC_STUB IAsyncReader_SyncRead_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3033   HRESULT WINAPI IAsyncReader_Length_Proxy(IAsyncReader *This,LONGLONG *pTotal,LONGLONG *pAvailable);
   3034   void __RPC_STUB IAsyncReader_Length_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3035   HRESULT WINAPI IAsyncReader_BeginFlush_Proxy(IAsyncReader *This);
   3036   void __RPC_STUB IAsyncReader_BeginFlush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3037   HRESULT WINAPI IAsyncReader_EndFlush_Proxy(IAsyncReader *This);
   3038   void __RPC_STUB IAsyncReader_EndFlush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3039 #endif
   3040 
   3041 #ifndef __IGraphVersion_INTERFACE_DEFINED__
   3042 #define __IGraphVersion_INTERFACE_DEFINED__
   3043   EXTERN_C const IID IID_IGraphVersion;
   3044 #if defined(__cplusplus) && !defined(CINTERFACE)
   3045   struct IGraphVersion : public IUnknown {
   3046   public:
   3047     virtual HRESULT WINAPI QueryVersion(LONG *pVersion) = 0;
   3048   };
   3049 #else
   3050   typedef struct IGraphVersionVtbl {
   3051     BEGIN_INTERFACE
   3052       HRESULT (WINAPI *QueryInterface)(IGraphVersion *This,REFIID riid,void **ppvObject);
   3053       ULONG (WINAPI *AddRef)(IGraphVersion *This);
   3054       ULONG (WINAPI *Release)(IGraphVersion *This);
   3055       HRESULT (WINAPI *QueryVersion)(IGraphVersion *This,LONG *pVersion);
   3056     END_INTERFACE
   3057   } IGraphVersionVtbl;
   3058   struct IGraphVersion {
   3059     CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
   3060   };
   3061 #ifdef COBJMACROS
   3062 #define IGraphVersion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3063 #define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This)
   3064 #define IGraphVersion_Release(This) (This)->lpVtbl->Release(This)
   3065 #define IGraphVersion_QueryVersion(This,pVersion) (This)->lpVtbl->QueryVersion(This,pVersion)
   3066 #endif
   3067 #endif
   3068   HRESULT WINAPI IGraphVersion_QueryVersion_Proxy(IGraphVersion *This,LONG *pVersion);
   3069   void __RPC_STUB IGraphVersion_QueryVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3070 #endif
   3071 
   3072 #ifndef __IResourceConsumer_INTERFACE_DEFINED__
   3073 #define __IResourceConsumer_INTERFACE_DEFINED__
   3074   EXTERN_C const IID IID_IResourceConsumer;
   3075 #if defined(__cplusplus) && !defined(CINTERFACE)
   3076   struct IResourceConsumer : public IUnknown {
   3077   public:
   3078     virtual HRESULT WINAPI AcquireResource(LONG idResource) = 0;
   3079     virtual HRESULT WINAPI ReleaseResource(LONG idResource) = 0;
   3080   };
   3081 #else
   3082   typedef struct IResourceConsumerVtbl {
   3083     BEGIN_INTERFACE
   3084       HRESULT (WINAPI *QueryInterface)(IResourceConsumer *This,REFIID riid,void **ppvObject);
   3085       ULONG (WINAPI *AddRef)(IResourceConsumer *This);
   3086       ULONG (WINAPI *Release)(IResourceConsumer *This);
   3087       HRESULT (WINAPI *AcquireResource)(IResourceConsumer *This,LONG idResource);
   3088       HRESULT (WINAPI *ReleaseResource)(IResourceConsumer *This,LONG idResource);
   3089     END_INTERFACE
   3090   } IResourceConsumerVtbl;
   3091   struct IResourceConsumer {
   3092     CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
   3093   };
   3094 #ifdef COBJMACROS
   3095 #define IResourceConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3096 #define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This)
   3097 #define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This)
   3098 #define IResourceConsumer_AcquireResource(This,idResource) (This)->lpVtbl->AcquireResource(This,idResource)
   3099 #define IResourceConsumer_ReleaseResource(This,idResource) (This)->lpVtbl->ReleaseResource(This,idResource)
   3100 #endif
   3101 #endif
   3102   HRESULT WINAPI IResourceConsumer_AcquireResource_Proxy(IResourceConsumer *This,LONG idResource);
   3103   void __RPC_STUB IResourceConsumer_AcquireResource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3104   HRESULT WINAPI IResourceConsumer_ReleaseResource_Proxy(IResourceConsumer *This,LONG idResource);
   3105   void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3106 #endif
   3107 
   3108 #ifndef __IResourceManager_INTERFACE_DEFINED__
   3109 #define __IResourceManager_INTERFACE_DEFINED__
   3110   EXTERN_C const IID IID_IResourceManager;
   3111 #if defined(__cplusplus) && !defined(CINTERFACE)
   3112   struct IResourceManager : public IUnknown {
   3113   public:
   3114     virtual HRESULT WINAPI Register(LPCWSTR pName,LONG cResource,LONG *plToken) = 0;
   3115     virtual HRESULT WINAPI RegisterGroup(LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken) = 0;
   3116     virtual HRESULT WINAPI RequestResource(LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer) = 0;
   3117     virtual HRESULT WINAPI NotifyAcquire(LONG idResource,IResourceConsumer *pConsumer,HRESULT hr) = 0;
   3118     virtual HRESULT WINAPI NotifyRelease(LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant) = 0;
   3119     virtual HRESULT WINAPI CancelRequest(LONG idResource,IResourceConsumer *pConsumer) = 0;
   3120     virtual HRESULT WINAPI SetFocus(IUnknown *pFocusObject) = 0;
   3121     virtual HRESULT WINAPI ReleaseFocus(IUnknown *pFocusObject) = 0;
   3122   };
   3123 #else
   3124   typedef struct IResourceManagerVtbl {
   3125     BEGIN_INTERFACE
   3126       HRESULT (WINAPI *QueryInterface)(IResourceManager *This,REFIID riid,void **ppvObject);
   3127       ULONG (WINAPI *AddRef)(IResourceManager *This);
   3128       ULONG (WINAPI *Release)(IResourceManager *This);
   3129       HRESULT (WINAPI *Register)(IResourceManager *This,LPCWSTR pName,LONG cResource,LONG *plToken);
   3130       HRESULT (WINAPI *RegisterGroup)(IResourceManager *This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken);
   3131       HRESULT (WINAPI *RequestResource)(IResourceManager *This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer);
   3132       HRESULT (WINAPI *NotifyAcquire)(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr);
   3133       HRESULT (WINAPI *NotifyRelease)(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant);
   3134       HRESULT (WINAPI *CancelRequest)(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer);
   3135       HRESULT (WINAPI *SetFocus)(IResourceManager *This,IUnknown *pFocusObject);
   3136       HRESULT (WINAPI *ReleaseFocus)(IResourceManager *This,IUnknown *pFocusObject);
   3137     END_INTERFACE
   3138   } IResourceManagerVtbl;
   3139   struct IResourceManager {
   3140     CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
   3141   };
   3142 #ifdef COBJMACROS
   3143 #define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3144 #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   3145 #define IResourceManager_Release(This) (This)->lpVtbl->Release(This)
   3146 #define IResourceManager_Register(This,pName,cResource,plToken) (This)->lpVtbl->Register(This,pName,cResource,plToken)
   3147 #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) (This)->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken)
   3148 #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) (This)->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer)
   3149 #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) (This)->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr)
   3150 #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) (This)->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant)
   3151 #define IResourceManager_CancelRequest(This,idResource,pConsumer) (This)->lpVtbl->CancelRequest(This,idResource,pConsumer)
   3152 #define IResourceManager_SetFocus(This,pFocusObject) (This)->lpVtbl->SetFocus(This,pFocusObject)
   3153 #define IResourceManager_ReleaseFocus(This,pFocusObject) (This)->lpVtbl->ReleaseFocus(This,pFocusObject)
   3154 #endif
   3155 #endif
   3156   HRESULT WINAPI IResourceManager_Register_Proxy(IResourceManager *This,LPCWSTR pName,LONG cResource,LONG *plToken);
   3157   void __RPC_STUB IResourceManager_Register_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3158   HRESULT WINAPI IResourceManager_RegisterGroup_Proxy(IResourceManager *This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken);
   3159   void __RPC_STUB IResourceManager_RegisterGroup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3160   HRESULT WINAPI IResourceManager_RequestResource_Proxy(IResourceManager *This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer);
   3161   void __RPC_STUB IResourceManager_RequestResource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3162   HRESULT WINAPI IResourceManager_NotifyAcquire_Proxy(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr);
   3163   void __RPC_STUB IResourceManager_NotifyAcquire_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3164   HRESULT WINAPI IResourceManager_NotifyRelease_Proxy(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant);
   3165   void __RPC_STUB IResourceManager_NotifyRelease_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3166   HRESULT WINAPI IResourceManager_CancelRequest_Proxy(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer);
   3167   void __RPC_STUB IResourceManager_CancelRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3168   HRESULT WINAPI IResourceManager_SetFocus_Proxy(IResourceManager *This,IUnknown *pFocusObject);
   3169   void __RPC_STUB IResourceManager_SetFocus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3170   HRESULT WINAPI IResourceManager_ReleaseFocus_Proxy(IResourceManager *This,IUnknown *pFocusObject);
   3171   void __RPC_STUB IResourceManager_ReleaseFocus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3172 #endif
   3173 
   3174 #ifndef __IDistributorNotify_INTERFACE_DEFINED__
   3175 #define __IDistributorNotify_INTERFACE_DEFINED__
   3176   EXTERN_C const IID IID_IDistributorNotify;
   3177 #if defined(__cplusplus) && !defined(CINTERFACE)
   3178   struct IDistributorNotify : public IUnknown {
   3179   public:
   3180     virtual HRESULT WINAPI Stop(void) = 0;
   3181     virtual HRESULT WINAPI Pause(void) = 0;
   3182     virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0;
   3183     virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0;
   3184     virtual HRESULT WINAPI NotifyGraphChange(void) = 0;
   3185   };
   3186 #else
   3187   typedef struct IDistributorNotifyVtbl {
   3188     BEGIN_INTERFACE
   3189       HRESULT (WINAPI *QueryInterface)(IDistributorNotify *This,REFIID riid,void **ppvObject);
   3190       ULONG (WINAPI *AddRef)(IDistributorNotify *This);
   3191       ULONG (WINAPI *Release)(IDistributorNotify *This);
   3192       HRESULT (WINAPI *Stop)(IDistributorNotify *This);
   3193       HRESULT (WINAPI *Pause)(IDistributorNotify *This);
   3194       HRESULT (WINAPI *Run)(IDistributorNotify *This,REFERENCE_TIME tStart);
   3195       HRESULT (WINAPI *SetSyncSource)(IDistributorNotify *This,IReferenceClock *pClock);
   3196       HRESULT (WINAPI *NotifyGraphChange)(IDistributorNotify *This);
   3197     END_INTERFACE
   3198   } IDistributorNotifyVtbl;
   3199   struct IDistributorNotify {
   3200     CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
   3201   };
   3202 #ifdef COBJMACROS
   3203 #define IDistributorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3204 #define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   3205 #define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This)
   3206 #define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This)
   3207 #define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This)
   3208 #define IDistributorNotify_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   3209 #define IDistributorNotify_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   3210 #define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This)
   3211 #endif
   3212 #endif
   3213   HRESULT WINAPI IDistributorNotify_Stop_Proxy(IDistributorNotify *This);
   3214   void __RPC_STUB IDistributorNotify_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3215   HRESULT WINAPI IDistributorNotify_Pause_Proxy(IDistributorNotify *This);
   3216   void __RPC_STUB IDistributorNotify_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3217   HRESULT WINAPI IDistributorNotify_Run_Proxy(IDistributorNotify *This,REFERENCE_TIME tStart);
   3218   void __RPC_STUB IDistributorNotify_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3219   HRESULT WINAPI IDistributorNotify_SetSyncSource_Proxy(IDistributorNotify *This,IReferenceClock *pClock);
   3220   void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3221   HRESULT WINAPI IDistributorNotify_NotifyGraphChange_Proxy(IDistributorNotify *This);
   3222   void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3223 #endif
   3224 
   3225   typedef enum __MIDL___MIDL_itf_strmif_0160_0001 {
   3226     AM_STREAM_INFO_START_DEFINED = 0x1,AM_STREAM_INFO_STOP_DEFINED = 0x2,AM_STREAM_INFO_DISCARDING = 0x4,AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
   3227   } AM_STREAM_INFO_FLAGS;
   3228 
   3229   typedef struct __MIDL___MIDL_itf_strmif_0160_0002 {
   3230     REFERENCE_TIME tStart;
   3231     REFERENCE_TIME tStop;
   3232     DWORD dwStartCookie;
   3233     DWORD dwStopCookie;
   3234     DWORD dwFlags;
   3235   } AM_STREAM_INFO;
   3236 
   3237   extern RPC_IF_HANDLE __MIDL_itf_strmif_0160_v0_0_c_ifspec;
   3238   extern RPC_IF_HANDLE __MIDL_itf_strmif_0160_v0_0_s_ifspec;
   3239 #ifndef __IAMStreamControl_INTERFACE_DEFINED__
   3240 #define __IAMStreamControl_INTERFACE_DEFINED__
   3241   EXTERN_C const IID IID_IAMStreamControl;
   3242 #if defined(__cplusplus) && !defined(CINTERFACE)
   3243   struct IAMStreamControl : public IUnknown {
   3244   public:
   3245     virtual HRESULT WINAPI StartAt(const REFERENCE_TIME *ptStart,DWORD dwCookie) = 0;
   3246     virtual HRESULT WINAPI StopAt(const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie) = 0;
   3247     virtual HRESULT WINAPI GetInfo(AM_STREAM_INFO *pInfo) = 0;
   3248   };
   3249 #else
   3250   typedef struct IAMStreamControlVtbl {
   3251     BEGIN_INTERFACE
   3252       HRESULT (WINAPI *QueryInterface)(IAMStreamControl *This,REFIID riid,void **ppvObject);
   3253       ULONG (WINAPI *AddRef)(IAMStreamControl *This);
   3254       ULONG (WINAPI *Release)(IAMStreamControl *This);
   3255       HRESULT (WINAPI *StartAt)(IAMStreamControl *This,const REFERENCE_TIME *ptStart,DWORD dwCookie);
   3256       HRESULT (WINAPI *StopAt)(IAMStreamControl *This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie);
   3257       HRESULT (WINAPI *GetInfo)(IAMStreamControl *This,AM_STREAM_INFO *pInfo);
   3258     END_INTERFACE
   3259   } IAMStreamControlVtbl;
   3260   struct IAMStreamControl {
   3261     CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
   3262   };
   3263 #ifdef COBJMACROS
   3264 #define IAMStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3265 #define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   3266 #define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This)
   3267 #define IAMStreamControl_StartAt(This,ptStart,dwCookie) (This)->lpVtbl->StartAt(This,ptStart,dwCookie)
   3268 #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) (This)->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie)
   3269 #define IAMStreamControl_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
   3270 #endif
   3271 #endif
   3272   HRESULT WINAPI IAMStreamControl_StartAt_Proxy(IAMStreamControl *This,const REFERENCE_TIME *ptStart,DWORD dwCookie);
   3273   void __RPC_STUB IAMStreamControl_StartAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3274   HRESULT WINAPI IAMStreamControl_StopAt_Proxy(IAMStreamControl *This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie);
   3275   void __RPC_STUB IAMStreamControl_StopAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3276   HRESULT WINAPI IAMStreamControl_GetInfo_Proxy(IAMStreamControl *This,AM_STREAM_INFO *pInfo);
   3277   void __RPC_STUB IAMStreamControl_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3278 #endif
   3279 
   3280 #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
   3281 #define __ISeekingPassThru_INTERFACE_DEFINED__
   3282   EXTERN_C const IID IID_ISeekingPassThru;
   3283 #if defined(__cplusplus) && !defined(CINTERFACE)
   3284   struct ISeekingPassThru : public IUnknown {
   3285   public:
   3286     virtual HRESULT WINAPI Init(WINBOOL bSupportRendering,IPin *pPin) = 0;
   3287   };
   3288 #else
   3289   typedef struct ISeekingPassThruVtbl {
   3290     BEGIN_INTERFACE
   3291       HRESULT (WINAPI *QueryInterface)(ISeekingPassThru *This,REFIID riid,void **ppvObject);
   3292       ULONG (WINAPI *AddRef)(ISeekingPassThru *This);
   3293       ULONG (WINAPI *Release)(ISeekingPassThru *This);
   3294       HRESULT (WINAPI *Init)(ISeekingPassThru *This,WINBOOL bSupportRendering,IPin *pPin);
   3295     END_INTERFACE
   3296   } ISeekingPassThruVtbl;
   3297   struct ISeekingPassThru {
   3298     CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
   3299   };
   3300 #ifdef COBJMACROS
   3301 #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3302 #define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This)
   3303 #define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This)
   3304 #define ISeekingPassThru_Init(This,bSupportRendering,pPin) (This)->lpVtbl->Init(This,bSupportRendering,pPin)
   3305 #endif
   3306 #endif
   3307   HRESULT WINAPI ISeekingPassThru_Init_Proxy(ISeekingPassThru *This,WINBOOL bSupportRendering,IPin *pPin);
   3308   void __RPC_STUB ISeekingPassThru_Init_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3309 #endif
   3310 
   3311 #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
   3312 #define __IAMStreamConfig_INTERFACE_DEFINED__
   3313   typedef struct _VIDEO_STREAM_CONFIG_CAPS {
   3314     GUID guid;
   3315     ULONG VideoStandard;
   3316     SIZE InputSize;
   3317     SIZE MinCroppingSize;
   3318     SIZE MaxCroppingSize;
   3319     int CropGranularityX;
   3320     int CropGranularityY;
   3321     int CropAlignX;
   3322     int CropAlignY;
   3323     SIZE MinOutputSize;
   3324     SIZE MaxOutputSize;
   3325     int OutputGranularityX;
   3326     int OutputGranularityY;
   3327     int StretchTapsX;
   3328     int StretchTapsY;
   3329     int ShrinkTapsX;
   3330     int ShrinkTapsY;
   3331     LONGLONG MinFrameInterval;
   3332     LONGLONG MaxFrameInterval;
   3333     LONG MinBitsPerSecond;
   3334     LONG MaxBitsPerSecond;
   3335   } VIDEO_STREAM_CONFIG_CAPS;
   3336 
   3337   typedef struct _AUDIO_STREAM_CONFIG_CAPS {
   3338     GUID guid;
   3339     ULONG MinimumChannels;
   3340     ULONG MaximumChannels;
   3341     ULONG ChannelsGranularity;
   3342     ULONG MinimumBitsPerSample;
   3343     ULONG MaximumBitsPerSample;
   3344     ULONG BitsPerSampleGranularity;
   3345     ULONG MinimumSampleFrequency;
   3346     ULONG MaximumSampleFrequency;
   3347     ULONG SampleFrequencyGranularity;
   3348   } AUDIO_STREAM_CONFIG_CAPS;
   3349 
   3350   EXTERN_C const IID IID_IAMStreamConfig;
   3351 #if defined(__cplusplus) && !defined(CINTERFACE)
   3352   struct IAMStreamConfig : public IUnknown {
   3353   public:
   3354     virtual HRESULT WINAPI SetFormat(AM_MEDIA_TYPE *pmt) = 0;
   3355     virtual HRESULT WINAPI GetFormat(AM_MEDIA_TYPE **ppmt) = 0;
   3356     virtual HRESULT WINAPI GetNumberOfCapabilities(int *piCount,int *piSize) = 0;
   3357     virtual HRESULT WINAPI GetStreamCaps(int iIndex,AM_MEDIA_TYPE **ppmt,BYTE *pSCC) = 0;
   3358   };
   3359 #else
   3360   typedef struct IAMStreamConfigVtbl {
   3361     BEGIN_INTERFACE
   3362       HRESULT (WINAPI *QueryInterface)(IAMStreamConfig *This,REFIID riid,void **ppvObject);
   3363       ULONG (WINAPI *AddRef)(IAMStreamConfig *This);
   3364       ULONG (WINAPI *Release)(IAMStreamConfig *This);
   3365       HRESULT (WINAPI *SetFormat)(IAMStreamConfig *This,AM_MEDIA_TYPE *pmt);
   3366       HRESULT (WINAPI *GetFormat)(IAMStreamConfig *This,AM_MEDIA_TYPE **ppmt);
   3367       HRESULT (WINAPI *GetNumberOfCapabilities)(IAMStreamConfig *This,int *piCount,int *piSize);
   3368       HRESULT (WINAPI *GetStreamCaps)(IAMStreamConfig *This,int iIndex,AM_MEDIA_TYPE **ppmt,BYTE *pSCC);
   3369     END_INTERFACE
   3370   } IAMStreamConfigVtbl;
   3371   struct IAMStreamConfig {
   3372     CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
   3373   };
   3374 #ifdef COBJMACROS
   3375 #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3376 #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   3377 #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This)
   3378 #define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt)
   3379 #define IAMStreamConfig_GetFormat(This,ppmt) (This)->lpVtbl->GetFormat(This,ppmt)
   3380 #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize)
   3381 #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,ppmt,pSCC)
   3382 #endif
   3383 #endif
   3384   HRESULT WINAPI IAMStreamConfig_SetFormat_Proxy(IAMStreamConfig *This,AM_MEDIA_TYPE *pmt);
   3385   void __RPC_STUB IAMStreamConfig_SetFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3386   HRESULT WINAPI IAMStreamConfig_GetFormat_Proxy(IAMStreamConfig *This,AM_MEDIA_TYPE **ppmt);
   3387   void __RPC_STUB IAMStreamConfig_GetFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3388   HRESULT WINAPI IAMStreamConfig_GetNumberOfCapabilities_Proxy(IAMStreamConfig *This,int *piCount,int *piSize);
   3389   void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3390   HRESULT WINAPI IAMStreamConfig_GetStreamCaps_Proxy(IAMStreamConfig *This,int iIndex,AM_MEDIA_TYPE **ppmt,BYTE *pSCC);
   3391   void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3392 #endif
   3393 
   3394 #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
   3395 #define __IConfigInterleaving_INTERFACE_DEFINED__
   3396   typedef enum __MIDL_IConfigInterleaving_0001 {
   3397     INTERLEAVE_NONE = 0,
   3398     INTERLEAVE_CAPTURE,INTERLEAVE_FULL,INTERLEAVE_NONE_BUFFERED
   3399   } InterleavingMode;
   3400 
   3401   EXTERN_C const IID IID_IConfigInterleaving;
   3402 #if defined(__cplusplus) && !defined(CINTERFACE)
   3403   struct IConfigInterleaving : public IUnknown {
   3404   public:
   3405     virtual HRESULT WINAPI put_Mode(InterleavingMode mode) = 0;
   3406     virtual HRESULT WINAPI get_Mode(InterleavingMode *pMode) = 0;
   3407     virtual HRESULT WINAPI put_Interleaving(const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) = 0;
   3408     virtual HRESULT WINAPI get_Interleaving(REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) = 0;
   3409   };
   3410 #else
   3411   typedef struct IConfigInterleavingVtbl {
   3412     BEGIN_INTERFACE
   3413       HRESULT (WINAPI *QueryInterface)(IConfigInterleaving *This,REFIID riid,void **ppvObject);
   3414       ULONG (WINAPI *AddRef)(IConfigInterleaving *This);
   3415       ULONG (WINAPI *Release)(IConfigInterleaving *This);
   3416       HRESULT (WINAPI *put_Mode)(IConfigInterleaving *This,InterleavingMode mode);
   3417       HRESULT (WINAPI *get_Mode)(IConfigInterleaving *This,InterleavingMode *pMode);
   3418       HRESULT (WINAPI *put_Interleaving)(IConfigInterleaving *This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll);
   3419       HRESULT (WINAPI *get_Interleaving)(IConfigInterleaving *This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll);
   3420     END_INTERFACE
   3421   } IConfigInterleavingVtbl;
   3422   struct IConfigInterleaving {
   3423     CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
   3424   };
   3425 #ifdef COBJMACROS
   3426 #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3427 #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This)
   3428 #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This)
   3429 #define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
   3430 #define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
   3431 #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll)
   3432 #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll)
   3433 #endif
   3434 #endif
   3435   HRESULT WINAPI IConfigInterleaving_put_Mode_Proxy(IConfigInterleaving *This,InterleavingMode mode);
   3436   void __RPC_STUB IConfigInterleaving_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3437   HRESULT WINAPI IConfigInterleaving_get_Mode_Proxy(IConfigInterleaving *This,InterleavingMode *pMode);
   3438   void __RPC_STUB IConfigInterleaving_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3439   HRESULT WINAPI IConfigInterleaving_put_Interleaving_Proxy(IConfigInterleaving *This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll);
   3440   void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3441   HRESULT WINAPI IConfigInterleaving_get_Interleaving_Proxy(IConfigInterleaving *This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll);
   3442   void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3443 #endif
   3444 
   3445 #ifndef __IConfigAviMux_INTERFACE_DEFINED__
   3446 #define __IConfigAviMux_INTERFACE_DEFINED__
   3447   EXTERN_C const IID IID_IConfigAviMux;
   3448 #if defined(__cplusplus) && !defined(CINTERFACE)
   3449   struct IConfigAviMux : public IUnknown {
   3450   public:
   3451     virtual HRESULT WINAPI SetMasterStream(LONG iStream) = 0;
   3452     virtual HRESULT WINAPI GetMasterStream(LONG *pStream) = 0;
   3453     virtual HRESULT WINAPI SetOutputCompatibilityIndex(WINBOOL fOldIndex) = 0;
   3454     virtual HRESULT WINAPI GetOutputCompatibilityIndex(WINBOOL *pfOldIndex) = 0;
   3455   };
   3456 #else
   3457   typedef struct IConfigAviMuxVtbl {
   3458     BEGIN_INTERFACE
   3459       HRESULT (WINAPI *QueryInterface)(IConfigAviMux *This,REFIID riid,void **ppvObject);
   3460       ULONG (WINAPI *AddRef)(IConfigAviMux *This);
   3461       ULONG (WINAPI *Release)(IConfigAviMux *This);
   3462       HRESULT (WINAPI *SetMasterStream)(IConfigAviMux *This,LONG iStream);
   3463       HRESULT (WINAPI *GetMasterStream)(IConfigAviMux *This,LONG *pStream);
   3464       HRESULT (WINAPI *SetOutputCompatibilityIndex)(IConfigAviMux *This,WINBOOL fOldIndex);
   3465       HRESULT (WINAPI *GetOutputCompatibilityIndex)(IConfigAviMux *This,WINBOOL *pfOldIndex);
   3466     END_INTERFACE
   3467   } IConfigAviMuxVtbl;
   3468   struct IConfigAviMux {
   3469     CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
   3470   };
   3471 #ifdef COBJMACROS
   3472 #define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3473 #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This)
   3474 #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This)
   3475 #define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream)
   3476 #define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream)
   3477 #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex)
   3478 #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex)
   3479 #endif
   3480 #endif
   3481   HRESULT WINAPI IConfigAviMux_SetMasterStream_Proxy(IConfigAviMux *This,LONG iStream);
   3482   void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3483   HRESULT WINAPI IConfigAviMux_GetMasterStream_Proxy(IConfigAviMux *This,LONG *pStream);
   3484   void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3485   HRESULT WINAPI IConfigAviMux_SetOutputCompatibilityIndex_Proxy(IConfigAviMux *This,WINBOOL fOldIndex);
   3486   void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3487   HRESULT WINAPI IConfigAviMux_GetOutputCompatibilityIndex_Proxy(IConfigAviMux *This,WINBOOL *pfOldIndex);
   3488   void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3489 #endif
   3490 
   3491   typedef enum __MIDL___MIDL_itf_strmif_0167_0001 {
   3492     CompressionCaps_CanQuality = 0x1,CompressionCaps_CanCrunch = 0x2,CompressionCaps_CanKeyFrame = 0x4,CompressionCaps_CanBFrame = 0x8,
   3493     CompressionCaps_CanWindow = 0x10
   3494   } CompressionCaps;
   3495 
   3496   extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
   3497   extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
   3498 #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
   3499 #define __IAMVideoCompression_INTERFACE_DEFINED__
   3500   EXTERN_C const IID IID_IAMVideoCompression;
   3501 #if defined(__cplusplus) && !defined(CINTERFACE)
   3502   struct IAMVideoCompression : public IUnknown {
   3503   public:
   3504     virtual HRESULT WINAPI put_KeyFrameRate(long KeyFrameRate) = 0;
   3505     virtual HRESULT WINAPI get_KeyFrameRate(long *pKeyFrameRate) = 0;
   3506     virtual HRESULT WINAPI put_PFramesPerKeyFrame(long PFramesPerKeyFrame) = 0;
   3507     virtual HRESULT WINAPI get_PFramesPerKeyFrame(long *pPFramesPerKeyFrame) = 0;
   3508     virtual HRESULT WINAPI put_Quality(double Quality) = 0;
   3509     virtual HRESULT WINAPI get_Quality(double *pQuality) = 0;
   3510     virtual HRESULT WINAPI put_WindowSize(DWORDLONG WindowSize) = 0;
   3511     virtual HRESULT WINAPI get_WindowSize(DWORDLONG *pWindowSize) = 0;
   3512     virtual HRESULT WINAPI GetInfo(WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,long *pDefaultKeyFrameRate,long *pDefaultPFramesPerKey,double *pDefaultQuality,long *pCapabilities) = 0;
   3513     virtual HRESULT WINAPI OverrideKeyFrame(long FrameNumber) = 0;
   3514     virtual HRESULT WINAPI OverrideFrameSize(long FrameNumber,long Size) = 0;
   3515   };
   3516 #else
   3517   typedef struct IAMVideoCompressionVtbl {
   3518     BEGIN_INTERFACE
   3519       HRESULT (WINAPI *QueryInterface)(IAMVideoCompression *This,REFIID riid,void **ppvObject);
   3520       ULONG (WINAPI *AddRef)(IAMVideoCompression *This);
   3521       ULONG (WINAPI *Release)(IAMVideoCompression *This);
   3522       HRESULT (WINAPI *put_KeyFrameRate)(IAMVideoCompression *This,long KeyFrameRate);
   3523       HRESULT (WINAPI *get_KeyFrameRate)(IAMVideoCompression *This,long *pKeyFrameRate);
   3524       HRESULT (WINAPI *put_PFramesPerKeyFrame)(IAMVideoCompression *This,long PFramesPerKeyFrame);
   3525       HRESULT (WINAPI *get_PFramesPerKeyFrame)(IAMVideoCompression *This,long *pPFramesPerKeyFrame);
   3526       HRESULT (WINAPI *put_Quality)(IAMVideoCompression *This,double Quality);
   3527       HRESULT (WINAPI *get_Quality)(IAMVideoCompression *This,double *pQuality);
   3528       HRESULT (WINAPI *put_WindowSize)(IAMVideoCompression *This,DWORDLONG WindowSize);
   3529       HRESULT (WINAPI *get_WindowSize)(IAMVideoCompression *This,DWORDLONG *pWindowSize);
   3530       HRESULT (WINAPI *GetInfo)(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,long *pDefaultKeyFrameRate,long *pDefaultPFramesPerKey,double *pDefaultQuality,long *pCapabilities);
   3531       HRESULT (WINAPI *OverrideKeyFrame)(IAMVideoCompression *This,long FrameNumber);
   3532       HRESULT (WINAPI *OverrideFrameSize)(IAMVideoCompression *This,long FrameNumber,long Size);
   3533     END_INTERFACE
   3534   } IAMVideoCompressionVtbl;
   3535   struct IAMVideoCompression {
   3536     CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
   3537   };
   3538 #ifdef COBJMACROS
   3539 #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3540 #define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This)
   3541 #define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This)
   3542 #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate) (This)->lpVtbl->put_KeyFrameRate(This,KeyFrameRate)
   3543 #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate) (This)->lpVtbl->get_KeyFrameRate(This,pKeyFrameRate)
   3544 #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) (This)->lpVtbl->put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
   3545 #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) (This)->lpVtbl->get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
   3546 #define IAMVideoCompression_put_Quality(This,Quality) (This)->lpVtbl->put_Quality(This,Quality)
   3547 #define IAMVideoCompression_get_Quality(This,pQuality) (This)->lpVtbl->get_Quality(This,pQuality)
   3548 #define IAMVideoCompression_put_WindowSize(This,WindowSize) (This)->lpVtbl->put_WindowSize(This,WindowSize)
   3549 #define IAMVideoCompression_get_WindowSize(This,pWindowSize) (This)->lpVtbl->get_WindowSize(This,pWindowSize)
   3550 #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) (This)->lpVtbl->GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
   3551 #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber) (This)->lpVtbl->OverrideKeyFrame(This,FrameNumber)
   3552 #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size) (This)->lpVtbl->OverrideFrameSize(This,FrameNumber,Size)
   3553 #endif
   3554 #endif
   3555   HRESULT WINAPI IAMVideoCompression_put_KeyFrameRate_Proxy(IAMVideoCompression *This,long KeyFrameRate);
   3556   void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3557   HRESULT WINAPI IAMVideoCompression_get_KeyFrameRate_Proxy(IAMVideoCompression *This,long *pKeyFrameRate);
   3558   void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3559   HRESULT WINAPI IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,long PFramesPerKeyFrame);
   3560   void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3561   HRESULT WINAPI IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,long *pPFramesPerKeyFrame);
   3562   void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3563   HRESULT WINAPI IAMVideoCompression_put_Quality_Proxy(IAMVideoCompression *This,double Quality);
   3564   void __RPC_STUB IAMVideoCompression_put_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3565   HRESULT WINAPI IAMVideoCompression_get_Quality_Proxy(IAMVideoCompression *This,double *pQuality);
   3566   void __RPC_STUB IAMVideoCompression_get_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3567   HRESULT WINAPI IAMVideoCompression_put_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG WindowSize);
   3568   void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3569   HRESULT WINAPI IAMVideoCompression_get_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG *pWindowSize);
   3570   void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3571   HRESULT WINAPI IAMVideoCompression_GetInfo_Proxy(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,long *pDefaultKeyFrameRate,long *pDefaultPFramesPerKey,double *pDefaultQuality,long *pCapabilities);
   3572   void __RPC_STUB IAMVideoCompression_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3573   HRESULT WINAPI IAMVideoCompression_OverrideKeyFrame_Proxy(IAMVideoCompression *This,long FrameNumber);
   3574   void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3575   HRESULT WINAPI IAMVideoCompression_OverrideFrameSize_Proxy(IAMVideoCompression *This,long FrameNumber,long Size);
   3576   void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3577 #endif
   3578 
   3579   typedef enum __MIDL___MIDL_itf_strmif_0168_0001 {
   3580     VfwCaptureDialog_Source = 0x1,VfwCaptureDialog_Format = 0x2,VfwCaptureDialog_Display = 0x4
   3581   } VfwCaptureDialogs;
   3582 
   3583   typedef enum __MIDL___MIDL_itf_strmif_0168_0002 {
   3584     VfwCompressDialog_Config = 0x1,VfwCompressDialog_About = 0x2,VfwCompressDialog_QueryConfig = 0x4,VfwCompressDialog_QueryAbout = 0x8
   3585   } VfwCompressDialogs;
   3586 
   3587   extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_c_ifspec;
   3588   extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_s_ifspec;
   3589 #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
   3590 #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
   3591   EXTERN_C const IID IID_IAMVfwCaptureDialogs;
   3592 #if defined(__cplusplus) && !defined(CINTERFACE)
   3593   struct IAMVfwCaptureDialogs : public IUnknown {
   3594   public:
   3595     virtual HRESULT WINAPI HasDialog(int iDialog) = 0;
   3596     virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0;
   3597     virtual HRESULT WINAPI SendDriverMessage(int iDialog,int uMsg,long dw1,long dw2) = 0;
   3598   };
   3599 #else
   3600   typedef struct IAMVfwCaptureDialogsVtbl {
   3601     BEGIN_INTERFACE
   3602       HRESULT (WINAPI *QueryInterface)(IAMVfwCaptureDialogs *This,REFIID riid,void **ppvObject);
   3603       ULONG (WINAPI *AddRef)(IAMVfwCaptureDialogs *This);
   3604       ULONG (WINAPI *Release)(IAMVfwCaptureDialogs *This);
   3605       HRESULT (WINAPI *HasDialog)(IAMVfwCaptureDialogs *This,int iDialog);
   3606       HRESULT (WINAPI *ShowDialog)(IAMVfwCaptureDialogs *This,int iDialog,HWND hwnd);
   3607       HRESULT (WINAPI *SendDriverMessage)(IAMVfwCaptureDialogs *This,int iDialog,int uMsg,long dw1,long dw2);
   3608     END_INTERFACE
   3609   } IAMVfwCaptureDialogsVtbl;
   3610   struct IAMVfwCaptureDialogs {
   3611     CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
   3612   };
   3613 #ifdef COBJMACROS
   3614 #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3615 #define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
   3616 #define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This)
   3617 #define IAMVfwCaptureDialogs_HasDialog(This,iDialog) (This)->lpVtbl->HasDialog(This,iDialog)
   3618 #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd)
   3619 #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
   3620 #endif
   3621 #endif
   3622   HRESULT WINAPI IAMVfwCaptureDialogs_HasDialog_Proxy(IAMVfwCaptureDialogs *This,int iDialog);
   3623   void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3624   HRESULT WINAPI IAMVfwCaptureDialogs_ShowDialog_Proxy(IAMVfwCaptureDialogs *This,int iDialog,HWND hwnd);
   3625   void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3626   HRESULT WINAPI IAMVfwCaptureDialogs_SendDriverMessage_Proxy(IAMVfwCaptureDialogs *This,int iDialog,int uMsg,long dw1,long dw2);
   3627   void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3628 #endif
   3629 
   3630 #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
   3631 #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
   3632   EXTERN_C const IID IID_IAMVfwCompressDialogs;
   3633 #if defined(__cplusplus) && !defined(CINTERFACE)
   3634   struct IAMVfwCompressDialogs : public IUnknown {
   3635   public:
   3636     virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0;
   3637     virtual HRESULT WINAPI GetState(LPVOID pState,int *pcbState) = 0;
   3638     virtual HRESULT WINAPI SetState(LPVOID pState,int cbState) = 0;
   3639     virtual HRESULT WINAPI SendDriverMessage(int uMsg,long dw1,long dw2) = 0;
   3640   };
   3641 #else
   3642   typedef struct IAMVfwCompressDialogsVtbl {
   3643     BEGIN_INTERFACE
   3644       HRESULT (WINAPI *QueryInterface)(IAMVfwCompressDialogs *This,REFIID riid,void **ppvObject);
   3645       ULONG (WINAPI *AddRef)(IAMVfwCompressDialogs *This);
   3646       ULONG (WINAPI *Release)(IAMVfwCompressDialogs *This);
   3647       HRESULT (WINAPI *ShowDialog)(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
   3648       HRESULT (WINAPI *GetState)(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
   3649       HRESULT (WINAPI *SetState)(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
   3650       HRESULT (WINAPI *SendDriverMessage)(IAMVfwCompressDialogs *This,int uMsg,long dw1,long dw2);
   3651     END_INTERFACE
   3652   } IAMVfwCompressDialogsVtbl;
   3653   struct IAMVfwCompressDialogs {
   3654     CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
   3655   };
   3656 #ifdef COBJMACROS
   3657 #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3658 #define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
   3659 #define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This)
   3660 #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd)
   3661 #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) (This)->lpVtbl->GetState(This,pState,pcbState)
   3662 #define IAMVfwCompressDialogs_SetState(This,pState,cbState) (This)->lpVtbl->SetState(This,pState,cbState)
   3663 #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,uMsg,dw1,dw2)
   3664 #endif
   3665 #endif
   3666   HRESULT WINAPI IAMVfwCompressDialogs_ShowDialog_Proxy(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
   3667   void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3668   HRESULT WINAPI IAMVfwCompressDialogs_GetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
   3669   void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3670   HRESULT WINAPI IAMVfwCompressDialogs_SetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
   3671   void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3672   HRESULT WINAPI IAMVfwCompressDialogs_SendDriverMessage_Proxy(IAMVfwCompressDialogs *This,int uMsg,long dw1,long dw2);
   3673   void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3674 #endif
   3675 
   3676 #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
   3677 #define __IAMDroppedFrames_INTERFACE_DEFINED__
   3678   EXTERN_C const IID IID_IAMDroppedFrames;
   3679 #if defined(__cplusplus) && !defined(CINTERFACE)
   3680   struct IAMDroppedFrames : public IUnknown {
   3681   public:
   3682     virtual HRESULT WINAPI GetNumDropped(long *plDropped) = 0;
   3683     virtual HRESULT WINAPI GetNumNotDropped(long *plNotDropped) = 0;
   3684     virtual HRESULT WINAPI GetDroppedInfo(long lSize,long *plArray,long *plNumCopied) = 0;
   3685     virtual HRESULT WINAPI GetAverageFrameSize(long *plAverageSize) = 0;
   3686   };
   3687 #else
   3688   typedef struct IAMDroppedFramesVtbl {
   3689     BEGIN_INTERFACE
   3690       HRESULT (WINAPI *QueryInterface)(IAMDroppedFrames *This,REFIID riid,void **ppvObject);
   3691       ULONG (WINAPI *AddRef)(IAMDroppedFrames *This);
   3692       ULONG (WINAPI *Release)(IAMDroppedFrames *This);
   3693       HRESULT (WINAPI *GetNumDropped)(IAMDroppedFrames *This,long *plDropped);
   3694       HRESULT (WINAPI *GetNumNotDropped)(IAMDroppedFrames *This,long *plNotDropped);
   3695       HRESULT (WINAPI *GetDroppedInfo)(IAMDroppedFrames *This,long lSize,long *plArray,long *plNumCopied);
   3696       HRESULT (WINAPI *GetAverageFrameSize)(IAMDroppedFrames *This,long *plAverageSize);
   3697     END_INTERFACE
   3698   } IAMDroppedFramesVtbl;
   3699   struct IAMDroppedFrames {
   3700     CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
   3701   };
   3702 #ifdef COBJMACROS
   3703 #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3704 #define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This)
   3705 #define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This)
   3706 #define IAMDroppedFrames_GetNumDropped(This,plDropped) (This)->lpVtbl->GetNumDropped(This,plDropped)
   3707 #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped) (This)->lpVtbl->GetNumNotDropped(This,plNotDropped)
   3708 #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied) (This)->lpVtbl->GetDroppedInfo(This,lSize,plArray,plNumCopied)
   3709 #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize) (This)->lpVtbl->GetAverageFrameSize(This,plAverageSize)
   3710 #endif
   3711 #endif
   3712   HRESULT WINAPI IAMDroppedFrames_GetNumDropped_Proxy(IAMDroppedFrames *This,long *plDropped);
   3713   void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3714   HRESULT WINAPI IAMDroppedFrames_GetNumNotDropped_Proxy(IAMDroppedFrames *This,long *plNotDropped);
   3715   void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3716   HRESULT WINAPI IAMDroppedFrames_GetDroppedInfo_Proxy(IAMDroppedFrames *This,long lSize,long *plArray,long *plNumCopied);
   3717   void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3718   HRESULT WINAPI IAMDroppedFrames_GetAverageFrameSize_Proxy(IAMDroppedFrames *This,long *plAverageSize);
   3719   void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3720 #endif
   3721 
   3722 #define AMF_AUTOMATICGAIN -1.0
   3723 
   3724   extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
   3725   extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
   3726 #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
   3727 #define __IAMAudioInputMixer_INTERFACE_DEFINED__
   3728   EXTERN_C const IID IID_IAMAudioInputMixer;
   3729 #if defined(__cplusplus) && !defined(CINTERFACE)
   3730   struct IAMAudioInputMixer : public IUnknown {
   3731   public:
   3732     virtual HRESULT WINAPI put_Enable(WINBOOL fEnable) = 0;
   3733     virtual HRESULT WINAPI get_Enable(WINBOOL *pfEnable) = 0;
   3734     virtual HRESULT WINAPI put_Mono(WINBOOL fMono) = 0;
   3735     virtual HRESULT WINAPI get_Mono(WINBOOL *pfMono) = 0;
   3736     virtual HRESULT WINAPI put_MixLevel(double Level) = 0;
   3737     virtual HRESULT WINAPI get_MixLevel(double *pLevel) = 0;
   3738     virtual HRESULT WINAPI put_Pan(double Pan) = 0;
   3739     virtual HRESULT WINAPI get_Pan(double *pPan) = 0;
   3740     virtual HRESULT WINAPI put_Loudness(WINBOOL fLoudness) = 0;
   3741     virtual HRESULT WINAPI get_Loudness(WINBOOL *pfLoudness) = 0;
   3742     virtual HRESULT WINAPI put_Treble(double Treble) = 0;
   3743     virtual HRESULT WINAPI get_Treble(double *pTreble) = 0;
   3744     virtual HRESULT WINAPI get_TrebleRange(double *pRange) = 0;
   3745     virtual HRESULT WINAPI put_Bass(double Bass) = 0;
   3746     virtual HRESULT WINAPI get_Bass(double *pBass) = 0;
   3747     virtual HRESULT WINAPI get_BassRange(double *pRange) = 0;
   3748   };
   3749 #else
   3750   typedef struct IAMAudioInputMixerVtbl {
   3751     BEGIN_INTERFACE
   3752       HRESULT (WINAPI *QueryInterface)(IAMAudioInputMixer *This,REFIID riid,void **ppvObject);
   3753       ULONG (WINAPI *AddRef)(IAMAudioInputMixer *This);
   3754       ULONG (WINAPI *Release)(IAMAudioInputMixer *This);
   3755       HRESULT (WINAPI *put_Enable)(IAMAudioInputMixer *This,WINBOOL fEnable);
   3756       HRESULT (WINAPI *get_Enable)(IAMAudioInputMixer *This,WINBOOL *pfEnable);
   3757       HRESULT (WINAPI *put_Mono)(IAMAudioInputMixer *This,WINBOOL fMono);
   3758       HRESULT (WINAPI *get_Mono)(IAMAudioInputMixer *This,WINBOOL *pfMono);
   3759       HRESULT (WINAPI *put_MixLevel)(IAMAudioInputMixer *This,double Level);
   3760       HRESULT (WINAPI *get_MixLevel)(IAMAudioInputMixer *This,double *pLevel);
   3761       HRESULT (WINAPI *put_Pan)(IAMAudioInputMixer *This,double Pan);
   3762       HRESULT (WINAPI *get_Pan)(IAMAudioInputMixer *This,double *pPan);
   3763       HRESULT (WINAPI *put_Loudness)(IAMAudioInputMixer *This,WINBOOL fLoudness);
   3764       HRESULT (WINAPI *get_Loudness)(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
   3765       HRESULT (WINAPI *put_Treble)(IAMAudioInputMixer *This,double Treble);
   3766       HRESULT (WINAPI *get_Treble)(IAMAudioInputMixer *This,double *pTreble);
   3767       HRESULT (WINAPI *get_TrebleRange)(IAMAudioInputMixer *This,double *pRange);
   3768       HRESULT (WINAPI *put_Bass)(IAMAudioInputMixer *This,double Bass);
   3769       HRESULT (WINAPI *get_Bass)(IAMAudioInputMixer *This,double *pBass);
   3770       HRESULT (WINAPI *get_BassRange)(IAMAudioInputMixer *This,double *pRange);
   3771     END_INTERFACE
   3772   } IAMAudioInputMixerVtbl;
   3773   struct IAMAudioInputMixer {
   3774     CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
   3775   };
   3776 #ifdef COBJMACROS
   3777 #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3778 #define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
   3779 #define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This)
   3780 #define IAMAudioInputMixer_put_Enable(This,fEnable) (This)->lpVtbl->put_Enable(This,fEnable)
   3781 #define IAMAudioInputMixer_get_Enable(This,pfEnable) (This)->lpVtbl->get_Enable(This,pfEnable)
   3782 #define IAMAudioInputMixer_put_Mono(This,fMono) (This)->lpVtbl->put_Mono(This,fMono)
   3783 #define IAMAudioInputMixer_get_Mono(This,pfMono) (This)->lpVtbl->get_Mono(This,pfMono)
   3784 #define IAMAudioInputMixer_put_MixLevel(This,Level) (This)->lpVtbl->put_MixLevel(This,Level)
   3785 #define IAMAudioInputMixer_get_MixLevel(This,pLevel) (This)->lpVtbl->get_MixLevel(This,pLevel)
   3786 #define IAMAudioInputMixer_put_Pan(This,Pan) (This)->lpVtbl->put_Pan(This,Pan)
   3787 #define IAMAudioInputMixer_get_Pan(This,pPan) (This)->lpVtbl->get_Pan(This,pPan)
   3788 #define IAMAudioInputMixer_put_Loudness(This,fLoudness) (This)->lpVtbl->put_Loudness(This,fLoudness)
   3789 #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) (This)->lpVtbl->get_Loudness(This,pfLoudness)
   3790 #define IAMAudioInputMixer_put_Treble(This,Treble) (This)->lpVtbl->put_Treble(This,Treble)
   3791 #define IAMAudioInputMixer_get_Treble(This,pTreble) (This)->lpVtbl->get_Treble(This,pTreble)
   3792 #define IAMAudioInputMixer_get_TrebleRange(This,pRange) (This)->lpVtbl->get_TrebleRange(This,pRange)
   3793 #define IAMAudioInputMixer_put_Bass(This,Bass) (This)->lpVtbl->put_Bass(This,Bass)
   3794 #define IAMAudioInputMixer_get_Bass(This,pBass) (This)->lpVtbl->get_Bass(This,pBass)
   3795 #define IAMAudioInputMixer_get_BassRange(This,pRange) (This)->lpVtbl->get_BassRange(This,pRange)
   3796 #endif
   3797 #endif
   3798   HRESULT WINAPI IAMAudioInputMixer_put_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL fEnable);
   3799   void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3800   HRESULT WINAPI IAMAudioInputMixer_get_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL *pfEnable);
   3801   void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3802   HRESULT WINAPI IAMAudioInputMixer_put_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL fMono);
   3803   void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3804   HRESULT WINAPI IAMAudioInputMixer_get_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL *pfMono);
   3805   void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3806   HRESULT WINAPI IAMAudioInputMixer_put_MixLevel_Proxy(IAMAudioInputMixer *This,double Level);
   3807   void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3808   HRESULT WINAPI IAMAudioInputMixer_get_MixLevel_Proxy(IAMAudioInputMixer *This,double *pLevel);
   3809   void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3810   HRESULT WINAPI IAMAudioInputMixer_put_Pan_Proxy(IAMAudioInputMixer *This,double Pan);
   3811   void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3812   HRESULT WINAPI IAMAudioInputMixer_get_Pan_Proxy(IAMAudioInputMixer *This,double *pPan);
   3813   void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3814   HRESULT WINAPI IAMAudioInputMixer_put_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL fLoudness);
   3815   void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3816   HRESULT WINAPI IAMAudioInputMixer_get_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
   3817   void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3818   HRESULT WINAPI IAMAudioInputMixer_put_Treble_Proxy(IAMAudioInputMixer *This,double Treble);
   3819   void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3820   HRESULT WINAPI IAMAudioInputMixer_get_Treble_Proxy(IAMAudioInputMixer *This,double *pTreble);
   3821   void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3822   HRESULT WINAPI IAMAudioInputMixer_get_TrebleRange_Proxy(IAMAudioInputMixer *This,double *pRange);
   3823   void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3824   HRESULT WINAPI IAMAudioInputMixer_put_Bass_Proxy(IAMAudioInputMixer *This,double Bass);
   3825   void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3826   HRESULT WINAPI IAMAudioInputMixer_get_Bass_Proxy(IAMAudioInputMixer *This,double *pBass);
   3827   void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3828   HRESULT WINAPI IAMAudioInputMixer_get_BassRange_Proxy(IAMAudioInputMixer *This,double *pRange);
   3829   void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3830 #endif
   3831 
   3832 #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
   3833 #define __IAMBufferNegotiation_INTERFACE_DEFINED__
   3834   EXTERN_C const IID IID_IAMBufferNegotiation;
   3835 #if defined(__cplusplus) && !defined(CINTERFACE)
   3836   struct IAMBufferNegotiation : public IUnknown {
   3837   public:
   3838     virtual HRESULT WINAPI SuggestAllocatorProperties(const ALLOCATOR_PROPERTIES *pprop) = 0;
   3839     virtual HRESULT WINAPI GetAllocatorProperties(ALLOCATOR_PROPERTIES *pprop) = 0;
   3840   };
   3841 #else
   3842   typedef struct IAMBufferNegotiationVtbl {
   3843     BEGIN_INTERFACE
   3844       HRESULT (WINAPI *QueryInterface)(IAMBufferNegotiation *This,REFIID riid,void **ppvObject);
   3845       ULONG (WINAPI *AddRef)(IAMBufferNegotiation *This);
   3846       ULONG (WINAPI *Release)(IAMBufferNegotiation *This);
   3847       HRESULT (WINAPI *SuggestAllocatorProperties)(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop);
   3848       HRESULT (WINAPI *GetAllocatorProperties)(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop);
   3849     END_INTERFACE
   3850   } IAMBufferNegotiationVtbl;
   3851   struct IAMBufferNegotiation {
   3852     CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
   3853   };
   3854 #ifdef COBJMACROS
   3855 #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3856 #define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This)
   3857 #define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This)
   3858 #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop) (This)->lpVtbl->SuggestAllocatorProperties(This,pprop)
   3859 #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop) (This)->lpVtbl->GetAllocatorProperties(This,pprop)
   3860 #endif
   3861 #endif
   3862   HRESULT WINAPI IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop);
   3863   void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3864   HRESULT WINAPI IAMBufferNegotiation_GetAllocatorProperties_Proxy(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop);
   3865   void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3866 #endif
   3867 
   3868   typedef enum tagAnalogVideoStandard {
   3869     AnalogVideo_None = 0,AnalogVideo_NTSC_M = 0x1,AnalogVideo_NTSC_M_J = 0x2,AnalogVideo_NTSC_433 = 0x4,AnalogVideo_PAL_B = 0x10,
   3870     AnalogVideo_PAL_D = 0x20,AnalogVideo_PAL_G = 0x40,AnalogVideo_PAL_H = 0x80,AnalogVideo_PAL_I = 0x100,AnalogVideo_PAL_M = 0x200,
   3871     AnalogVideo_PAL_N = 0x400,AnalogVideo_PAL_60 = 0x800,AnalogVideo_SECAM_B = 0x1000,AnalogVideo_SECAM_D = 0x2000,AnalogVideo_SECAM_G = 0x4000,
   3872     AnalogVideo_SECAM_H = 0x8000,AnalogVideo_SECAM_K = 0x10000,AnalogVideo_SECAM_K1 = 0x20000,AnalogVideo_SECAM_L = 0x40000,AnalogVideo_SECAM_L1 = 0x80000,
   3873     AnalogVideo_PAL_N_COMBO = 0x100000,AnalogVideoMask_MCE_NTSC = AnalogVideo_NTSC_M | AnalogVideo_NTSC_M_J | AnalogVideo_NTSC_433 | AnalogVideo_PAL_M | AnalogVideo_PAL_N | AnalogVideo_PAL_60 | AnalogVideo_PAL_N_COMBO,AnalogVideoMask_MCE_PAL = AnalogVideo_PAL_B | AnalogVideo_PAL_D | AnalogVideo_PAL_G | AnalogVideo_PAL_H | AnalogVideo_PAL_I,AnalogVideoMask_MCE_SECAM = AnalogVideo_SECAM_B | AnalogVideo_SECAM_D | AnalogVideo_SECAM_G | AnalogVideo_SECAM_H | AnalogVideo_SECAM_K | AnalogVideo_SECAM_K1 | AnalogVideo_SECAM_L | AnalogVideo_SECAM_L1
   3874   } AnalogVideoStandard;
   3875 
   3876   typedef enum tagTunerInputType {
   3877     TunerInputCable = 0,TunerInputAntenna = TunerInputCable + 1
   3878   } TunerInputType;
   3879 
   3880 #define AnalogVideo_NTSC_Mask 0x00000007
   3881 #define AnalogVideo_PAL_Mask 0x00100FF0
   3882 #define AnalogVideo_SECAM_Mask 0x000FF000
   3883 
   3884   typedef enum __MIDL___MIDL_itf_strmif_0173_0001 {
   3885     VideoCopyProtectionMacrovisionBasic = 0,VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
   3886   } VideoCopyProtectionType;
   3887 
   3888   typedef enum tagPhysicalConnectorType {
   3889     PhysConn_Video_Tuner = 1,
   3890     PhysConn_Video_Composite,PhysConn_Video_SVideo,PhysConn_Video_RGB,
   3891     PhysConn_Video_YRYBY,PhysConn_Video_SerialDigital,PhysConn_Video_ParallelDigital,
   3892     PhysConn_Video_SCSI,PhysConn_Video_AUX,PhysConn_Video_1394,PhysConn_Video_USB,
   3893     PhysConn_Video_VideoDecoder,PhysConn_Video_VideoEncoder,PhysConn_Video_SCART,PhysConn_Video_Black,
   3894     PhysConn_Audio_Tuner = 0x1000,PhysConn_Audio_Line = 0x1001,PhysConn_Audio_Mic = 0x1002,
   3895     PhysConn_Audio_AESDigital = 0x1003,PhysConn_Audio_SPDIFDigital = 0x1004,
   3896     PhysConn_Audio_SCSI = 0x1005,PhysConn_Audio_AUX = 0x1006,PhysConn_Audio_1394 = 0x1007,
   3897     PhysConn_Audio_USB = 0x1008,PhysConn_Audio_AudioDecoder = 0x1009
   3898   } PhysicalConnectorType;
   3899 
   3900   extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;
   3901   extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;
   3902 #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
   3903 #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
   3904   EXTERN_C const IID IID_IAMAnalogVideoDecoder;
   3905 #if defined(__cplusplus) && !defined(CINTERFACE)
   3906   struct IAMAnalogVideoDecoder : public IUnknown {
   3907   public:
   3908     virtual HRESULT WINAPI get_AvailableTVFormats(long *lAnalogVideoStandard) = 0;
   3909     virtual HRESULT WINAPI put_TVFormat(long lAnalogVideoStandard) = 0;
   3910     virtual HRESULT WINAPI get_TVFormat(long *plAnalogVideoStandard) = 0;
   3911     virtual HRESULT WINAPI get_HorizontalLocked(long *plLocked) = 0;
   3912     virtual HRESULT WINAPI put_VCRHorizontalLocking(long lVCRHorizontalLocking) = 0;
   3913     virtual HRESULT WINAPI get_VCRHorizontalLocking(long *plVCRHorizontalLocking) = 0;
   3914     virtual HRESULT WINAPI get_NumberOfLines(long *plNumberOfLines) = 0;
   3915     virtual HRESULT WINAPI put_OutputEnable(long lOutputEnable) = 0;
   3916     virtual HRESULT WINAPI get_OutputEnable(long *plOutputEnable) = 0;
   3917   };
   3918 #else
   3919   typedef struct IAMAnalogVideoDecoderVtbl {
   3920     BEGIN_INTERFACE
   3921       HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoDecoder *This,REFIID riid,void **ppvObject);
   3922       ULONG (WINAPI *AddRef)(IAMAnalogVideoDecoder *This);
   3923       ULONG (WINAPI *Release)(IAMAnalogVideoDecoder *This);
   3924       HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoDecoder *This,long *lAnalogVideoStandard);
   3925       HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoDecoder *This,long lAnalogVideoStandard);
   3926       HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoDecoder *This,long *plAnalogVideoStandard);
   3927       HRESULT (WINAPI *get_HorizontalLocked)(IAMAnalogVideoDecoder *This,long *plLocked);
   3928       HRESULT (WINAPI *put_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,long lVCRHorizontalLocking);
   3929       HRESULT (WINAPI *get_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,long *plVCRHorizontalLocking);
   3930       HRESULT (WINAPI *get_NumberOfLines)(IAMAnalogVideoDecoder *This,long *plNumberOfLines);
   3931       HRESULT (WINAPI *put_OutputEnable)(IAMAnalogVideoDecoder *This,long lOutputEnable);
   3932       HRESULT (WINAPI *get_OutputEnable)(IAMAnalogVideoDecoder *This,long *plOutputEnable);
   3933     END_INTERFACE
   3934   } IAMAnalogVideoDecoderVtbl;
   3935   struct IAMAnalogVideoDecoder {
   3936     CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
   3937   };
   3938 #ifdef COBJMACROS
   3939 #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3940 #define IAMAnalogVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   3941 #define IAMAnalogVideoDecoder_Release(This) (This)->lpVtbl->Release(This)
   3942 #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   3943 #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
   3944 #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   3945 #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) (This)->lpVtbl->get_HorizontalLocked(This,plLocked)
   3946 #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) (This)->lpVtbl->put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
   3947 #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) (This)->lpVtbl->get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
   3948 #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) (This)->lpVtbl->get_NumberOfLines(This,plNumberOfLines)
   3949 #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) (This)->lpVtbl->put_OutputEnable(This,lOutputEnable)
   3950 #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) (This)->lpVtbl->get_OutputEnable(This,plOutputEnable)
   3951 #endif
   3952 #endif
   3953   HRESULT WINAPI IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoDecoder *This,long *lAnalogVideoStandard);
   3954   void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3955   HRESULT WINAPI IAMAnalogVideoDecoder_put_TVFormat_Proxy(IAMAnalogVideoDecoder *This,long lAnalogVideoStandard);
   3956   void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3957   HRESULT WINAPI IAMAnalogVideoDecoder_get_TVFormat_Proxy(IAMAnalogVideoDecoder *This,long *plAnalogVideoStandard);
   3958   void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3959   HRESULT WINAPI IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(IAMAnalogVideoDecoder *This,long *plLocked);
   3960   void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3961   HRESULT WINAPI IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,long lVCRHorizontalLocking);
   3962   void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3963   HRESULT WINAPI IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,long *plVCRHorizontalLocking);
   3964   void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3965   HRESULT WINAPI IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(IAMAnalogVideoDecoder *This,long *plNumberOfLines);
   3966   void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3967   HRESULT WINAPI IAMAnalogVideoDecoder_put_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,long lOutputEnable);
   3968   void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3969   HRESULT WINAPI IAMAnalogVideoDecoder_get_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,long *plOutputEnable);
   3970   void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3971 #endif
   3972 
   3973   typedef enum tagVideoProcAmpProperty {
   3974     VideoProcAmp_Brightness = 0,
   3975     VideoProcAmp_Contrast,VideoProcAmp_Hue,VideoProcAmp_Saturation,VideoProcAmp_Sharpness,
   3976     VideoProcAmp_Gamma,VideoProcAmp_ColorEnable,VideoProcAmp_WhiteBalance,
   3977     VideoProcAmp_BacklightCompensation,VideoProcAmp_Gain
   3978   } VideoProcAmpProperty;
   3979 
   3980   typedef enum tagVideoProcAmpFlags {
   3981     VideoProcAmp_Flags_Auto = 0x1,VideoProcAmp_Flags_Manual = 0x2
   3982   } VideoProcAmpFlags;
   3983 
   3984   extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_c_ifspec;
   3985   extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_s_ifspec;
   3986 #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
   3987 #define __IAMVideoProcAmp_INTERFACE_DEFINED__
   3988   EXTERN_C const IID IID_IAMVideoProcAmp;
   3989 #if defined(__cplusplus) && !defined(CINTERFACE)
   3990   struct IAMVideoProcAmp : public IUnknown {
   3991   public:
   3992     virtual HRESULT WINAPI GetRange(long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags) = 0;
   3993     virtual HRESULT WINAPI Set(long Property,long lValue,long Flags) = 0;
   3994     virtual HRESULT WINAPI Get(long Property,long *lValue,long *Flags) = 0;
   3995   };
   3996 #else
   3997   typedef struct IAMVideoProcAmpVtbl {
   3998     BEGIN_INTERFACE
   3999       HRESULT (WINAPI *QueryInterface)(IAMVideoProcAmp *This,REFIID riid,void **ppvObject);
   4000       ULONG (WINAPI *AddRef)(IAMVideoProcAmp *This);
   4001       ULONG (WINAPI *Release)(IAMVideoProcAmp *This);
   4002       HRESULT (WINAPI *GetRange)(IAMVideoProcAmp *This,long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags);
   4003       HRESULT (WINAPI *Set)(IAMVideoProcAmp *This,long Property,long lValue,long Flags);
   4004       HRESULT (WINAPI *Get)(IAMVideoProcAmp *This,long Property,long *lValue,long *Flags);
   4005     END_INTERFACE
   4006   } IAMVideoProcAmpVtbl;
   4007   struct IAMVideoProcAmp {
   4008     CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
   4009   };
   4010 #ifdef COBJMACROS
   4011 #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4012 #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This)
   4013 #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This)
   4014 #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
   4015 #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
   4016 #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
   4017 #endif
   4018 #endif
   4019   HRESULT WINAPI IAMVideoProcAmp_GetRange_Proxy(IAMVideoProcAmp *This,long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags);
   4020   void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4021   HRESULT WINAPI IAMVideoProcAmp_Set_Proxy(IAMVideoProcAmp *This,long Property,long lValue,long Flags);
   4022   void __RPC_STUB IAMVideoProcAmp_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4023   HRESULT WINAPI IAMVideoProcAmp_Get_Proxy(IAMVideoProcAmp *This,long Property,long *lValue,long *Flags);
   4024   void __RPC_STUB IAMVideoProcAmp_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4025 #endif
   4026 
   4027   typedef enum tagCameraControlProperty {
   4028     CameraControl_Pan = 0,
   4029     CameraControl_Tilt,CameraControl_Roll,CameraControl_Zoom,CameraControl_Exposure,
   4030     CameraControl_Iris,CameraControl_Focus
   4031   } CameraControlProperty;
   4032 
   4033   typedef enum tagCameraControlFlags {
   4034     CameraControl_Flags_Auto = 0x1,CameraControl_Flags_Manual = 0x2
   4035   } CameraControlFlags;
   4036 
   4037   extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec;
   4038   extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec;
   4039 #ifndef __IAMCameraControl_INTERFACE_DEFINED__
   4040 #define __IAMCameraControl_INTERFACE_DEFINED__
   4041   EXTERN_C const IID IID_IAMCameraControl;
   4042 #if defined(__cplusplus) && !defined(CINTERFACE)
   4043   struct IAMCameraControl : public IUnknown {
   4044   public:
   4045     virtual HRESULT WINAPI GetRange(long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags) = 0;
   4046     virtual HRESULT WINAPI Set(long Property,long lValue,long Flags) = 0;
   4047     virtual HRESULT WINAPI Get(long Property,long *lValue,long *Flags) = 0;
   4048   };
   4049 #else
   4050   typedef struct IAMCameraControlVtbl {
   4051     BEGIN_INTERFACE
   4052       HRESULT (WINAPI *QueryInterface)(IAMCameraControl *This,REFIID riid,void **ppvObject);
   4053       ULONG (WINAPI *AddRef)(IAMCameraControl *This);
   4054       ULONG (WINAPI *Release)(IAMCameraControl *This);
   4055       HRESULT (WINAPI *GetRange)(IAMCameraControl *This,long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags);
   4056       HRESULT (WINAPI *Set)(IAMCameraControl *This,long Property,long lValue,long Flags);
   4057       HRESULT (WINAPI *Get)(IAMCameraControl *This,long Property,long *lValue,long *Flags);
   4058     END_INTERFACE
   4059   } IAMCameraControlVtbl;
   4060   struct IAMCameraControl {
   4061     CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
   4062   };
   4063 #ifdef COBJMACROS
   4064 #define IAMCameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4065 #define IAMCameraControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   4066 #define IAMCameraControl_Release(This) (This)->lpVtbl->Release(This)
   4067 #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
   4068 #define IAMCameraControl_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
   4069 #define IAMCameraControl_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
   4070 #endif
   4071 #endif
   4072   HRESULT WINAPI IAMCameraControl_GetRange_Proxy(IAMCameraControl *This,long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags);
   4073   void __RPC_STUB IAMCameraControl_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4074   HRESULT WINAPI IAMCameraControl_Set_Proxy(IAMCameraControl *This,long Property,long lValue,long Flags);
   4075   void __RPC_STUB IAMCameraControl_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4076   HRESULT WINAPI IAMCameraControl_Get_Proxy(IAMCameraControl *This,long Property,long *lValue,long *Flags);
   4077   void __RPC_STUB IAMCameraControl_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4078 #endif
   4079 
   4080   typedef enum tagVideoControlFlags {
   4081     VideoControlFlag_FlipHorizontal = 0x1,VideoControlFlag_FlipVertical = 0x2,VideoControlFlag_ExternalTriggerEnable = 0x4,VideoControlFlag_Trigger = 0x8
   4082   } VideoControlFlags;
   4083 
   4084   extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec;
   4085   extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec;
   4086 #ifndef __IAMVideoControl_INTERFACE_DEFINED__
   4087 #define __IAMVideoControl_INTERFACE_DEFINED__
   4088   EXTERN_C const IID IID_IAMVideoControl;
   4089 #if defined(__cplusplus) && !defined(CINTERFACE)
   4090   struct IAMVideoControl : public IUnknown {
   4091   public:
   4092     virtual HRESULT WINAPI GetCaps(IPin *pPin,long *pCapsFlags) = 0;
   4093     virtual HRESULT WINAPI SetMode(IPin *pPin,long Mode) = 0;
   4094     virtual HRESULT WINAPI GetMode(IPin *pPin,long *Mode) = 0;
   4095     virtual HRESULT WINAPI GetCurrentActualFrameRate(IPin *pPin,LONGLONG *ActualFrameRate) = 0;
   4096     virtual HRESULT WINAPI GetMaxAvailableFrameRate(IPin *pPin,long iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate) = 0;
   4097     virtual HRESULT WINAPI GetFrameRateList(IPin *pPin,long iIndex,SIZE Dimensions,long *ListSize,LONGLONG **FrameRates) = 0;
   4098   };
   4099 #else
   4100   typedef struct IAMVideoControlVtbl {
   4101     BEGIN_INTERFACE
   4102       HRESULT (WINAPI *QueryInterface)(IAMVideoControl *This,REFIID riid,void **ppvObject);
   4103       ULONG (WINAPI *AddRef)(IAMVideoControl *This);
   4104       ULONG (WINAPI *Release)(IAMVideoControl *This);
   4105       HRESULT (WINAPI *GetCaps)(IAMVideoControl *This,IPin *pPin,long *pCapsFlags);
   4106       HRESULT (WINAPI *SetMode)(IAMVideoControl *This,IPin *pPin,long Mode);
   4107       HRESULT (WINAPI *GetMode)(IAMVideoControl *This,IPin *pPin,long *Mode);
   4108       HRESULT (WINAPI *GetCurrentActualFrameRate)(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate);
   4109       HRESULT (WINAPI *GetMaxAvailableFrameRate)(IAMVideoControl *This,IPin *pPin,long iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate);
   4110       HRESULT (WINAPI *GetFrameRateList)(IAMVideoControl *This,IPin *pPin,long iIndex,SIZE Dimensions,long *ListSize,LONGLONG **FrameRates);
   4111     END_INTERFACE
   4112   } IAMVideoControlVtbl;
   4113   struct IAMVideoControl {
   4114     CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
   4115   };
   4116 #ifdef COBJMACROS
   4117 #define IAMVideoControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4118 #define IAMVideoControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   4119 #define IAMVideoControl_Release(This) (This)->lpVtbl->Release(This)
   4120 #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags) (This)->lpVtbl->GetCaps(This,pPin,pCapsFlags)
   4121 #define IAMVideoControl_SetMode(This,pPin,Mode) (This)->lpVtbl->SetMode(This,pPin,Mode)
   4122 #define IAMVideoControl_GetMode(This,pPin,Mode) (This)->lpVtbl->GetMode(This,pPin,Mode)
   4123 #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate) (This)->lpVtbl->GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
   4124 #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) (This)->lpVtbl->GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
   4125 #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) (This)->lpVtbl->GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
   4126 #endif
   4127 #endif
   4128   HRESULT WINAPI IAMVideoControl_GetCaps_Proxy(IAMVideoControl *This,IPin *pPin,long *pCapsFlags);
   4129   void __RPC_STUB IAMVideoControl_GetCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4130   HRESULT WINAPI IAMVideoControl_SetMode_Proxy(IAMVideoControl *This,IPin *pPin,long Mode);
   4131   void __RPC_STUB IAMVideoControl_SetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4132   HRESULT WINAPI IAMVideoControl_GetMode_Proxy(IAMVideoControl *This,IPin *pPin,long *Mode);
   4133   void __RPC_STUB IAMVideoControl_GetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4134   HRESULT WINAPI IAMVideoControl_GetCurrentActualFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate);
   4135   void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4136   HRESULT WINAPI IAMVideoControl_GetMaxAvailableFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,long iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate);
   4137   void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4138   HRESULT WINAPI IAMVideoControl_GetFrameRateList_Proxy(IAMVideoControl *This,IPin *pPin,long iIndex,SIZE Dimensions,long *ListSize,LONGLONG **FrameRates);
   4139   void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4140 #endif
   4141 
   4142 #ifndef __IAMCrossbar_INTERFACE_DEFINED__
   4143 #define __IAMCrossbar_INTERFACE_DEFINED__
   4144   EXTERN_C const IID IID_IAMCrossbar;
   4145 #if defined(__cplusplus) && !defined(CINTERFACE)
   4146   struct IAMCrossbar : public IUnknown {
   4147   public:
   4148     virtual HRESULT WINAPI get_PinCounts(long *OutputPinCount,long *InputPinCount) = 0;
   4149     virtual HRESULT WINAPI CanRoute(long OutputPinIndex,long InputPinIndex) = 0;
   4150     virtual HRESULT WINAPI Route(long OutputPinIndex,long InputPinIndex) = 0;
   4151     virtual HRESULT WINAPI get_IsRoutedTo(long OutputPinIndex,long *InputPinIndex) = 0;
   4152     virtual HRESULT WINAPI get_CrossbarPinInfo(WINBOOL IsInputPin,long PinIndex,long *PinIndexRelated,long *PhysicalType) = 0;
   4153   };
   4154 #else
   4155   typedef struct IAMCrossbarVtbl {
   4156     BEGIN_INTERFACE
   4157       HRESULT (WINAPI *QueryInterface)(IAMCrossbar *This,REFIID riid,void **ppvObject);
   4158       ULONG (WINAPI *AddRef)(IAMCrossbar *This);
   4159       ULONG (WINAPI *Release)(IAMCrossbar *This);
   4160       HRESULT (WINAPI *get_PinCounts)(IAMCrossbar *This,long *OutputPinCount,long *InputPinCount);
   4161       HRESULT (WINAPI *CanRoute)(IAMCrossbar *This,long OutputPinIndex,long InputPinIndex);
   4162       HRESULT (WINAPI *Route)(IAMCrossbar *This,long OutputPinIndex,long InputPinIndex);
   4163       HRESULT (WINAPI *get_IsRoutedTo)(IAMCrossbar *This,long OutputPinIndex,long *InputPinIndex);
   4164       HRESULT (WINAPI *get_CrossbarPinInfo)(IAMCrossbar *This,WINBOOL IsInputPin,long PinIndex,long *PinIndexRelated,long *PhysicalType);
   4165     END_INTERFACE
   4166   } IAMCrossbarVtbl;
   4167   struct IAMCrossbar {
   4168     CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
   4169   };
   4170 #ifdef COBJMACROS
   4171 #define IAMCrossbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4172 #define IAMCrossbar_AddRef(This) (This)->lpVtbl->AddRef(This)
   4173 #define IAMCrossbar_Release(This) (This)->lpVtbl->Release(This)
   4174 #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount) (This)->lpVtbl->get_PinCounts(This,OutputPinCount,InputPinCount)
   4175 #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->CanRoute(This,OutputPinIndex,InputPinIndex)
   4176 #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->Route(This,OutputPinIndex,InputPinIndex)
   4177 #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
   4178 #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) (This)->lpVtbl->get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
   4179 #endif
   4180 #endif
   4181   HRESULT WINAPI IAMCrossbar_get_PinCounts_Proxy(IAMCrossbar *This,long *OutputPinCount,long *InputPinCount);
   4182   void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4183   HRESULT WINAPI IAMCrossbar_CanRoute_Proxy(IAMCrossbar *This,long OutputPinIndex,long InputPinIndex);
   4184   void __RPC_STUB IAMCrossbar_CanRoute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4185   HRESULT WINAPI IAMCrossbar_Route_Proxy(IAMCrossbar *This,long OutputPinIndex,long InputPinIndex);
   4186   void __RPC_STUB IAMCrossbar_Route_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4187   HRESULT WINAPI IAMCrossbar_get_IsRoutedTo_Proxy(IAMCrossbar *This,long OutputPinIndex,long *InputPinIndex);
   4188   void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4189   HRESULT WINAPI IAMCrossbar_get_CrossbarPinInfo_Proxy(IAMCrossbar *This,WINBOOL IsInputPin,long PinIndex,long *PinIndexRelated,long *PhysicalType);
   4190   void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4191 #endif
   4192 
   4193   typedef enum tagAMTunerSubChannel {
   4194     AMTUNER_SUBCHAN_NO_TUNE = -2,AMTUNER_SUBCHAN_DEFAULT = -1
   4195   } AMTunerSubChannel;
   4196 
   4197   typedef enum tagAMTunerSignalStrength {
   4198     AMTUNER_HASNOSIGNALSTRENGTH = -1,AMTUNER_NOSIGNAL = 0,AMTUNER_SIGNALPRESENT = 1
   4199   } AMTunerSignalStrength;
   4200 
   4201   typedef enum tagAMTunerModeType {
   4202     AMTUNER_MODE_DEFAULT = 0,AMTUNER_MODE_TV = 0x1,AMTUNER_MODE_FM_RADIO = 0x2,AMTUNER_MODE_AM_RADIO = 0x4,AMTUNER_MODE_DSS = 0x8
   4203   } AMTunerModeType;
   4204 
   4205   typedef enum tagAMTunerEventType {
   4206     AMTUNER_EVENT_CHANGED = 0x1
   4207   } AMTunerEventType;
   4208 
   4209   extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
   4210   extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
   4211 #ifndef __IAMTuner_INTERFACE_DEFINED__
   4212 #define __IAMTuner_INTERFACE_DEFINED__
   4213   EXTERN_C const IID IID_IAMTuner;
   4214 #if defined(__cplusplus) && !defined(CINTERFACE)
   4215   struct IAMTuner : public IUnknown {
   4216   public:
   4217     virtual HRESULT WINAPI put_Channel(long lChannel,long lVideoSubChannel,long lAudioSubChannel) = 0;
   4218     virtual HRESULT WINAPI get_Channel(long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel) = 0;
   4219     virtual HRESULT WINAPI ChannelMinMax(long *lChannelMin,long *lChannelMax) = 0;
   4220     virtual HRESULT WINAPI put_CountryCode(long lCountryCode) = 0;
   4221     virtual HRESULT WINAPI get_CountryCode(long *plCountryCode) = 0;
   4222     virtual HRESULT WINAPI put_TuningSpace(long lTuningSpace) = 0;
   4223     virtual HRESULT WINAPI get_TuningSpace(long *plTuningSpace) = 0;
   4224     virtual HRESULT WINAPI Logon(HANDLE hCurrentUser) = 0;
   4225     virtual HRESULT WINAPI Logout(void) = 0;
   4226     virtual HRESULT WINAPI SignalPresent(long *plSignalStrength) = 0;
   4227     virtual HRESULT WINAPI put_Mode(AMTunerModeType lMode) = 0;
   4228     virtual HRESULT WINAPI get_Mode(AMTunerModeType *plMode) = 0;
   4229     virtual HRESULT WINAPI GetAvailableModes(long *plModes) = 0;
   4230     virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,long lEvents) = 0;
   4231     virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
   4232   };
   4233 #else
   4234   typedef struct IAMTunerVtbl {
   4235     BEGIN_INTERFACE
   4236       HRESULT (WINAPI *QueryInterface)(IAMTuner *This,REFIID riid,void **ppvObject);
   4237       ULONG (WINAPI *AddRef)(IAMTuner *This);
   4238       ULONG (WINAPI *Release)(IAMTuner *This);
   4239       HRESULT (WINAPI *put_Channel)(IAMTuner *This,long lChannel,long lVideoSubChannel,long lAudioSubChannel);
   4240       HRESULT (WINAPI *get_Channel)(IAMTuner *This,long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel);
   4241       HRESULT (WINAPI *ChannelMinMax)(IAMTuner *This,long *lChannelMin,long *lChannelMax);
   4242       HRESULT (WINAPI *put_CountryCode)(IAMTuner *This,long lCountryCode);
   4243       HRESULT (WINAPI *get_CountryCode)(IAMTuner *This,long *plCountryCode);
   4244       HRESULT (WINAPI *put_TuningSpace)(IAMTuner *This,long lTuningSpace);
   4245       HRESULT (WINAPI *get_TuningSpace)(IAMTuner *This,long *plTuningSpace);
   4246       HRESULT (WINAPI *Logon)(IAMTuner *This,HANDLE hCurrentUser);
   4247       HRESULT (WINAPI *Logout)(IAMTuner *This);
   4248       HRESULT (WINAPI *SignalPresent)(IAMTuner *This,long *plSignalStrength);
   4249       HRESULT (WINAPI *put_Mode)(IAMTuner *This,AMTunerModeType lMode);
   4250       HRESULT (WINAPI *get_Mode)(IAMTuner *This,AMTunerModeType *plMode);
   4251       HRESULT (WINAPI *GetAvailableModes)(IAMTuner *This,long *plModes);
   4252       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify,long lEvents);
   4253       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify);
   4254     END_INTERFACE
   4255   } IAMTunerVtbl;
   4256   struct IAMTuner {
   4257     CONST_VTBL struct IAMTunerVtbl *lpVtbl;
   4258   };
   4259 #ifdef COBJMACROS
   4260 #define IAMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4261 #define IAMTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   4262 #define IAMTuner_Release(This) (This)->lpVtbl->Release(This)
   4263 #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   4264 #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   4265 #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   4266 #define IAMTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   4267 #define IAMTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   4268 #define IAMTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   4269 #define IAMTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   4270 #define IAMTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   4271 #define IAMTuner_Logout(This) (This)->lpVtbl->Logout(This)
   4272 #define IAMTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   4273 #define IAMTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   4274 #define IAMTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   4275 #define IAMTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   4276 #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   4277 #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   4278 #endif
   4279 #endif
   4280   HRESULT WINAPI IAMTuner_put_Channel_Proxy(IAMTuner *This,long lChannel,long lVideoSubChannel,long lAudioSubChannel);
   4281   void __RPC_STUB IAMTuner_put_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4282   HRESULT WINAPI IAMTuner_get_Channel_Proxy(IAMTuner *This,long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel);
   4283   void __RPC_STUB IAMTuner_get_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4284   HRESULT WINAPI IAMTuner_ChannelMinMax_Proxy(IAMTuner *This,long *lChannelMin,long *lChannelMax);
   4285   void __RPC_STUB IAMTuner_ChannelMinMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4286   HRESULT WINAPI IAMTuner_put_CountryCode_Proxy(IAMTuner *This,long lCountryCode);
   4287   void __RPC_STUB IAMTuner_put_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4288   HRESULT WINAPI IAMTuner_get_CountryCode_Proxy(IAMTuner *This,long *plCountryCode);
   4289   void __RPC_STUB IAMTuner_get_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4290   HRESULT WINAPI IAMTuner_put_TuningSpace_Proxy(IAMTuner *This,long lTuningSpace);
   4291   void __RPC_STUB IAMTuner_put_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4292   HRESULT WINAPI IAMTuner_get_TuningSpace_Proxy(IAMTuner *This,long *plTuningSpace);
   4293   void __RPC_STUB IAMTuner_get_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4294   HRESULT WINAPI IAMTuner_Logon_Proxy(IAMTuner *This,HANDLE hCurrentUser);
   4295   void __RPC_STUB IAMTuner_Logon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4296   HRESULT WINAPI IAMTuner_Logout_Proxy(IAMTuner *This);
   4297   void __RPC_STUB IAMTuner_Logout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4298   HRESULT WINAPI IAMTuner_SignalPresent_Proxy(IAMTuner *This,long *plSignalStrength);
   4299   void __RPC_STUB IAMTuner_SignalPresent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4300   HRESULT WINAPI IAMTuner_put_Mode_Proxy(IAMTuner *This,AMTunerModeType lMode);
   4301   void __RPC_STUB IAMTuner_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4302   HRESULT WINAPI IAMTuner_get_Mode_Proxy(IAMTuner *This,AMTunerModeType *plMode);
   4303   void __RPC_STUB IAMTuner_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4304   HRESULT WINAPI IAMTuner_GetAvailableModes_Proxy(IAMTuner *This,long *plModes);
   4305   void __RPC_STUB IAMTuner_GetAvailableModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4306   HRESULT WINAPI IAMTuner_RegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify,long lEvents);
   4307   void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4308   HRESULT WINAPI IAMTuner_UnRegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify);
   4309   void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4310 #endif
   4311 
   4312 #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
   4313 #define __IAMTunerNotification_INTERFACE_DEFINED__
   4314   EXTERN_C const IID IID_IAMTunerNotification;
   4315 #if defined(__cplusplus) && !defined(CINTERFACE)
   4316   struct IAMTunerNotification : public IUnknown {
   4317   public:
   4318     virtual HRESULT WINAPI OnEvent(AMTunerEventType Event) = 0;
   4319   };
   4320 #else
   4321   typedef struct IAMTunerNotificationVtbl {
   4322     BEGIN_INTERFACE
   4323       HRESULT (WINAPI *QueryInterface)(IAMTunerNotification *This,REFIID riid,void **ppvObject);
   4324       ULONG (WINAPI *AddRef)(IAMTunerNotification *This);
   4325       ULONG (WINAPI *Release)(IAMTunerNotification *This);
   4326       HRESULT (WINAPI *OnEvent)(IAMTunerNotification *This,AMTunerEventType Event);
   4327     END_INTERFACE
   4328   } IAMTunerNotificationVtbl;
   4329   struct IAMTunerNotification {
   4330     CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
   4331   };
   4332 #ifdef COBJMACROS
   4333 #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4334 #define IAMTunerNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
   4335 #define IAMTunerNotification_Release(This) (This)->lpVtbl->Release(This)
   4336 #define IAMTunerNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
   4337 #endif
   4338 #endif
   4339   HRESULT WINAPI IAMTunerNotification_OnEvent_Proxy(IAMTunerNotification *This,AMTunerEventType Event);
   4340   void __RPC_STUB IAMTunerNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4341 #endif
   4342 
   4343 #ifndef __IAMTVTuner_INTERFACE_DEFINED__
   4344 #define __IAMTVTuner_INTERFACE_DEFINED__
   4345   EXTERN_C const IID IID_IAMTVTuner;
   4346 #if defined(__cplusplus) && !defined(CINTERFACE)
   4347   struct IAMTVTuner : public IAMTuner {
   4348   public:
   4349     virtual HRESULT WINAPI get_AvailableTVFormats(long *lAnalogVideoStandard) = 0;
   4350     virtual HRESULT WINAPI get_TVFormat(long *plAnalogVideoStandard) = 0;
   4351     virtual HRESULT WINAPI AutoTune(long lChannel,long *plFoundSignal) = 0;
   4352     virtual HRESULT WINAPI StoreAutoTune(void) = 0;
   4353     virtual HRESULT WINAPI get_NumInputConnections(long *plNumInputConnections) = 0;
   4354     virtual HRESULT WINAPI put_InputType(long lIndex,TunerInputType InputType) = 0;
   4355     virtual HRESULT WINAPI get_InputType(long lIndex,TunerInputType *pInputType) = 0;
   4356     virtual HRESULT WINAPI put_ConnectInput(long lIndex) = 0;
   4357     virtual HRESULT WINAPI get_ConnectInput(long *plIndex) = 0;
   4358     virtual HRESULT WINAPI get_VideoFrequency(long *lFreq) = 0;
   4359     virtual HRESULT WINAPI get_AudioFrequency(long *lFreq) = 0;
   4360   };
   4361 #else
   4362   typedef struct IAMTVTunerVtbl {
   4363     BEGIN_INTERFACE
   4364       HRESULT (WINAPI *QueryInterface)(IAMTVTuner *This,REFIID riid,void **ppvObject);
   4365       ULONG (WINAPI *AddRef)(IAMTVTuner *This);
   4366       ULONG (WINAPI *Release)(IAMTVTuner *This);
   4367       HRESULT (WINAPI *put_Channel)(IAMTVTuner *This,long lChannel,long lVideoSubChannel,long lAudioSubChannel);
   4368       HRESULT (WINAPI *get_Channel)(IAMTVTuner *This,long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel);
   4369       HRESULT (WINAPI *ChannelMinMax)(IAMTVTuner *This,long *lChannelMin,long *lChannelMax);
   4370       HRESULT (WINAPI *put_CountryCode)(IAMTVTuner *This,long lCountryCode);
   4371       HRESULT (WINAPI *get_CountryCode)(IAMTVTuner *This,long *plCountryCode);
   4372       HRESULT (WINAPI *put_TuningSpace)(IAMTVTuner *This,long lTuningSpace);
   4373       HRESULT (WINAPI *get_TuningSpace)(IAMTVTuner *This,long *plTuningSpace);
   4374       HRESULT (WINAPI *Logon)(IAMTVTuner *This,HANDLE hCurrentUser);
   4375       HRESULT (WINAPI *Logout)(IAMTVTuner *This);
   4376       HRESULT (WINAPI *SignalPresent)(IAMTVTuner *This,long *plSignalStrength);
   4377       HRESULT (WINAPI *put_Mode)(IAMTVTuner *This,AMTunerModeType lMode);
   4378       HRESULT (WINAPI *get_Mode)(IAMTVTuner *This,AMTunerModeType *plMode);
   4379       HRESULT (WINAPI *GetAvailableModes)(IAMTVTuner *This,long *plModes);
   4380       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify,long lEvents);
   4381       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify);
   4382       HRESULT (WINAPI *get_AvailableTVFormats)(IAMTVTuner *This,long *lAnalogVideoStandard);
   4383       HRESULT (WINAPI *get_TVFormat)(IAMTVTuner *This,long *plAnalogVideoStandard);
   4384       HRESULT (WINAPI *AutoTune)(IAMTVTuner *This,long lChannel,long *plFoundSignal);
   4385       HRESULT (WINAPI *StoreAutoTune)(IAMTVTuner *This);
   4386       HRESULT (WINAPI *get_NumInputConnections)(IAMTVTuner *This,long *plNumInputConnections);
   4387       HRESULT (WINAPI *put_InputType)(IAMTVTuner *This,long lIndex,TunerInputType InputType);
   4388       HRESULT (WINAPI *get_InputType)(IAMTVTuner *This,long lIndex,TunerInputType *pInputType);
   4389       HRESULT (WINAPI *put_ConnectInput)(IAMTVTuner *This,long lIndex);
   4390       HRESULT (WINAPI *get_ConnectInput)(IAMTVTuner *This,long *plIndex);
   4391       HRESULT (WINAPI *get_VideoFrequency)(IAMTVTuner *This,long *lFreq);
   4392       HRESULT (WINAPI *get_AudioFrequency)(IAMTVTuner *This,long *lFreq);
   4393     END_INTERFACE
   4394   } IAMTVTunerVtbl;
   4395   struct IAMTVTuner {
   4396     CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
   4397   };
   4398 #ifdef COBJMACROS
   4399 #define IAMTVTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4400 #define IAMTVTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   4401 #define IAMTVTuner_Release(This) (This)->lpVtbl->Release(This)
   4402 #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   4403 #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   4404 #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   4405 #define IAMTVTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   4406 #define IAMTVTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   4407 #define IAMTVTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   4408 #define IAMTVTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   4409 #define IAMTVTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   4410 #define IAMTVTuner_Logout(This) (This)->lpVtbl->Logout(This)
   4411 #define IAMTVTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   4412 #define IAMTVTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   4413 #define IAMTVTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   4414 #define IAMTVTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   4415 #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   4416 #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   4417 #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   4418 #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   4419 #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal) (This)->lpVtbl->AutoTune(This,lChannel,plFoundSignal)
   4420 #define IAMTVTuner_StoreAutoTune(This) (This)->lpVtbl->StoreAutoTune(This)
   4421 #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections) (This)->lpVtbl->get_NumInputConnections(This,plNumInputConnections)
   4422 #define IAMTVTuner_put_InputType(This,lIndex,InputType) (This)->lpVtbl->put_InputType(This,lIndex,InputType)
   4423 #define IAMTVTuner_get_InputType(This,lIndex,pInputType) (This)->lpVtbl->get_InputType(This,lIndex,pInputType)
   4424 #define IAMTVTuner_put_ConnectInput(This,lIndex) (This)->lpVtbl->put_ConnectInput(This,lIndex)
   4425 #define IAMTVTuner_get_ConnectInput(This,plIndex) (This)->lpVtbl->get_ConnectInput(This,plIndex)
   4426 #define IAMTVTuner_get_VideoFrequency(This,lFreq) (This)->lpVtbl->get_VideoFrequency(This,lFreq)
   4427 #define IAMTVTuner_get_AudioFrequency(This,lFreq) (This)->lpVtbl->get_AudioFrequency(This,lFreq)
   4428 #endif
   4429 #endif
   4430   HRESULT WINAPI IAMTVTuner_get_AvailableTVFormats_Proxy(IAMTVTuner *This,long *lAnalogVideoStandard);
   4431   void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4432   HRESULT WINAPI IAMTVTuner_get_TVFormat_Proxy(IAMTVTuner *This,long *plAnalogVideoStandard);
   4433   void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4434   HRESULT WINAPI IAMTVTuner_AutoTune_Proxy(IAMTVTuner *This,long lChannel,long *plFoundSignal);
   4435   void __RPC_STUB IAMTVTuner_AutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4436   HRESULT WINAPI IAMTVTuner_StoreAutoTune_Proxy(IAMTVTuner *This);
   4437   void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4438   HRESULT WINAPI IAMTVTuner_get_NumInputConnections_Proxy(IAMTVTuner *This,long *plNumInputConnections);
   4439   void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4440   HRESULT WINAPI IAMTVTuner_put_InputType_Proxy(IAMTVTuner *This,long lIndex,TunerInputType InputType);
   4441   void __RPC_STUB IAMTVTuner_put_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4442   HRESULT WINAPI IAMTVTuner_get_InputType_Proxy(IAMTVTuner *This,long lIndex,TunerInputType *pInputType);
   4443   void __RPC_STUB IAMTVTuner_get_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4444   HRESULT WINAPI IAMTVTuner_put_ConnectInput_Proxy(IAMTVTuner *This,long lIndex);
   4445   void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4446   HRESULT WINAPI IAMTVTuner_get_ConnectInput_Proxy(IAMTVTuner *This,long *plIndex);
   4447   void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4448   HRESULT WINAPI IAMTVTuner_get_VideoFrequency_Proxy(IAMTVTuner *This,long *lFreq);
   4449   void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4450   HRESULT WINAPI IAMTVTuner_get_AudioFrequency_Proxy(IAMTVTuner *This,long *lFreq);
   4451   void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4452 #endif
   4453 
   4454 #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
   4455 #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
   4456   EXTERN_C const IID IID_IBPCSatelliteTuner;
   4457 #if defined(__cplusplus) && !defined(CINTERFACE)
   4458   struct IBPCSatelliteTuner : public IAMTuner {
   4459   public:
   4460     virtual HRESULT WINAPI get_DefaultSubChannelTypes(long *plDefaultVideoType,long *plDefaultAudioType) = 0;
   4461     virtual HRESULT WINAPI put_DefaultSubChannelTypes(long lDefaultVideoType,long lDefaultAudioType) = 0;
   4462     virtual HRESULT WINAPI IsTapingPermitted(void) = 0;
   4463   };
   4464 #else
   4465   typedef struct IBPCSatelliteTunerVtbl {
   4466     BEGIN_INTERFACE
   4467       HRESULT (WINAPI *QueryInterface)(IBPCSatelliteTuner *This,REFIID riid,void **ppvObject);
   4468       ULONG (WINAPI *AddRef)(IBPCSatelliteTuner *This);
   4469       ULONG (WINAPI *Release)(IBPCSatelliteTuner *This);
   4470       HRESULT (WINAPI *put_Channel)(IBPCSatelliteTuner *This,long lChannel,long lVideoSubChannel,long lAudioSubChannel);
   4471       HRESULT (WINAPI *get_Channel)(IBPCSatelliteTuner *This,long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel);
   4472       HRESULT (WINAPI *ChannelMinMax)(IBPCSatelliteTuner *This,long *lChannelMin,long *lChannelMax);
   4473       HRESULT (WINAPI *put_CountryCode)(IBPCSatelliteTuner *This,long lCountryCode);
   4474       HRESULT (WINAPI *get_CountryCode)(IBPCSatelliteTuner *This,long *plCountryCode);
   4475       HRESULT (WINAPI *put_TuningSpace)(IBPCSatelliteTuner *This,long lTuningSpace);
   4476       HRESULT (WINAPI *get_TuningSpace)(IBPCSatelliteTuner *This,long *plTuningSpace);
   4477       HRESULT (WINAPI *Logon)(IBPCSatelliteTuner *This,HANDLE hCurrentUser);
   4478       HRESULT (WINAPI *Logout)(IBPCSatelliteTuner *This);
   4479       HRESULT (WINAPI *SignalPresent)(IBPCSatelliteTuner *This,long *plSignalStrength);
   4480       HRESULT (WINAPI *put_Mode)(IBPCSatelliteTuner *This,AMTunerModeType lMode);
   4481       HRESULT (WINAPI *get_Mode)(IBPCSatelliteTuner *This,AMTunerModeType *plMode);
   4482       HRESULT (WINAPI *GetAvailableModes)(IBPCSatelliteTuner *This,long *plModes);
   4483       HRESULT (WINAPI *RegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify,long lEvents);
   4484       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify);
   4485       HRESULT (WINAPI *get_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,long *plDefaultVideoType,long *plDefaultAudioType);
   4486       HRESULT (WINAPI *put_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,long lDefaultVideoType,long lDefaultAudioType);
   4487       HRESULT (WINAPI *IsTapingPermitted)(IBPCSatelliteTuner *This);
   4488     END_INTERFACE
   4489   } IBPCSatelliteTunerVtbl;
   4490   struct IBPCSatelliteTuner {
   4491     CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
   4492   };
   4493 #ifdef COBJMACROS
   4494 #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4495 #define IBPCSatelliteTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   4496 #define IBPCSatelliteTuner_Release(This) (This)->lpVtbl->Release(This)
   4497 #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   4498 #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   4499 #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   4500 #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   4501 #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   4502 #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   4503 #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   4504 #define IBPCSatelliteTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   4505 #define IBPCSatelliteTuner_Logout(This) (This)->lpVtbl->Logout(This)
   4506 #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   4507 #define IBPCSatelliteTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   4508 #define IBPCSatelliteTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   4509 #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   4510 #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   4511 #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   4512 #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) (This)->lpVtbl->get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
   4513 #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) (This)->lpVtbl->put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
   4514 #define IBPCSatelliteTuner_IsTapingPermitted(This) (This)->lpVtbl->IsTapingPermitted(This)
   4515 #endif
   4516 #endif
   4517   HRESULT WINAPI IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,long *plDefaultVideoType,long *plDefaultAudioType);
   4518   void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4519   HRESULT WINAPI IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,long lDefaultVideoType,long lDefaultAudioType);
   4520   void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4521   HRESULT WINAPI IBPCSatelliteTuner_IsTapingPermitted_Proxy(IBPCSatelliteTuner *This);
   4522   void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4523 #endif
   4524 
   4525   typedef enum tagTVAudioMode {
   4526     AMTVAUDIO_MODE_MONO = 0x1,AMTVAUDIO_MODE_STEREO = 0x2,AMTVAUDIO_MODE_LANG_A = 0x10,AMTVAUDIO_MODE_LANG_B = 0x20,AMTVAUDIO_MODE_LANG_C = 0x40
   4527   } TVAudioMode;
   4528 
   4529   typedef enum tagAMTVAudioEventType {
   4530     AMTVAUDIO_EVENT_CHANGED = 0x1
   4531   } AMTVAudioEventType;
   4532 
   4533   extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
   4534   extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
   4535 #ifndef __IAMTVAudio_INTERFACE_DEFINED__
   4536 #define __IAMTVAudio_INTERFACE_DEFINED__
   4537   EXTERN_C const IID IID_IAMTVAudio;
   4538 #if defined(__cplusplus) && !defined(CINTERFACE)
   4539   struct IAMTVAudio : public IUnknown {
   4540   public:
   4541     virtual HRESULT WINAPI GetHardwareSupportedTVAudioModes(long *plModes) = 0;
   4542     virtual HRESULT WINAPI GetAvailableTVAudioModes(long *plModes) = 0;
   4543     virtual HRESULT WINAPI get_TVAudioMode(long *plMode) = 0;
   4544     virtual HRESULT WINAPI put_TVAudioMode(long lMode) = 0;
   4545     virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,long lEvents) = 0;
   4546     virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
   4547   };
   4548 #else
   4549   typedef struct IAMTVAudioVtbl {
   4550     BEGIN_INTERFACE
   4551       HRESULT (WINAPI *QueryInterface)(IAMTVAudio *This,REFIID riid,void **ppvObject);
   4552       ULONG (WINAPI *AddRef)(IAMTVAudio *This);
   4553       ULONG (WINAPI *Release)(IAMTVAudio *This);
   4554       HRESULT (WINAPI *GetHardwareSupportedTVAudioModes)(IAMTVAudio *This,long *plModes);
   4555       HRESULT (WINAPI *GetAvailableTVAudioModes)(IAMTVAudio *This,long *plModes);
   4556       HRESULT (WINAPI *get_TVAudioMode)(IAMTVAudio *This,long *plMode);
   4557       HRESULT (WINAPI *put_TVAudioMode)(IAMTVAudio *This,long lMode);
   4558       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify,long lEvents);
   4559       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify);
   4560     END_INTERFACE
   4561   } IAMTVAudioVtbl;
   4562   struct IAMTVAudio {
   4563     CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
   4564   };
   4565 #ifdef COBJMACROS
   4566 #define IAMTVAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4567 #define IAMTVAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
   4568 #define IAMTVAudio_Release(This) (This)->lpVtbl->Release(This)
   4569 #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) (This)->lpVtbl->GetHardwareSupportedTVAudioModes(This,plModes)
   4570 #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) (This)->lpVtbl->GetAvailableTVAudioModes(This,plModes)
   4571 #define IAMTVAudio_get_TVAudioMode(This,plMode) (This)->lpVtbl->get_TVAudioMode(This,plMode)
   4572 #define IAMTVAudio_put_TVAudioMode(This,lMode) (This)->lpVtbl->put_TVAudioMode(This,lMode)
   4573 #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   4574 #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   4575 #endif
   4576 #endif
   4577   HRESULT WINAPI IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(IAMTVAudio *This,long *plModes);
   4578   void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4579   HRESULT WINAPI IAMTVAudio_GetAvailableTVAudioModes_Proxy(IAMTVAudio *This,long *plModes);
   4580   void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4581   HRESULT WINAPI IAMTVAudio_get_TVAudioMode_Proxy(IAMTVAudio *This,long *plMode);
   4582   void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4583   HRESULT WINAPI IAMTVAudio_put_TVAudioMode_Proxy(IAMTVAudio *This,long lMode);
   4584   void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4585   HRESULT WINAPI IAMTVAudio_RegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify,long lEvents);
   4586   void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4587   HRESULT WINAPI IAMTVAudio_UnRegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify);
   4588   void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4589 #endif
   4590 
   4591 #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
   4592 #define __IAMTVAudioNotification_INTERFACE_DEFINED__
   4593   EXTERN_C const IID IID_IAMTVAudioNotification;
   4594 #if defined(__cplusplus) && !defined(CINTERFACE)
   4595   struct IAMTVAudioNotification : public IUnknown {
   4596   public:
   4597     virtual HRESULT WINAPI OnEvent(AMTVAudioEventType Event) = 0;
   4598   };
   4599 #else
   4600   typedef struct IAMTVAudioNotificationVtbl {
   4601     BEGIN_INTERFACE
   4602       HRESULT (WINAPI *QueryInterface)(IAMTVAudioNotification *This,REFIID riid,void **ppvObject);
   4603       ULONG (WINAPI *AddRef)(IAMTVAudioNotification *This);
   4604       ULONG (WINAPI *Release)(IAMTVAudioNotification *This);
   4605       HRESULT (WINAPI *OnEvent)(IAMTVAudioNotification *This,AMTVAudioEventType Event);
   4606     END_INTERFACE
   4607   } IAMTVAudioNotificationVtbl;
   4608   struct IAMTVAudioNotification {
   4609     CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
   4610   };
   4611 #ifdef COBJMACROS
   4612 #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4613 #define IAMTVAudioNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
   4614 #define IAMTVAudioNotification_Release(This) (This)->lpVtbl->Release(This)
   4615 #define IAMTVAudioNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
   4616 #endif
   4617 #endif
   4618   HRESULT WINAPI IAMTVAudioNotification_OnEvent_Proxy(IAMTVAudioNotification *This,AMTVAudioEventType Event);
   4619   void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4620 #endif
   4621 
   4622 #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
   4623 #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
   4624   EXTERN_C const IID IID_IAMAnalogVideoEncoder;
   4625 #if defined(__cplusplus) && !defined(CINTERFACE)
   4626   struct IAMAnalogVideoEncoder : public IUnknown {
   4627   public:
   4628     virtual HRESULT WINAPI get_AvailableTVFormats(long *lAnalogVideoStandard) = 0;
   4629     virtual HRESULT WINAPI put_TVFormat(long lAnalogVideoStandard) = 0;
   4630     virtual HRESULT WINAPI get_TVFormat(long *plAnalogVideoStandard) = 0;
   4631     virtual HRESULT WINAPI put_CopyProtection(long lVideoCopyProtection) = 0;
   4632     virtual HRESULT WINAPI get_CopyProtection(long *lVideoCopyProtection) = 0;
   4633     virtual HRESULT WINAPI put_CCEnable(long lCCEnable) = 0;
   4634     virtual HRESULT WINAPI get_CCEnable(long *lCCEnable) = 0;
   4635   };
   4636 #else
   4637   typedef struct IAMAnalogVideoEncoderVtbl {
   4638     BEGIN_INTERFACE
   4639       HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoEncoder *This,REFIID riid,void **ppvObject);
   4640       ULONG (WINAPI *AddRef)(IAMAnalogVideoEncoder *This);
   4641       ULONG (WINAPI *Release)(IAMAnalogVideoEncoder *This);
   4642       HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoEncoder *This,long *lAnalogVideoStandard);
   4643       HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoEncoder *This,long lAnalogVideoStandard);
   4644       HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoEncoder *This,long *plAnalogVideoStandard);
   4645       HRESULT (WINAPI *put_CopyProtection)(IAMAnalogVideoEncoder *This,long lVideoCopyProtection);
   4646       HRESULT (WINAPI *get_CopyProtection)(IAMAnalogVideoEncoder *This,long *lVideoCopyProtection);
   4647       HRESULT (WINAPI *put_CCEnable)(IAMAnalogVideoEncoder *This,long lCCEnable);
   4648       HRESULT (WINAPI *get_CCEnable)(IAMAnalogVideoEncoder *This,long *lCCEnable);
   4649     END_INTERFACE
   4650   } IAMAnalogVideoEncoderVtbl;
   4651   struct IAMAnalogVideoEncoder {
   4652     CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
   4653   };
   4654 #ifdef COBJMACROS
   4655 #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4656 #define IAMAnalogVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   4657 #define IAMAnalogVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
   4658 #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   4659 #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
   4660 #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   4661 #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->put_CopyProtection(This,lVideoCopyProtection)
   4662 #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->get_CopyProtection(This,lVideoCopyProtection)
   4663 #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) (This)->lpVtbl->put_CCEnable(This,lCCEnable)
   4664 #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) (This)->lpVtbl->get_CCEnable(This,lCCEnable)
   4665 #endif
   4666 #endif
   4667   HRESULT WINAPI IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoEncoder *This,long *lAnalogVideoStandard);
   4668   void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4669   HRESULT WINAPI IAMAnalogVideoEncoder_put_TVFormat_Proxy(IAMAnalogVideoEncoder *This,long lAnalogVideoStandard);
   4670   void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4671   HRESULT WINAPI IAMAnalogVideoEncoder_get_TVFormat_Proxy(IAMAnalogVideoEncoder *This,long *plAnalogVideoStandard);
   4672   void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4673   HRESULT WINAPI IAMAnalogVideoEncoder_put_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,long lVideoCopyProtection);
   4674   void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4675   HRESULT WINAPI IAMAnalogVideoEncoder_get_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,long *lVideoCopyProtection);
   4676   void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4677   HRESULT WINAPI IAMAnalogVideoEncoder_put_CCEnable_Proxy(IAMAnalogVideoEncoder *This,long lCCEnable);
   4678   void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4679   HRESULT WINAPI IAMAnalogVideoEncoder_get_CCEnable_Proxy(IAMAnalogVideoEncoder *This,long *lCCEnable);
   4680   void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4681 #endif
   4682 
   4683   typedef enum __MIDL___MIDL_itf_strmif_0185_0001 {
   4684     AMPROPERTY_PIN_CATEGORY = 0,AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1
   4685   } AMPROPERTY_PIN;
   4686 
   4687 #ifndef _IKsPropertySet_
   4688 #define _IKsPropertySet_
   4689 #define KSPROPERTY_SUPPORT_GET 1
   4690 #define KSPROPERTY_SUPPORT_SET 2
   4691 
   4692   extern RPC_IF_HANDLE __MIDL_itf_strmif_0185_v0_0_c_ifspec;
   4693   extern RPC_IF_HANDLE __MIDL_itf_strmif_0185_v0_0_s_ifspec;
   4694 #ifndef __IKsPropertySet_INTERFACE_DEFINED__
   4695 #define __IKsPropertySet_INTERFACE_DEFINED__
   4696   EXTERN_C const IID IID_IKsPropertySet;
   4697 #if defined(__cplusplus) && !defined(CINTERFACE)
   4698   struct IKsPropertySet : public IUnknown {
   4699   public:
   4700     virtual HRESULT WINAPI Set(REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData) = 0;
   4701     virtual HRESULT WINAPI Get(REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned) = 0;
   4702     virtual HRESULT WINAPI QuerySupported(REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport) = 0;
   4703   };
   4704 #else
   4705   typedef struct IKsPropertySetVtbl {
   4706     BEGIN_INTERFACE
   4707       HRESULT (WINAPI *QueryInterface)(IKsPropertySet *This,REFIID riid,void **ppvObject);
   4708       ULONG (WINAPI *AddRef)(IKsPropertySet *This);
   4709       ULONG (WINAPI *Release)(IKsPropertySet *This);
   4710       HRESULT (WINAPI *Set)(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData);
   4711       HRESULT (WINAPI *Get)(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned);
   4712       HRESULT (WINAPI *QuerySupported)(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport);
   4713     END_INTERFACE
   4714   } IKsPropertySetVtbl;
   4715   struct IKsPropertySet {
   4716     CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
   4717   };
   4718 #ifdef COBJMACROS
   4719 #define IKsPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4720 #define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
   4721 #define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This)
   4722 #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) (This)->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
   4723 #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) (This)->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
   4724 #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) (This)->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
   4725 #endif
   4726 #endif
   4727   HRESULT WINAPI IKsPropertySet_RemoteSet_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,byte *pInstanceData,DWORD cbInstanceData,byte *pPropData,DWORD cbPropData);
   4728   void __RPC_STUB IKsPropertySet_RemoteSet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4729   HRESULT WINAPI IKsPropertySet_RemoteGet_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,byte *pInstanceData,DWORD cbInstanceData,byte *pPropData,DWORD cbPropData,DWORD *pcbReturned);
   4730   void __RPC_STUB IKsPropertySet_RemoteGet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4731   HRESULT WINAPI IKsPropertySet_QuerySupported_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport);
   4732   void __RPC_STUB IKsPropertySet_QuerySupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4733 #endif
   4734 #endif
   4735 
   4736   extern RPC_IF_HANDLE __MIDL_itf_strmif_0186_v0_0_c_ifspec;
   4737   extern RPC_IF_HANDLE __MIDL_itf_strmif_0186_v0_0_s_ifspec;
   4738 #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
   4739 #define __IMediaPropertyBag_INTERFACE_DEFINED__
   4740   typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
   4741 
   4742   EXTERN_C const IID IID_IMediaPropertyBag;
   4743 #if defined(__cplusplus) && !defined(CINTERFACE)
   4744   struct IMediaPropertyBag : public IPropertyBag {
   4745   public:
   4746     virtual HRESULT WINAPI EnumProperty(ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue) = 0;
   4747   };
   4748 #else
   4749   typedef struct IMediaPropertyBagVtbl {
   4750     BEGIN_INTERFACE
   4751       HRESULT (WINAPI *QueryInterface)(IMediaPropertyBag *This,REFIID riid,void **ppvObject);
   4752       ULONG (WINAPI *AddRef)(IMediaPropertyBag *This);
   4753       ULONG (WINAPI *Release)(IMediaPropertyBag *This);
   4754       HRESULT (WINAPI *Read)(IMediaPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog);
   4755       HRESULT (WINAPI *Write)(IMediaPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar);
   4756       HRESULT (WINAPI *EnumProperty)(IMediaPropertyBag *This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue);
   4757     END_INTERFACE
   4758   } IMediaPropertyBagVtbl;
   4759   struct IMediaPropertyBag {
   4760     CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
   4761   };
   4762 #ifdef COBJMACROS
   4763 #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4764 #define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
   4765 #define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
   4766 #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog)
   4767 #define IMediaPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar)
   4768 #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) (This)->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
   4769 #endif
   4770 #endif
   4771   HRESULT WINAPI IMediaPropertyBag_EnumProperty_Proxy(IMediaPropertyBag *This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue);
   4772   void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4773 #endif
   4774 
   4775 #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
   4776 #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
   4777   typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
   4778 
   4779   EXTERN_C const IID IID_IPersistMediaPropertyBag;
   4780 #if defined(__cplusplus) && !defined(CINTERFACE)
   4781   struct IPersistMediaPropertyBag : public IPersist {
   4782   public:
   4783     virtual HRESULT WINAPI InitNew(void) = 0;
   4784     virtual HRESULT WINAPI Load(IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog) = 0;
   4785     virtual HRESULT WINAPI Save(IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) = 0;
   4786   };
   4787 #else
   4788   typedef struct IPersistMediaPropertyBagVtbl {
   4789     BEGIN_INTERFACE
   4790       HRESULT (WINAPI *QueryInterface)(IPersistMediaPropertyBag *This,REFIID riid,void **ppvObject);
   4791       ULONG (WINAPI *AddRef)(IPersistMediaPropertyBag *This);
   4792       ULONG (WINAPI *Release)(IPersistMediaPropertyBag *This);
   4793       HRESULT (WINAPI *GetClassID)(IPersistMediaPropertyBag *This,CLSID *pClassID);
   4794       HRESULT (WINAPI *InitNew)(IPersistMediaPropertyBag *This);
   4795       HRESULT (WINAPI *Load)(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog);
   4796       HRESULT (WINAPI *Save)(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties);
   4797     END_INTERFACE
   4798   } IPersistMediaPropertyBagVtbl;
   4799   struct IPersistMediaPropertyBag {
   4800     CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
   4801   };
   4802 #ifdef COBJMACROS
   4803 #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4804 #define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
   4805 #define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
   4806 #define IPersistMediaPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   4807 #define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This)
   4808 #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog)
   4809 #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
   4810 #endif
   4811 #endif
   4812   HRESULT WINAPI IPersistMediaPropertyBag_InitNew_Proxy(IPersistMediaPropertyBag *This);
   4813   void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4814   HRESULT WINAPI IPersistMediaPropertyBag_Load_Proxy(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog);
   4815   void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4816   HRESULT WINAPI IPersistMediaPropertyBag_Save_Proxy(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties);
   4817   void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4818 #endif
   4819 
   4820 #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
   4821 #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
   4822   EXTERN_C const IID IID_IAMPhysicalPinInfo;
   4823 #if defined(__cplusplus) && !defined(CINTERFACE)
   4824   struct IAMPhysicalPinInfo : public IUnknown {
   4825   public:
   4826     virtual HRESULT WINAPI GetPhysicalType(long *pType,LPOLESTR *ppszType) = 0;
   4827   };
   4828 #else
   4829   typedef struct IAMPhysicalPinInfoVtbl {
   4830     BEGIN_INTERFACE
   4831       HRESULT (WINAPI *QueryInterface)(IAMPhysicalPinInfo *This,REFIID riid,void **ppvObject);
   4832       ULONG (WINAPI *AddRef)(IAMPhysicalPinInfo *This);
   4833       ULONG (WINAPI *Release)(IAMPhysicalPinInfo *This);
   4834       HRESULT (WINAPI *GetPhysicalType)(IAMPhysicalPinInfo *This,long *pType,LPOLESTR *ppszType);
   4835     END_INTERFACE
   4836   } IAMPhysicalPinInfoVtbl;
   4837   struct IAMPhysicalPinInfo {
   4838     CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
   4839   };
   4840 #ifdef COBJMACROS
   4841 #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4842 #define IAMPhysicalPinInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   4843 #define IAMPhysicalPinInfo_Release(This) (This)->lpVtbl->Release(This)
   4844 #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) (This)->lpVtbl->GetPhysicalType(This,pType,ppszType)
   4845 #endif
   4846 #endif
   4847   HRESULT WINAPI IAMPhysicalPinInfo_GetPhysicalType_Proxy(IAMPhysicalPinInfo *This,long *pType,LPOLESTR *ppszType);
   4848   void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4849 #endif
   4850 
   4851   typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
   4852 
   4853   extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
   4854   extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
   4855 #ifndef __IAMExtDevice_INTERFACE_DEFINED__
   4856 #define __IAMExtDevice_INTERFACE_DEFINED__
   4857   EXTERN_C const IID IID_IAMExtDevice;
   4858 #if defined(__cplusplus) && !defined(CINTERFACE)
   4859   struct IAMExtDevice : public IUnknown {
   4860   public:
   4861     virtual HRESULT WINAPI GetCapability(long Capability,long *pValue,double *pdblValue) = 0;
   4862     virtual HRESULT WINAPI get_ExternalDeviceID(LPOLESTR *ppszData) = 0;
   4863     virtual HRESULT WINAPI get_ExternalDeviceVersion(LPOLESTR *ppszData) = 0;
   4864     virtual HRESULT WINAPI put_DevicePower(long PowerMode) = 0;
   4865     virtual HRESULT WINAPI get_DevicePower(long *pPowerMode) = 0;
   4866     virtual HRESULT WINAPI Calibrate(HEVENT hEvent,long Mode,long *pStatus) = 0;
   4867     virtual HRESULT WINAPI put_DevicePort(long DevicePort) = 0;
   4868     virtual HRESULT WINAPI get_DevicePort(long *pDevicePort) = 0;
   4869   };
   4870 #else
   4871   typedef struct IAMExtDeviceVtbl {
   4872     BEGIN_INTERFACE
   4873       HRESULT (WINAPI *QueryInterface)(IAMExtDevice *This,REFIID riid,void **ppvObject);
   4874       ULONG (WINAPI *AddRef)(IAMExtDevice *This);
   4875       ULONG (WINAPI *Release)(IAMExtDevice *This);
   4876       HRESULT (WINAPI *GetCapability)(IAMExtDevice *This,long Capability,long *pValue,double *pdblValue);
   4877       HRESULT (WINAPI *get_ExternalDeviceID)(IAMExtDevice *This,LPOLESTR *ppszData);
   4878       HRESULT (WINAPI *get_ExternalDeviceVersion)(IAMExtDevice *This,LPOLESTR *ppszData);
   4879       HRESULT (WINAPI *put_DevicePower)(IAMExtDevice *This,long PowerMode);
   4880       HRESULT (WINAPI *get_DevicePower)(IAMExtDevice *This,long *pPowerMode);
   4881       HRESULT (WINAPI *Calibrate)(IAMExtDevice *This,HEVENT hEvent,long Mode,long *pStatus);
   4882       HRESULT (WINAPI *put_DevicePort)(IAMExtDevice *This,long DevicePort);
   4883       HRESULT (WINAPI *get_DevicePort)(IAMExtDevice *This,long *pDevicePort);
   4884     END_INTERFACE
   4885   } IAMExtDeviceVtbl;
   4886   struct IAMExtDevice {
   4887     CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
   4888   };
   4889 #ifdef COBJMACROS
   4890 #define IAMExtDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4891 #define IAMExtDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
   4892 #define IAMExtDevice_Release(This) (This)->lpVtbl->Release(This)
   4893 #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
   4894 #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) (This)->lpVtbl->get_ExternalDeviceID(This,ppszData)
   4895 #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) (This)->lpVtbl->get_ExternalDeviceVersion(This,ppszData)
   4896 #define IAMExtDevice_put_DevicePower(This,PowerMode) (This)->lpVtbl->put_DevicePower(This,PowerMode)
   4897 #define IAMExtDevice_get_DevicePower(This,pPowerMode) (This)->lpVtbl->get_DevicePower(This,pPowerMode)
   4898 #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) (This)->lpVtbl->Calibrate(This,hEvent,Mode,pStatus)
   4899 #define IAMExtDevice_put_DevicePort(This,DevicePort) (This)->lpVtbl->put_DevicePort(This,DevicePort)
   4900 #define IAMExtDevice_get_DevicePort(This,pDevicePort) (This)->lpVtbl->get_DevicePort(This,pDevicePort)
   4901 #endif
   4902 #endif
   4903   HRESULT WINAPI IAMExtDevice_GetCapability_Proxy(IAMExtDevice *This,long Capability,long *pValue,double *pdblValue);
   4904   void __RPC_STUB IAMExtDevice_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4905   HRESULT WINAPI IAMExtDevice_get_ExternalDeviceID_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
   4906   void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4907   HRESULT WINAPI IAMExtDevice_get_ExternalDeviceVersion_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
   4908   void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4909   HRESULT WINAPI IAMExtDevice_put_DevicePower_Proxy(IAMExtDevice *This,long PowerMode);
   4910   void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4911   HRESULT WINAPI IAMExtDevice_get_DevicePower_Proxy(IAMExtDevice *This,long *pPowerMode);
   4912   void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4913   HRESULT WINAPI IAMExtDevice_Calibrate_Proxy(IAMExtDevice *This,HEVENT hEvent,long Mode,long *pStatus);
   4914   void __RPC_STUB IAMExtDevice_Calibrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4915   HRESULT WINAPI IAMExtDevice_put_DevicePort_Proxy(IAMExtDevice *This,long DevicePort);
   4916   void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4917   HRESULT WINAPI IAMExtDevice_get_DevicePort_Proxy(IAMExtDevice *This,long *pDevicePort);
   4918   void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4919 #endif
   4920 
   4921   typedef IAMExtDevice *PEXTDEVICE;
   4922 
   4923   extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
   4924   extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
   4925 #ifndef __IAMExtTransport_INTERFACE_DEFINED__
   4926 #define __IAMExtTransport_INTERFACE_DEFINED__
   4927   EXTERN_C const IID IID_IAMExtTransport;
   4928 #if defined(__cplusplus) && !defined(CINTERFACE)
   4929   struct IAMExtTransport : public IUnknown {
   4930   public:
   4931     virtual HRESULT WINAPI GetCapability(long Capability,long *pValue,double *pdblValue) = 0;
   4932     virtual HRESULT WINAPI put_MediaState(long State) = 0;
   4933     virtual HRESULT WINAPI get_MediaState(long *pState) = 0;
   4934     virtual HRESULT WINAPI put_LocalControl(long State) = 0;
   4935     virtual HRESULT WINAPI get_LocalControl(long *pState) = 0;
   4936     virtual HRESULT WINAPI GetStatus(long StatusItem,long *pValue) = 0;
   4937     virtual HRESULT WINAPI GetTransportBasicParameters(long Param,long *pValue,LPOLESTR *ppszData) = 0;
   4938     virtual HRESULT WINAPI SetTransportBasicParameters(long Param,long Value,LPCOLESTR pszData) = 0;
   4939     virtual HRESULT WINAPI GetTransportVideoParameters(long Param,long *pValue) = 0;
   4940     virtual HRESULT WINAPI SetTransportVideoParameters(long Param,long Value) = 0;
   4941     virtual HRESULT WINAPI GetTransportAudioParameters(long Param,long *pValue) = 0;
   4942     virtual HRESULT WINAPI SetTransportAudioParameters(long Param,long Value) = 0;
   4943     virtual HRESULT WINAPI put_Mode(long Mode) = 0;
   4944     virtual HRESULT WINAPI get_Mode(long *pMode) = 0;
   4945     virtual HRESULT WINAPI put_Rate(double dblRate) = 0;
   4946     virtual HRESULT WINAPI get_Rate(double *pdblRate) = 0;
   4947     virtual HRESULT WINAPI GetChase(long *pEnabled,long *pOffset,HEVENT *phEvent) = 0;
   4948     virtual HRESULT WINAPI SetChase(long Enable,long Offset,HEVENT hEvent) = 0;
   4949     virtual HRESULT WINAPI GetBump(long *pSpeed,long *pDuration) = 0;
   4950     virtual HRESULT WINAPI SetBump(long Speed,long Duration) = 0;
   4951     virtual HRESULT WINAPI get_AntiClogControl(long *pEnabled) = 0;
   4952     virtual HRESULT WINAPI put_AntiClogControl(long Enable) = 0;
   4953     virtual HRESULT WINAPI GetEditPropertySet(long EditID,long *pState) = 0;
   4954     virtual HRESULT WINAPI SetEditPropertySet(long *pEditID,long State) = 0;
   4955     virtual HRESULT WINAPI GetEditProperty(long EditID,long Param,long *pValue) = 0;
   4956     virtual HRESULT WINAPI SetEditProperty(long EditID,long Param,long Value) = 0;
   4957     virtual HRESULT WINAPI get_EditStart(long *pValue) = 0;
   4958     virtual HRESULT WINAPI put_EditStart(long Value) = 0;
   4959   };
   4960 #else
   4961   typedef struct IAMExtTransportVtbl {
   4962     BEGIN_INTERFACE
   4963       HRESULT (WINAPI *QueryInterface)(IAMExtTransport *This,REFIID riid,void **ppvObject);
   4964       ULONG (WINAPI *AddRef)(IAMExtTransport *This);
   4965       ULONG (WINAPI *Release)(IAMExtTransport *This);
   4966       HRESULT (WINAPI *GetCapability)(IAMExtTransport *This,long Capability,long *pValue,double *pdblValue);
   4967       HRESULT (WINAPI *put_MediaState)(IAMExtTransport *This,long State);
   4968       HRESULT (WINAPI *get_MediaState)(IAMExtTransport *This,long *pState);
   4969       HRESULT (WINAPI *put_LocalControl)(IAMExtTransport *This,long State);
   4970       HRESULT (WINAPI *get_LocalControl)(IAMExtTransport *This,long *pState);
   4971       HRESULT (WINAPI *GetStatus)(IAMExtTransport *This,long StatusItem,long *pValue);
   4972       HRESULT (WINAPI *GetTransportBasicParameters)(IAMExtTransport *This,long Param,long *pValue,LPOLESTR *ppszData);
   4973       HRESULT (WINAPI *SetTransportBasicParameters)(IAMExtTransport *This,long Param,long Value,LPCOLESTR pszData);
   4974       HRESULT (WINAPI *GetTransportVideoParameters)(IAMExtTransport *This,long Param,long *pValue);
   4975       HRESULT (WINAPI *SetTransportVideoParameters)(IAMExtTransport *This,long Param,long Value);
   4976       HRESULT (WINAPI *GetTransportAudioParameters)(IAMExtTransport *This,long Param,long *pValue);
   4977       HRESULT (WINAPI *SetTransportAudioParameters)(IAMExtTransport *This,long Param,long Value);
   4978       HRESULT (WINAPI *put_Mode)(IAMExtTransport *This,long Mode);
   4979       HRESULT (WINAPI *get_Mode)(IAMExtTransport *This,long *pMode);
   4980       HRESULT (WINAPI *put_Rate)(IAMExtTransport *This,double dblRate);
   4981       HRESULT (WINAPI *get_Rate)(IAMExtTransport *This,double *pdblRate);
   4982       HRESULT (WINAPI *GetChase)(IAMExtTransport *This,long *pEnabled,long *pOffset,HEVENT *phEvent);
   4983       HRESULT (WINAPI *SetChase)(IAMExtTransport *This,long Enable,long Offset,HEVENT hEvent);
   4984       HRESULT (WINAPI *GetBump)(IAMExtTransport *This,long *pSpeed,long *pDuration);
   4985       HRESULT (WINAPI *SetBump)(IAMExtTransport *This,long Speed,long Duration);
   4986       HRESULT (WINAPI *get_AntiClogControl)(IAMExtTransport *This,long *pEnabled);
   4987       HRESULT (WINAPI *put_AntiClogControl)(IAMExtTransport *This,long Enable);
   4988       HRESULT (WINAPI *GetEditPropertySet)(IAMExtTransport *This,long EditID,long *pState);
   4989       HRESULT (WINAPI *SetEditPropertySet)(IAMExtTransport *This,long *pEditID,long State);
   4990       HRESULT (WINAPI *GetEditProperty)(IAMExtTransport *This,long EditID,long Param,long *pValue);
   4991       HRESULT (WINAPI *SetEditProperty)(IAMExtTransport *This,long EditID,long Param,long Value);
   4992       HRESULT (WINAPI *get_EditStart)(IAMExtTransport *This,long *pValue);
   4993       HRESULT (WINAPI *put_EditStart)(IAMExtTransport *This,long Value);
   4994     END_INTERFACE
   4995   } IAMExtTransportVtbl;
   4996   struct IAMExtTransport {
   4997     CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
   4998   };
   4999 #ifdef COBJMACROS
   5000 #define IAMExtTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5001 #define IAMExtTransport_AddRef(This) (This)->lpVtbl->AddRef(This)
   5002 #define IAMExtTransport_Release(This) (This)->lpVtbl->Release(This)
   5003 #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
   5004 #define IAMExtTransport_put_MediaState(This,State) (This)->lpVtbl->put_MediaState(This,State)
   5005 #define IAMExtTransport_get_MediaState(This,pState) (This)->lpVtbl->get_MediaState(This,pState)
   5006 #define IAMExtTransport_put_LocalControl(This,State) (This)->lpVtbl->put_LocalControl(This,State)
   5007 #define IAMExtTransport_get_LocalControl(This,pState) (This)->lpVtbl->get_LocalControl(This,pState)
   5008 #define IAMExtTransport_GetStatus(This,StatusItem,pValue) (This)->lpVtbl->GetStatus(This,StatusItem,pValue)
   5009 #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) (This)->lpVtbl->GetTransportBasicParameters(This,Param,pValue,ppszData)
   5010 #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) (This)->lpVtbl->SetTransportBasicParameters(This,Param,Value,pszData)
   5011 #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) (This)->lpVtbl->GetTransportVideoParameters(This,Param,pValue)
   5012 #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) (This)->lpVtbl->SetTransportVideoParameters(This,Param,Value)
   5013 #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) (This)->lpVtbl->GetTransportAudioParameters(This,Param,pValue)
   5014 #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) (This)->lpVtbl->SetTransportAudioParameters(This,Param,Value)
   5015 #define IAMExtTransport_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode)
   5016 #define IAMExtTransport_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
   5017 #define IAMExtTransport_put_Rate(This,dblRate) (This)->lpVtbl->put_Rate(This,dblRate)
   5018 #define IAMExtTransport_get_Rate(This,pdblRate) (This)->lpVtbl->get_Rate(This,pdblRate)
   5019 #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) (This)->lpVtbl->GetChase(This,pEnabled,pOffset,phEvent)
   5020 #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) (This)->lpVtbl->SetChase(This,Enable,Offset,hEvent)
   5021 #define IAMExtTransport_GetBump(This,pSpeed,pDuration) (This)->lpVtbl->GetBump(This,pSpeed,pDuration)
   5022 #define IAMExtTransport_SetBump(This,Speed,Duration) (This)->lpVtbl->SetBump(This,Speed,Duration)
   5023 #define IAMExtTransport_get_AntiClogControl(This,pEnabled) (This)->lpVtbl->get_AntiClogControl(This,pEnabled)
   5024 #define IAMExtTransport_put_AntiClogControl(This,Enable) (This)->lpVtbl->put_AntiClogControl(This,Enable)
   5025 #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) (This)->lpVtbl->GetEditPropertySet(This,EditID,pState)
   5026 #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) (This)->lpVtbl->SetEditPropertySet(This,pEditID,State)
   5027 #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) (This)->lpVtbl->GetEditProperty(This,EditID,Param,pValue)
   5028 #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) (This)->lpVtbl->SetEditProperty(This,EditID,Param,Value)
   5029 #define IAMExtTransport_get_EditStart(This,pValue) (This)->lpVtbl->get_EditStart(This,pValue)
   5030 #define IAMExtTransport_put_EditStart(This,Value) (This)->lpVtbl->put_EditStart(This,Value)
   5031 #endif
   5032 #endif
   5033   HRESULT WINAPI IAMExtTransport_GetCapability_Proxy(IAMExtTransport *This,long Capability,long *pValue,double *pdblValue);
   5034   void __RPC_STUB IAMExtTransport_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5035   HRESULT WINAPI IAMExtTransport_put_MediaState_Proxy(IAMExtTransport *This,long State);
   5036   void __RPC_STUB IAMExtTransport_put_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5037   HRESULT WINAPI IAMExtTransport_get_MediaState_Proxy(IAMExtTransport *This,long *pState);
   5038   void __RPC_STUB IAMExtTransport_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5039   HRESULT WINAPI IAMExtTransport_put_LocalControl_Proxy(IAMExtTransport *This,long State);
   5040   void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5041   HRESULT WINAPI IAMExtTransport_get_LocalControl_Proxy(IAMExtTransport *This,long *pState);
   5042   void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5043   HRESULT WINAPI IAMExtTransport_GetStatus_Proxy(IAMExtTransport *This,long StatusItem,long *pValue);
   5044   void __RPC_STUB IAMExtTransport_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5045   HRESULT WINAPI IAMExtTransport_GetTransportBasicParameters_Proxy(IAMExtTransport *This,long Param,long *pValue,LPOLESTR *ppszData);
   5046   void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5047   HRESULT WINAPI IAMExtTransport_SetTransportBasicParameters_Proxy(IAMExtTransport *This,long Param,long Value,LPCOLESTR pszData);
   5048   void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5049   HRESULT WINAPI IAMExtTransport_GetTransportVideoParameters_Proxy(IAMExtTransport *This,long Param,long *pValue);
   5050   void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5051   HRESULT WINAPI IAMExtTransport_SetTransportVideoParameters_Proxy(IAMExtTransport *This,long Param,long Value);
   5052   void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5053   HRESULT WINAPI IAMExtTransport_GetTransportAudioParameters_Proxy(IAMExtTransport *This,long Param,long *pValue);
   5054   void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5055   HRESULT WINAPI IAMExtTransport_SetTransportAudioParameters_Proxy(IAMExtTransport *This,long Param,long Value);
   5056   void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5057   HRESULT WINAPI IAMExtTransport_put_Mode_Proxy(IAMExtTransport *This,long Mode);
   5058   void __RPC_STUB IAMExtTransport_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5059   HRESULT WINAPI IAMExtTransport_get_Mode_Proxy(IAMExtTransport *This,long *pMode);
   5060   void __RPC_STUB IAMExtTransport_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5061   HRESULT WINAPI IAMExtTransport_put_Rate_Proxy(IAMExtTransport *This,double dblRate);
   5062   void __RPC_STUB IAMExtTransport_put_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5063   HRESULT WINAPI IAMExtTransport_get_Rate_Proxy(IAMExtTransport *This,double *pdblRate);
   5064   void __RPC_STUB IAMExtTransport_get_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5065   HRESULT WINAPI IAMExtTransport_GetChase_Proxy(IAMExtTransport *This,long *pEnabled,long *pOffset,HEVENT *phEvent);
   5066   void __RPC_STUB IAMExtTransport_GetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5067   HRESULT WINAPI IAMExtTransport_SetChase_Proxy(IAMExtTransport *This,long Enable,long Offset,HEVENT hEvent);
   5068   void __RPC_STUB IAMExtTransport_SetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5069   HRESULT WINAPI IAMExtTransport_GetBump_Proxy(IAMExtTransport *This,long *pSpeed,long *pDuration);
   5070   void __RPC_STUB IAMExtTransport_GetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5071   HRESULT WINAPI IAMExtTransport_SetBump_Proxy(IAMExtTransport *This,long Speed,long Duration);
   5072   void __RPC_STUB IAMExtTransport_SetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5073   HRESULT WINAPI IAMExtTransport_get_AntiClogControl_Proxy(IAMExtTransport *This,long *pEnabled);
   5074   void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5075   HRESULT WINAPI IAMExtTransport_put_AntiClogControl_Proxy(IAMExtTransport *This,long Enable);
   5076   void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5077   HRESULT WINAPI IAMExtTransport_GetEditPropertySet_Proxy(IAMExtTransport *This,long EditID,long *pState);
   5078   void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5079   HRESULT WINAPI IAMExtTransport_SetEditPropertySet_Proxy(IAMExtTransport *This,long *pEditID,long State);
   5080   void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5081   HRESULT WINAPI IAMExtTransport_GetEditProperty_Proxy(IAMExtTransport *This,long EditID,long Param,long *pValue);
   5082   void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5083   HRESULT WINAPI IAMExtTransport_SetEditProperty_Proxy(IAMExtTransport *This,long EditID,long Param,long Value);
   5084   void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5085   HRESULT WINAPI IAMExtTransport_get_EditStart_Proxy(IAMExtTransport *This,long *pValue);
   5086   void __RPC_STUB IAMExtTransport_get_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5087   HRESULT WINAPI IAMExtTransport_put_EditStart_Proxy(IAMExtTransport *This,long Value);
   5088   void __RPC_STUB IAMExtTransport_put_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5089 #endif
   5090 
   5091   typedef IAMExtTransport *PIAMEXTTRANSPORT;
   5092 
   5093 #ifndef TIMECODE_DEFINED
   5094 #define TIMECODE_DEFINED
   5095   typedef union _timecode {
   5096     struct {
   5097       WORD wFrameRate;
   5098       WORD wFrameFract;
   5099       DWORD dwFrames;
   5100     };
   5101     DWORDLONG qw;
   5102   } TIMECODE;
   5103 #endif
   5104 
   5105   typedef TIMECODE *PTIMECODE;
   5106 
   5107   typedef struct tagTIMECODE_SAMPLE {
   5108     LONGLONG qwTick;
   5109     TIMECODE timecode;
   5110     DWORD dwUser;
   5111     DWORD dwFlags;
   5112   } TIMECODE_SAMPLE;
   5113 
   5114   typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
   5115 
   5116   extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec;
   5117   extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec;
   5118 #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
   5119 #define __IAMTimecodeReader_INTERFACE_DEFINED__
   5120   EXTERN_C const IID IID_IAMTimecodeReader;
   5121 #if defined(__cplusplus) && !defined(CINTERFACE)
   5122   struct IAMTimecodeReader : public IUnknown {
   5123   public:
   5124     virtual HRESULT WINAPI GetTCRMode(long Param,long *pValue) = 0;
   5125     virtual HRESULT WINAPI SetTCRMode(long Param,long Value) = 0;
   5126     virtual HRESULT WINAPI put_VITCLine(long Line) = 0;
   5127     virtual HRESULT WINAPI get_VITCLine(long *pLine) = 0;
   5128     virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   5129   };
   5130 #else
   5131   typedef struct IAMTimecodeReaderVtbl {
   5132     BEGIN_INTERFACE
   5133       HRESULT (WINAPI *QueryInterface)(IAMTimecodeReader *This,REFIID riid,void **ppvObject);
   5134       ULONG (WINAPI *AddRef)(IAMTimecodeReader *This);
   5135       ULONG (WINAPI *Release)(IAMTimecodeReader *This);
   5136       HRESULT (WINAPI *GetTCRMode)(IAMTimecodeReader *This,long Param,long *pValue);
   5137       HRESULT (WINAPI *SetTCRMode)(IAMTimecodeReader *This,long Param,long Value);
   5138       HRESULT (WINAPI *put_VITCLine)(IAMTimecodeReader *This,long Line);
   5139       HRESULT (WINAPI *get_VITCLine)(IAMTimecodeReader *This,long *pLine);
   5140       HRESULT (WINAPI *GetTimecode)(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
   5141     END_INTERFACE
   5142   } IAMTimecodeReaderVtbl;
   5143   struct IAMTimecodeReader {
   5144     CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
   5145   };
   5146 #ifdef COBJMACROS
   5147 #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5148 #define IAMTimecodeReader_AddRef(This) (This)->lpVtbl->AddRef(This)
   5149 #define IAMTimecodeReader_Release(This) (This)->lpVtbl->Release(This)
   5150 #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) (This)->lpVtbl->GetTCRMode(This,Param,pValue)
   5151 #define IAMTimecodeReader_SetTCRMode(This,Param,Value) (This)->lpVtbl->SetTCRMode(This,Param,Value)
   5152 #define IAMTimecodeReader_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
   5153 #define IAMTimecodeReader_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
   5154 #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
   5155 #endif
   5156 #endif
   5157   HRESULT WINAPI IAMTimecodeReader_GetTCRMode_Proxy(IAMTimecodeReader *This,long Param,long *pValue);
   5158   void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5159   HRESULT WINAPI IAMTimecodeReader_SetTCRMode_Proxy(IAMTimecodeReader *This,long Param,long Value);
   5160   void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5161   HRESULT WINAPI IAMTimecodeReader_put_VITCLine_Proxy(IAMTimecodeReader *This,long Line);
   5162   void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5163   HRESULT WINAPI IAMTimecodeReader_get_VITCLine_Proxy(IAMTimecodeReader *This,long *pLine);
   5164   void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5165   HRESULT WINAPI IAMTimecodeReader_GetTimecode_Proxy(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
   5166   void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5167 #endif
   5168 
   5169   typedef IAMTimecodeReader *PIAMTIMECODEREADER;
   5170 
   5171   extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
   5172   extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
   5173 #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
   5174 #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
   5175   EXTERN_C const IID IID_IAMTimecodeGenerator;
   5176 #if defined(__cplusplus) && !defined(CINTERFACE)
   5177   struct IAMTimecodeGenerator : public IUnknown {
   5178   public:
   5179     virtual HRESULT WINAPI GetTCGMode(long Param,long *pValue) = 0;
   5180     virtual HRESULT WINAPI SetTCGMode(long Param,long Value) = 0;
   5181     virtual HRESULT WINAPI put_VITCLine(long Line) = 0;
   5182     virtual HRESULT WINAPI get_VITCLine(long *pLine) = 0;
   5183     virtual HRESULT WINAPI SetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   5184     virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   5185   };
   5186 #else
   5187   typedef struct IAMTimecodeGeneratorVtbl {
   5188     BEGIN_INTERFACE
   5189       HRESULT (WINAPI *QueryInterface)(IAMTimecodeGenerator *This,REFIID riid,void **ppvObject);
   5190       ULONG (WINAPI *AddRef)(IAMTimecodeGenerator *This);
   5191       ULONG (WINAPI *Release)(IAMTimecodeGenerator *This);
   5192       HRESULT (WINAPI *GetTCGMode)(IAMTimecodeGenerator *This,long Param,long *pValue);
   5193       HRESULT (WINAPI *SetTCGMode)(IAMTimecodeGenerator *This,long Param,long Value);
   5194       HRESULT (WINAPI *put_VITCLine)(IAMTimecodeGenerator *This,long Line);
   5195       HRESULT (WINAPI *get_VITCLine)(IAMTimecodeGenerator *This,long *pLine);
   5196       HRESULT (WINAPI *SetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   5197       HRESULT (WINAPI *GetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   5198     END_INTERFACE
   5199   } IAMTimecodeGeneratorVtbl;
   5200   struct IAMTimecodeGenerator {
   5201     CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
   5202   };
   5203 #ifdef COBJMACROS
   5204 #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5205 #define IAMTimecodeGenerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   5206 #define IAMTimecodeGenerator_Release(This) (This)->lpVtbl->Release(This)
   5207 #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) (This)->lpVtbl->GetTCGMode(This,Param,pValue)
   5208 #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) (This)->lpVtbl->SetTCGMode(This,Param,Value)
   5209 #define IAMTimecodeGenerator_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
   5210 #define IAMTimecodeGenerator_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
   5211 #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) (This)->lpVtbl->SetTimecode(This,pTimecodeSample)
   5212 #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
   5213 #endif
   5214 #endif
   5215   HRESULT WINAPI IAMTimecodeGenerator_GetTCGMode_Proxy(IAMTimecodeGenerator *This,long Param,long *pValue);
   5216   void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5217   HRESULT WINAPI IAMTimecodeGenerator_SetTCGMode_Proxy(IAMTimecodeGenerator *This,long Param,long Value);
   5218   void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5219   HRESULT WINAPI IAMTimecodeGenerator_put_VITCLine_Proxy(IAMTimecodeGenerator *This,long Line);
   5220   void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5221   HRESULT WINAPI IAMTimecodeGenerator_get_VITCLine_Proxy(IAMTimecodeGenerator *This,long *pLine);
   5222   void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5223   HRESULT WINAPI IAMTimecodeGenerator_SetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   5224   void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5225   HRESULT WINAPI IAMTimecodeGenerator_GetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   5226   void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5227 #endif
   5228 
   5229   typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
   5230 
   5231   extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
   5232   extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
   5233 #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
   5234 #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
   5235   EXTERN_C const IID IID_IAMTimecodeDisplay;
   5236 #if defined(__cplusplus) && !defined(CINTERFACE)
   5237   struct IAMTimecodeDisplay : public IUnknown {
   5238   public:
   5239     virtual HRESULT WINAPI GetTCDisplayEnable(long *pState) = 0;
   5240     virtual HRESULT WINAPI SetTCDisplayEnable(long State) = 0;
   5241     virtual HRESULT WINAPI GetTCDisplay(long Param,long *pValue) = 0;
   5242     virtual HRESULT WINAPI SetTCDisplay(long Param,long Value) = 0;
   5243   };
   5244 #else
   5245   typedef struct IAMTimecodeDisplayVtbl {
   5246     BEGIN_INTERFACE
   5247       HRESULT (WINAPI *QueryInterface)(IAMTimecodeDisplay *This,REFIID riid,void **ppvObject);
   5248       ULONG (WINAPI *AddRef)(IAMTimecodeDisplay *This);
   5249       ULONG (WINAPI *Release)(IAMTimecodeDisplay *This);
   5250       HRESULT (WINAPI *GetTCDisplayEnable)(IAMTimecodeDisplay *This,long *pState);
   5251       HRESULT (WINAPI *SetTCDisplayEnable)(IAMTimecodeDisplay *This,long State);
   5252       HRESULT (WINAPI *GetTCDisplay)(IAMTimecodeDisplay *This,long Param,long *pValue);
   5253       HRESULT (WINAPI *SetTCDisplay)(IAMTimecodeDisplay *This,long Param,long Value);
   5254     END_INTERFACE
   5255   } IAMTimecodeDisplayVtbl;
   5256   struct IAMTimecodeDisplay {
   5257     CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
   5258   };
   5259 #ifdef COBJMACROS
   5260 #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5261 #define IAMTimecodeDisplay_AddRef(This) (This)->lpVtbl->AddRef(This)
   5262 #define IAMTimecodeDisplay_Release(This) (This)->lpVtbl->Release(This)
   5263 #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) (This)->lpVtbl->GetTCDisplayEnable(This,pState)
   5264 #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) (This)->lpVtbl->SetTCDisplayEnable(This,State)
   5265 #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) (This)->lpVtbl->GetTCDisplay(This,Param,pValue)
   5266 #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) (This)->lpVtbl->SetTCDisplay(This,Param,Value)
   5267 #endif
   5268 #endif
   5269   HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,long *pState);
   5270   void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5271   HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,long State);
   5272   void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5273   HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplay_Proxy(IAMTimecodeDisplay *This,long Param,long *pValue);
   5274   void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5275   HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplay_Proxy(IAMTimecodeDisplay *This,long Param,long Value);
   5276   void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5277 #endif
   5278 
   5279   typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
   5280 
   5281   extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec;
   5282   extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec;
   5283 #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
   5284 #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
   5285   EXTERN_C const IID IID_IAMDevMemoryAllocator;
   5286 #if defined(__cplusplus) && !defined(CINTERFACE)
   5287   struct IAMDevMemoryAllocator : public IUnknown {
   5288   public:
   5289     virtual HRESULT WINAPI GetInfo(DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk) = 0;
   5290     virtual HRESULT WINAPI CheckMemory(const BYTE *pBuffer) = 0;
   5291     virtual HRESULT WINAPI Alloc(BYTE **ppBuffer,DWORD *pdwcbBuffer) = 0;
   5292     virtual HRESULT WINAPI Free(BYTE *pBuffer) = 0;
   5293     virtual HRESULT WINAPI GetDevMemoryObject(IUnknown **ppUnkInnner,IUnknown *pUnkOuter) = 0;
   5294   };
   5295 #else
   5296   typedef struct IAMDevMemoryAllocatorVtbl {
   5297     BEGIN_INTERFACE
   5298       HRESULT (WINAPI *QueryInterface)(IAMDevMemoryAllocator *This,REFIID riid,void **ppvObject);
   5299       ULONG (WINAPI *AddRef)(IAMDevMemoryAllocator *This);
   5300       ULONG (WINAPI *Release)(IAMDevMemoryAllocator *This);
   5301       HRESULT (WINAPI *GetInfo)(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
   5302       HRESULT (WINAPI *CheckMemory)(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
   5303       HRESULT (WINAPI *Alloc)(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
   5304       HRESULT (WINAPI *Free)(IAMDevMemoryAllocator *This,BYTE *pBuffer);
   5305       HRESULT (WINAPI *GetDevMemoryObject)(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
   5306     END_INTERFACE
   5307   } IAMDevMemoryAllocatorVtbl;
   5308   struct IAMDevMemoryAllocator {
   5309     CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
   5310   };
   5311 #ifdef COBJMACROS
   5312 #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5313 #define IAMDevMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   5314 #define IAMDevMemoryAllocator_Release(This) (This)->lpVtbl->Release(This)
   5315 #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) (This)->lpVtbl->GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
   5316 #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) (This)->lpVtbl->CheckMemory(This,pBuffer)
   5317 #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) (This)->lpVtbl->Alloc(This,ppBuffer,pdwcbBuffer)
   5318 #define IAMDevMemoryAllocator_Free(This,pBuffer) (This)->lpVtbl->Free(This,pBuffer)
   5319 #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) (This)->lpVtbl->GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
   5320 #endif
   5321 #endif
   5322   HRESULT WINAPI IAMDevMemoryAllocator_GetInfo_Proxy(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
   5323   void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5324   HRESULT WINAPI IAMDevMemoryAllocator_CheckMemory_Proxy(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
   5325   void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5326   HRESULT WINAPI IAMDevMemoryAllocator_Alloc_Proxy(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
   5327   void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5328   HRESULT WINAPI IAMDevMemoryAllocator_Free_Proxy(IAMDevMemoryAllocator *This,BYTE *pBuffer);
   5329   void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5330   HRESULT WINAPI IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
   5331   void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5332 #endif
   5333 
   5334   typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
   5335 
   5336   extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
   5337   extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
   5338 #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
   5339 #define __IAMDevMemoryControl_INTERFACE_DEFINED__
   5340   EXTERN_C const IID IID_IAMDevMemoryControl;
   5341 #if defined(__cplusplus) && !defined(CINTERFACE)
   5342   struct IAMDevMemoryControl : public IUnknown {
   5343   public:
   5344     virtual HRESULT WINAPI QueryWriteSync(void) = 0;
   5345     virtual HRESULT WINAPI WriteSync(void) = 0;
   5346     virtual HRESULT WINAPI GetDevId(DWORD *pdwDevId) = 0;
   5347   };
   5348 #else
   5349   typedef struct IAMDevMemoryControlVtbl {
   5350     BEGIN_INTERFACE
   5351       HRESULT (WINAPI *QueryInterface)(IAMDevMemoryControl *This,REFIID riid,void **ppvObject);
   5352       ULONG (WINAPI *AddRef)(IAMDevMemoryControl *This);
   5353       ULONG (WINAPI *Release)(IAMDevMemoryControl *This);
   5354       HRESULT (WINAPI *QueryWriteSync)(IAMDevMemoryControl *This);
   5355       HRESULT (WINAPI *WriteSync)(IAMDevMemoryControl *This);
   5356       HRESULT (WINAPI *GetDevId)(IAMDevMemoryControl *This,DWORD *pdwDevId);
   5357     END_INTERFACE
   5358   } IAMDevMemoryControlVtbl;
   5359   struct IAMDevMemoryControl {
   5360     CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
   5361   };
   5362 #ifdef COBJMACROS
   5363 #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5364 #define IAMDevMemoryControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   5365 #define IAMDevMemoryControl_Release(This) (This)->lpVtbl->Release(This)
   5366 #define IAMDevMemoryControl_QueryWriteSync(This) (This)->lpVtbl->QueryWriteSync(This)
   5367 #define IAMDevMemoryControl_WriteSync(This) (This)->lpVtbl->WriteSync(This)
   5368 #define IAMDevMemoryControl_GetDevId(This,pdwDevId) (This)->lpVtbl->GetDevId(This,pdwDevId)
   5369 #endif
   5370 #endif
   5371   HRESULT WINAPI IAMDevMemoryControl_QueryWriteSync_Proxy(IAMDevMemoryControl *This);
   5372   void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5373   HRESULT WINAPI IAMDevMemoryControl_WriteSync_Proxy(IAMDevMemoryControl *This);
   5374   void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5375   HRESULT WINAPI IAMDevMemoryControl_GetDevId_Proxy(IAMDevMemoryControl *This,DWORD *pdwDevId);
   5376   void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5377 #endif
   5378 
   5379   typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
   5380 
   5381   enum _AMSTREAMSELECTINFOFLAGS {
   5382     AMSTREAMSELECTINFO_ENABLED = 0x1,AMSTREAMSELECTINFO_EXCLUSIVE = 0x2
   5383   };
   5384 
   5385   enum _AMSTREAMSELECTENABLEFLAGS {
   5386     AMSTREAMSELECTENABLE_ENABLE = 0x1,AMSTREAMSELECTENABLE_ENABLEALL = 0x2
   5387   };
   5388 
   5389   extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;
   5390   extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;
   5391 #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
   5392 #define __IAMStreamSelect_INTERFACE_DEFINED__
   5393   EXTERN_C const IID IID_IAMStreamSelect;
   5394 #if defined(__cplusplus) && !defined(CINTERFACE)
   5395   struct IAMStreamSelect : public IUnknown {
   5396   public:
   5397     virtual HRESULT WINAPI Count(DWORD *pcStreams) = 0;
   5398     virtual HRESULT WINAPI Info(long lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk) = 0;
   5399     virtual HRESULT WINAPI Enable(long lIndex,DWORD dwFlags) = 0;
   5400   };
   5401 #else
   5402   typedef struct IAMStreamSelectVtbl {
   5403     BEGIN_INTERFACE
   5404       HRESULT (WINAPI *QueryInterface)(IAMStreamSelect *This,REFIID riid,void **ppvObject);
   5405       ULONG (WINAPI *AddRef)(IAMStreamSelect *This);
   5406       ULONG (WINAPI *Release)(IAMStreamSelect *This);
   5407       HRESULT (WINAPI *Count)(IAMStreamSelect *This,DWORD *pcStreams);
   5408       HRESULT (WINAPI *Info)(IAMStreamSelect *This,long lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk);
   5409       HRESULT (WINAPI *Enable)(IAMStreamSelect *This,long lIndex,DWORD dwFlags);
   5410     END_INTERFACE
   5411   } IAMStreamSelectVtbl;
   5412   struct IAMStreamSelect {
   5413     CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
   5414   };
   5415 #ifdef COBJMACROS
   5416 #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5417 #define IAMStreamSelect_AddRef(This) (This)->lpVtbl->AddRef(This)
   5418 #define IAMStreamSelect_Release(This) (This)->lpVtbl->Release(This)
   5419 #define IAMStreamSelect_Count(This,pcStreams) (This)->lpVtbl->Count(This,pcStreams)
   5420 #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) (This)->lpVtbl->Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
   5421 #define IAMStreamSelect_Enable(This,lIndex,dwFlags) (This)->lpVtbl->Enable(This,lIndex,dwFlags)
   5422 #endif
   5423 #endif
   5424   HRESULT WINAPI IAMStreamSelect_Count_Proxy(IAMStreamSelect *This,DWORD *pcStreams);
   5425   void __RPC_STUB IAMStreamSelect_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5426   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);
   5427   void __RPC_STUB IAMStreamSelect_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5428   HRESULT WINAPI IAMStreamSelect_Enable_Proxy(IAMStreamSelect *This,long lIndex,DWORD dwFlags);
   5429   void __RPC_STUB IAMStreamSelect_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5430 #endif
   5431 
   5432   typedef IAMStreamSelect *PAMSTREAMSELECT;
   5433 
   5434   enum _AMRESCTL_RESERVEFLAGS {
   5435     AMRESCTL_RESERVEFLAGS_RESERVE = 0,AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
   5436   };
   5437 
   5438   extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
   5439   extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
   5440 #ifndef __IAMResourceControl_INTERFACE_DEFINED__
   5441 #define __IAMResourceControl_INTERFACE_DEFINED__
   5442   EXTERN_C const IID IID_IAMResourceControl;
   5443 #if defined(__cplusplus) && !defined(CINTERFACE)
   5444   struct IAMResourceControl : public IUnknown {
   5445   public:
   5446     virtual HRESULT WINAPI Reserve(DWORD dwFlags,PVOID pvReserved) = 0;
   5447   };
   5448 #else
   5449   typedef struct IAMResourceControlVtbl {
   5450     BEGIN_INTERFACE
   5451       HRESULT (WINAPI *QueryInterface)(IAMResourceControl *This,REFIID riid,void **ppvObject);
   5452       ULONG (WINAPI *AddRef)(IAMResourceControl *This);
   5453       ULONG (WINAPI *Release)(IAMResourceControl *This);
   5454       HRESULT (WINAPI *Reserve)(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
   5455     END_INTERFACE
   5456   } IAMResourceControlVtbl;
   5457   struct IAMResourceControl {
   5458     CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
   5459   };
   5460 #ifdef COBJMACROS
   5461 #define IAMResourceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5462 #define IAMResourceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   5463 #define IAMResourceControl_Release(This) (This)->lpVtbl->Release(This)
   5464 #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) (This)->lpVtbl->Reserve(This,dwFlags,pvReserved)
   5465 #endif
   5466 #endif
   5467   HRESULT WINAPI IAMResourceControl_Reserve_Proxy(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
   5468   void __RPC_STUB IAMResourceControl_Reserve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5469 #endif
   5470 
   5471 #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
   5472 #define __IAMClockAdjust_INTERFACE_DEFINED__
   5473   EXTERN_C const IID IID_IAMClockAdjust;
   5474 #if defined(__cplusplus) && !defined(CINTERFACE)
   5475   struct IAMClockAdjust : public IUnknown {
   5476   public:
   5477     virtual HRESULT WINAPI SetClockDelta(REFERENCE_TIME rtDelta) = 0;
   5478   };
   5479 #else
   5480   typedef struct IAMClockAdjustVtbl {
   5481     BEGIN_INTERFACE
   5482       HRESULT (WINAPI *QueryInterface)(IAMClockAdjust *This,REFIID riid,void **ppvObject);
   5483       ULONG (WINAPI *AddRef)(IAMClockAdjust *This);
   5484       ULONG (WINAPI *Release)(IAMClockAdjust *This);
   5485       HRESULT (WINAPI *SetClockDelta)(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
   5486     END_INTERFACE
   5487   } IAMClockAdjustVtbl;
   5488   struct IAMClockAdjust {
   5489     CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
   5490   };
   5491 #ifdef COBJMACROS
   5492 #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5493 #define IAMClockAdjust_AddRef(This) (This)->lpVtbl->AddRef(This)
   5494 #define IAMClockAdjust_Release(This) (This)->lpVtbl->Release(This)
   5495 #define IAMClockAdjust_SetClockDelta(This,rtDelta) (This)->lpVtbl->SetClockDelta(This,rtDelta)
   5496 #endif
   5497 #endif
   5498   HRESULT WINAPI IAMClockAdjust_SetClockDelta_Proxy(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
   5499   void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5500 #endif
   5501 
   5502   enum _AM_FILTER_MISC_FLAGS {
   5503     AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
   5504   };
   5505 
   5506   extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_c_ifspec;
   5507   extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_s_ifspec;
   5508 #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
   5509 #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
   5510   EXTERN_C const IID IID_IAMFilterMiscFlags;
   5511 #if defined(__cplusplus) && !defined(CINTERFACE)
   5512   struct IAMFilterMiscFlags : public IUnknown {
   5513   public:
   5514     virtual ULONG WINAPI GetMiscFlags(void) = 0;
   5515   };
   5516 #else
   5517   typedef struct IAMFilterMiscFlagsVtbl {
   5518     BEGIN_INTERFACE
   5519       HRESULT (WINAPI *QueryInterface)(IAMFilterMiscFlags *This,REFIID riid,void **ppvObject);
   5520       ULONG (WINAPI *AddRef)(IAMFilterMiscFlags *This);
   5521       ULONG (WINAPI *Release)(IAMFilterMiscFlags *This);
   5522       ULONG (WINAPI *GetMiscFlags)(IAMFilterMiscFlags *This);
   5523     END_INTERFACE
   5524   } IAMFilterMiscFlagsVtbl;
   5525   struct IAMFilterMiscFlags {
   5526     CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
   5527   };
   5528 #ifdef COBJMACROS
   5529 #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5530 #define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This)
   5531 #define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This)
   5532 #define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This)
   5533 #endif
   5534 #endif
   5535   ULONG WINAPI IAMFilterMiscFlags_GetMiscFlags_Proxy(IAMFilterMiscFlags *This);
   5536   void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5537 #endif
   5538 
   5539 #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
   5540 #define __IDrawVideoImage_INTERFACE_DEFINED__
   5541   EXTERN_C const IID IID_IDrawVideoImage;
   5542 #if defined(__cplusplus) && !defined(CINTERFACE)
   5543   struct IDrawVideoImage : public IUnknown {
   5544   public:
   5545     virtual HRESULT WINAPI DrawVideoImageBegin(void) = 0;
   5546     virtual HRESULT WINAPI DrawVideoImageEnd(void) = 0;
   5547     virtual HRESULT WINAPI DrawVideoImageDraw(HDC hdc,LPRECT lprcSrc,LPRECT lprcDst) = 0;
   5548   };
   5549 #else
   5550   typedef struct IDrawVideoImageVtbl {
   5551     BEGIN_INTERFACE
   5552       HRESULT (WINAPI *QueryInterface)(IDrawVideoImage *This,REFIID riid,void **ppvObject);
   5553       ULONG (WINAPI *AddRef)(IDrawVideoImage *This);
   5554       ULONG (WINAPI *Release)(IDrawVideoImage *This);
   5555       HRESULT (WINAPI *DrawVideoImageBegin)(IDrawVideoImage *This);
   5556       HRESULT (WINAPI *DrawVideoImageEnd)(IDrawVideoImage *This);
   5557       HRESULT (WINAPI *DrawVideoImageDraw)(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
   5558     END_INTERFACE
   5559   } IDrawVideoImageVtbl;
   5560   struct IDrawVideoImage {
   5561     CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
   5562   };
   5563 #ifdef COBJMACROS
   5564 #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5565 #define IDrawVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
   5566 #define IDrawVideoImage_Release(This) (This)->lpVtbl->Release(This)
   5567 #define IDrawVideoImage_DrawVideoImageBegin(This) (This)->lpVtbl->DrawVideoImageBegin(This)
   5568 #define IDrawVideoImage_DrawVideoImageEnd(This) (This)->lpVtbl->DrawVideoImageEnd(This)
   5569 #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) (This)->lpVtbl->DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
   5570 #endif
   5571 #endif
   5572   HRESULT WINAPI IDrawVideoImage_DrawVideoImageBegin_Proxy(IDrawVideoImage *This);
   5573   void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5574   HRESULT WINAPI IDrawVideoImage_DrawVideoImageEnd_Proxy(IDrawVideoImage *This);
   5575   void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5576   HRESULT WINAPI IDrawVideoImage_DrawVideoImageDraw_Proxy(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
   5577   void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5578 #endif
   5579 
   5580 #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
   5581 #define __IDecimateVideoImage_INTERFACE_DEFINED__
   5582   EXTERN_C const IID IID_IDecimateVideoImage;
   5583 #if defined(__cplusplus) && !defined(CINTERFACE)
   5584   struct IDecimateVideoImage : public IUnknown {
   5585   public:
   5586     virtual HRESULT WINAPI SetDecimationImageSize(long lWidth,long lHeight) = 0;
   5587     virtual HRESULT WINAPI ResetDecimationImageSize(void) = 0;
   5588   };
   5589 #else
   5590   typedef struct IDecimateVideoImageVtbl {
   5591     BEGIN_INTERFACE
   5592       HRESULT (WINAPI *QueryInterface)(IDecimateVideoImage *This,REFIID riid,void **ppvObject);
   5593       ULONG (WINAPI *AddRef)(IDecimateVideoImage *This);
   5594       ULONG (WINAPI *Release)(IDecimateVideoImage *This);
   5595       HRESULT (WINAPI *SetDecimationImageSize)(IDecimateVideoImage *This,long lWidth,long lHeight);
   5596       HRESULT (WINAPI *ResetDecimationImageSize)(IDecimateVideoImage *This);
   5597     END_INTERFACE
   5598   } IDecimateVideoImageVtbl;
   5599   struct IDecimateVideoImage {
   5600     CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
   5601   };
   5602 #ifdef COBJMACROS
   5603 #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5604 #define IDecimateVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
   5605 #define IDecimateVideoImage_Release(This) (This)->lpVtbl->Release(This)
   5606 #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) (This)->lpVtbl->SetDecimationImageSize(This,lWidth,lHeight)
   5607 #define IDecimateVideoImage_ResetDecimationImageSize(This) (This)->lpVtbl->ResetDecimationImageSize(This)
   5608 #endif
   5609 #endif
   5610   HRESULT WINAPI IDecimateVideoImage_SetDecimationImageSize_Proxy(IDecimateVideoImage *This,long lWidth,long lHeight);
   5611   void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5612   HRESULT WINAPI IDecimateVideoImage_ResetDecimationImageSize_Proxy(IDecimateVideoImage *This);
   5613   void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5614 #endif
   5615 
   5616   typedef enum _DECIMATION_USAGE {
   5617     DECIMATION_LEGACY = 0,
   5618     DECIMATION_USE_DECODER_ONLY,DECIMATION_USE_VIDEOPORT_ONLY,DECIMATION_USE_OVERLAY_ONLY,
   5619     DECIMATION_DEFAULT
   5620   } DECIMATION_USAGE;
   5621 
   5622   extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
   5623   extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
   5624 #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
   5625 #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
   5626   EXTERN_C const IID IID_IAMVideoDecimationProperties;
   5627 #if defined(__cplusplus) && !defined(CINTERFACE)
   5628   struct IAMVideoDecimationProperties : public IUnknown {
   5629   public:
   5630     virtual HRESULT WINAPI QueryDecimationUsage(DECIMATION_USAGE *lpUsage) = 0;
   5631     virtual HRESULT WINAPI SetDecimationUsage(DECIMATION_USAGE Usage) = 0;
   5632   };
   5633 #else
   5634   typedef struct IAMVideoDecimationPropertiesVtbl {
   5635     BEGIN_INTERFACE
   5636       HRESULT (WINAPI *QueryInterface)(IAMVideoDecimationProperties *This,REFIID riid,void **ppvObject);
   5637       ULONG (WINAPI *AddRef)(IAMVideoDecimationProperties *This);
   5638       ULONG (WINAPI *Release)(IAMVideoDecimationProperties *This);
   5639       HRESULT (WINAPI *QueryDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
   5640       HRESULT (WINAPI *SetDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
   5641     END_INTERFACE
   5642   } IAMVideoDecimationPropertiesVtbl;
   5643   struct IAMVideoDecimationProperties {
   5644     CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
   5645   };
   5646 #ifdef COBJMACROS
   5647 #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5648 #define IAMVideoDecimationProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
   5649 #define IAMVideoDecimationProperties_Release(This) (This)->lpVtbl->Release(This)
   5650 #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) (This)->lpVtbl->QueryDecimationUsage(This,lpUsage)
   5651 #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) (This)->lpVtbl->SetDecimationUsage(This,Usage)
   5652 #endif
   5653 #endif
   5654   HRESULT WINAPI IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
   5655   void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5656   HRESULT WINAPI IAMVideoDecimationProperties_SetDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
   5657   void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5658 #endif
   5659 
   5660 #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
   5661 #define __IVideoFrameStep_INTERFACE_DEFINED__
   5662   EXTERN_C const IID IID_IVideoFrameStep;
   5663 #if defined(__cplusplus) && !defined(CINTERFACE)
   5664   struct IVideoFrameStep : public IUnknown {
   5665   public:
   5666     virtual HRESULT WINAPI Step(DWORD dwFrames,IUnknown *pStepObject) = 0;
   5667     virtual HRESULT WINAPI CanStep(long bMultiple,IUnknown *pStepObject) = 0;
   5668     virtual HRESULT WINAPI CancelStep(void) = 0;
   5669   };
   5670 #else
   5671   typedef struct IVideoFrameStepVtbl {
   5672     BEGIN_INTERFACE
   5673       HRESULT (WINAPI *QueryInterface)(IVideoFrameStep *This,REFIID riid,void **ppvObject);
   5674       ULONG (WINAPI *AddRef)(IVideoFrameStep *This);
   5675       ULONG (WINAPI *Release)(IVideoFrameStep *This);
   5676       HRESULT (WINAPI *Step)(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject);
   5677       HRESULT (WINAPI *CanStep)(IVideoFrameStep *This,long bMultiple,IUnknown *pStepObject);
   5678       HRESULT (WINAPI *CancelStep)(IVideoFrameStep *This);
   5679     END_INTERFACE
   5680   } IVideoFrameStepVtbl;
   5681   struct IVideoFrameStep {
   5682     CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
   5683   };
   5684 #ifdef COBJMACROS
   5685 #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5686 #define IVideoFrameStep_AddRef(This) (This)->lpVtbl->AddRef(This)
   5687 #define IVideoFrameStep_Release(This) (This)->lpVtbl->Release(This)
   5688 #define IVideoFrameStep_Step(This,dwFrames,pStepObject) (This)->lpVtbl->Step(This,dwFrames,pStepObject)
   5689 #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject) (This)->lpVtbl->CanStep(This,bMultiple,pStepObject)
   5690 #define IVideoFrameStep_CancelStep(This) (This)->lpVtbl->CancelStep(This)
   5691 #endif
   5692 #endif
   5693   HRESULT WINAPI IVideoFrameStep_Step_Proxy(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject);
   5694   void __RPC_STUB IVideoFrameStep_Step_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5695   HRESULT WINAPI IVideoFrameStep_CanStep_Proxy(IVideoFrameStep *This,long bMultiple,IUnknown *pStepObject);
   5696   void __RPC_STUB IVideoFrameStep_CanStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5697   HRESULT WINAPI IVideoFrameStep_CancelStep_Proxy(IVideoFrameStep *This);
   5698   void __RPC_STUB IVideoFrameStep_CancelStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5699 #endif
   5700 
   5701   enum _AM_PUSHSOURCE_FLAGS {
   5702     AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4,
   5703     AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000
   5704   };
   5705 
   5706   extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec;
   5707   extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec;
   5708 #ifndef __IAMLatency_INTERFACE_DEFINED__
   5709 #define __IAMLatency_INTERFACE_DEFINED__
   5710   EXTERN_C const IID IID_IAMLatency;
   5711 #if defined(__cplusplus) && !defined(CINTERFACE)
   5712   struct IAMLatency : public IUnknown {
   5713   public:
   5714     virtual HRESULT WINAPI GetLatency(REFERENCE_TIME *prtLatency) = 0;
   5715   };
   5716 #else
   5717   typedef struct IAMLatencyVtbl {
   5718     BEGIN_INTERFACE
   5719       HRESULT (WINAPI *QueryInterface)(IAMLatency *This,REFIID riid,void **ppvObject);
   5720       ULONG (WINAPI *AddRef)(IAMLatency *This);
   5721       ULONG (WINAPI *Release)(IAMLatency *This);
   5722       HRESULT (WINAPI *GetLatency)(IAMLatency *This,REFERENCE_TIME *prtLatency);
   5723     END_INTERFACE
   5724   } IAMLatencyVtbl;
   5725   struct IAMLatency {
   5726     CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
   5727   };
   5728 #ifdef COBJMACROS
   5729 #define IAMLatency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5730 #define IAMLatency_AddRef(This) (This)->lpVtbl->AddRef(This)
   5731 #define IAMLatency_Release(This) (This)->lpVtbl->Release(This)
   5732 #define IAMLatency_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency)
   5733 #endif
   5734 #endif
   5735   HRESULT WINAPI IAMLatency_GetLatency_Proxy(IAMLatency *This,REFERENCE_TIME *prtLatency);
   5736   void __RPC_STUB IAMLatency_GetLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5737 #endif
   5738 
   5739 #ifndef __IAMPushSource_INTERFACE_DEFINED__
   5740 #define __IAMPushSource_INTERFACE_DEFINED__
   5741   EXTERN_C const IID IID_IAMPushSource;
   5742 #if defined(__cplusplus) && !defined(CINTERFACE)
   5743   struct IAMPushSource : public IAMLatency {
   5744   public:
   5745     virtual HRESULT WINAPI GetPushSourceFlags(ULONG *pFlags) = 0;
   5746     virtual HRESULT WINAPI SetPushSourceFlags(ULONG Flags) = 0;
   5747     virtual HRESULT WINAPI SetStreamOffset(REFERENCE_TIME rtOffset) = 0;
   5748     virtual HRESULT WINAPI GetStreamOffset(REFERENCE_TIME *prtOffset) = 0;
   5749     virtual HRESULT WINAPI GetMaxStreamOffset(REFERENCE_TIME *prtMaxOffset) = 0;
   5750     virtual HRESULT WINAPI SetMaxStreamOffset(REFERENCE_TIME rtMaxOffset) = 0;
   5751   };
   5752 #else
   5753   typedef struct IAMPushSourceVtbl {
   5754     BEGIN_INTERFACE
   5755       HRESULT (WINAPI *QueryInterface)(IAMPushSource *This,REFIID riid,void **ppvObject);
   5756       ULONG (WINAPI *AddRef)(IAMPushSource *This);
   5757       ULONG (WINAPI *Release)(IAMPushSource *This);
   5758       HRESULT (WINAPI *GetLatency)(IAMPushSource *This,REFERENCE_TIME *prtLatency);
   5759       HRESULT (WINAPI *GetPushSourceFlags)(IAMPushSource *This,ULONG *pFlags);
   5760       HRESULT (WINAPI *SetPushSourceFlags)(IAMPushSource *This,ULONG Flags);
   5761       HRESULT (WINAPI *SetStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtOffset);
   5762       HRESULT (WINAPI *GetStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtOffset);
   5763       HRESULT (WINAPI *GetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset);
   5764       HRESULT (WINAPI *SetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtMaxOffset);
   5765     END_INTERFACE
   5766   } IAMPushSourceVtbl;
   5767   struct IAMPushSource {
   5768     CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
   5769   };
   5770 #ifdef COBJMACROS
   5771 #define IAMPushSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5772 #define IAMPushSource_AddRef(This) (This)->lpVtbl->AddRef(This)
   5773 #define IAMPushSource_Release(This) (This)->lpVtbl->Release(This)
   5774 #define IAMPushSource_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency)
   5775 #define IAMPushSource_GetPushSourceFlags(This,pFlags) (This)->lpVtbl->GetPushSourceFlags(This,pFlags)
   5776 #define IAMPushSource_SetPushSourceFlags(This,Flags) (This)->lpVtbl->SetPushSourceFlags(This,Flags)
   5777 #define IAMPushSource_SetStreamOffset(This,rtOffset) (This)->lpVtbl->SetStreamOffset(This,rtOffset)
   5778 #define IAMPushSource_GetStreamOffset(This,prtOffset) (This)->lpVtbl->GetStreamOffset(This,prtOffset)
   5779 #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset) (This)->lpVtbl->GetMaxStreamOffset(This,prtMaxOffset)
   5780 #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset) (This)->lpVtbl->SetMaxStreamOffset(This,rtMaxOffset)
   5781 #endif
   5782 #endif
   5783   HRESULT WINAPI IAMPushSource_GetPushSourceFlags_Proxy(IAMPushSource *This,ULONG *pFlags);
   5784   void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5785   HRESULT WINAPI IAMPushSource_SetPushSourceFlags_Proxy(IAMPushSource *This,ULONG Flags);
   5786   void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5787   HRESULT WINAPI IAMPushSource_SetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtOffset);
   5788   void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5789   HRESULT WINAPI IAMPushSource_GetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtOffset);
   5790   void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5791   HRESULT WINAPI IAMPushSource_GetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset);
   5792   void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5793   HRESULT WINAPI IAMPushSource_SetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtMaxOffset);
   5794   void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5795 #endif
   5796 
   5797 #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
   5798 #define __IAMDeviceRemoval_INTERFACE_DEFINED__
   5799   EXTERN_C const IID IID_IAMDeviceRemoval;
   5800 #if defined(__cplusplus) && !defined(CINTERFACE)
   5801   struct IAMDeviceRemoval : public IUnknown {
   5802   public:
   5803     virtual HRESULT WINAPI DeviceInfo(CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink) = 0;
   5804     virtual HRESULT WINAPI Reassociate(void) = 0;
   5805     virtual HRESULT WINAPI Disassociate(void) = 0;
   5806   };
   5807 #else
   5808   typedef struct IAMDeviceRemovalVtbl {
   5809     BEGIN_INTERFACE
   5810       HRESULT (WINAPI *QueryInterface)(IAMDeviceRemoval *This,REFIID riid,void **ppvObject);
   5811       ULONG (WINAPI *AddRef)(IAMDeviceRemoval *This);
   5812       ULONG (WINAPI *Release)(IAMDeviceRemoval *This);
   5813       HRESULT (WINAPI *DeviceInfo)(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
   5814       HRESULT (WINAPI *Reassociate)(IAMDeviceRemoval *This);
   5815       HRESULT (WINAPI *Disassociate)(IAMDeviceRemoval *This);
   5816     END_INTERFACE
   5817   } IAMDeviceRemovalVtbl;
   5818   struct IAMDeviceRemoval {
   5819     CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
   5820   };
   5821 #ifdef COBJMACROS
   5822 #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5823 #define IAMDeviceRemoval_AddRef(This) (This)->lpVtbl->AddRef(This)
   5824 #define IAMDeviceRemoval_Release(This) (This)->lpVtbl->Release(This)
   5825 #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) (This)->lpVtbl->DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
   5826 #define IAMDeviceRemoval_Reassociate(This) (This)->lpVtbl->Reassociate(This)
   5827 #define IAMDeviceRemoval_Disassociate(This) (This)->lpVtbl->Disassociate(This)
   5828 #endif
   5829 #endif
   5830   HRESULT WINAPI IAMDeviceRemoval_DeviceInfo_Proxy(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
   5831   void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5832   HRESULT WINAPI IAMDeviceRemoval_Reassociate_Proxy(IAMDeviceRemoval *This);
   5833   void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5834   HRESULT WINAPI IAMDeviceRemoval_Disassociate_Proxy(IAMDeviceRemoval *This);
   5835   void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5836 #endif
   5837 
   5838   typedef struct __MIDL___MIDL_itf_strmif_0355_0001 {
   5839     DWORD dwDVAAuxSrc;
   5840     DWORD dwDVAAuxCtl;
   5841     DWORD dwDVAAuxSrc1;
   5842     DWORD dwDVAAuxCtl1;
   5843     DWORD dwDVVAuxSrc;
   5844     DWORD dwDVVAuxCtl;
   5845     DWORD dwDVReserved[2];
   5846   } DVINFO;
   5847 
   5848   typedef struct __MIDL___MIDL_itf_strmif_0355_0001 *PDVINFO;
   5849 
   5850   enum _DVENCODERRESOLUTION {
   5851     DVENCODERRESOLUTION_720x480 = 2012,DVENCODERRESOLUTION_360x240 = 2013,DVENCODERRESOLUTION_180x120 = 2014,DVENCODERRESOLUTION_88x60 = 2015
   5852   };
   5853 
   5854   enum _DVENCODERVIDEOFORMAT {
   5855     DVENCODERVIDEOFORMAT_NTSC = 2000,DVENCODERVIDEOFORMAT_PAL = 2001
   5856   };
   5857 
   5858   enum _DVENCODERFORMAT {
   5859     DVENCODERFORMAT_DVSD = 2007,DVENCODERFORMAT_DVHD = 2008,DVENCODERFORMAT_DVSL = 2009
   5860   };
   5861 
   5862   extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
   5863   extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
   5864 #ifndef __IDVEnc_INTERFACE_DEFINED__
   5865 #define __IDVEnc_INTERFACE_DEFINED__
   5866   EXTERN_C const IID IID_IDVEnc;
   5867 #if defined(__cplusplus) && !defined(CINTERFACE)
   5868   struct IDVEnc : public IUnknown {
   5869   public:
   5870     virtual HRESULT WINAPI get_IFormatResolution(int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
   5871     virtual HRESULT WINAPI put_IFormatResolution(int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
   5872   };
   5873 #else
   5874   typedef struct IDVEncVtbl {
   5875     BEGIN_INTERFACE
   5876       HRESULT (WINAPI *QueryInterface)(IDVEnc *This,REFIID riid,void **ppvObject);
   5877       ULONG (WINAPI *AddRef)(IDVEnc *This);
   5878       ULONG (WINAPI *Release)(IDVEnc *This);
   5879       HRESULT (WINAPI *get_IFormatResolution)(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   5880       HRESULT (WINAPI *put_IFormatResolution)(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   5881     END_INTERFACE
   5882   } IDVEncVtbl;
   5883   struct IDVEnc {
   5884     CONST_VTBL struct IDVEncVtbl *lpVtbl;
   5885   };
   5886 #ifdef COBJMACROS
   5887 #define IDVEnc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5888 #define IDVEnc_AddRef(This) (This)->lpVtbl->AddRef(This)
   5889 #define IDVEnc_Release(This) (This)->lpVtbl->Release(This)
   5890 #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
   5891 #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
   5892 #endif
   5893 #endif
   5894   HRESULT WINAPI IDVEnc_get_IFormatResolution_Proxy(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   5895   void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5896   HRESULT WINAPI IDVEnc_put_IFormatResolution_Proxy(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   5897   void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5898 #endif
   5899 
   5900   enum _DVDECODERRESOLUTION {
   5901     DVDECODERRESOLUTION_720x480 = 1000,DVDECODERRESOLUTION_360x240 = 1001,DVDECODERRESOLUTION_180x120 = 1002,DVDECODERRESOLUTION_88x60 = 1003
   5902   };
   5903 
   5904   enum _DVRESOLUTION {
   5905     DVRESOLUTION_FULL = 1000,DVRESOLUTION_HALF = 1001,DVRESOLUTION_QUARTER = 1002,DVRESOLUTION_DC = 1003
   5906   };
   5907 
   5908   extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec;
   5909   extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec;
   5910 #ifndef __IIPDVDec_INTERFACE_DEFINED__
   5911 #define __IIPDVDec_INTERFACE_DEFINED__
   5912   EXTERN_C const IID IID_IIPDVDec;
   5913 #if defined(__cplusplus) && !defined(CINTERFACE)
   5914   struct IIPDVDec : public IUnknown {
   5915   public:
   5916     virtual HRESULT WINAPI get_IPDisplay(int *displayPix) = 0;
   5917     virtual HRESULT WINAPI put_IPDisplay(int displayPix) = 0;
   5918   };
   5919 #else
   5920   typedef struct IIPDVDecVtbl {
   5921     BEGIN_INTERFACE
   5922       HRESULT (WINAPI *QueryInterface)(IIPDVDec *This,REFIID riid,void **ppvObject);
   5923       ULONG (WINAPI *AddRef)(IIPDVDec *This);
   5924       ULONG (WINAPI *Release)(IIPDVDec *This);
   5925       HRESULT (WINAPI *get_IPDisplay)(IIPDVDec *This,int *displayPix);
   5926       HRESULT (WINAPI *put_IPDisplay)(IIPDVDec *This,int displayPix);
   5927     END_INTERFACE
   5928   } IIPDVDecVtbl;
   5929   struct IIPDVDec {
   5930     CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
   5931   };
   5932 #ifdef COBJMACROS
   5933 #define IIPDVDec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5934 #define IIPDVDec_AddRef(This) (This)->lpVtbl->AddRef(This)
   5935 #define IIPDVDec_Release(This) (This)->lpVtbl->Release(This)
   5936 #define IIPDVDec_get_IPDisplay(This,displayPix) (This)->lpVtbl->get_IPDisplay(This,displayPix)
   5937 #define IIPDVDec_put_IPDisplay(This,displayPix) (This)->lpVtbl->put_IPDisplay(This,displayPix)
   5938 #endif
   5939 #endif
   5940   HRESULT WINAPI IIPDVDec_get_IPDisplay_Proxy(IIPDVDec *This,int *displayPix);
   5941   void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5942   HRESULT WINAPI IIPDVDec_put_IPDisplay_Proxy(IIPDVDec *This,int displayPix);
   5943   void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5944 #endif
   5945 
   5946 #ifndef __IDVRGB219_INTERFACE_DEFINED__
   5947 #define __IDVRGB219_INTERFACE_DEFINED__
   5948   EXTERN_C const IID IID_IDVRGB219;
   5949 #if defined(__cplusplus) && !defined(CINTERFACE)
   5950   struct IDVRGB219 : public IUnknown {
   5951   public:
   5952     virtual HRESULT WINAPI SetRGB219(WINBOOL bState) = 0;
   5953   };
   5954 #else
   5955   typedef struct IDVRGB219Vtbl {
   5956     BEGIN_INTERFACE
   5957       HRESULT (WINAPI *QueryInterface)(IDVRGB219 *This,REFIID riid,void **ppvObject);
   5958       ULONG (WINAPI *AddRef)(IDVRGB219 *This);
   5959       ULONG (WINAPI *Release)(IDVRGB219 *This);
   5960       HRESULT (WINAPI *SetRGB219)(IDVRGB219 *This,WINBOOL bState);
   5961     END_INTERFACE
   5962   } IDVRGB219Vtbl;
   5963   struct IDVRGB219 {
   5964     CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
   5965   };
   5966 #ifdef COBJMACROS
   5967 #define IDVRGB219_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5968 #define IDVRGB219_AddRef(This) (This)->lpVtbl->AddRef(This)
   5969 #define IDVRGB219_Release(This) (This)->lpVtbl->Release(This)
   5970 #define IDVRGB219_SetRGB219(This,bState) (This)->lpVtbl->SetRGB219(This,bState)
   5971 #endif
   5972 #endif
   5973   HRESULT WINAPI IDVRGB219_SetRGB219_Proxy(IDVRGB219 *This,WINBOOL bState);
   5974   void __RPC_STUB IDVRGB219_SetRGB219_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5975 #endif
   5976 
   5977 #ifndef __IDVSplitter_INTERFACE_DEFINED__
   5978 #define __IDVSplitter_INTERFACE_DEFINED__
   5979   EXTERN_C const IID IID_IDVSplitter;
   5980 #if defined(__cplusplus) && !defined(CINTERFACE)
   5981   struct IDVSplitter : public IUnknown {
   5982   public:
   5983     virtual HRESULT WINAPI DiscardAlternateVideoFrames(int nDiscard) = 0;
   5984   };
   5985 #else
   5986   typedef struct IDVSplitterVtbl {
   5987     BEGIN_INTERFACE
   5988       HRESULT (WINAPI *QueryInterface)(IDVSplitter *This,REFIID riid,void **ppvObject);
   5989       ULONG (WINAPI *AddRef)(IDVSplitter *This);
   5990       ULONG (WINAPI *Release)(IDVSplitter *This);
   5991       HRESULT (WINAPI *DiscardAlternateVideoFrames)(IDVSplitter *This,int nDiscard);
   5992     END_INTERFACE
   5993   } IDVSplitterVtbl;
   5994   struct IDVSplitter {
   5995     CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
   5996   };
   5997 #ifdef COBJMACROS
   5998 #define IDVSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5999 #define IDVSplitter_AddRef(This) (This)->lpVtbl->AddRef(This)
   6000 #define IDVSplitter_Release(This) (This)->lpVtbl->Release(This)
   6001 #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) (This)->lpVtbl->DiscardAlternateVideoFrames(This,nDiscard)
   6002 #endif
   6003 #endif
   6004   HRESULT WINAPI IDVSplitter_DiscardAlternateVideoFrames_Proxy(IDVSplitter *This,int nDiscard);
   6005   void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6006 #endif
   6007 
   6008   enum _AM_AUDIO_RENDERER_STAT_PARAM {
   6009     AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
   6010     AM_AUDREND_STAT_PARAM_SLAVE_MODE,AM_AUDREND_STAT_PARAM_SILENCE_DUR,
   6011     AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,AM_AUDREND_STAT_PARAM_DISCONTINUITIES,
   6012     AM_AUDREND_STAT_PARAM_SLAVE_RATE,AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR,
   6013     AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR,
   6014     AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,AM_AUDREND_STAT_PARAM_BUFFERFULLNESS,
   6015     AM_AUDREND_STAT_PARAM_JITTER
   6016   };
   6017 
   6018   extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_c_ifspec;
   6019   extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_s_ifspec;
   6020 #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
   6021 #define __IAMAudioRendererStats_INTERFACE_DEFINED__
   6022   EXTERN_C const IID IID_IAMAudioRendererStats;
   6023 #if defined(__cplusplus) && !defined(CINTERFACE)
   6024   struct IAMAudioRendererStats : public IUnknown {
   6025   public:
   6026     virtual HRESULT WINAPI GetStatParam(DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2) = 0;
   6027   };
   6028 #else
   6029   typedef struct IAMAudioRendererStatsVtbl {
   6030     BEGIN_INTERFACE
   6031       HRESULT (WINAPI *QueryInterface)(IAMAudioRendererStats *This,REFIID riid,void **ppvObject);
   6032       ULONG (WINAPI *AddRef)(IAMAudioRendererStats *This);
   6033       ULONG (WINAPI *Release)(IAMAudioRendererStats *This);
   6034       HRESULT (WINAPI *GetStatParam)(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
   6035     END_INTERFACE
   6036   } IAMAudioRendererStatsVtbl;
   6037   struct IAMAudioRendererStats {
   6038     CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
   6039   };
   6040 #ifdef COBJMACROS
   6041 #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6042 #define IAMAudioRendererStats_AddRef(This) (This)->lpVtbl->AddRef(This)
   6043 #define IAMAudioRendererStats_Release(This) (This)->lpVtbl->Release(This)
   6044 #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) (This)->lpVtbl->GetStatParam(This,dwParam,pdwParam1,pdwParam2)
   6045 #endif
   6046 #endif
   6047   HRESULT WINAPI IAMAudioRendererStats_GetStatParam_Proxy(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
   6048   void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6049 #endif
   6050 
   6051   enum _AM_INTF_SEARCH_FLAGS {
   6052     AM_INTF_SEARCH_INPUT_PIN = 0x1,AM_INTF_SEARCH_OUTPUT_PIN = 0x2,AM_INTF_SEARCH_FILTER = 0x4
   6053   };
   6054 
   6055   extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec;
   6056   extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec;
   6057 #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
   6058 #define __IAMGraphStreams_INTERFACE_DEFINED__
   6059   EXTERN_C const IID IID_IAMGraphStreams;
   6060 #if defined(__cplusplus) && !defined(CINTERFACE)
   6061   struct IAMGraphStreams : public IUnknown {
   6062   public:
   6063     virtual HRESULT WINAPI FindUpstreamInterface(IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags) = 0;
   6064     virtual HRESULT WINAPI SyncUsingStreamOffset(WINBOOL bUseStreamOffset) = 0;
   6065     virtual HRESULT WINAPI SetMaxGraphLatency(REFERENCE_TIME rtMaxGraphLatency) = 0;
   6066   };
   6067 #else
   6068   typedef struct IAMGraphStreamsVtbl {
   6069     BEGIN_INTERFACE
   6070       HRESULT (WINAPI *QueryInterface)(IAMGraphStreams *This,REFIID riid,void **ppvObject);
   6071       ULONG (WINAPI *AddRef)(IAMGraphStreams *This);
   6072       ULONG (WINAPI *Release)(IAMGraphStreams *This);
   6073       HRESULT (WINAPI *FindUpstreamInterface)(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
   6074       HRESULT (WINAPI *SyncUsingStreamOffset)(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
   6075       HRESULT (WINAPI *SetMaxGraphLatency)(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
   6076     END_INTERFACE
   6077   } IAMGraphStreamsVtbl;
   6078   struct IAMGraphStreams {
   6079     CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
   6080   };
   6081 #ifdef COBJMACROS
   6082 #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6083 #define IAMGraphStreams_AddRef(This) (This)->lpVtbl->AddRef(This)
   6084 #define IAMGraphStreams_Release(This) (This)->lpVtbl->Release(This)
   6085 #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) (This)->lpVtbl->FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
   6086 #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) (This)->lpVtbl->SyncUsingStreamOffset(This,bUseStreamOffset)
   6087 #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) (This)->lpVtbl->SetMaxGraphLatency(This,rtMaxGraphLatency)
   6088 #endif
   6089 #endif
   6090   HRESULT WINAPI IAMGraphStreams_FindUpstreamInterface_Proxy(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
   6091   void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6092   HRESULT WINAPI IAMGraphStreams_SyncUsingStreamOffset_Proxy(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
   6093   void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6094   HRESULT WINAPI IAMGraphStreams_SetMaxGraphLatency_Proxy(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
   6095   void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6096 #endif
   6097 
   6098   enum AMOVERLAYFX {
   6099     AMOVERFX_NOFX = 0,AMOVERFX_MIRRORLEFTRIGHT = 0x2,AMOVERFX_MIRRORUPDOWN = 0x4,AMOVERFX_DEINTERLACE = 0x8
   6100   };
   6101 
   6102   extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec;
   6103   extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec;
   6104 #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
   6105 #define __IAMOverlayFX_INTERFACE_DEFINED__
   6106   EXTERN_C const IID IID_IAMOverlayFX;
   6107 #if defined(__cplusplus) && !defined(CINTERFACE)
   6108   struct IAMOverlayFX : public IUnknown {
   6109   public:
   6110     virtual HRESULT WINAPI QueryOverlayFXCaps(DWORD *lpdwOverlayFXCaps) = 0;
   6111     virtual HRESULT WINAPI SetOverlayFX(DWORD dwOverlayFX) = 0;
   6112     virtual HRESULT WINAPI GetOverlayFX(DWORD *lpdwOverlayFX) = 0;
   6113   };
   6114 #else
   6115   typedef struct IAMOverlayFXVtbl {
   6116     BEGIN_INTERFACE
   6117       HRESULT (WINAPI *QueryInterface)(IAMOverlayFX *This,REFIID riid,void **ppvObject);
   6118       ULONG (WINAPI *AddRef)(IAMOverlayFX *This);
   6119       ULONG (WINAPI *Release)(IAMOverlayFX *This);
   6120       HRESULT (WINAPI *QueryOverlayFXCaps)(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
   6121       HRESULT (WINAPI *SetOverlayFX)(IAMOverlayFX *This,DWORD dwOverlayFX);
   6122       HRESULT (WINAPI *GetOverlayFX)(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
   6123     END_INTERFACE
   6124   } IAMOverlayFXVtbl;
   6125   struct IAMOverlayFX {
   6126     CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
   6127   };
   6128 #ifdef COBJMACROS
   6129 #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6130 #define IAMOverlayFX_AddRef(This) (This)->lpVtbl->AddRef(This)
   6131 #define IAMOverlayFX_Release(This) (This)->lpVtbl->Release(This)
   6132 #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) (This)->lpVtbl->QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
   6133 #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) (This)->lpVtbl->SetOverlayFX(This,dwOverlayFX)
   6134 #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) (This)->lpVtbl->GetOverlayFX(This,lpdwOverlayFX)
   6135 #endif
   6136 #endif
   6137   HRESULT WINAPI IAMOverlayFX_QueryOverlayFXCaps_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
   6138   void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6139   HRESULT WINAPI IAMOverlayFX_SetOverlayFX_Proxy(IAMOverlayFX *This,DWORD dwOverlayFX);
   6140   void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6141   HRESULT WINAPI IAMOverlayFX_GetOverlayFX_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
   6142   void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6143 #endif
   6144 
   6145 #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
   6146 #define __IAMOpenProgress_INTERFACE_DEFINED__
   6147   EXTERN_C const IID IID_IAMOpenProgress;
   6148 #if defined(__cplusplus) && !defined(CINTERFACE)
   6149   struct IAMOpenProgress : public IUnknown {
   6150   public:
   6151     virtual HRESULT WINAPI QueryProgress(LONGLONG *pllTotal,LONGLONG *pllCurrent) = 0;
   6152     virtual HRESULT WINAPI AbortOperation(void) = 0;
   6153   };
   6154 #else
   6155   typedef struct IAMOpenProgressVtbl {
   6156     BEGIN_INTERFACE
   6157       HRESULT (WINAPI *QueryInterface)(IAMOpenProgress *This,REFIID riid,void **ppvObject);
   6158       ULONG (WINAPI *AddRef)(IAMOpenProgress *This);
   6159       ULONG (WINAPI *Release)(IAMOpenProgress *This);
   6160       HRESULT (WINAPI *QueryProgress)(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
   6161       HRESULT (WINAPI *AbortOperation)(IAMOpenProgress *This);
   6162     END_INTERFACE
   6163   } IAMOpenProgressVtbl;
   6164   struct IAMOpenProgress {
   6165     CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
   6166   };
   6167 #ifdef COBJMACROS
   6168 #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6169 #define IAMOpenProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
   6170 #define IAMOpenProgress_Release(This) (This)->lpVtbl->Release(This)
   6171 #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) (This)->lpVtbl->QueryProgress(This,pllTotal,pllCurrent)
   6172 #define IAMOpenProgress_AbortOperation(This) (This)->lpVtbl->AbortOperation(This)
   6173 #endif
   6174 #endif
   6175   HRESULT WINAPI IAMOpenProgress_QueryProgress_Proxy(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
   6176   void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6177   HRESULT WINAPI IAMOpenProgress_AbortOperation_Proxy(IAMOpenProgress *This);
   6178   void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6179 #endif
   6180 
   6181 #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
   6182 #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
   6183   EXTERN_C const IID IID_IMpeg2Demultiplexer;
   6184 #if defined(__cplusplus) && !defined(CINTERFACE)
   6185   struct IMpeg2Demultiplexer : public IUnknown {
   6186   public:
   6187     virtual HRESULT WINAPI CreateOutputPin(AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin) = 0;
   6188     virtual HRESULT WINAPI SetOutputPinMediaType(LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType) = 0;
   6189     virtual HRESULT WINAPI DeleteOutputPin(LPWSTR pszPinName) = 0;
   6190   };
   6191 #else
   6192   typedef struct IMpeg2DemultiplexerVtbl {
   6193     BEGIN_INTERFACE
   6194       HRESULT (WINAPI *QueryInterface)(IMpeg2Demultiplexer *This,REFIID riid,void **ppvObject);
   6195       ULONG (WINAPI *AddRef)(IMpeg2Demultiplexer *This);
   6196       ULONG (WINAPI *Release)(IMpeg2Demultiplexer *This);
   6197       HRESULT (WINAPI *CreateOutputPin)(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
   6198       HRESULT (WINAPI *SetOutputPinMediaType)(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
   6199       HRESULT (WINAPI *DeleteOutputPin)(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
   6200     END_INTERFACE
   6201   } IMpeg2DemultiplexerVtbl;
   6202   struct IMpeg2Demultiplexer {
   6203     CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
   6204   };
   6205 #ifdef COBJMACROS
   6206 #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6207 #define IMpeg2Demultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This)
   6208 #define IMpeg2Demultiplexer_Release(This) (This)->lpVtbl->Release(This)
   6209 #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) (This)->lpVtbl->CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
   6210 #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) (This)->lpVtbl->SetOutputPinMediaType(This,pszPinName,pMediaType)
   6211 #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) (This)->lpVtbl->DeleteOutputPin(This,pszPinName)
   6212 #endif
   6213 #endif
   6214   HRESULT WINAPI IMpeg2Demultiplexer_CreateOutputPin_Proxy(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
   6215   void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6216   HRESULT WINAPI IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
   6217   void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6218   HRESULT WINAPI IMpeg2Demultiplexer_DeleteOutputPin_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
   6219   void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6220 #endif
   6221 
   6222 #define MPEG2_PROGRAM_STREAM_MAP 0x00000000
   6223 #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
   6224 #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
   6225 #define MPEG2_PROGRAM_PACK_HEADER 0x00000003
   6226 #define MPEG2_PROGRAM_PES_STREAM 0x00000004
   6227 #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
   6228 #define SUBSTREAM_FILTER_VAL_NONE 0x10000000
   6229 
   6230   typedef struct __MIDL___MIDL_itf_strmif_0365_0001 {
   6231     ULONG stream_id;
   6232     DWORD dwMediaSampleContent;
   6233     ULONG ulSubstreamFilterValue;
   6234     int iDataOffset;
   6235   } STREAM_ID_MAP;
   6236 
   6237   extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec;
   6238   extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec;
   6239 #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
   6240 #define __IEnumStreamIdMap_INTERFACE_DEFINED__
   6241   EXTERN_C const IID IID_IEnumStreamIdMap;
   6242 #if defined(__cplusplus) && !defined(CINTERFACE)
   6243   struct IEnumStreamIdMap : public IUnknown {
   6244   public:
   6245     virtual HRESULT WINAPI Next(ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived) = 0;
   6246     virtual HRESULT WINAPI Skip(ULONG cRecords) = 0;
   6247     virtual HRESULT WINAPI Reset(void) = 0;
   6248     virtual HRESULT WINAPI Clone(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
   6249   };
   6250 #else
   6251   typedef struct IEnumStreamIdMapVtbl {
   6252     BEGIN_INTERFACE
   6253       HRESULT (WINAPI *QueryInterface)(IEnumStreamIdMap *This,REFIID riid,void **ppvObject);
   6254       ULONG (WINAPI *AddRef)(IEnumStreamIdMap *This);
   6255       ULONG (WINAPI *Release)(IEnumStreamIdMap *This);
   6256       HRESULT (WINAPI *Next)(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
   6257       HRESULT (WINAPI *Skip)(IEnumStreamIdMap *This,ULONG cRecords);
   6258       HRESULT (WINAPI *Reset)(IEnumStreamIdMap *This);
   6259       HRESULT (WINAPI *Clone)(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   6260     END_INTERFACE
   6261   } IEnumStreamIdMapVtbl;
   6262   struct IEnumStreamIdMap {
   6263     CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
   6264   };
   6265 #ifdef COBJMACROS
   6266 #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6267 #define IEnumStreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
   6268 #define IEnumStreamIdMap_Release(This) (This)->lpVtbl->Release(This)
   6269 #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pStreamIdMap,pcReceived)
   6270 #define IEnumStreamIdMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords)
   6271 #define IEnumStreamIdMap_Reset(This) (This)->lpVtbl->Reset(This)
   6272 #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) (This)->lpVtbl->Clone(This,ppIEnumStreamIdMap)
   6273 #endif
   6274 #endif
   6275   HRESULT WINAPI IEnumStreamIdMap_Next_Proxy(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
   6276   void __RPC_STUB IEnumStreamIdMap_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6277   HRESULT WINAPI IEnumStreamIdMap_Skip_Proxy(IEnumStreamIdMap *This,ULONG cRecords);
   6278   void __RPC_STUB IEnumStreamIdMap_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6279   HRESULT WINAPI IEnumStreamIdMap_Reset_Proxy(IEnumStreamIdMap *This);
   6280   void __RPC_STUB IEnumStreamIdMap_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6281   HRESULT WINAPI IEnumStreamIdMap_Clone_Proxy(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   6282   void __RPC_STUB IEnumStreamIdMap_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6283 #endif
   6284 
   6285 #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
   6286 #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
   6287   EXTERN_C const IID IID_IMPEG2StreamIdMap;
   6288 #if defined(__cplusplus) && !defined(CINTERFACE)
   6289   struct IMPEG2StreamIdMap : public IUnknown {
   6290   public:
   6291     virtual HRESULT WINAPI MapStreamId(ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset) = 0;
   6292     virtual HRESULT WINAPI UnmapStreamId(ULONG culStreamId,ULONG *pulStreamId) = 0;
   6293     virtual HRESULT WINAPI EnumStreamIdMap(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
   6294   };
   6295 #else
   6296   typedef struct IMPEG2StreamIdMapVtbl {
   6297     BEGIN_INTERFACE
   6298       HRESULT (WINAPI *QueryInterface)(IMPEG2StreamIdMap *This,REFIID riid,void **ppvObject);
   6299       ULONG (WINAPI *AddRef)(IMPEG2StreamIdMap *This);
   6300       ULONG (WINAPI *Release)(IMPEG2StreamIdMap *This);
   6301       HRESULT (WINAPI *MapStreamId)(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
   6302       HRESULT (WINAPI *UnmapStreamId)(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
   6303       HRESULT (WINAPI *EnumStreamIdMap)(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   6304     END_INTERFACE
   6305   } IMPEG2StreamIdMapVtbl;
   6306   struct IMPEG2StreamIdMap {
   6307     CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
   6308   };
   6309 #ifdef COBJMACROS
   6310 #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6311 #define IMPEG2StreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
   6312 #define IMPEG2StreamIdMap_Release(This) (This)->lpVtbl->Release(This)
   6313 #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) (This)->lpVtbl->MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
   6314 #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) (This)->lpVtbl->UnmapStreamId(This,culStreamId,pulStreamId)
   6315 #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) (This)->lpVtbl->EnumStreamIdMap(This,ppIEnumStreamIdMap)
   6316 #endif
   6317 #endif
   6318   HRESULT WINAPI IMPEG2StreamIdMap_MapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
   6319   void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6320   HRESULT WINAPI IMPEG2StreamIdMap_UnmapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
   6321   void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6322   HRESULT WINAPI IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   6323   void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6324 #endif
   6325 
   6326 #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
   6327 #define __IRegisterServiceProvider_INTERFACE_DEFINED__
   6328   EXTERN_C const IID IID_IRegisterServiceProvider;
   6329 #if defined(__cplusplus) && !defined(CINTERFACE)
   6330   struct IRegisterServiceProvider : public IUnknown {
   6331   public:
   6332     virtual HRESULT WINAPI RegisterService(REFGUID guidService,IUnknown *pUnkObject) = 0;
   6333   };
   6334 #else
   6335   typedef struct IRegisterServiceProviderVtbl {
   6336     BEGIN_INTERFACE
   6337       HRESULT (WINAPI *QueryInterface)(IRegisterServiceProvider *This,REFIID riid,void **ppvObject);
   6338       ULONG (WINAPI *AddRef)(IRegisterServiceProvider *This);
   6339       ULONG (WINAPI *Release)(IRegisterServiceProvider *This);
   6340       HRESULT (WINAPI *RegisterService)(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
   6341     END_INTERFACE
   6342   } IRegisterServiceProviderVtbl;
   6343   struct IRegisterServiceProvider {
   6344     CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
   6345   };
   6346 #ifdef COBJMACROS
   6347 #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6348 #define IRegisterServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
   6349 #define IRegisterServiceProvider_Release(This) (This)->lpVtbl->Release(This)
   6350 #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) (This)->lpVtbl->RegisterService(This,guidService,pUnkObject)
   6351 #endif
   6352 #endif
   6353   HRESULT WINAPI IRegisterServiceProvider_RegisterService_Proxy(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
   6354   void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6355 #endif
   6356 
   6357 #ifndef __IAMClockSlave_INTERFACE_DEFINED__
   6358 #define __IAMClockSlave_INTERFACE_DEFINED__
   6359   EXTERN_C const IID IID_IAMClockSlave;
   6360 #if defined(__cplusplus) && !defined(CINTERFACE)
   6361   struct IAMClockSlave : public IUnknown {
   6362   public:
   6363     virtual HRESULT WINAPI SetErrorTolerance(DWORD dwTolerance) = 0;
   6364     virtual HRESULT WINAPI GetErrorTolerance(DWORD *pdwTolerance) = 0;
   6365   };
   6366 #else
   6367   typedef struct IAMClockSlaveVtbl {
   6368     BEGIN_INTERFACE
   6369       HRESULT (WINAPI *QueryInterface)(IAMClockSlave *This,REFIID riid,void **ppvObject);
   6370       ULONG (WINAPI *AddRef)(IAMClockSlave *This);
   6371       ULONG (WINAPI *Release)(IAMClockSlave *This);
   6372       HRESULT (WINAPI *SetErrorTolerance)(IAMClockSlave *This,DWORD dwTolerance);
   6373       HRESULT (WINAPI *GetErrorTolerance)(IAMClockSlave *This,DWORD *pdwTolerance);
   6374     END_INTERFACE
   6375   } IAMClockSlaveVtbl;
   6376   struct IAMClockSlave {
   6377     CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
   6378   };
   6379 #ifdef COBJMACROS
   6380 #define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6381 #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This)
   6382 #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This)
   6383 #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance)
   6384 #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance)
   6385 #endif
   6386 #endif
   6387   HRESULT WINAPI IAMClockSlave_SetErrorTolerance_Proxy(IAMClockSlave *This,DWORD dwTolerance);
   6388   void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6389   HRESULT WINAPI IAMClockSlave_GetErrorTolerance_Proxy(IAMClockSlave *This,DWORD *pdwTolerance);
   6390   void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6391 #endif
   6392 
   6393 #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
   6394 #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
   6395   EXTERN_C const IID IID_IAMGraphBuilderCallback;
   6396 #if defined(__cplusplus) && !defined(CINTERFACE)
   6397   struct IAMGraphBuilderCallback : public IUnknown {
   6398   public:
   6399     virtual HRESULT WINAPI SelectedFilter(IMoniker *pMon) = 0;
   6400     virtual HRESULT WINAPI CreatedFilter(IBaseFilter *pFil) = 0;
   6401   };
   6402 #else
   6403   typedef struct IAMGraphBuilderCallbackVtbl {
   6404     BEGIN_INTERFACE
   6405       HRESULT (WINAPI *QueryInterface)(IAMGraphBuilderCallback *This,REFIID riid,void **ppvObject);
   6406       ULONG (WINAPI *AddRef)(IAMGraphBuilderCallback *This);
   6407       ULONG (WINAPI *Release)(IAMGraphBuilderCallback *This);
   6408       HRESULT (WINAPI *SelectedFilter)(IAMGraphBuilderCallback *This,IMoniker *pMon);
   6409       HRESULT (WINAPI *CreatedFilter)(IAMGraphBuilderCallback *This,IBaseFilter *pFil);
   6410     END_INTERFACE
   6411   } IAMGraphBuilderCallbackVtbl;
   6412   struct IAMGraphBuilderCallback {
   6413     CONST_VTBL struct IAMGraphBuilderCallbackVtbl *lpVtbl;
   6414   };
   6415 #ifdef COBJMACROS
   6416 #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6417 #define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   6418 #define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This)
   6419 #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) (This)->lpVtbl->SelectedFilter(This,pMon)
   6420 #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) (This)->lpVtbl->CreatedFilter(This,pFil)
   6421 #endif
   6422 #endif
   6423   HRESULT WINAPI IAMGraphBuilderCallback_SelectedFilter_Proxy(IAMGraphBuilderCallback *This,IMoniker *pMon);
   6424   void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6425   HRESULT WINAPI IAMGraphBuilderCallback_CreatedFilter_Proxy(IAMGraphBuilderCallback *This,IBaseFilter *pFil);
   6426   void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6427 #endif
   6428 
   6429 #ifdef __cplusplus
   6430 #ifndef _IAMFilterGraphCallback_
   6431 #define _IAMFilterGraphCallback_
   6432   //EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
   6433   struct IAMFilterGraphCallback : public IUnknown {
   6434     virtual HRESULT UnableToRender(IPin *pPin) = 0;
   6435   };
   6436 #endif
   6437 #endif
   6438   struct CodecAPIEventData {
   6439     GUID guid;
   6440     DWORD dataLength;
   6441     DWORD reserved[3];
   6442   };
   6443 
   6444   extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_c_ifspec;
   6445   extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_s_ifspec;
   6446 #ifndef __ICodecAPI_INTERFACE_DEFINED__
   6447 #define __ICodecAPI_INTERFACE_DEFINED__
   6448   EXTERN_C const IID IID_ICodecAPI;
   6449 #if defined(__cplusplus) && !defined(CINTERFACE)
   6450   struct ICodecAPI : public IUnknown {
   6451   public:
   6452     virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
   6453     virtual HRESULT WINAPI IsModifiable(const GUID *Api) = 0;
   6454     virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
   6455     virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
   6456     virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
   6457     virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
   6458     virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
   6459     virtual HRESULT WINAPI RegisterForEvent(const GUID *Api,LONG_PTR userData) = 0;
   6460     virtual HRESULT WINAPI UnregisterForEvent(const GUID *Api) = 0;
   6461     virtual HRESULT WINAPI SetAllDefaults(void) = 0;
   6462     virtual HRESULT WINAPI SetValueWithNotify(const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   6463     virtual HRESULT WINAPI SetAllDefaultsWithNotify(GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   6464     virtual HRESULT WINAPI GetAllSettings(IStream *__MIDL_0016) = 0;
   6465     virtual HRESULT WINAPI SetAllSettings(IStream *__MIDL_0017) = 0;
   6466     virtual HRESULT WINAPI SetAllSettingsWithNotify(IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   6467   };
   6468 #else
   6469   typedef struct ICodecAPIVtbl {
   6470     BEGIN_INTERFACE
   6471       HRESULT (WINAPI *QueryInterface)(ICodecAPI *This,REFIID riid,void **ppvObject);
   6472       ULONG (WINAPI *AddRef)(ICodecAPI *This);
   6473       ULONG (WINAPI *Release)(ICodecAPI *This);
   6474       HRESULT (WINAPI *IsSupported)(ICodecAPI *This,const GUID *Api);
   6475       HRESULT (WINAPI *IsModifiable)(ICodecAPI *This,const GUID *Api);
   6476       HRESULT (WINAPI *GetParameterRange)(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   6477       HRESULT (WINAPI *GetParameterValues)(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   6478       HRESULT (WINAPI *GetDefaultValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   6479       HRESULT (WINAPI *GetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   6480       HRESULT (WINAPI *SetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   6481       HRESULT (WINAPI *RegisterForEvent)(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
   6482       HRESULT (WINAPI *UnregisterForEvent)(ICodecAPI *This,const GUID *Api);
   6483       HRESULT (WINAPI *SetAllDefaults)(ICodecAPI *This);
   6484       HRESULT (WINAPI *SetValueWithNotify)(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
   6485       HRESULT (WINAPI *SetAllDefaultsWithNotify)(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
   6486       HRESULT (WINAPI *GetAllSettings)(ICodecAPI *This,IStream *__MIDL_0016);
   6487       HRESULT (WINAPI *SetAllSettings)(ICodecAPI *This,IStream *__MIDL_0017);
   6488       HRESULT (WINAPI *SetAllSettingsWithNotify)(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
   6489     END_INTERFACE
   6490   } ICodecAPIVtbl;
   6491   struct ICodecAPI {
   6492     CONST_VTBL struct ICodecAPIVtbl *lpVtbl;
   6493   };
   6494 #ifdef COBJMACROS
   6495 #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6496 #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
   6497 #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This)
   6498 #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   6499 #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api)
   6500 #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   6501 #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   6502 #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   6503 #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   6504 #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   6505 #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData)
   6506 #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api)
   6507 #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This)
   6508 #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
   6509 #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
   6510 #define ICodecAPI_GetAllSettings(This,__MIDL_0016) (This)->lpVtbl->GetAllSettings(This,__MIDL_0016)
   6511 #define ICodecAPI_SetAllSettings(This,__MIDL_0017) (This)->lpVtbl->SetAllSettings(This,__MIDL_0017)
   6512 #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)
   6513 #endif
   6514 #endif
   6515   HRESULT WINAPI ICodecAPI_IsSupported_Proxy(ICodecAPI *This,const GUID *Api);
   6516   void __RPC_STUB ICodecAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6517   HRESULT WINAPI ICodecAPI_IsModifiable_Proxy(ICodecAPI *This,const GUID *Api);
   6518   void __RPC_STUB ICodecAPI_IsModifiable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6519   HRESULT WINAPI ICodecAPI_GetParameterRange_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   6520   void __RPC_STUB ICodecAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6521   HRESULT WINAPI ICodecAPI_GetParameterValues_Proxy(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   6522   void __RPC_STUB ICodecAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6523   HRESULT WINAPI ICodecAPI_GetDefaultValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   6524   void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6525   HRESULT WINAPI ICodecAPI_GetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   6526   void __RPC_STUB ICodecAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6527   HRESULT WINAPI ICodecAPI_SetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   6528   void __RPC_STUB ICodecAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6529   HRESULT WINAPI ICodecAPI_RegisterForEvent_Proxy(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
   6530   void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6531   HRESULT WINAPI ICodecAPI_UnregisterForEvent_Proxy(ICodecAPI *This,const GUID *Api);
   6532   void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6533   HRESULT WINAPI ICodecAPI_SetAllDefaults_Proxy(ICodecAPI *This);
   6534   void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6535   HRESULT WINAPI ICodecAPI_SetValueWithNotify_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
   6536   void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6537   HRESULT WINAPI ICodecAPI_SetAllDefaultsWithNotify_Proxy(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
   6538   void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6539   HRESULT WINAPI ICodecAPI_GetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0016);
   6540   void __RPC_STUB ICodecAPI_GetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6541   HRESULT WINAPI ICodecAPI_SetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0017);
   6542   void __RPC_STUB ICodecAPI_SetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6543   HRESULT WINAPI ICodecAPI_SetAllSettingsWithNotify_Proxy(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
   6544   void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6545 #endif
   6546 
   6547 #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
   6548 #define __IGetCapabilitiesKey_INTERFACE_DEFINED__
   6549   EXTERN_C const IID IID_IGetCapabilitiesKey;
   6550 #if defined(__cplusplus) && !defined(CINTERFACE)
   6551   struct IGetCapabilitiesKey : public IUnknown {
   6552   public:
   6553     virtual HRESULT WINAPI GetCapabilitiesKey(HKEY *pHKey) = 0;
   6554   };
   6555 #else
   6556   typedef struct IGetCapabilitiesKeyVtbl {
   6557     BEGIN_INTERFACE
   6558       HRESULT (WINAPI *QueryInterface)(IGetCapabilitiesKey *This,REFIID riid,void **ppvObject);
   6559       ULONG (WINAPI *AddRef)(IGetCapabilitiesKey *This);
   6560       ULONG (WINAPI *Release)(IGetCapabilitiesKey *This);
   6561       HRESULT (WINAPI *GetCapabilitiesKey)(IGetCapabilitiesKey *This,HKEY *pHKey);
   6562     END_INTERFACE
   6563   } IGetCapabilitiesKeyVtbl;
   6564   struct IGetCapabilitiesKey {
   6565     CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl;
   6566   };
   6567 #ifdef COBJMACROS
   6568 #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6569 #define IGetCapabilitiesKey_AddRef(This) (This)->lpVtbl->AddRef(This)
   6570 #define IGetCapabilitiesKey_Release(This) (This)->lpVtbl->Release(This)
   6571 #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) (This)->lpVtbl->GetCapabilitiesKey(This,pHKey)
   6572 #endif
   6573 #endif
   6574   HRESULT WINAPI IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(IGetCapabilitiesKey *This,HKEY *pHKey);
   6575   void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6576 #endif
   6577 
   6578 #ifndef __IEncoderAPI_INTERFACE_DEFINED__
   6579 #define __IEncoderAPI_INTERFACE_DEFINED__
   6580   EXTERN_C const IID IID_IEncoderAPI;
   6581 #if defined(__cplusplus) && !defined(CINTERFACE)
   6582   struct IEncoderAPI : public IUnknown {
   6583   public:
   6584     virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
   6585     virtual HRESULT WINAPI IsAvailable(const GUID *Api) = 0;
   6586     virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
   6587     virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
   6588     virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
   6589     virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
   6590     virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
   6591   };
   6592 #else
   6593   typedef struct IEncoderAPIVtbl {
   6594     BEGIN_INTERFACE
   6595       HRESULT (WINAPI *QueryInterface)(IEncoderAPI *This,REFIID riid,void **ppvObject);
   6596       ULONG (WINAPI *AddRef)(IEncoderAPI *This);
   6597       ULONG (WINAPI *Release)(IEncoderAPI *This);
   6598       HRESULT (WINAPI *IsSupported)(IEncoderAPI *This,const GUID *Api);
   6599       HRESULT (WINAPI *IsAvailable)(IEncoderAPI *This,const GUID *Api);
   6600       HRESULT (WINAPI *GetParameterRange)(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   6601       HRESULT (WINAPI *GetParameterValues)(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   6602       HRESULT (WINAPI *GetDefaultValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   6603       HRESULT (WINAPI *GetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   6604       HRESULT (WINAPI *SetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   6605     END_INTERFACE
   6606   } IEncoderAPIVtbl;
   6607   struct IEncoderAPI {
   6608     CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
   6609   };
   6610 #ifdef COBJMACROS
   6611 #define IEncoderAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6612 #define IEncoderAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
   6613 #define IEncoderAPI_Release(This) (This)->lpVtbl->Release(This)
   6614 #define IEncoderAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   6615 #define IEncoderAPI_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
   6616 #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   6617 #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   6618 #define IEncoderAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   6619 #define IEncoderAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   6620 #define IEncoderAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   6621 #endif
   6622 #endif
   6623   HRESULT WINAPI IEncoderAPI_IsSupported_Proxy(IEncoderAPI *This,const GUID *Api);
   6624   void __RPC_STUB IEncoderAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6625   HRESULT WINAPI IEncoderAPI_IsAvailable_Proxy(IEncoderAPI *This,const GUID *Api);
   6626   void __RPC_STUB IEncoderAPI_IsAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6627   HRESULT WINAPI IEncoderAPI_GetParameterRange_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   6628   void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6629   HRESULT WINAPI IEncoderAPI_GetParameterValues_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   6630   void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6631   HRESULT WINAPI IEncoderAPI_GetDefaultValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   6632   void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6633   HRESULT WINAPI IEncoderAPI_GetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   6634   void __RPC_STUB IEncoderAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6635   HRESULT WINAPI IEncoderAPI_SetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   6636   void __RPC_STUB IEncoderAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6637 #endif
   6638 
   6639 #ifndef __IVideoEncoder_INTERFACE_DEFINED__
   6640 #define __IVideoEncoder_INTERFACE_DEFINED__
   6641   EXTERN_C const IID IID_IVideoEncoder;
   6642 #if defined(__cplusplus) && !defined(CINTERFACE)
   6643   struct IVideoEncoder : public IEncoderAPI {
   6644   public:
   6645   };
   6646 #else
   6647   typedef struct IVideoEncoderVtbl {
   6648     BEGIN_INTERFACE
   6649       HRESULT (WINAPI *QueryInterface)(IVideoEncoder *This,REFIID riid,void **ppvObject);
   6650       ULONG (WINAPI *AddRef)(IVideoEncoder *This);
   6651       ULONG (WINAPI *Release)(IVideoEncoder *This);
   6652       HRESULT (WINAPI *IsSupported)(IVideoEncoder *This,const GUID *Api);
   6653       HRESULT (WINAPI *IsAvailable)(IVideoEncoder *This,const GUID *Api);
   6654       HRESULT (WINAPI *GetParameterRange)(IVideoEncoder *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   6655       HRESULT (WINAPI *GetParameterValues)(IVideoEncoder *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   6656       HRESULT (WINAPI *GetDefaultValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   6657       HRESULT (WINAPI *GetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   6658       HRESULT (WINAPI *SetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   6659     END_INTERFACE
   6660   } IVideoEncoderVtbl;
   6661   struct IVideoEncoder {
   6662     CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
   6663   };
   6664 #ifdef COBJMACROS
   6665 #define IVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6666 #define IVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   6667 #define IVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
   6668 #define IVideoEncoder_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   6669 #define IVideoEncoder_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
   6670 #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   6671 #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   6672 #define IVideoEncoder_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   6673 #define IVideoEncoder_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   6674 #define IVideoEncoder_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   6675 #endif
   6676 #endif
   6677 #endif
   6678 
   6679 #ifndef __ENCODER_API_DEFINES__
   6680 #define __ENCODER_API_DEFINES__
   6681   typedef enum __MIDL___MIDL_itf_strmif_0374_0001 {
   6682     ConstantBitRate = 0,
   6683     VariableBitRateAverage,VariableBitRatePeak
   6684   } VIDEOENCODER_BITRATE_MODE;
   6685 #endif
   6686 #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001
   6687 #define VMR_NOTSUPPORTED 0x00000000
   6688 #define VMR_SUPPORTED 0x00000001
   6689 #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001
   6690 #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002
   6691 #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003
   6692 #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004
   6693 #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005
   6694 #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006
   6695 #define DECODER_CAP_NOTSUPPORTED 0x00000000
   6696 #define DECODER_CAP_SUPPORTED 0x00000001
   6697 
   6698   extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_c_ifspec;
   6699   extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_s_ifspec;
   6700 #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
   6701 #define __IAMDecoderCaps_INTERFACE_DEFINED__
   6702   EXTERN_C const IID IID_IAMDecoderCaps;
   6703 #if defined(__cplusplus) && !defined(CINTERFACE)
   6704   struct IAMDecoderCaps : public IUnknown {
   6705   public:
   6706     virtual HRESULT WINAPI GetDecoderCaps(DWORD dwCapIndex,DWORD *lpdwCap) = 0;
   6707   };
   6708 #else
   6709   typedef struct IAMDecoderCapsVtbl {
   6710     BEGIN_INTERFACE
   6711       HRESULT (WINAPI *QueryInterface)(IAMDecoderCaps *This,REFIID riid,void **ppvObject);
   6712       ULONG (WINAPI *AddRef)(IAMDecoderCaps *This);
   6713       ULONG (WINAPI *Release)(IAMDecoderCaps *This);
   6714       HRESULT (WINAPI *GetDecoderCaps)(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
   6715     END_INTERFACE
   6716   } IAMDecoderCapsVtbl;
   6717   struct IAMDecoderCaps {
   6718     CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
   6719   };
   6720 #ifdef COBJMACROS
   6721 #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6722 #define IAMDecoderCaps_AddRef(This) (This)->lpVtbl->AddRef(This)
   6723 #define IAMDecoderCaps_Release(This) (This)->lpVtbl->Release(This)
   6724 #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) (This)->lpVtbl->GetDecoderCaps(This,dwCapIndex,lpdwCap)
   6725 #endif
   6726 #endif
   6727   HRESULT WINAPI IAMDecoderCaps_GetDecoderCaps_Proxy(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
   6728   void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6729 #endif
   6730 
   6731   typedef struct _AMCOPPSignature {
   6732     BYTE Signature[256];
   6733   } AMCOPPSignature;
   6734 
   6735   typedef struct _AMCOPPCommand {
   6736     GUID macKDI;
   6737     GUID guidCommandID;
   6738     DWORD dwSequence;
   6739     DWORD cbSizeData;
   6740     BYTE CommandData[4056];
   6741   } AMCOPPCommand;
   6742 
   6743   typedef struct _AMCOPPCommand *LPAMCOPPCommand;
   6744 
   6745   typedef struct _AMCOPPStatusInput {
   6746     GUID rApp;
   6747     GUID guidStatusRequestID;
   6748     DWORD dwSequence;
   6749     DWORD cbSizeData;
   6750     BYTE StatusData[4056];
   6751   } AMCOPPStatusInput;
   6752 
   6753   typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput;
   6754 
   6755   typedef struct _AMCOPPStatusOutput {
   6756     GUID macKDI;
   6757     DWORD cbSizeData;
   6758     BYTE COPPStatus[4076];
   6759   } AMCOPPStatusOutput;
   6760 
   6761   typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput;
   6762 
   6763   extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_c_ifspec;
   6764   extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_s_ifspec;
   6765 #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
   6766 #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
   6767   EXTERN_C const IID IID_IAMCertifiedOutputProtection;
   6768 #if defined(__cplusplus) && !defined(CINTERFACE)
   6769   struct IAMCertifiedOutputProtection : public IUnknown {
   6770   public:
   6771     virtual HRESULT WINAPI KeyExchange(GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) = 0;
   6772     virtual HRESULT WINAPI SessionSequenceStart(AMCOPPSignature *pSig) = 0;
   6773     virtual HRESULT WINAPI ProtectionCommand(const AMCOPPCommand *cmd) = 0;
   6774     virtual HRESULT WINAPI ProtectionStatus(const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) = 0;
   6775   };
   6776 #else
   6777   typedef struct IAMCertifiedOutputProtectionVtbl {
   6778     BEGIN_INTERFACE
   6779       HRESULT (WINAPI *QueryInterface)(IAMCertifiedOutputProtection *This,REFIID riid,void **ppvObject);
   6780       ULONG (WINAPI *AddRef)(IAMCertifiedOutputProtection *This);
   6781       ULONG (WINAPI *Release)(IAMCertifiedOutputProtection *This);
   6782       HRESULT (WINAPI *KeyExchange)(IAMCertifiedOutputProtection *This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH);
   6783       HRESULT (WINAPI *SessionSequenceStart)(IAMCertifiedOutputProtection *This,AMCOPPSignature *pSig);
   6784       HRESULT (WINAPI *ProtectionCommand)(IAMCertifiedOutputProtection *This,const AMCOPPCommand *cmd);
   6785       HRESULT (WINAPI *ProtectionStatus)(IAMCertifiedOutputProtection *This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput);
   6786     END_INTERFACE
   6787   } IAMCertifiedOutputProtectionVtbl;
   6788   struct IAMCertifiedOutputProtection {
   6789     CONST_VTBL struct IAMCertifiedOutputProtectionVtbl *lpVtbl;
   6790   };
   6791 #ifdef COBJMACROS
   6792 #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6793 #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This)
   6794 #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This)
   6795 #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH)
   6796 #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig)
   6797 #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd)
   6798 #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput)
   6799 #endif
   6800 #endif
   6801   HRESULT WINAPI IAMCertifiedOutputProtection_KeyExchange_Proxy(IAMCertifiedOutputProtection *This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH);
   6802   void __RPC_STUB IAMCertifiedOutputProtection_KeyExchange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6803   HRESULT WINAPI IAMCertifiedOutputProtection_SessionSequenceStart_Proxy(IAMCertifiedOutputProtection *This,AMCOPPSignature *pSig);
   6804   void __RPC_STUB IAMCertifiedOutputProtection_SessionSequenceStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6805   HRESULT WINAPI IAMCertifiedOutputProtection_ProtectionCommand_Proxy(IAMCertifiedOutputProtection *This,const AMCOPPCommand *cmd);
   6806   void __RPC_STUB IAMCertifiedOutputProtection_ProtectionCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6807   HRESULT WINAPI IAMCertifiedOutputProtection_ProtectionStatus_Proxy(IAMCertifiedOutputProtection *This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput);
   6808   void __RPC_STUB IAMCertifiedOutputProtection_ProtectionStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6809 #endif
   6810 
   6811 #include <dshow/ddraw.h>
   6812 
   6813   typedef enum tagDVD_DOMAIN {
   6814     DVD_DOMAIN_FirstPlay = 1,
   6815     DVD_DOMAIN_VideoManagerMenu,DVD_DOMAIN_VideoTitleSetMenu,DVD_DOMAIN_Title,
   6816     DVD_DOMAIN_Stop
   6817   } DVD_DOMAIN;
   6818 
   6819   typedef enum tagDVD_MENU_ID {
   6820     DVD_MENU_Title = 2,DVD_MENU_Root = 3,DVD_MENU_Subpicture = 4,DVD_MENU_Audio = 5,
   6821     DVD_MENU_Angle = 6,DVD_MENU_Chapter = 7
   6822   } DVD_MENU_ID;
   6823 
   6824   typedef enum tagDVD_DISC_SIDE {
   6825     DVD_SIDE_A = 1,DVD_SIDE_B = 2
   6826   } DVD_DISC_SIDE;
   6827 
   6828   typedef enum tagDVD_PREFERRED_DISPLAY_MODE {
   6829     DISPLAY_CONTENT_DEFAULT = 0,DISPLAY_16x9 = 1,DISPLAY_4x3_PANSCAN_PREFERRED = 2,DISPLAY_4x3_LETTERBOX_PREFERRED = 3
   6830   } DVD_PREFERRED_DISPLAY_MODE;
   6831 
   6832   typedef WORD DVD_REGISTER;
   6833   typedef DVD_REGISTER GPRMARRAY[16];
   6834   typedef DVD_REGISTER SPRMARRAY[24];
   6835 
   6836   typedef struct tagDVD_ATR {
   6837     ULONG ulCAT;
   6838     BYTE pbATRI[768];
   6839   } DVD_ATR;
   6840 
   6841   typedef BYTE DVD_VideoATR[2];
   6842   typedef BYTE DVD_AudioATR[8];
   6843   typedef BYTE DVD_SubpictureATR[6];
   6844 
   6845   typedef enum tagDVD_FRAMERATE {
   6846     DVD_FPS_25 = 1,DVD_FPS_30NonDrop = 3
   6847   } DVD_FRAMERATE;
   6848 
   6849   typedef struct tagDVD_TIMECODE {
   6850     ULONG Hours1 :4;
   6851     ULONG Hours10 :4;
   6852     ULONG Minutes1 :4;
   6853     ULONG Minutes10:4;
   6854     ULONG Seconds1 :4;
   6855     ULONG Seconds10:4;
   6856     ULONG Frames1 :4;
   6857     ULONG Frames10 :2;
   6858     ULONG FrameRateCode: 2;
   6859   } DVD_TIMECODE;
   6860 
   6861   typedef enum tagDVD_TIMECODE_FLAGS {
   6862     DVD_TC_FLAG_25fps = 0x1,DVD_TC_FLAG_30fps = 0x2,DVD_TC_FLAG_DropFrame = 0x4,DVD_TC_FLAG_Interpolated = 0x8
   6863   } DVD_TIMECODE_FLAGS;
   6864 
   6865   typedef struct tagDVD_HMSF_TIMECODE {
   6866     BYTE bHours;
   6867     BYTE bMinutes;
   6868     BYTE bSeconds;
   6869     BYTE bFrames;
   6870   } DVD_HMSF_TIMECODE;
   6871 
   6872   typedef struct tagDVD_PLAYBACK_LOCATION2 {
   6873     ULONG TitleNum;
   6874     ULONG ChapterNum;
   6875     DVD_HMSF_TIMECODE TimeCode;
   6876     ULONG TimeCodeFlags;
   6877   } DVD_PLAYBACK_LOCATION2;
   6878 
   6879   typedef struct tagDVD_PLAYBACK_LOCATION {
   6880     ULONG TitleNum;
   6881     ULONG ChapterNum;
   6882     ULONG TimeCode;
   6883   } DVD_PLAYBACK_LOCATION;
   6884 
   6885   typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
   6886 
   6887   typedef enum __MIDL___MIDL_itf_strmif_0376_0001 {
   6888     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,
   6889     UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,UOP_FLAG_PlayNext_Chapter = 0x80,UOP_FLAG_Play_Forwards = 0x100,
   6890     UOP_FLAG_Play_Backwards = 0x200,UOP_FLAG_ShowMenu_Title = 0x400,UOP_FLAG_ShowMenu_Root = 0x800,UOP_FLAG_ShowMenu_SubPic = 0x1000,
   6891     UOP_FLAG_ShowMenu_Audio = 0x2000,UOP_FLAG_ShowMenu_Angle = 0x4000,UOP_FLAG_ShowMenu_Chapter = 0x8000,UOP_FLAG_Resume = 0x10000,
   6892     UOP_FLAG_Select_Or_Activate_Button = 0x20000,UOP_FLAG_Still_Off = 0x40000,UOP_FLAG_Pause_On = 0x80000,UOP_FLAG_Select_Audio_Stream = 0x100000,
   6893     UOP_FLAG_Select_SubPic_Stream = 0x200000,UOP_FLAG_Select_Angle = 0x400000,UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000,
   6894     UOP_FLAG_Select_Video_Mode_Preference = 0x1000000
   6895   } VALID_UOP_FLAG;
   6896 
   6897   typedef enum __MIDL___MIDL_itf_strmif_0376_0002 {
   6898     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,
   6899     DVD_CMD_FLAG_EndAfterRendered = 0x10
   6900   } DVD_CMD_FLAGS;
   6901 
   6902   typedef enum __MIDL___MIDL_itf_strmif_0376_0003 {
   6903     DVD_ResetOnStop = 1,DVD_NotifyParentalLevelChange = 2,DVD_HMSF_TimeCodeEvents = 3,DVD_AudioDuringFFwdRew = 4
   6904   } DVD_OPTION_FLAG;
   6905 
   6906   typedef enum __MIDL___MIDL_itf_strmif_0376_0004 {
   6907     DVD_Relative_Upper = 1,DVD_Relative_Lower = 2,DVD_Relative_Left = 3,DVD_Relative_Right = 4
   6908   } DVD_RELATIVE_BUTTON;
   6909 
   6910   typedef enum tagDVD_PARENTAL_LEVEL {
   6911     DVD_PARENTAL_LEVEL_8 = 0x8000,DVD_PARENTAL_LEVEL_7 = 0x4000,DVD_PARENTAL_LEVEL_6 = 0x2000,DVD_PARENTAL_LEVEL_5 = 0x1000,
   6912     DVD_PARENTAL_LEVEL_4 = 0x800,DVD_PARENTAL_LEVEL_3 = 0x400,DVD_PARENTAL_LEVEL_2 = 0x200,DVD_PARENTAL_LEVEL_1 = 0x100
   6913   } DVD_PARENTAL_LEVEL;
   6914 
   6915   typedef enum tagDVD_AUDIO_LANG_EXT {
   6916     DVD_AUD_EXT_NotSpecified = 0,DVD_AUD_EXT_Captions = 1,DVD_AUD_EXT_VisuallyImpaired = 2,DVD_AUD_EXT_DirectorComments1 = 3,
   6917     DVD_AUD_EXT_DirectorComments2 = 4
   6918   } DVD_AUDIO_LANG_EXT;
   6919 
   6920   typedef enum tagDVD_SUBPICTURE_LANG_EXT {
   6921     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,
   6922     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,
   6923     DVD_SP_EXT_DirectorComments_Children = 15
   6924   } DVD_SUBPICTURE_LANG_EXT;
   6925 
   6926   typedef enum tagDVD_AUDIO_APPMODE {
   6927     DVD_AudioMode_None = 0,DVD_AudioMode_Karaoke = 1,DVD_AudioMode_Surround = 2,DVD_AudioMode_Other = 3
   6928   } DVD_AUDIO_APPMODE;
   6929 
   6930   typedef enum tagDVD_AUDIO_FORMAT {
   6931     DVD_AudioFormat_AC3 = 0,DVD_AudioFormat_MPEG1 = 1,DVD_AudioFormat_MPEG1_DRC = 2,DVD_AudioFormat_MPEG2 = 3,DVD_AudioFormat_MPEG2_DRC = 4,
   6932     DVD_AudioFormat_LPCM = 5,DVD_AudioFormat_DTS = 6,DVD_AudioFormat_SDDS = 7,DVD_AudioFormat_Other = 8
   6933   } DVD_AUDIO_FORMAT;
   6934 
   6935   typedef enum tagDVD_KARAOKE_DOWNMIX {
   6936     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,
   6937     DVD_Mix_0to1 = 0x100,DVD_Mix_1to1 = 0x200,DVD_Mix_2to1 = 0x400,DVD_Mix_3to1 = 0x800,DVD_Mix_4to1 = 0x1000,DVD_Mix_Lto1 = 0x2000,
   6938     DVD_Mix_Rto1 = 0x4000
   6939   } DVD_KARAOKE_DOWNMIX;
   6940 
   6941   typedef struct tagDVD_AudioAttributes {
   6942     DVD_AUDIO_APPMODE AppMode;
   6943     BYTE AppModeData;
   6944     DVD_AUDIO_FORMAT AudioFormat;
   6945     LCID Language;
   6946     DVD_AUDIO_LANG_EXT LanguageExtension;
   6947     WINBOOL fHasMultichannelInfo;
   6948     DWORD dwFrequency;
   6949     BYTE bQuantization;
   6950     BYTE bNumberOfChannels;
   6951     DWORD dwReserved[2];
   6952   } DVD_AudioAttributes;
   6953 
   6954   typedef struct tagDVD_MUA_MixingInfo {
   6955     WINBOOL fMixTo0;
   6956     WINBOOL fMixTo1;
   6957     WINBOOL fMix0InPhase;
   6958     WINBOOL fMix1InPhase;
   6959     DWORD dwSpeakerPosition;
   6960   } DVD_MUA_MixingInfo;
   6961 
   6962   typedef struct tagDVD_MUA_Coeff {
   6963     double log2_alpha;
   6964     double log2_beta;
   6965   } DVD_MUA_Coeff;
   6966 
   6967   typedef struct tagDVD_MultichannelAudioAttributes {
   6968     DVD_MUA_MixingInfo Info[8];
   6969     DVD_MUA_Coeff Coeff[8];
   6970   } DVD_MultichannelAudioAttributes;
   6971 
   6972   typedef enum tagDVD_KARAOKE_CONTENTS {
   6973     DVD_Karaoke_GuideVocal1 = 0x1,DVD_Karaoke_GuideVocal2 = 0x2,DVD_Karaoke_GuideMelody1 = 0x4,DVD_Karaoke_GuideMelody2 = 0x8,
   6974     DVD_Karaoke_GuideMelodyA = 0x10,DVD_Karaoke_GuideMelodyB = 0x20,DVD_Karaoke_SoundEffectA = 0x40,DVD_Karaoke_SoundEffectB = 0x80
   6975   } DVD_KARAOKE_CONTENTS;
   6976 
   6977   typedef enum tagDVD_KARAOKE_ASSIGNMENT {
   6978     DVD_Assignment_reserved0 = 0,DVD_Assignment_reserved1 = 1,DVD_Assignment_LR = 2,DVD_Assignment_LRM = 3,DVD_Assignment_LR1 = 4,
   6979     DVD_Assignment_LRM1 = 5,DVD_Assignment_LR12 = 6,DVD_Assignment_LRM12 = 7
   6980   } DVD_KARAOKE_ASSIGNMENT;
   6981 
   6982   typedef struct tagDVD_KaraokeAttributes {
   6983     BYTE bVersion;
   6984     WINBOOL fMasterOfCeremoniesInGuideVocal1;
   6985     WINBOOL fDuet;
   6986     DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
   6987     WORD wChannelContents[8];
   6988   } DVD_KaraokeAttributes;
   6989 
   6990   typedef enum tagDVD_VIDEO_COMPRESSION {
   6991     DVD_VideoCompression_Other = 0,DVD_VideoCompression_MPEG1 = 1,DVD_VideoCompression_MPEG2 = 2
   6992   } DVD_VIDEO_COMPRESSION;
   6993 
   6994   typedef struct tagDVD_VideoAttributes {
   6995     WINBOOL fPanscanPermitted;
   6996     WINBOOL fLetterboxPermitted;
   6997     ULONG ulAspectX;
   6998     ULONG ulAspectY;
   6999     ULONG ulFrameRate;
   7000     ULONG ulFrameHeight;
   7001     DVD_VIDEO_COMPRESSION Compression;
   7002     WINBOOL fLine21Field1InGOP;
   7003     WINBOOL fLine21Field2InGOP;
   7004     ULONG ulSourceResolutionX;
   7005     ULONG ulSourceResolutionY;
   7006     WINBOOL fIsSourceLetterboxed;
   7007     WINBOOL fIsFilmMode;
   7008   } DVD_VideoAttributes;
   7009 
   7010   typedef enum tagDVD_SUBPICTURE_TYPE {
   7011     DVD_SPType_NotSpecified = 0,DVD_SPType_Language = 1,DVD_SPType_Other = 2
   7012   } DVD_SUBPICTURE_TYPE;
   7013 
   7014   typedef enum tagDVD_SUBPICTURE_CODING {
   7015     DVD_SPCoding_RunLength = 0,DVD_SPCoding_Extended = 1,DVD_SPCoding_Other = 2
   7016   } DVD_SUBPICTURE_CODING;
   7017 
   7018   typedef struct tagDVD_SubpictureAttributes {
   7019     DVD_SUBPICTURE_TYPE Type;
   7020     DVD_SUBPICTURE_CODING CodingMode;
   7021     LCID Language;
   7022     DVD_SUBPICTURE_LANG_EXT LanguageExtension;
   7023   } DVD_SubpictureAttributes;
   7024 
   7025   typedef enum tagDVD_TITLE_APPMODE {
   7026     DVD_AppMode_Not_Specified = 0,DVD_AppMode_Karaoke = 1,DVD_AppMode_Other = 3
   7027   } DVD_TITLE_APPMODE;
   7028 
   7029   typedef struct tagDVD_TitleMainAttributes {
   7030     DVD_TITLE_APPMODE AppMode;
   7031     DVD_VideoAttributes VideoAttributes;
   7032     ULONG ulNumberOfAudioStreams;
   7033     DVD_AudioAttributes AudioAttributes[8];
   7034     DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8];
   7035     ULONG ulNumberOfSubpictureStreams;
   7036     DVD_SubpictureAttributes SubpictureAttributes[32];
   7037   } DVD_TitleAttributes;
   7038 
   7039   typedef struct tagDVD_MenuAttributes {
   7040     WINBOOL fCompatibleRegion[8];
   7041     DVD_VideoAttributes VideoAttributes;
   7042     WINBOOL fAudioPresent;
   7043     DVD_AudioAttributes AudioAttributes;
   7044     WINBOOL fSubpicturePresent;
   7045     DVD_SubpictureAttributes SubpictureAttributes;
   7046   } DVD_MenuAttributes;
   7047 
   7048   extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec;
   7049   extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec;
   7050 #ifndef __IDvdControl_INTERFACE_DEFINED__
   7051 #define __IDvdControl_INTERFACE_DEFINED__
   7052   EXTERN_C const IID IID_IDvdControl;
   7053 #if defined(__cplusplus) && !defined(CINTERFACE)
   7054   struct IDvdControl : public IUnknown {
   7055   public:
   7056     virtual HRESULT WINAPI TitlePlay(ULONG ulTitle) = 0;
   7057     virtual HRESULT WINAPI ChapterPlay(ULONG ulTitle,ULONG ulChapter) = 0;
   7058     virtual HRESULT WINAPI TimePlay(ULONG ulTitle,ULONG bcdTime) = 0;
   7059     virtual HRESULT WINAPI StopForResume(void) = 0;
   7060     virtual HRESULT WINAPI GoUp(void) = 0;
   7061     virtual HRESULT WINAPI TimeSearch(ULONG bcdTime) = 0;
   7062     virtual HRESULT WINAPI ChapterSearch(ULONG ulChapter) = 0;
   7063     virtual HRESULT WINAPI PrevPGSearch(void) = 0;
   7064     virtual HRESULT WINAPI TopPGSearch(void) = 0;
   7065     virtual HRESULT WINAPI NextPGSearch(void) = 0;
   7066     virtual HRESULT WINAPI ForwardScan(double dwSpeed) = 0;
   7067     virtual HRESULT WINAPI BackwardScan(double dwSpeed) = 0;
   7068     virtual HRESULT WINAPI MenuCall(DVD_MENU_ID MenuID) = 0;
   7069     virtual HRESULT WINAPI Resume(void) = 0;
   7070     virtual HRESULT WINAPI UpperButtonSelect(void) = 0;
   7071     virtual HRESULT WINAPI LowerButtonSelect(void) = 0;
   7072     virtual HRESULT WINAPI LeftButtonSelect(void) = 0;
   7073     virtual HRESULT WINAPI RightButtonSelect(void) = 0;
   7074     virtual HRESULT WINAPI ButtonActivate(void) = 0;
   7075     virtual HRESULT WINAPI ButtonSelectAndActivate(ULONG ulButton) = 0;
   7076     virtual HRESULT WINAPI StillOff(void) = 0;
   7077     virtual HRESULT WINAPI PauseOn(void) = 0;
   7078     virtual HRESULT WINAPI PauseOff(void) = 0;
   7079     virtual HRESULT WINAPI MenuLanguageSelect(LCID Language) = 0;
   7080     virtual HRESULT WINAPI AudioStreamChange(ULONG ulAudio) = 0;
   7081     virtual HRESULT WINAPI SubpictureStreamChange(ULONG ulSubPicture,WINBOOL bDisplay) = 0;
   7082     virtual HRESULT WINAPI AngleChange(ULONG ulAngle) = 0;
   7083     virtual HRESULT WINAPI ParentalLevelSelect(ULONG ulParentalLevel) = 0;
   7084     virtual HRESULT WINAPI ParentalCountrySelect(WORD wCountry) = 0;
   7085     virtual HRESULT WINAPI KaraokeAudioPresentationModeChange(ULONG ulMode) = 0;
   7086     virtual HRESULT WINAPI VideoModePreferrence(ULONG ulPreferredDisplayMode) = 0;
   7087     virtual HRESULT WINAPI SetRoot(LPCWSTR pszPath) = 0;
   7088     virtual HRESULT WINAPI MouseActivate(POINT point) = 0;
   7089     virtual HRESULT WINAPI MouseSelect(POINT point) = 0;
   7090     virtual HRESULT WINAPI ChapterPlayAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay) = 0;
   7091   };
   7092 #else
   7093   typedef struct IDvdControlVtbl {
   7094     BEGIN_INTERFACE
   7095       HRESULT (WINAPI *QueryInterface)(IDvdControl *This,REFIID riid,void **ppvObject);
   7096       ULONG (WINAPI *AddRef)(IDvdControl *This);
   7097       ULONG (WINAPI *Release)(IDvdControl *This);
   7098       HRESULT (WINAPI *TitlePlay)(IDvdControl *This,ULONG ulTitle);
   7099       HRESULT (WINAPI *ChapterPlay)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
   7100       HRESULT (WINAPI *TimePlay)(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
   7101       HRESULT (WINAPI *StopForResume)(IDvdControl *This);
   7102       HRESULT (WINAPI *GoUp)(IDvdControl *This);
   7103       HRESULT (WINAPI *TimeSearch)(IDvdControl *This,ULONG bcdTime);
   7104       HRESULT (WINAPI *ChapterSearch)(IDvdControl *This,ULONG ulChapter);
   7105       HRESULT (WINAPI *PrevPGSearch)(IDvdControl *This);
   7106       HRESULT (WINAPI *TopPGSearch)(IDvdControl *This);
   7107       HRESULT (WINAPI *NextPGSearch)(IDvdControl *This);
   7108       HRESULT (WINAPI *ForwardScan)(IDvdControl *This,double dwSpeed);
   7109       HRESULT (WINAPI *BackwardScan)(IDvdControl *This,double dwSpeed);
   7110       HRESULT (WINAPI *MenuCall)(IDvdControl *This,DVD_MENU_ID MenuID);
   7111       HRESULT (WINAPI *Resume)(IDvdControl *This);
   7112       HRESULT (WINAPI *UpperButtonSelect)(IDvdControl *This);
   7113       HRESULT (WINAPI *LowerButtonSelect)(IDvdControl *This);
   7114       HRESULT (WINAPI *LeftButtonSelect)(IDvdControl *This);
   7115       HRESULT (WINAPI *RightButtonSelect)(IDvdControl *This);
   7116       HRESULT (WINAPI *ButtonActivate)(IDvdControl *This);
   7117       HRESULT (WINAPI *ButtonSelectAndActivate)(IDvdControl *This,ULONG ulButton);
   7118       HRESULT (WINAPI *StillOff)(IDvdControl *This);
   7119       HRESULT (WINAPI *PauseOn)(IDvdControl *This);
   7120       HRESULT (WINAPI *PauseOff)(IDvdControl *This);
   7121       HRESULT (WINAPI *MenuLanguageSelect)(IDvdControl *This,LCID Language);
   7122       HRESULT (WINAPI *AudioStreamChange)(IDvdControl *This,ULONG ulAudio);
   7123       HRESULT (WINAPI *SubpictureStreamChange)(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
   7124       HRESULT (WINAPI *AngleChange)(IDvdControl *This,ULONG ulAngle);
   7125       HRESULT (WINAPI *ParentalLevelSelect)(IDvdControl *This,ULONG ulParentalLevel);
   7126       HRESULT (WINAPI *ParentalCountrySelect)(IDvdControl *This,WORD wCountry);
   7127       HRESULT (WINAPI *KaraokeAudioPresentationModeChange)(IDvdControl *This,ULONG ulMode);
   7128       HRESULT (WINAPI *VideoModePreferrence)(IDvdControl *This,ULONG ulPreferredDisplayMode);
   7129       HRESULT (WINAPI *SetRoot)(IDvdControl *This,LPCWSTR pszPath);
   7130       HRESULT (WINAPI *MouseActivate)(IDvdControl *This,POINT point);
   7131       HRESULT (WINAPI *MouseSelect)(IDvdControl *This,POINT point);
   7132       HRESULT (WINAPI *ChapterPlayAutoStop)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
   7133     END_INTERFACE
   7134   } IDvdControlVtbl;
   7135   struct IDvdControl {
   7136     CONST_VTBL struct IDvdControlVtbl *lpVtbl;
   7137   };
   7138 #ifdef COBJMACROS
   7139 #define IDvdControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7140 #define IDvdControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   7141 #define IDvdControl_Release(This) (This)->lpVtbl->Release(This)
   7142 #define IDvdControl_TitlePlay(This,ulTitle) (This)->lpVtbl->TitlePlay(This,ulTitle)
   7143 #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) (This)->lpVtbl->ChapterPlay(This,ulTitle,ulChapter)
   7144 #define IDvdControl_TimePlay(This,ulTitle,bcdTime) (This)->lpVtbl->TimePlay(This,ulTitle,bcdTime)
   7145 #define IDvdControl_StopForResume(This) (This)->lpVtbl->StopForResume(This)
   7146 #define IDvdControl_GoUp(This) (This)->lpVtbl->GoUp(This)
   7147 #define IDvdControl_TimeSearch(This,bcdTime) (This)->lpVtbl->TimeSearch(This,bcdTime)
   7148 #define IDvdControl_ChapterSearch(This,ulChapter) (This)->lpVtbl->ChapterSearch(This,ulChapter)
   7149 #define IDvdControl_PrevPGSearch(This) (This)->lpVtbl->PrevPGSearch(This)
   7150 #define IDvdControl_TopPGSearch(This) (This)->lpVtbl->TopPGSearch(This)
   7151 #define IDvdControl_NextPGSearch(This) (This)->lpVtbl->NextPGSearch(This)
   7152 #define IDvdControl_ForwardScan(This,dwSpeed) (This)->lpVtbl->ForwardScan(This,dwSpeed)
   7153 #define IDvdControl_BackwardScan(This,dwSpeed) (This)->lpVtbl->BackwardScan(This,dwSpeed)
   7154 #define IDvdControl_MenuCall(This,MenuID) (This)->lpVtbl->MenuCall(This,MenuID)
   7155 #define IDvdControl_Resume(This) (This)->lpVtbl->Resume(This)
   7156 #define IDvdControl_UpperButtonSelect(This) (This)->lpVtbl->UpperButtonSelect(This)
   7157 #define IDvdControl_LowerButtonSelect(This) (This)->lpVtbl->LowerButtonSelect(This)
   7158 #define IDvdControl_LeftButtonSelect(This) (This)->lpVtbl->LeftButtonSelect(This)
   7159 #define IDvdControl_RightButtonSelect(This) (This)->lpVtbl->RightButtonSelect(This)
   7160 #define IDvdControl_ButtonActivate(This) (This)->lpVtbl->ButtonActivate(This)
   7161 #define IDvdControl_ButtonSelectAndActivate(This,ulButton) (This)->lpVtbl->ButtonSelectAndActivate(This,ulButton)
   7162 #define IDvdControl_StillOff(This) (This)->lpVtbl->StillOff(This)
   7163 #define IDvdControl_PauseOn(This) (This)->lpVtbl->PauseOn(This)
   7164 #define IDvdControl_PauseOff(This) (This)->lpVtbl->PauseOff(This)
   7165 #define IDvdControl_MenuLanguageSelect(This,Language) (This)->lpVtbl->MenuLanguageSelect(This,Language)
   7166 #define IDvdControl_AudioStreamChange(This,ulAudio) (This)->lpVtbl->AudioStreamChange(This,ulAudio)
   7167 #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) (This)->lpVtbl->SubpictureStreamChange(This,ulSubPicture,bDisplay)
   7168 #define IDvdControl_AngleChange(This,ulAngle) (This)->lpVtbl->AngleChange(This,ulAngle)
   7169 #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) (This)->lpVtbl->ParentalLevelSelect(This,ulParentalLevel)
   7170 #define IDvdControl_ParentalCountrySelect(This,wCountry) (This)->lpVtbl->ParentalCountrySelect(This,wCountry)
   7171 #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) (This)->lpVtbl->KaraokeAudioPresentationModeChange(This,ulMode)
   7172 #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) (This)->lpVtbl->VideoModePreferrence(This,ulPreferredDisplayMode)
   7173 #define IDvdControl_SetRoot(This,pszPath) (This)->lpVtbl->SetRoot(This,pszPath)
   7174 #define IDvdControl_MouseActivate(This,point) (This)->lpVtbl->MouseActivate(This,point)
   7175 #define IDvdControl_MouseSelect(This,point) (This)->lpVtbl->MouseSelect(This,point)
   7176 #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) (This)->lpVtbl->ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
   7177 #endif
   7178 #endif
   7179   HRESULT WINAPI IDvdControl_TitlePlay_Proxy(IDvdControl *This,ULONG ulTitle);
   7180   void __RPC_STUB IDvdControl_TitlePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7181   HRESULT WINAPI IDvdControl_ChapterPlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
   7182   void __RPC_STUB IDvdControl_ChapterPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7183   HRESULT WINAPI IDvdControl_TimePlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
   7184   void __RPC_STUB IDvdControl_TimePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7185   HRESULT WINAPI IDvdControl_StopForResume_Proxy(IDvdControl *This);
   7186   void __RPC_STUB IDvdControl_StopForResume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7187   HRESULT WINAPI IDvdControl_GoUp_Proxy(IDvdControl *This);
   7188   void __RPC_STUB IDvdControl_GoUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7189   HRESULT WINAPI IDvdControl_TimeSearch_Proxy(IDvdControl *This,ULONG bcdTime);
   7190   void __RPC_STUB IDvdControl_TimeSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7191   HRESULT WINAPI IDvdControl_ChapterSearch_Proxy(IDvdControl *This,ULONG ulChapter);
   7192   void __RPC_STUB IDvdControl_ChapterSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7193   HRESULT WINAPI IDvdControl_PrevPGSearch_Proxy(IDvdControl *This);
   7194   void __RPC_STUB IDvdControl_PrevPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7195   HRESULT WINAPI IDvdControl_TopPGSearch_Proxy(IDvdControl *This);
   7196   void __RPC_STUB IDvdControl_TopPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7197   HRESULT WINAPI IDvdControl_NextPGSearch_Proxy(IDvdControl *This);
   7198   void __RPC_STUB IDvdControl_NextPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7199   HRESULT WINAPI IDvdControl_ForwardScan_Proxy(IDvdControl *This,double dwSpeed);
   7200   void __RPC_STUB IDvdControl_ForwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7201   HRESULT WINAPI IDvdControl_BackwardScan_Proxy(IDvdControl *This,double dwSpeed);
   7202   void __RPC_STUB IDvdControl_BackwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7203   HRESULT WINAPI IDvdControl_MenuCall_Proxy(IDvdControl *This,DVD_MENU_ID MenuID);
   7204   void __RPC_STUB IDvdControl_MenuCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7205   HRESULT WINAPI IDvdControl_Resume_Proxy(IDvdControl *This);
   7206   void __RPC_STUB IDvdControl_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7207   HRESULT WINAPI IDvdControl_UpperButtonSelect_Proxy(IDvdControl *This);
   7208   void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7209   HRESULT WINAPI IDvdControl_LowerButtonSelect_Proxy(IDvdControl *This);
   7210   void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7211   HRESULT WINAPI IDvdControl_LeftButtonSelect_Proxy(IDvdControl *This);
   7212   void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7213   HRESULT WINAPI IDvdControl_RightButtonSelect_Proxy(IDvdControl *This);
   7214   void __RPC_STUB IDvdControl_RightButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7215   HRESULT WINAPI IDvdControl_ButtonActivate_Proxy(IDvdControl *This);
   7216   void __RPC_STUB IDvdControl_ButtonActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7217   HRESULT WINAPI IDvdControl_ButtonSelectAndActivate_Proxy(IDvdControl *This,ULONG ulButton);
   7218   void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7219   HRESULT WINAPI IDvdControl_StillOff_Proxy(IDvdControl *This);
   7220   void __RPC_STUB IDvdControl_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7221   HRESULT WINAPI IDvdControl_PauseOn_Proxy(IDvdControl *This);
   7222   void __RPC_STUB IDvdControl_PauseOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7223   HRESULT WINAPI IDvdControl_PauseOff_Proxy(IDvdControl *This);
   7224   void __RPC_STUB IDvdControl_PauseOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7225   HRESULT WINAPI IDvdControl_MenuLanguageSelect_Proxy(IDvdControl *This,LCID Language);
   7226   void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7227   HRESULT WINAPI IDvdControl_AudioStreamChange_Proxy(IDvdControl *This,ULONG ulAudio);
   7228   void __RPC_STUB IDvdControl_AudioStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7229   HRESULT WINAPI IDvdControl_SubpictureStreamChange_Proxy(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
   7230   void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7231   HRESULT WINAPI IDvdControl_AngleChange_Proxy(IDvdControl *This,ULONG ulAngle);
   7232   void __RPC_STUB IDvdControl_AngleChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7233   HRESULT WINAPI IDvdControl_ParentalLevelSelect_Proxy(IDvdControl *This,ULONG ulParentalLevel);
   7234   void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7235   HRESULT WINAPI IDvdControl_ParentalCountrySelect_Proxy(IDvdControl *This,WORD wCountry);
   7236   void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7237   HRESULT WINAPI IDvdControl_KaraokeAudioPresentationModeChange_Proxy(IDvdControl *This,ULONG ulMode);
   7238   void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7239   HRESULT WINAPI IDvdControl_VideoModePreferrence_Proxy(IDvdControl *This,ULONG ulPreferredDisplayMode);
   7240   void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7241   HRESULT WINAPI IDvdControl_SetRoot_Proxy(IDvdControl *This,LPCWSTR pszPath);
   7242   void __RPC_STUB IDvdControl_SetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7243   HRESULT WINAPI IDvdControl_MouseActivate_Proxy(IDvdControl *This,POINT point);
   7244   void __RPC_STUB IDvdControl_MouseActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7245   HRESULT WINAPI IDvdControl_MouseSelect_Proxy(IDvdControl *This,POINT point);
   7246   void __RPC_STUB IDvdControl_MouseSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7247   HRESULT WINAPI IDvdControl_ChapterPlayAutoStop_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
   7248   void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7249 #endif
   7250 
   7251 #ifndef __IDvdInfo_INTERFACE_DEFINED__
   7252 #define __IDvdInfo_INTERFACE_DEFINED__
   7253   EXTERN_C const IID IID_IDvdInfo;
   7254 #if defined(__cplusplus) && !defined(CINTERFACE)
   7255   struct IDvdInfo : public IUnknown {
   7256   public:
   7257     virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
   7258     virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION *pLocation) = 0;
   7259     virtual HRESULT WINAPI GetTotalTitleTime(ULONG *pulTotalTime) = 0;
   7260     virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
   7261     virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
   7262     virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
   7263     virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled) = 0;
   7264     virtual HRESULT WINAPI GetCurrentUOPS(VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
   7265     virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
   7266     virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
   7267     virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   7268     virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   7269     virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_ATR *pATR) = 0;
   7270     virtual HRESULT WINAPI GetVMGAttributes(DVD_ATR *pATR) = 0;
   7271     virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoATR *pATR) = 0;
   7272     virtual HRESULT WINAPI GetCurrentAudioAttributes(DVD_AudioATR *pATR) = 0;
   7273     virtual HRESULT WINAPI GetCurrentSubpictureAttributes(DVD_SubpictureATR *pATR) = 0;
   7274     virtual HRESULT WINAPI GetCurrentVolumeInfo(ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
   7275     virtual HRESULT WINAPI GetDVDTextInfo(BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize) = 0;
   7276     virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,ULONG *pulCountryCode) = 0;
   7277     virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumberOfChapters) = 0;
   7278     virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
   7279     virtual HRESULT WINAPI GetRoot(LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize) = 0;
   7280   };
   7281 #else
   7282   typedef struct IDvdInfoVtbl {
   7283     BEGIN_INTERFACE
   7284       HRESULT (WINAPI *QueryInterface)(IDvdInfo *This,REFIID riid,void **ppvObject);
   7285       ULONG (WINAPI *AddRef)(IDvdInfo *This);
   7286       ULONG (WINAPI *Release)(IDvdInfo *This);
   7287       HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo *This,DVD_DOMAIN *pDomain);
   7288       HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
   7289       HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo *This,ULONG *pulTotalTime);
   7290       HRESULT (WINAPI *GetCurrentButton)(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   7291       HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   7292       HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   7293       HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
   7294       HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
   7295       HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo *This,SPRMARRAY *pRegisterArray);
   7296       HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo *This,GPRMARRAY *pRegisterArray);
   7297       HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   7298       HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   7299       HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
   7300       HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo *This,DVD_ATR *pATR);
   7301       HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo *This,DVD_VideoATR *pATR);
   7302       HRESULT (WINAPI *GetCurrentAudioAttributes)(IDvdInfo *This,DVD_AudioATR *pATR);
   7303       HRESULT (WINAPI *GetCurrentSubpictureAttributes)(IDvdInfo *This,DVD_SubpictureATR *pATR);
   7304       HRESULT (WINAPI *GetCurrentVolumeInfo)(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   7305       HRESULT (WINAPI *GetDVDTextInfo)(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
   7306       HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
   7307       HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
   7308       HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
   7309       HRESULT (WINAPI *GetRoot)(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
   7310     END_INTERFACE
   7311   } IDvdInfoVtbl;
   7312   struct IDvdInfo {
   7313     CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
   7314   };
   7315 #ifdef COBJMACROS
   7316 #define IDvdInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7317 #define IDvdInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   7318 #define IDvdInfo_Release(This) (This)->lpVtbl->Release(This)
   7319 #define IDvdInfo_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
   7320 #define IDvdInfo_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
   7321 #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) (This)->lpVtbl->GetTotalTitleTime(This,pulTotalTime)
   7322 #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
   7323 #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
   7324 #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
   7325 #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
   7326 #define IDvdInfo_GetCurrentUOPS(This,pUOP) (This)->lpVtbl->GetCurrentUOPS(This,pUOP)
   7327 #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
   7328 #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
   7329 #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
   7330 #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
   7331 #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pATR)
   7332 #define IDvdInfo_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
   7333 #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
   7334 #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) (This)->lpVtbl->GetCurrentAudioAttributes(This,pATR)
   7335 #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) (This)->lpVtbl->GetCurrentSubpictureAttributes(This,pATR)
   7336 #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) (This)->lpVtbl->GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
   7337 #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) (This)->lpVtbl->GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
   7338 #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
   7339 #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
   7340 #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
   7341 #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) (This)->lpVtbl->GetRoot(This,pRoot,ulBufSize,pulActualSize)
   7342 #endif
   7343 #endif
   7344   HRESULT WINAPI IDvdInfo_GetCurrentDomain_Proxy(IDvdInfo *This,DVD_DOMAIN *pDomain);
   7345   void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7346   HRESULT WINAPI IDvdInfo_GetCurrentLocation_Proxy(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
   7347   void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7348   HRESULT WINAPI IDvdInfo_GetTotalTitleTime_Proxy(IDvdInfo *This,ULONG *pulTotalTime);
   7349   void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7350   HRESULT WINAPI IDvdInfo_GetCurrentButton_Proxy(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   7351   void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7352   HRESULT WINAPI IDvdInfo_GetCurrentAngle_Proxy(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   7353   void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7354   HRESULT WINAPI IDvdInfo_GetCurrentAudio_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   7355   void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7356   HRESULT WINAPI IDvdInfo_GetCurrentSubpicture_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
   7357   void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7358   HRESULT WINAPI IDvdInfo_GetCurrentUOPS_Proxy(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
   7359   void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7360   HRESULT WINAPI IDvdInfo_GetAllSPRMs_Proxy(IDvdInfo *This,SPRMARRAY *pRegisterArray);
   7361   void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7362   HRESULT WINAPI IDvdInfo_GetAllGPRMs_Proxy(IDvdInfo *This,GPRMARRAY *pRegisterArray);
   7363   void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7364   HRESULT WINAPI IDvdInfo_GetAudioLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   7365   void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7366   HRESULT WINAPI IDvdInfo_GetSubpictureLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   7367   void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7368   HRESULT WINAPI IDvdInfo_GetTitleAttributes_Proxy(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
   7369   void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7370   HRESULT WINAPI IDvdInfo_GetVMGAttributes_Proxy(IDvdInfo *This,DVD_ATR *pATR);
   7371   void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7372   HRESULT WINAPI IDvdInfo_GetCurrentVideoAttributes_Proxy(IDvdInfo *This,DVD_VideoATR *pATR);
   7373   void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7374   HRESULT WINAPI IDvdInfo_GetCurrentAudioAttributes_Proxy(IDvdInfo *This,DVD_AudioATR *pATR);
   7375   void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7376   HRESULT WINAPI IDvdInfo_GetCurrentSubpictureAttributes_Proxy(IDvdInfo *This,DVD_SubpictureATR *pATR);
   7377   void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7378   HRESULT WINAPI IDvdInfo_GetCurrentVolumeInfo_Proxy(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   7379   void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7380   HRESULT WINAPI IDvdInfo_GetDVDTextInfo_Proxy(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
   7381   void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7382   HRESULT WINAPI IDvdInfo_GetPlayerParentalLevel_Proxy(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
   7383   void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7384   HRESULT WINAPI IDvdInfo_GetNumberOfChapters_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
   7385   void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7386   HRESULT WINAPI IDvdInfo_GetTitleParentalLevels_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
   7387   void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7388   HRESULT WINAPI IDvdInfo_GetRoot_Proxy(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
   7389   void __RPC_STUB IDvdInfo_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7390 #endif
   7391 
   7392 #ifndef __IDvdCmd_INTERFACE_DEFINED__
   7393 #define __IDvdCmd_INTERFACE_DEFINED__
   7394   EXTERN_C const IID IID_IDvdCmd;
   7395 #if defined(__cplusplus) && !defined(CINTERFACE)
   7396   struct IDvdCmd : public IUnknown {
   7397   public:
   7398     virtual HRESULT WINAPI WaitForStart(void) = 0;
   7399     virtual HRESULT WINAPI WaitForEnd(void) = 0;
   7400   };
   7401 #else
   7402   typedef struct IDvdCmdVtbl {
   7403     BEGIN_INTERFACE
   7404       HRESULT (WINAPI *QueryInterface)(IDvdCmd *This,REFIID riid,void **ppvObject);
   7405       ULONG (WINAPI *AddRef)(IDvdCmd *This);
   7406       ULONG (WINAPI *Release)(IDvdCmd *This);
   7407       HRESULT (WINAPI *WaitForStart)(IDvdCmd *This);
   7408       HRESULT (WINAPI *WaitForEnd)(IDvdCmd *This);
   7409     END_INTERFACE
   7410   } IDvdCmdVtbl;
   7411   struct IDvdCmd {
   7412     CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
   7413   };
   7414 #ifdef COBJMACROS
   7415 #define IDvdCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7416 #define IDvdCmd_AddRef(This) (This)->lpVtbl->AddRef(This)
   7417 #define IDvdCmd_Release(This) (This)->lpVtbl->Release(This)
   7418 #define IDvdCmd_WaitForStart(This) (This)->lpVtbl->WaitForStart(This)
   7419 #define IDvdCmd_WaitForEnd(This) (This)->lpVtbl->WaitForEnd(This)
   7420 #endif
   7421 #endif
   7422   HRESULT WINAPI IDvdCmd_WaitForStart_Proxy(IDvdCmd *This);
   7423   void __RPC_STUB IDvdCmd_WaitForStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7424   HRESULT WINAPI IDvdCmd_WaitForEnd_Proxy(IDvdCmd *This);
   7425   void __RPC_STUB IDvdCmd_WaitForEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7426 #endif
   7427 
   7428 #ifndef __IDvdState_INTERFACE_DEFINED__
   7429 #define __IDvdState_INTERFACE_DEFINED__
   7430   EXTERN_C const IID IID_IDvdState;
   7431 #if defined(__cplusplus) && !defined(CINTERFACE)
   7432   struct IDvdState : public IUnknown {
   7433   public:
   7434     virtual HRESULT WINAPI GetDiscID(ULONGLONG *pullUniqueID) = 0;
   7435     virtual HRESULT WINAPI GetParentalLevel(ULONG *pulParentalLevel) = 0;
   7436   };
   7437 #else
   7438   typedef struct IDvdStateVtbl {
   7439     BEGIN_INTERFACE
   7440       HRESULT (WINAPI *QueryInterface)(IDvdState *This,REFIID riid,void **ppvObject);
   7441       ULONG (WINAPI *AddRef)(IDvdState *This);
   7442       ULONG (WINAPI *Release)(IDvdState *This);
   7443       HRESULT (WINAPI *GetDiscID)(IDvdState *This,ULONGLONG *pullUniqueID);
   7444       HRESULT (WINAPI *GetParentalLevel)(IDvdState *This,ULONG *pulParentalLevel);
   7445     END_INTERFACE
   7446   } IDvdStateVtbl;
   7447   struct IDvdState {
   7448     CONST_VTBL struct IDvdStateVtbl *lpVtbl;
   7449   };
   7450 #ifdef COBJMACROS
   7451 #define IDvdState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7452 #define IDvdState_AddRef(This) (This)->lpVtbl->AddRef(This)
   7453 #define IDvdState_Release(This) (This)->lpVtbl->Release(This)
   7454 #define IDvdState_GetDiscID(This,pullUniqueID) (This)->lpVtbl->GetDiscID(This,pullUniqueID)
   7455 #define IDvdState_GetParentalLevel(This,pulParentalLevel) (This)->lpVtbl->GetParentalLevel(This,pulParentalLevel)
   7456 #endif
   7457 #endif
   7458   HRESULT WINAPI IDvdState_GetDiscID_Proxy(IDvdState *This,ULONGLONG *pullUniqueID);
   7459   void __RPC_STUB IDvdState_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7460   HRESULT WINAPI IDvdState_GetParentalLevel_Proxy(IDvdState *This,ULONG *pulParentalLevel);
   7461   void __RPC_STUB IDvdState_GetParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7462 #endif
   7463 
   7464 #ifndef __IDvdControl2_INTERFACE_DEFINED__
   7465 #define __IDvdControl2_INTERFACE_DEFINED__
   7466   EXTERN_C const IID IID_IDvdControl2;
   7467 #if defined(__cplusplus) && !defined(CINTERFACE)
   7468   struct IDvdControl2 : public IUnknown {
   7469   public:
   7470     virtual HRESULT WINAPI PlayTitle(ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7471     virtual HRESULT WINAPI PlayChapterInTitle(ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7472     virtual HRESULT WINAPI PlayAtTimeInTitle(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7473     virtual HRESULT WINAPI Stop(void) = 0;
   7474     virtual HRESULT WINAPI ReturnFromSubmenu(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7475     virtual HRESULT WINAPI PlayAtTime(DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7476     virtual HRESULT WINAPI PlayChapter(ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7477     virtual HRESULT WINAPI PlayPrevChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7478     virtual HRESULT WINAPI ReplayChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7479     virtual HRESULT WINAPI PlayNextChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7480     virtual HRESULT WINAPI PlayForwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7481     virtual HRESULT WINAPI PlayBackwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7482     virtual HRESULT WINAPI ShowMenu(DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7483     virtual HRESULT WINAPI Resume(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7484     virtual HRESULT WINAPI SelectRelativeButton(DVD_RELATIVE_BUTTON buttonDir) = 0;
   7485     virtual HRESULT WINAPI ActivateButton(void) = 0;
   7486     virtual HRESULT WINAPI SelectButton(ULONG ulButton) = 0;
   7487     virtual HRESULT WINAPI SelectAndActivateButton(ULONG ulButton) = 0;
   7488     virtual HRESULT WINAPI StillOff(void) = 0;
   7489     virtual HRESULT WINAPI Pause(WINBOOL bState) = 0;
   7490     virtual HRESULT WINAPI SelectAudioStream(ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7491     virtual HRESULT WINAPI SelectSubpictureStream(ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7492     virtual HRESULT WINAPI SetSubpictureState(WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7493     virtual HRESULT WINAPI SelectAngle(ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7494     virtual HRESULT WINAPI SelectParentalLevel(ULONG ulParentalLevel) = 0;
   7495     virtual HRESULT WINAPI SelectParentalCountry(BYTE bCountry[2]) = 0;
   7496     virtual HRESULT WINAPI SelectKaraokeAudioPresentationMode(ULONG ulMode) = 0;
   7497     virtual HRESULT WINAPI SelectVideoModePreference(ULONG ulPreferredDisplayMode) = 0;
   7498     virtual HRESULT WINAPI SetDVDDirectory(LPCWSTR pszwPath) = 0;
   7499     virtual HRESULT WINAPI ActivateAtPosition(POINT point) = 0;
   7500     virtual HRESULT WINAPI SelectAtPosition(POINT point) = 0;
   7501     virtual HRESULT WINAPI PlayChaptersAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7502     virtual HRESULT WINAPI AcceptParentalLevelChange(WINBOOL bAccept) = 0;
   7503     virtual HRESULT WINAPI SetOption(DVD_OPTION_FLAG flag,WINBOOL fState) = 0;
   7504     virtual HRESULT WINAPI SetState(IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7505     virtual HRESULT WINAPI PlayPeriodInTitleAutoStop(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7506     virtual HRESULT WINAPI SetGPRM(ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   7507     virtual HRESULT WINAPI SelectDefaultMenuLanguage(LCID Language) = 0;
   7508     virtual HRESULT WINAPI SelectDefaultAudioLanguage(LCID Language,DVD_AUDIO_LANG_EXT audioExtension) = 0;
   7509     virtual HRESULT WINAPI SelectDefaultSubpictureLanguage(LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
   7510   };
   7511 #else
   7512   typedef struct IDvdControl2Vtbl {
   7513     BEGIN_INTERFACE
   7514       HRESULT (WINAPI *QueryInterface)(IDvdControl2 *This,REFIID riid,void **ppvObject);
   7515       ULONG (WINAPI *AddRef)(IDvdControl2 *This);
   7516       ULONG (WINAPI *Release)(IDvdControl2 *This);
   7517       HRESULT (WINAPI *PlayTitle)(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
   7518       HRESULT (WINAPI *PlayChapterInTitle)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   7519       HRESULT (WINAPI *PlayAtTimeInTitle)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
   7520       HRESULT (WINAPI *Stop)(IDvdControl2 *This);
   7521       HRESULT (WINAPI *ReturnFromSubmenu)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7522       HRESULT (WINAPI *PlayAtTime)(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
   7523       HRESULT (WINAPI *PlayChapter)(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   7524       HRESULT (WINAPI *PlayPrevChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7525       HRESULT (WINAPI *ReplayChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7526       HRESULT (WINAPI *PlayNextChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7527       HRESULT (WINAPI *PlayForwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   7528       HRESULT (WINAPI *PlayBackwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   7529       HRESULT (WINAPI *ShowMenu)(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
   7530       HRESULT (WINAPI *Resume)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7531       HRESULT (WINAPI *SelectRelativeButton)(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
   7532       HRESULT (WINAPI *ActivateButton)(IDvdControl2 *This);
   7533       HRESULT (WINAPI *SelectButton)(IDvdControl2 *This,ULONG ulButton);
   7534       HRESULT (WINAPI *SelectAndActivateButton)(IDvdControl2 *This,ULONG ulButton);
   7535       HRESULT (WINAPI *StillOff)(IDvdControl2 *This);
   7536       HRESULT (WINAPI *Pause)(IDvdControl2 *This,WINBOOL bState);
   7537       HRESULT (WINAPI *SelectAudioStream)(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
   7538       HRESULT (WINAPI *SelectSubpictureStream)(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
   7539       HRESULT (WINAPI *SetSubpictureState)(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
   7540       HRESULT (WINAPI *SelectAngle)(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
   7541       HRESULT (WINAPI *SelectParentalLevel)(IDvdControl2 *This,ULONG ulParentalLevel);
   7542       HRESULT (WINAPI *SelectParentalCountry)(IDvdControl2 *This,BYTE bCountry[2]);
   7543       HRESULT (WINAPI *SelectKaraokeAudioPresentationMode)(IDvdControl2 *This,ULONG ulMode);
   7544       HRESULT (WINAPI *SelectVideoModePreference)(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
   7545       HRESULT (WINAPI *SetDVDDirectory)(IDvdControl2 *This,LPCWSTR pszwPath);
   7546       HRESULT (WINAPI *ActivateAtPosition)(IDvdControl2 *This,POINT point);
   7547       HRESULT (WINAPI *SelectAtPosition)(IDvdControl2 *This,POINT point);
   7548       HRESULT (WINAPI *PlayChaptersAutoStop)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
   7549       HRESULT (WINAPI *AcceptParentalLevelChange)(IDvdControl2 *This,WINBOOL bAccept);
   7550       HRESULT (WINAPI *SetOption)(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
   7551       HRESULT (WINAPI *SetState)(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
   7552       HRESULT (WINAPI *PlayPeriodInTitleAutoStop)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
   7553       HRESULT (WINAPI *SetGPRM)(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
   7554       HRESULT (WINAPI *SelectDefaultMenuLanguage)(IDvdControl2 *This,LCID Language);
   7555       HRESULT (WINAPI *SelectDefaultAudioLanguage)(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
   7556       HRESULT (WINAPI *SelectDefaultSubpictureLanguage)(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
   7557     END_INTERFACE
   7558   } IDvdControl2Vtbl;
   7559   struct IDvdControl2 {
   7560     CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
   7561   };
   7562 #ifdef COBJMACROS
   7563 #define IDvdControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7564 #define IDvdControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
   7565 #define IDvdControl2_Release(This) (This)->lpVtbl->Release(This)
   7566 #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) (This)->lpVtbl->PlayTitle(This,ulTitle,dwFlags,ppCmd)
   7567 #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
   7568 #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
   7569 #define IDvdControl2_Stop(This) (This)->lpVtbl->Stop(This)
   7570 #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) (This)->lpVtbl->ReturnFromSubmenu(This,dwFlags,ppCmd)
   7571 #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTime(This,pTime,dwFlags,ppCmd)
   7572 #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapter(This,ulChapter,dwFlags,ppCmd)
   7573 #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayPrevChapter(This,dwFlags,ppCmd)
   7574 #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) (This)->lpVtbl->ReplayChapter(This,dwFlags,ppCmd)
   7575 #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayNextChapter(This,dwFlags,ppCmd)
   7576 #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayForwards(This,dSpeed,dwFlags,ppCmd)
   7577 #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayBackwards(This,dSpeed,dwFlags,ppCmd)
   7578 #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) (This)->lpVtbl->ShowMenu(This,MenuID,dwFlags,ppCmd)
   7579 #define IDvdControl2_Resume(This,dwFlags,ppCmd) (This)->lpVtbl->Resume(This,dwFlags,ppCmd)
   7580 #define IDvdControl2_SelectRelativeButton(This,buttonDir) (This)->lpVtbl->SelectRelativeButton(This,buttonDir)
   7581 #define IDvdControl2_ActivateButton(This) (This)->lpVtbl->ActivateButton(This)
   7582 #define IDvdControl2_SelectButton(This,ulButton) (This)->lpVtbl->SelectButton(This,ulButton)
   7583 #define IDvdControl2_SelectAndActivateButton(This,ulButton) (This)->lpVtbl->SelectAndActivateButton(This,ulButton)
   7584 #define IDvdControl2_StillOff(This) (This)->lpVtbl->StillOff(This)
   7585 #define IDvdControl2_Pause(This,bState) (This)->lpVtbl->Pause(This,bState)
   7586 #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) (This)->lpVtbl->SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
   7587 #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) (This)->lpVtbl->SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
   7588 #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) (This)->lpVtbl->SetSubpictureState(This,bState,dwFlags,ppCmd)
   7589 #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) (This)->lpVtbl->SelectAngle(This,ulAngle,dwFlags,ppCmd)
   7590 #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) (This)->lpVtbl->SelectParentalLevel(This,ulParentalLevel)
   7591 #define IDvdControl2_SelectParentalCountry(This,bCountry) (This)->lpVtbl->SelectParentalCountry(This,bCountry)
   7592 #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) (This)->lpVtbl->SelectKaraokeAudioPresentationMode(This,ulMode)
   7593 #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) (This)->lpVtbl->SelectVideoModePreference(This,ulPreferredDisplayMode)
   7594 #define IDvdControl2_SetDVDDirectory(This,pszwPath) (This)->lpVtbl->SetDVDDirectory(This,pszwPath)
   7595 #define IDvdControl2_ActivateAtPosition(This,point) (This)->lpVtbl->ActivateAtPosition(This,point)
   7596 #define IDvdControl2_SelectAtPosition(This,point) (This)->lpVtbl->SelectAtPosition(This,point)
   7597 #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) (This)->lpVtbl->PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
   7598 #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) (This)->lpVtbl->AcceptParentalLevelChange(This,bAccept)
   7599 #define IDvdControl2_SetOption(This,flag,fState) (This)->lpVtbl->SetOption(This,flag,fState)
   7600 #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) (This)->lpVtbl->SetState(This,pState,dwFlags,ppCmd)
   7601 #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) (This)->lpVtbl->PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
   7602 #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) (This)->lpVtbl->SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
   7603 #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) (This)->lpVtbl->SelectDefaultMenuLanguage(This,Language)
   7604 #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) (This)->lpVtbl->SelectDefaultAudioLanguage(This,Language,audioExtension)
   7605 #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) (This)->lpVtbl->SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
   7606 #endif
   7607 #endif
   7608   HRESULT WINAPI IDvdControl2_PlayTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
   7609   void __RPC_STUB IDvdControl2_PlayTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7610   HRESULT WINAPI IDvdControl2_PlayChapterInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   7611   void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7612   HRESULT WINAPI IDvdControl2_PlayAtTimeInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
   7613   void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7614   HRESULT WINAPI IDvdControl2_Stop_Proxy(IDvdControl2 *This);
   7615   void __RPC_STUB IDvdControl2_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7616   HRESULT WINAPI IDvdControl2_ReturnFromSubmenu_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7617   void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7618   HRESULT WINAPI IDvdControl2_PlayAtTime_Proxy(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
   7619   void __RPC_STUB IDvdControl2_PlayAtTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7620   HRESULT WINAPI IDvdControl2_PlayChapter_Proxy(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   7621   void __RPC_STUB IDvdControl2_PlayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7622   HRESULT WINAPI IDvdControl2_PlayPrevChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7623   void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7624   HRESULT WINAPI IDvdControl2_ReplayChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7625   void __RPC_STUB IDvdControl2_ReplayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7626   HRESULT WINAPI IDvdControl2_PlayNextChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7627   void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7628   HRESULT WINAPI IDvdControl2_PlayForwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   7629   void __RPC_STUB IDvdControl2_PlayForwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7630   HRESULT WINAPI IDvdControl2_PlayBackwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   7631   void __RPC_STUB IDvdControl2_PlayBackwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7632   HRESULT WINAPI IDvdControl2_ShowMenu_Proxy(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
   7633   void __RPC_STUB IDvdControl2_ShowMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7634   HRESULT WINAPI IDvdControl2_Resume_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   7635   void __RPC_STUB IDvdControl2_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7636   HRESULT WINAPI IDvdControl2_SelectRelativeButton_Proxy(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
   7637   void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7638   HRESULT WINAPI IDvdControl2_ActivateButton_Proxy(IDvdControl2 *This);
   7639   void __RPC_STUB IDvdControl2_ActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7640   HRESULT WINAPI IDvdControl2_SelectButton_Proxy(IDvdControl2 *This,ULONG ulButton);
   7641   void __RPC_STUB IDvdControl2_SelectButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7642   HRESULT WINAPI IDvdControl2_SelectAndActivateButton_Proxy(IDvdControl2 *This,ULONG ulButton);
   7643   void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7644   HRESULT WINAPI IDvdControl2_StillOff_Proxy(IDvdControl2 *This);
   7645   void __RPC_STUB IDvdControl2_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7646   HRESULT WINAPI IDvdControl2_Pause_Proxy(IDvdControl2 *This,WINBOOL bState);
   7647   void __RPC_STUB IDvdControl2_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7648   HRESULT WINAPI IDvdControl2_SelectAudioStream_Proxy(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
   7649   void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7650   HRESULT WINAPI IDvdControl2_SelectSubpictureStream_Proxy(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
   7651   void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7652   HRESULT WINAPI IDvdControl2_SetSubpictureState_Proxy(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
   7653   void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7654   HRESULT WINAPI IDvdControl2_SelectAngle_Proxy(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
   7655   void __RPC_STUB IDvdControl2_SelectAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7656   HRESULT WINAPI IDvdControl2_SelectParentalLevel_Proxy(IDvdControl2 *This,ULONG ulParentalLevel);
   7657   void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7658   HRESULT WINAPI IDvdControl2_SelectParentalCountry_Proxy(IDvdControl2 *This,BYTE bCountry[2]);
   7659   void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7660   HRESULT WINAPI IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(IDvdControl2 *This,ULONG ulMode);
   7661   void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7662   HRESULT WINAPI IDvdControl2_SelectVideoModePreference_Proxy(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
   7663   void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7664   HRESULT WINAPI IDvdControl2_SetDVDDirectory_Proxy(IDvdControl2 *This,LPCWSTR pszwPath);
   7665   void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7666   HRESULT WINAPI IDvdControl2_ActivateAtPosition_Proxy(IDvdControl2 *This,POINT point);
   7667   void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7668   HRESULT WINAPI IDvdControl2_SelectAtPosition_Proxy(IDvdControl2 *This,POINT point);
   7669   void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7670   HRESULT WINAPI IDvdControl2_PlayChaptersAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
   7671   void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7672   HRESULT WINAPI IDvdControl2_AcceptParentalLevelChange_Proxy(IDvdControl2 *This,WINBOOL bAccept);
   7673   void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7674   HRESULT WINAPI IDvdControl2_SetOption_Proxy(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
   7675   void __RPC_STUB IDvdControl2_SetOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7676   HRESULT WINAPI IDvdControl2_SetState_Proxy(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
   7677   void __RPC_STUB IDvdControl2_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7678   HRESULT WINAPI IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
   7679   void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7680   HRESULT WINAPI IDvdControl2_SetGPRM_Proxy(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
   7681   void __RPC_STUB IDvdControl2_SetGPRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7682   HRESULT WINAPI IDvdControl2_SelectDefaultMenuLanguage_Proxy(IDvdControl2 *This,LCID Language);
   7683   void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7684   HRESULT WINAPI IDvdControl2_SelectDefaultAudioLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
   7685   void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7686   HRESULT WINAPI IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
   7687   void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7688 #endif
   7689 
   7690   enum DVD_TextStringType {
   7691     DVD_Struct_Volume = 0x1,DVD_Struct_Title = 0x2,DVD_Struct_ParentalID = 0x3,DVD_Struct_PartOfTitle = 0x4,DVD_Struct_Cell = 0x5,
   7692     DVD_Stream_Audio = 0x10,DVD_Stream_Subpicture = 0x11,DVD_Stream_Angle = 0x12,DVD_Channel_Audio = 0x20,DVD_General_Name = 0x30,
   7693     DVD_General_Comments = 0x31,DVD_Title_Series = 0x38,DVD_Title_Movie = 0x39,DVD_Title_Video = 0x3a,DVD_Title_Album = 0x3b,DVD_Title_Song = 0x3c,
   7694     DVD_Title_Other = 0x3f,DVD_Title_Sub_Series = 0x40,DVD_Title_Sub_Movie = 0x41,DVD_Title_Sub_Video = 0x42,DVD_Title_Sub_Album = 0x43,
   7695     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,
   7696     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
   7697   };
   7698 
   7699   enum DVD_TextCharSet {
   7700     DVD_CharSet_Unicode = 0,DVD_CharSet_ISO646 = 1,DVD_CharSet_JIS_Roman_Kanji = 2,DVD_CharSet_ISO8859_1 = 3,
   7701     DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
   7702   };
   7703 #define DVD_TITLE_MENU 0x000
   7704 #define DVD_STREAM_DATA_CURRENT 0x800
   7705 #define DVD_STREAM_DATA_VMGM 0x400
   7706 #define DVD_STREAM_DATA_VTSM 0x401
   7707 #define DVD_DEFAULT_AUDIO_STREAM 0x0f
   7708 
   7709   typedef struct tagDVD_DECODER_CAPS {
   7710     DWORD dwSize;
   7711     DWORD dwAudioCaps;
   7712     double dFwdMaxRateVideo;
   7713     double dFwdMaxRateAudio;
   7714     double dFwdMaxRateSP;
   7715     double dBwdMaxRateVideo;
   7716     double dBwdMaxRateAudio;
   7717     double dBwdMaxRateSP;
   7718     DWORD dwRes1;
   7719     DWORD dwRes2;
   7720     DWORD dwRes3;
   7721     DWORD dwRes4;
   7722   } DVD_DECODER_CAPS;
   7723 
   7724 #define DVD_AUDIO_CAPS_AC3 0x00000001
   7725 #define DVD_AUDIO_CAPS_MPEG2 0x00000002
   7726 #define DVD_AUDIO_CAPS_LPCM 0x00000004
   7727 #define DVD_AUDIO_CAPS_DTS 0x00000008
   7728 #define DVD_AUDIO_CAPS_SDDS 0x00000010
   7729 
   7730   extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
   7731   extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
   7732 #ifndef __IDvdInfo2_INTERFACE_DEFINED__
   7733 #define __IDvdInfo2_INTERFACE_DEFINED__
   7734   EXTERN_C const IID IID_IDvdInfo2;
   7735 #if defined(__cplusplus) && !defined(CINTERFACE)
   7736   struct IDvdInfo2 : public IUnknown {
   7737   public:
   7738     virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
   7739     virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
   7740     virtual HRESULT WINAPI GetTotalTitleTime(DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags) = 0;
   7741     virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
   7742     virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
   7743     virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
   7744     virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled) = 0;
   7745     virtual HRESULT WINAPI GetCurrentUOPS(ULONG *pulUOPs) = 0;
   7746     virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
   7747     virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
   7748     virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   7749     virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   7750     virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle) = 0;
   7751     virtual HRESULT WINAPI GetVMGAttributes(DVD_MenuAttributes *pATR) = 0;
   7752     virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoAttributes *pATR) = 0;
   7753     virtual HRESULT WINAPI GetAudioAttributes(ULONG ulStream,DVD_AudioAttributes *pATR) = 0;
   7754     virtual HRESULT WINAPI GetKaraokeAttributes(ULONG ulStream,DVD_KaraokeAttributes *pAttributes) = 0;
   7755     virtual HRESULT WINAPI GetSubpictureAttributes(ULONG ulStream,DVD_SubpictureAttributes *pATR) = 0;
   7756     virtual HRESULT WINAPI GetDVDVolumeInfo(ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
   7757     virtual HRESULT WINAPI GetDVDTextNumberOfLanguages(ULONG *pulNumOfLangs) = 0;
   7758     virtual HRESULT WINAPI GetDVDTextLanguageInfo(ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet) = 0;
   7759     virtual HRESULT WINAPI GetDVDTextStringAsNative(ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
   7760     virtual HRESULT WINAPI GetDVDTextStringAsUnicode(ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
   7761     virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,BYTE pbCountryCode[2]) = 0;
   7762     virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumOfChapters) = 0;
   7763     virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
   7764     virtual HRESULT WINAPI GetDVDDirectory(LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize) = 0;
   7765     virtual HRESULT WINAPI IsAudioStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
   7766     virtual HRESULT WINAPI GetDiscID(LPCWSTR pszwPath,ULONGLONG *pullDiscID) = 0;
   7767     virtual HRESULT WINAPI GetState(IDvdState **pStateData) = 0;
   7768     virtual HRESULT WINAPI GetMenuLanguages(LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages) = 0;
   7769     virtual HRESULT WINAPI GetButtonAtPosition(POINT point,ULONG *pulButtonIndex) = 0;
   7770     virtual HRESULT WINAPI GetCmdFromEvent(LONG_PTR lParam1,IDvdCmd **pCmdObj) = 0;
   7771     virtual HRESULT WINAPI GetDefaultMenuLanguage(LCID *pLanguage) = 0;
   7772     virtual HRESULT WINAPI GetDefaultAudioLanguage(LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
   7773     virtual HRESULT WINAPI GetDefaultSubpictureLanguage(LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
   7774     virtual HRESULT WINAPI GetDecoderCaps(DVD_DECODER_CAPS *pCaps) = 0;
   7775     virtual HRESULT WINAPI GetButtonRect(ULONG ulButton,RECT *pRect) = 0;
   7776     virtual HRESULT WINAPI IsSubpictureStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
   7777   };
   7778 #else
   7779   typedef struct IDvdInfo2Vtbl {
   7780     BEGIN_INTERFACE
   7781       HRESULT (WINAPI *QueryInterface)(IDvdInfo2 *This,REFIID riid,void **ppvObject);
   7782       ULONG (WINAPI *AddRef)(IDvdInfo2 *This);
   7783       ULONG (WINAPI *Release)(IDvdInfo2 *This);
   7784       HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
   7785       HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
   7786       HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
   7787       HRESULT (WINAPI *GetCurrentButton)(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   7788       HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   7789       HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   7790       HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
   7791       HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo2 *This,ULONG *pulUOPs);
   7792       HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
   7793       HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
   7794       HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   7795       HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   7796       HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
   7797       HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
   7798       HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
   7799       HRESULT (WINAPI *GetAudioAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
   7800       HRESULT (WINAPI *GetKaraokeAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
   7801       HRESULT (WINAPI *GetSubpictureAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
   7802       HRESULT (WINAPI *GetDVDVolumeInfo)(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   7803       HRESULT (WINAPI *GetDVDTextNumberOfLanguages)(IDvdInfo2 *This,ULONG *pulNumOfLangs);
   7804       HRESULT (WINAPI *GetDVDTextLanguageInfo)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
   7805       HRESULT (WINAPI *GetDVDTextStringAsNative)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   7806       HRESULT (WINAPI *GetDVDTextStringAsUnicode)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   7807       HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
   7808       HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
   7809       HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
   7810       HRESULT (WINAPI *GetDVDDirectory)(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
   7811       HRESULT (WINAPI *IsAudioStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   7812       HRESULT (WINAPI *GetDiscID)(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
   7813       HRESULT (WINAPI *GetState)(IDvdInfo2 *This,IDvdState **pStateData);
   7814       HRESULT (WINAPI *GetMenuLanguages)(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
   7815       HRESULT (WINAPI *GetButtonAtPosition)(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
   7816       HRESULT (WINAPI *GetCmdFromEvent)(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
   7817       HRESULT (WINAPI *GetDefaultMenuLanguage)(IDvdInfo2 *This,LCID *pLanguage);
   7818       HRESULT (WINAPI *GetDefaultAudioLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
   7819       HRESULT (WINAPI *GetDefaultSubpictureLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
   7820       HRESULT (WINAPI *GetDecoderCaps)(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
   7821       HRESULT (WINAPI *GetButtonRect)(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
   7822       HRESULT (WINAPI *IsSubpictureStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   7823     END_INTERFACE
   7824   } IDvdInfo2Vtbl;
   7825   struct IDvdInfo2 {
   7826     CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
   7827   };
   7828 #ifdef COBJMACROS
   7829 #define IDvdInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7830 #define IDvdInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
   7831 #define IDvdInfo2_Release(This) (This)->lpVtbl->Release(This)
   7832 #define IDvdInfo2_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
   7833 #define IDvdInfo2_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
   7834 #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) (This)->lpVtbl->GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
   7835 #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
   7836 #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
   7837 #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
   7838 #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
   7839 #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) (This)->lpVtbl->GetCurrentUOPS(This,pulUOPs)
   7840 #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
   7841 #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
   7842 #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
   7843 #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
   7844 #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pMenu,pTitle)
   7845 #define IDvdInfo2_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
   7846 #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
   7847 #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) (This)->lpVtbl->GetAudioAttributes(This,ulStream,pATR)
   7848 #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) (This)->lpVtbl->GetKaraokeAttributes(This,ulStream,pAttributes)
   7849 #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) (This)->lpVtbl->GetSubpictureAttributes(This,ulStream,pATR)
   7850 #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) (This)->lpVtbl->GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
   7851 #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) (This)->lpVtbl->GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
   7852 #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) (This)->lpVtbl->GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
   7853 #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
   7854 #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
   7855 #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
   7856 #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
   7857 #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
   7858 #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) (This)->lpVtbl->GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
   7859 #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
   7860 #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) (This)->lpVtbl->GetDiscID(This,pszwPath,pullDiscID)
   7861 #define IDvdInfo2_GetState(This,pStateData) (This)->lpVtbl->GetState(This,pStateData)
   7862 #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) (This)->lpVtbl->GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
   7863 #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) (This)->lpVtbl->GetButtonAtPosition(This,point,pulButtonIndex)
   7864 #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) (This)->lpVtbl->GetCmdFromEvent(This,lParam1,pCmdObj)
   7865 #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) (This)->lpVtbl->GetDefaultMenuLanguage(This,pLanguage)
   7866 #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) (This)->lpVtbl->GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
   7867 #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) (This)->lpVtbl->GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
   7868 #define IDvdInfo2_GetDecoderCaps(This,pCaps) (This)->lpVtbl->GetDecoderCaps(This,pCaps)
   7869 #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) (This)->lpVtbl->GetButtonRect(This,ulButton,pRect)
   7870 #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
   7871 #endif
   7872 #endif
   7873   HRESULT WINAPI IDvdInfo2_GetCurrentDomain_Proxy(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
   7874   void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7875   HRESULT WINAPI IDvdInfo2_GetCurrentLocation_Proxy(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
   7876   void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7877   HRESULT WINAPI IDvdInfo2_GetTotalTitleTime_Proxy(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
   7878   void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7879   HRESULT WINAPI IDvdInfo2_GetCurrentButton_Proxy(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   7880   void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7881   HRESULT WINAPI IDvdInfo2_GetCurrentAngle_Proxy(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   7882   void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7883   HRESULT WINAPI IDvdInfo2_GetCurrentAudio_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   7884   void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7885   HRESULT WINAPI IDvdInfo2_GetCurrentSubpicture_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
   7886   void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7887   HRESULT WINAPI IDvdInfo2_GetCurrentUOPS_Proxy(IDvdInfo2 *This,ULONG *pulUOPs);
   7888   void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7889   HRESULT WINAPI IDvdInfo2_GetAllSPRMs_Proxy(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
   7890   void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7891   HRESULT WINAPI IDvdInfo2_GetAllGPRMs_Proxy(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
   7892   void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7893   HRESULT WINAPI IDvdInfo2_GetAudioLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   7894   void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7895   HRESULT WINAPI IDvdInfo2_GetSubpictureLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   7896   void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7897   HRESULT WINAPI IDvdInfo2_GetTitleAttributes_Proxy(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
   7898   void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7899   HRESULT WINAPI IDvdInfo2_GetVMGAttributes_Proxy(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
   7900   void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7901   HRESULT WINAPI IDvdInfo2_GetCurrentVideoAttributes_Proxy(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
   7902   void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7903   HRESULT WINAPI IDvdInfo2_GetAudioAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
   7904   void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7905   HRESULT WINAPI IDvdInfo2_GetKaraokeAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
   7906   void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7907   HRESULT WINAPI IDvdInfo2_GetSubpictureAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
   7908   void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7909   HRESULT WINAPI IDvdInfo2_GetDVDVolumeInfo_Proxy(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   7910   void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7911   HRESULT WINAPI IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(IDvdInfo2 *This,ULONG *pulNumOfLangs);
   7912   void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7913   HRESULT WINAPI IDvdInfo2_GetDVDTextLanguageInfo_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
   7914   void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7915   HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsNative_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   7916   void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7917   HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   7918   void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7919   HRESULT WINAPI IDvdInfo2_GetPlayerParentalLevel_Proxy(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
   7920   void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7921   HRESULT WINAPI IDvdInfo2_GetNumberOfChapters_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
   7922   void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7923   HRESULT WINAPI IDvdInfo2_GetTitleParentalLevels_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
   7924   void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7925   HRESULT WINAPI IDvdInfo2_GetDVDDirectory_Proxy(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
   7926   void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7927   HRESULT WINAPI IDvdInfo2_IsAudioStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   7928   void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7929   HRESULT WINAPI IDvdInfo2_GetDiscID_Proxy(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
   7930   void __RPC_STUB IDvdInfo2_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7931   HRESULT WINAPI IDvdInfo2_GetState_Proxy(IDvdInfo2 *This,IDvdState **pStateData);
   7932   void __RPC_STUB IDvdInfo2_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7933   HRESULT WINAPI IDvdInfo2_GetMenuLanguages_Proxy(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
   7934   void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7935   HRESULT WINAPI IDvdInfo2_GetButtonAtPosition_Proxy(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
   7936   void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7937   HRESULT WINAPI IDvdInfo2_GetCmdFromEvent_Proxy(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
   7938   void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7939   HRESULT WINAPI IDvdInfo2_GetDefaultMenuLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage);
   7940   void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7941   HRESULT WINAPI IDvdInfo2_GetDefaultAudioLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
   7942   void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7943   HRESULT WINAPI IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
   7944   void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7945   HRESULT WINAPI IDvdInfo2_GetDecoderCaps_Proxy(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
   7946   void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7947   HRESULT WINAPI IDvdInfo2_GetButtonRect_Proxy(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
   7948   void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7949   HRESULT WINAPI IDvdInfo2_IsSubpictureStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   7950   void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7951 #endif
   7952 
   7953   typedef enum _AM_DVD_GRAPH_FLAGS {
   7954     AM_DVD_HWDEC_PREFER = 0x1,AM_DVD_HWDEC_ONLY = 0x2,AM_DVD_SWDEC_PREFER = 0x4,AM_DVD_SWDEC_ONLY = 0x8,AM_DVD_NOVPE = 0x100,
   7955     AM_DVD_VMR9_ONLY = 0x800
   7956   } AM_DVD_GRAPH_FLAGS;
   7957 
   7958   typedef enum _AM_DVD_STREAM_FLAGS {
   7959     AM_DVD_STREAM_VIDEO = 0x1,AM_DVD_STREAM_AUDIO = 0x2,AM_DVD_STREAM_SUBPIC = 0x4
   7960   } AM_DVD_STREAM_FLAGS;
   7961 
   7962   typedef struct __MIDL___MIDL_itf_strmif_0389_0001 {
   7963     HRESULT hrVPEStatus;
   7964     WINBOOL bDvdVolInvalid;
   7965     WINBOOL bDvdVolUnknown;
   7966     WINBOOL bNoLine21In;
   7967     WINBOOL bNoLine21Out;
   7968     int iNumStreams;
   7969     int iNumStreamsFailed;
   7970     DWORD dwFailedStreamsFlag;
   7971   } AM_DVD_RENDERSTATUS;
   7972 
   7973   extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec;
   7974   extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec;
   7975 #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
   7976 #define __IDvdGraphBuilder_INTERFACE_DEFINED__
   7977   EXTERN_C const IID IID_IDvdGraphBuilder;
   7978 #if defined(__cplusplus) && !defined(CINTERFACE)
   7979   struct IDvdGraphBuilder : public IUnknown {
   7980   public:
   7981     virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppGB) = 0;
   7982     virtual HRESULT WINAPI GetDvdInterface(REFIID riid,void **ppvIF) = 0;
   7983     virtual HRESULT WINAPI RenderDvdVideoVolume(LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus) = 0;
   7984   };
   7985 #else
   7986   typedef struct IDvdGraphBuilderVtbl {
   7987     BEGIN_INTERFACE
   7988       HRESULT (WINAPI *QueryInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvObject);
   7989       ULONG (WINAPI *AddRef)(IDvdGraphBuilder *This);
   7990       ULONG (WINAPI *Release)(IDvdGraphBuilder *This);
   7991       HRESULT (WINAPI *GetFiltergraph)(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
   7992       HRESULT (WINAPI *GetDvdInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
   7993       HRESULT (WINAPI *RenderDvdVideoVolume)(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
   7994     END_INTERFACE
   7995   } IDvdGraphBuilderVtbl;
   7996   struct IDvdGraphBuilder {
   7997     CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
   7998   };
   7999 #ifdef COBJMACROS
   8000 #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8001 #define IDvdGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   8002 #define IDvdGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   8003 #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) (This)->lpVtbl->GetFiltergraph(This,ppGB)
   8004 #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) (This)->lpVtbl->GetDvdInterface(This,riid,ppvIF)
   8005 #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) (This)->lpVtbl->RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
   8006 #endif
   8007 #endif
   8008   HRESULT WINAPI IDvdGraphBuilder_GetFiltergraph_Proxy(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
   8009   void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8010   HRESULT WINAPI IDvdGraphBuilder_GetDvdInterface_Proxy(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
   8011   void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8012   HRESULT WINAPI IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
   8013   void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8014 #endif
   8015 
   8016 #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
   8017 #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
   8018   EXTERN_C const IID IID_IDDrawExclModeVideo;
   8019 #if defined(__cplusplus) && !defined(CINTERFACE)
   8020   struct IDDrawExclModeVideo : public IUnknown {
   8021   public:
   8022     virtual HRESULT WINAPI SetDDrawObject(IDirectDraw *pDDrawObject) = 0;
   8023     virtual HRESULT WINAPI GetDDrawObject(IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal) = 0;
   8024     virtual HRESULT WINAPI SetDDrawSurface(IDirectDrawSurface *pDDrawSurface) = 0;
   8025     virtual HRESULT WINAPI GetDDrawSurface(IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal) = 0;
   8026     virtual HRESULT WINAPI SetDrawParameters(const RECT *prcSource,const RECT *prcTarget) = 0;
   8027     virtual HRESULT WINAPI GetNativeVideoProps(DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY) = 0;
   8028     virtual HRESULT WINAPI SetCallbackInterface(IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags) = 0;
   8029   };
   8030 #else
   8031   typedef struct IDDrawExclModeVideoVtbl {
   8032     BEGIN_INTERFACE
   8033       HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideo *This,REFIID riid,void **ppvObject);
   8034       ULONG (WINAPI *AddRef)(IDDrawExclModeVideo *This);
   8035       ULONG (WINAPI *Release)(IDDrawExclModeVideo *This);
   8036       HRESULT (WINAPI *SetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
   8037       HRESULT (WINAPI *GetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
   8038       HRESULT (WINAPI *SetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
   8039       HRESULT (WINAPI *GetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
   8040       HRESULT (WINAPI *SetDrawParameters)(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
   8041       HRESULT (WINAPI *GetNativeVideoProps)(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
   8042       HRESULT (WINAPI *SetCallbackInterface)(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
   8043     END_INTERFACE
   8044   } IDDrawExclModeVideoVtbl;
   8045   struct IDDrawExclModeVideo {
   8046     CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
   8047   };
   8048 #ifdef COBJMACROS
   8049 #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8050 #define IDDrawExclModeVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
   8051 #define IDDrawExclModeVideo_Release(This) (This)->lpVtbl->Release(This)
   8052 #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) (This)->lpVtbl->SetDDrawObject(This,pDDrawObject)
   8053 #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) (This)->lpVtbl->GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
   8054 #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) (This)->lpVtbl->SetDDrawSurface(This,pDDrawSurface)
   8055 #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) (This)->lpVtbl->GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
   8056 #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) (This)->lpVtbl->SetDrawParameters(This,prcSource,prcTarget)
   8057 #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) (This)->lpVtbl->GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
   8058 #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) (This)->lpVtbl->SetCallbackInterface(This,pCallback,dwFlags)
   8059 #endif
   8060 #endif
   8061   HRESULT WINAPI IDDrawExclModeVideo_SetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
   8062   void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8063   HRESULT WINAPI IDDrawExclModeVideo_GetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
   8064   void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8065   HRESULT WINAPI IDDrawExclModeVideo_SetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
   8066   void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8067   HRESULT WINAPI IDDrawExclModeVideo_GetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
   8068   void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8069   HRESULT WINAPI IDDrawExclModeVideo_SetDrawParameters_Proxy(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
   8070   void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8071   HRESULT WINAPI IDDrawExclModeVideo_GetNativeVideoProps_Proxy(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
   8072   void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8073   HRESULT WINAPI IDDrawExclModeVideo_SetCallbackInterface_Proxy(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
   8074   void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8075 #endif
   8076 
   8077   enum _AM_OVERLAY_NOTIFY_FLAGS {
   8078     AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4
   8079   };
   8080 
   8081   extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
   8082   extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
   8083 #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
   8084 #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
   8085   EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
   8086 #if defined(__cplusplus) && !defined(CINTERFACE)
   8087   struct IDDrawExclModeVideoCallback : public IUnknown {
   8088   public:
   8089     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;
   8090     virtual HRESULT WINAPI OnUpdateColorKey(const COLORKEY *pKey,DWORD dwColor) = 0;
   8091     virtual HRESULT WINAPI OnUpdateSize(DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight) = 0;
   8092   };
   8093 #else
   8094   typedef struct IDDrawExclModeVideoCallbackVtbl {
   8095     BEGIN_INTERFACE
   8096       HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideoCallback *This,REFIID riid,void **ppvObject);
   8097       ULONG (WINAPI *AddRef)(IDDrawExclModeVideoCallback *This);
   8098       ULONG (WINAPI *Release)(IDDrawExclModeVideoCallback *This);
   8099       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);
   8100       HRESULT (WINAPI *OnUpdateColorKey)(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
   8101       HRESULT (WINAPI *OnUpdateSize)(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
   8102     END_INTERFACE
   8103   } IDDrawExclModeVideoCallbackVtbl;
   8104   struct IDDrawExclModeVideoCallback {
   8105     CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
   8106   };
   8107 #ifdef COBJMACROS
   8108 #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8109 #define IDDrawExclModeVideoCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   8110 #define IDDrawExclModeVideoCallback_Release(This) (This)->lpVtbl->Release(This)
   8111 #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) (This)->lpVtbl->OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
   8112 #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) (This)->lpVtbl->OnUpdateColorKey(This,pKey,dwColor)
   8113 #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) (This)->lpVtbl->OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
   8114 #endif
   8115 #endif
   8116   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);
   8117   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8118   HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
   8119   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8120   HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
   8121   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8122 #endif
   8123 
   8124   extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_c_ifspec;
   8125   extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_s_ifspec;
   8126 #ifndef __IPinConnection_INTERFACE_DEFINED__
   8127 #define __IPinConnection_INTERFACE_DEFINED__
   8128   EXTERN_C const IID IID_IPinConnection;
   8129 #if defined(__cplusplus) && !defined(CINTERFACE)
   8130   struct IPinConnection : public IUnknown {
   8131   public:
   8132     virtual HRESULT WINAPI DynamicQueryAccept(const AM_MEDIA_TYPE *pmt) = 0;
   8133     virtual HRESULT WINAPI NotifyEndOfStream(HANDLE hNotifyEvent) = 0;
   8134     virtual HRESULT WINAPI IsEndPin(void) = 0;
   8135     virtual HRESULT WINAPI DynamicDisconnect(void) = 0;
   8136   };
   8137 #else
   8138   typedef struct IPinConnectionVtbl {
   8139     BEGIN_INTERFACE
   8140       HRESULT (WINAPI *QueryInterface)(IPinConnection *This,REFIID riid,void **ppvObject);
   8141       ULONG (WINAPI *AddRef)(IPinConnection *This);
   8142       ULONG (WINAPI *Release)(IPinConnection *This);
   8143       HRESULT (WINAPI *DynamicQueryAccept)(IPinConnection *This,const AM_MEDIA_TYPE *pmt);
   8144       HRESULT (WINAPI *NotifyEndOfStream)(IPinConnection *This,HANDLE hNotifyEvent);
   8145       HRESULT (WINAPI *IsEndPin)(IPinConnection *This);
   8146       HRESULT (WINAPI *DynamicDisconnect)(IPinConnection *This);
   8147     END_INTERFACE
   8148   } IPinConnectionVtbl;
   8149   struct IPinConnection {
   8150     CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
   8151   };
   8152 #ifdef COBJMACROS
   8153 #define IPinConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8154 #define IPinConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
   8155 #define IPinConnection_Release(This) (This)->lpVtbl->Release(This)
   8156 #define IPinConnection_DynamicQueryAccept(This,pmt) (This)->lpVtbl->DynamicQueryAccept(This,pmt)
   8157 #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) (This)->lpVtbl->NotifyEndOfStream(This,hNotifyEvent)
   8158 #define IPinConnection_IsEndPin(This) (This)->lpVtbl->IsEndPin(This)
   8159 #define IPinConnection_DynamicDisconnect(This) (This)->lpVtbl->DynamicDisconnect(This)
   8160 #endif
   8161 #endif
   8162   HRESULT WINAPI IPinConnection_DynamicQueryAccept_Proxy(IPinConnection *This,const AM_MEDIA_TYPE *pmt);
   8163   void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8164   HRESULT WINAPI IPinConnection_NotifyEndOfStream_Proxy(IPinConnection *This,HANDLE hNotifyEvent);
   8165   void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8166   HRESULT WINAPI IPinConnection_IsEndPin_Proxy(IPinConnection *This);
   8167   void __RPC_STUB IPinConnection_IsEndPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8168   HRESULT WINAPI IPinConnection_DynamicDisconnect_Proxy(IPinConnection *This);
   8169   void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8170 #endif
   8171 
   8172 #ifndef __IPinFlowControl_INTERFACE_DEFINED__
   8173 #define __IPinFlowControl_INTERFACE_DEFINED__
   8174   EXTERN_C const IID IID_IPinFlowControl;
   8175 #if defined(__cplusplus) && !defined(CINTERFACE)
   8176   struct IPinFlowControl : public IUnknown {
   8177   public:
   8178     virtual HRESULT WINAPI Block(DWORD dwBlockFlags,HANDLE hEvent) = 0;
   8179   };
   8180 #else
   8181   typedef struct IPinFlowControlVtbl {
   8182     BEGIN_INTERFACE
   8183       HRESULT (WINAPI *QueryInterface)(IPinFlowControl *This,REFIID riid,void **ppvObject);
   8184       ULONG (WINAPI *AddRef)(IPinFlowControl *This);
   8185       ULONG (WINAPI *Release)(IPinFlowControl *This);
   8186       HRESULT (WINAPI *Block)(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent);
   8187     END_INTERFACE
   8188   } IPinFlowControlVtbl;
   8189   struct IPinFlowControl {
   8190     CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
   8191   };
   8192 #ifdef COBJMACROS
   8193 #define IPinFlowControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8194 #define IPinFlowControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   8195 #define IPinFlowControl_Release(This) (This)->lpVtbl->Release(This)
   8196 #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) (This)->lpVtbl->Block(This,dwBlockFlags,hEvent)
   8197 #endif
   8198 #endif
   8199   HRESULT WINAPI IPinFlowControl_Block_Proxy(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent);
   8200   void __RPC_STUB IPinFlowControl_Block_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8201 #endif
   8202 
   8203   enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
   8204     AM_PIN_FLOW_CONTROL_BLOCK = 0x1
   8205   };
   8206   typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
   8207     AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2,
   8208     AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4
   8209   } AM_GRAPH_CONFIG_RECONNECT_FLAGS;
   8210 
   8211   enum _REM_FILTER_FLAGS {
   8212     REMFILTERF_LEAVECONNECTED = 0x1
   8213   };
   8214 
   8215   typedef enum _AM_FILTER_FLAGS {
   8216     AM_FILTER_FLAGS_REMOVABLE = 0x1
   8217   } AM_FILTER_FLAGS;
   8218 
   8219   extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec;
   8220   extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec;
   8221 #ifndef __IGraphConfig_INTERFACE_DEFINED__
   8222 #define __IGraphConfig_INTERFACE_DEFINED__
   8223   EXTERN_C const IID IID_IGraphConfig;
   8224 #if defined(__cplusplus) && !defined(CINTERFACE)
   8225   struct IGraphConfig : public IUnknown {
   8226   public:
   8227     virtual HRESULT WINAPI Reconnect(IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags) = 0;
   8228     virtual HRESULT WINAPI Reconfigure(IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent) = 0;
   8229     virtual HRESULT WINAPI AddFilterToCache(IBaseFilter *pFilter) = 0;
   8230     virtual HRESULT WINAPI EnumCacheFilter(IEnumFilters **pEnum) = 0;
   8231     virtual HRESULT WINAPI RemoveFilterFromCache(IBaseFilter *pFilter) = 0;
   8232     virtual HRESULT WINAPI GetStartTime(REFERENCE_TIME *prtStart) = 0;
   8233     virtual HRESULT WINAPI PushThroughData(IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort) = 0;
   8234     virtual HRESULT WINAPI SetFilterFlags(IBaseFilter *pFilter,DWORD dwFlags) = 0;
   8235     virtual HRESULT WINAPI GetFilterFlags(IBaseFilter *pFilter,DWORD *pdwFlags) = 0;
   8236     virtual HRESULT WINAPI RemoveFilterEx(IBaseFilter *pFilter,DWORD Flags) = 0;
   8237   };
   8238 #else
   8239   typedef struct IGraphConfigVtbl {
   8240     BEGIN_INTERFACE
   8241       HRESULT (WINAPI *QueryInterface)(IGraphConfig *This,REFIID riid,void **ppvObject);
   8242       ULONG (WINAPI *AddRef)(IGraphConfig *This);
   8243       ULONG (WINAPI *Release)(IGraphConfig *This);
   8244       HRESULT (WINAPI *Reconnect)(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags);
   8245       HRESULT (WINAPI *Reconfigure)(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent);
   8246       HRESULT (WINAPI *AddFilterToCache)(IGraphConfig *This,IBaseFilter *pFilter);
   8247       HRESULT (WINAPI *EnumCacheFilter)(IGraphConfig *This,IEnumFilters **pEnum);
   8248       HRESULT (WINAPI *RemoveFilterFromCache)(IGraphConfig *This,IBaseFilter *pFilter);
   8249       HRESULT (WINAPI *GetStartTime)(IGraphConfig *This,REFERENCE_TIME *prtStart);
   8250       HRESULT (WINAPI *PushThroughData)(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort);
   8251       HRESULT (WINAPI *SetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags);
   8252       HRESULT (WINAPI *GetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags);
   8253       HRESULT (WINAPI *RemoveFilterEx)(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags);
   8254     END_INTERFACE
   8255   } IGraphConfigVtbl;
   8256   struct IGraphConfig {
   8257     CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
   8258   };
   8259 #ifdef COBJMACROS
   8260 #define IGraphConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8261 #define IGraphConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   8262 #define IGraphConfig_Release(This) (This)->lpVtbl->Release(This)
   8263 #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) (This)->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
   8264 #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) (This)->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
   8265 #define IGraphConfig_AddFilterToCache(This,pFilter) (This)->lpVtbl->AddFilterToCache(This,pFilter)
   8266 #define IGraphConfig_EnumCacheFilter(This,pEnum) (This)->lpVtbl->EnumCacheFilter(This,pEnum)
   8267 #define IGraphConfig_RemoveFilterFromCache(This,pFilter) (This)->lpVtbl->RemoveFilterFromCache(This,pFilter)
   8268 #define IGraphConfig_GetStartTime(This,prtStart) (This)->lpVtbl->GetStartTime(This,prtStart)
   8269 #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) (This)->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort)
   8270 #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) (This)->lpVtbl->SetFilterFlags(This,pFilter,dwFlags)
   8271 #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) (This)->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags)
   8272 #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) (This)->lpVtbl->RemoveFilterEx(This,pFilter,Flags)
   8273 #endif
   8274 #endif
   8275   HRESULT WINAPI IGraphConfig_Reconnect_Proxy(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags);
   8276   void __RPC_STUB IGraphConfig_Reconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8277   HRESULT WINAPI IGraphConfig_Reconfigure_Proxy(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent);
   8278   void __RPC_STUB IGraphConfig_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8279   HRESULT WINAPI IGraphConfig_AddFilterToCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter);
   8280   void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8281   HRESULT WINAPI IGraphConfig_EnumCacheFilter_Proxy(IGraphConfig *This,IEnumFilters **pEnum);
   8282   void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8283   HRESULT WINAPI IGraphConfig_RemoveFilterFromCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter);
   8284   void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8285   HRESULT WINAPI IGraphConfig_GetStartTime_Proxy(IGraphConfig *This,REFERENCE_TIME *prtStart);
   8286   void __RPC_STUB IGraphConfig_GetStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8287   HRESULT WINAPI IGraphConfig_PushThroughData_Proxy(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort);
   8288   void __RPC_STUB IGraphConfig_PushThroughData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8289   HRESULT WINAPI IGraphConfig_SetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags);
   8290   void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8291   HRESULT WINAPI IGraphConfig_GetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags);
   8292   void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8293   HRESULT WINAPI IGraphConfig_RemoveFilterEx_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags);
   8294   void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8295 #endif
   8296 
   8297 #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
   8298 #define __IGraphConfigCallback_INTERFACE_DEFINED__
   8299   EXTERN_C const IID IID_IGraphConfigCallback;
   8300 #if defined(__cplusplus) && !defined(CINTERFACE)
   8301   struct IGraphConfigCallback : public IUnknown {
   8302   public:
   8303     virtual HRESULT WINAPI Reconfigure(PVOID pvContext,DWORD dwFlags) = 0;
   8304   };
   8305 #else
   8306   typedef struct IGraphConfigCallbackVtbl {
   8307     BEGIN_INTERFACE
   8308       HRESULT (WINAPI *QueryInterface)(IGraphConfigCallback *This,REFIID riid,void **ppvObject);
   8309       ULONG (WINAPI *AddRef)(IGraphConfigCallback *This);
   8310       ULONG (WINAPI *Release)(IGraphConfigCallback *This);
   8311       HRESULT (WINAPI *Reconfigure)(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags);
   8312     END_INTERFACE
   8313   } IGraphConfigCallbackVtbl;
   8314   struct IGraphConfigCallback {
   8315     CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
   8316   };
   8317 #ifdef COBJMACROS
   8318 #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8319 #define IGraphConfigCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   8320 #define IGraphConfigCallback_Release(This) (This)->lpVtbl->Release(This)
   8321 #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) (This)->lpVtbl->Reconfigure(This,pvContext,dwFlags)
   8322 #endif
   8323 #endif
   8324   HRESULT WINAPI IGraphConfigCallback_Reconfigure_Proxy(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags);
   8325   void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8326 #endif
   8327 
   8328 #ifndef __IFilterChain_INTERFACE_DEFINED__
   8329 #define __IFilterChain_INTERFACE_DEFINED__
   8330   EXTERN_C const IID IID_IFilterChain;
   8331 #if defined(__cplusplus) && !defined(CINTERFACE)
   8332   struct IFilterChain : public IUnknown {
   8333   public:
   8334     virtual HRESULT WINAPI StartChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   8335     virtual HRESULT WINAPI PauseChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   8336     virtual HRESULT WINAPI StopChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   8337     virtual HRESULT WINAPI RemoveChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   8338   };
   8339 #else
   8340   typedef struct IFilterChainVtbl {
   8341     BEGIN_INTERFACE
   8342       HRESULT (WINAPI *QueryInterface)(IFilterChain *This,REFIID riid,void **ppvObject);
   8343       ULONG (WINAPI *AddRef)(IFilterChain *This);
   8344       ULONG (WINAPI *Release)(IFilterChain *This);
   8345       HRESULT (WINAPI *StartChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   8346       HRESULT (WINAPI *PauseChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   8347       HRESULT (WINAPI *StopChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   8348       HRESULT (WINAPI *RemoveChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   8349     END_INTERFACE
   8350   } IFilterChainVtbl;
   8351   struct IFilterChain {
   8352     CONST_VTBL struct IFilterChainVtbl *lpVtbl;
   8353   };
   8354 #ifdef COBJMACROS
   8355 #define IFilterChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8356 #define IFilterChain_AddRef(This) (This)->lpVtbl->AddRef(This)
   8357 #define IFilterChain_Release(This) (This)->lpVtbl->Release(This)
   8358 #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StartChain(This,pStartFilter,pEndFilter)
   8359 #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->PauseChain(This,pStartFilter,pEndFilter)
   8360 #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StopChain(This,pStartFilter,pEndFilter)
   8361 #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter)
   8362 #endif
   8363 #endif
   8364   HRESULT WINAPI IFilterChain_StartChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   8365   void __RPC_STUB IFilterChain_StartChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8366   HRESULT WINAPI IFilterChain_PauseChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   8367   void __RPC_STUB IFilterChain_PauseChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8368   HRESULT WINAPI IFilterChain_StopChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   8369   void __RPC_STUB IFilterChain_StopChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8370   HRESULT WINAPI IFilterChain_RemoveChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   8371   void __RPC_STUB IFilterChain_RemoveChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8372 #endif
   8373 
   8374 #ifdef MINGW_HAS_DDRAW_H
   8375 #include <dshow/ddraw.h>
   8376 #endif
   8377 
   8378   typedef enum __MIDL___MIDL_itf_strmif_0397_0002 {
   8379     VMRSample_SyncPoint = 0x1,VMRSample_Preroll = 0x2,VMRSample_Discontinuity = 0x4,VMRSample_TimeValid = 0x8,VMRSample_SrcDstRectsValid = 0x10
   8380   } VMRPresentationFlags;
   8381 
   8382   typedef struct tagVMRPRESENTATIONINFO {
   8383     DWORD dwFlags;
   8384     LPDIRECTDRAWSURFACE7 lpSurf;
   8385     REFERENCE_TIME rtStart;
   8386     REFERENCE_TIME rtEnd;
   8387     SIZE szAspectRatio;
   8388     RECT rcSrc;
   8389     RECT rcDst;
   8390     DWORD dwTypeSpecificFlags;
   8391     DWORD dwInterlaceFlags;
   8392   } VMRPRESENTATIONINFO;
   8393 
   8394   extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec;
   8395   extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec;
   8396 #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
   8397 #define __IVMRImagePresenter_INTERFACE_DEFINED__
   8398   EXTERN_C const IID IID_IVMRImagePresenter;
   8399 #if defined(__cplusplus) && !defined(CINTERFACE)
   8400   struct IVMRImagePresenter : public IUnknown {
   8401   public:
   8402     virtual HRESULT WINAPI StartPresenting(DWORD_PTR dwUserID) = 0;
   8403     virtual HRESULT WINAPI StopPresenting(DWORD_PTR dwUserID) = 0;
   8404     virtual HRESULT WINAPI PresentImage(DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo) = 0;
   8405   };
   8406 #else
   8407   typedef struct IVMRImagePresenterVtbl {
   8408     BEGIN_INTERFACE
   8409       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenter *This,REFIID riid,void **ppvObject);
   8410       ULONG (WINAPI *AddRef)(IVMRImagePresenter *This);
   8411       ULONG (WINAPI *Release)(IVMRImagePresenter *This);
   8412       HRESULT (WINAPI *StartPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   8413       HRESULT (WINAPI *StopPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   8414       HRESULT (WINAPI *PresentImage)(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
   8415     END_INTERFACE
   8416   } IVMRImagePresenterVtbl;
   8417   struct IVMRImagePresenter {
   8418     CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
   8419   };
   8420 #ifdef COBJMACROS
   8421 #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8422 #define IVMRImagePresenter_AddRef(This) (This)->lpVtbl->AddRef(This)
   8423 #define IVMRImagePresenter_Release(This) (This)->lpVtbl->Release(This)
   8424 #define IVMRImagePresenter_StartPresenting(This,dwUserID) (This)->lpVtbl->StartPresenting(This,dwUserID)
   8425 #define IVMRImagePresenter_StopPresenting(This,dwUserID) (This)->lpVtbl->StopPresenting(This,dwUserID)
   8426 #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) (This)->lpVtbl->PresentImage(This,dwUserID,lpPresInfo)
   8427 #endif
   8428 #endif
   8429   HRESULT WINAPI IVMRImagePresenter_StartPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   8430   void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8431   HRESULT WINAPI IVMRImagePresenter_StopPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   8432   void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8433   HRESULT WINAPI IVMRImagePresenter_PresentImage_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
   8434   void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8435 #endif
   8436 
   8437   typedef enum __MIDL___MIDL_itf_strmif_0398_0001 {
   8438     AMAP_PIXELFORMAT_VALID = 0x1,AMAP_3D_TARGET = 0x2,AMAP_ALLOW_SYSMEM = 0x4,AMAP_FORCE_SYSMEM = 0x8,AMAP_DIRECTED_FLIP = 0x10,AMAP_DXVA_TARGET = 0x20
   8439   } VMRSurfaceAllocationFlags;
   8440 
   8441   typedef struct tagVMRALLOCATIONINFO {
   8442     DWORD dwFlags;
   8443     LPBITMAPINFOHEADER lpHdr;
   8444     LPDDPIXELFORMAT lpPixFmt;
   8445     SIZE szAspectRatio;
   8446     DWORD dwMinBuffers;
   8447     DWORD dwMaxBuffers;
   8448     DWORD dwInterlaceFlags;
   8449     SIZE szNativeSize;
   8450   } VMRALLOCATIONINFO;
   8451 
   8452   extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec;
   8453   extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec;
   8454 #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
   8455 #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
   8456   EXTERN_C const IID IID_IVMRSurfaceAllocator;
   8457 #if defined(__cplusplus) && !defined(CINTERFACE)
   8458   struct IVMRSurfaceAllocator : public IUnknown {
   8459   public:
   8460     virtual HRESULT WINAPI AllocateSurface(DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
   8461     virtual HRESULT WINAPI FreeSurface(DWORD_PTR dwID) = 0;
   8462     virtual HRESULT WINAPI PrepareSurface(DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags) = 0;
   8463     virtual HRESULT WINAPI AdviseNotify(IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
   8464   };
   8465 #else
   8466   typedef struct IVMRSurfaceAllocatorVtbl {
   8467     BEGIN_INTERFACE
   8468       HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocator *This,REFIID riid,void **ppvObject);
   8469       ULONG (WINAPI *AddRef)(IVMRSurfaceAllocator *This);
   8470       ULONG (WINAPI *Release)(IVMRSurfaceAllocator *This);
   8471       HRESULT (WINAPI *AllocateSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
   8472       HRESULT (WINAPI *FreeSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
   8473       HRESULT (WINAPI *PrepareSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
   8474       HRESULT (WINAPI *AdviseNotify)(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
   8475     END_INTERFACE
   8476   } IVMRSurfaceAllocatorVtbl;
   8477   struct IVMRSurfaceAllocator {
   8478     CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
   8479   };
   8480 #ifdef COBJMACROS
   8481 #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8482 #define IVMRSurfaceAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   8483 #define IVMRSurfaceAllocator_Release(This) (This)->lpVtbl->Release(This)
   8484 #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) (This)->lpVtbl->AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
   8485 #define IVMRSurfaceAllocator_FreeSurface(This,dwID) (This)->lpVtbl->FreeSurface(This,dwID)
   8486 #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) (This)->lpVtbl->PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
   8487 #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) (This)->lpVtbl->AdviseNotify(This,lpIVMRSurfAllocNotify)
   8488 #endif
   8489 #endif
   8490   HRESULT WINAPI IVMRSurfaceAllocator_AllocateSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
   8491   void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8492   HRESULT WINAPI IVMRSurfaceAllocator_FreeSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
   8493   void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8494   HRESULT WINAPI IVMRSurfaceAllocator_PrepareSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
   8495   void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8496   HRESULT WINAPI IVMRSurfaceAllocator_AdviseNotify_Proxy(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
   8497   void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8498 #endif
   8499 
   8500 #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
   8501 #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
   8502   EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
   8503 #if defined(__cplusplus) && !defined(CINTERFACE)
   8504   struct IVMRSurfaceAllocatorNotify : public IUnknown {
   8505   public:
   8506     virtual HRESULT WINAPI AdviseSurfaceAllocator(DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
   8507     virtual HRESULT WINAPI SetDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
   8508     virtual HRESULT WINAPI ChangeDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
   8509     virtual HRESULT WINAPI RestoreDDrawSurfaces(void) = 0;
   8510     virtual HRESULT WINAPI NotifyEvent(LONG EventCode,LONG_PTR Param1,LONG_PTR Param2) = 0;
   8511     virtual HRESULT WINAPI SetBorderColor(COLORREF clrBorder) = 0;
   8512   };
   8513 #else
   8514   typedef struct IVMRSurfaceAllocatorNotifyVtbl {
   8515     BEGIN_INTERFACE
   8516       HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocatorNotify *This,REFIID riid,void **ppvObject);
   8517       ULONG (WINAPI *AddRef)(IVMRSurfaceAllocatorNotify *This);
   8518       ULONG (WINAPI *Release)(IVMRSurfaceAllocatorNotify *This);
   8519       HRESULT (WINAPI *AdviseSurfaceAllocator)(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
   8520       HRESULT (WINAPI *SetDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   8521       HRESULT (WINAPI *ChangeDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   8522       HRESULT (WINAPI *RestoreDDrawSurfaces)(IVMRSurfaceAllocatorNotify *This);
   8523       HRESULT (WINAPI *NotifyEvent)(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
   8524       HRESULT (WINAPI *SetBorderColor)(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
   8525     END_INTERFACE
   8526   } IVMRSurfaceAllocatorNotifyVtbl;
   8527   struct IVMRSurfaceAllocatorNotify {
   8528     CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
   8529   };
   8530 #ifdef COBJMACROS
   8531 #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8532 #define IVMRSurfaceAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   8533 #define IVMRSurfaceAllocatorNotify_Release(This) (This)->lpVtbl->Release(This)
   8534 #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) (This)->lpVtbl->AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
   8535 #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->SetDDrawDevice(This,lpDDrawDevice,hMonitor)
   8536 #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
   8537 #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) (This)->lpVtbl->RestoreDDrawSurfaces(This)
   8538 #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) (This)->lpVtbl->NotifyEvent(This,EventCode,Param1,Param2)
   8539 #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) (This)->lpVtbl->SetBorderColor(This,clrBorder)
   8540 #endif
   8541 #endif
   8542   HRESULT WINAPI IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
   8543   void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8544   HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   8545   void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8546   HRESULT WINAPI IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   8547   void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8548   HRESULT WINAPI IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(IVMRSurfaceAllocatorNotify *This);
   8549   void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8550   HRESULT WINAPI IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
   8551   void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8552   HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
   8553   void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8554 #endif
   8555 
   8556   typedef enum __MIDL___MIDL_itf_strmif_0400_0001 {
   8557     VMR_ARMODE_NONE = 0,VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1
   8558   } VMR_ASPECT_RATIO_MODE;
   8559 
   8560   extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec;
   8561   extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec;
   8562 #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
   8563 #define __IVMRWindowlessControl_INTERFACE_DEFINED__
   8564   EXTERN_C const IID IID_IVMRWindowlessControl;
   8565 #if defined(__cplusplus) && !defined(CINTERFACE)
   8566   struct IVMRWindowlessControl : public IUnknown {
   8567   public:
   8568     virtual HRESULT WINAPI GetNativeVideoSize(LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight) = 0;
   8569     virtual HRESULT WINAPI GetMinIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
   8570     virtual HRESULT WINAPI GetMaxIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
   8571     virtual HRESULT WINAPI SetVideoPosition(const LPRECT lpSRCRect,const LPRECT lpDSTRect) = 0;
   8572     virtual HRESULT WINAPI GetVideoPosition(LPRECT lpSRCRect,LPRECT lpDSTRect) = 0;
   8573     virtual HRESULT WINAPI GetAspectRatioMode(DWORD *lpAspectRatioMode) = 0;
   8574     virtual HRESULT WINAPI SetAspectRatioMode(DWORD AspectRatioMode) = 0;
   8575     virtual HRESULT WINAPI SetVideoClippingWindow(HWND hwnd) = 0;
   8576     virtual HRESULT WINAPI RepaintVideo(HWND hwnd,HDC hdc) = 0;
   8577     virtual HRESULT WINAPI DisplayModeChanged(void) = 0;
   8578     virtual HRESULT WINAPI GetCurrentImage(BYTE **lpDib) = 0;
   8579     virtual HRESULT WINAPI SetBorderColor(COLORREF Clr) = 0;
   8580     virtual HRESULT WINAPI GetBorderColor(COLORREF *lpClr) = 0;
   8581     virtual HRESULT WINAPI SetColorKey(COLORREF Clr) = 0;
   8582     virtual HRESULT WINAPI GetColorKey(COLORREF *lpClr) = 0;
   8583   };
   8584 #else
   8585   typedef struct IVMRWindowlessControlVtbl {
   8586     BEGIN_INTERFACE
   8587       HRESULT (WINAPI *QueryInterface)(IVMRWindowlessControl *This,REFIID riid,void **ppvObject);
   8588       ULONG (WINAPI *AddRef)(IVMRWindowlessControl *This);
   8589       ULONG (WINAPI *Release)(IVMRWindowlessControl *This);
   8590       HRESULT (WINAPI *GetNativeVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
   8591       HRESULT (WINAPI *GetMinIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   8592       HRESULT (WINAPI *GetMaxIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   8593       HRESULT (WINAPI *SetVideoPosition)(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
   8594       HRESULT (WINAPI *GetVideoPosition)(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
   8595       HRESULT (WINAPI *GetAspectRatioMode)(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
   8596       HRESULT (WINAPI *SetAspectRatioMode)(IVMRWindowlessControl *This,DWORD AspectRatioMode);
   8597       HRESULT (WINAPI *SetVideoClippingWindow)(IVMRWindowlessControl *This,HWND hwnd);
   8598       HRESULT (WINAPI *RepaintVideo)(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
   8599       HRESULT (WINAPI *DisplayModeChanged)(IVMRWindowlessControl *This);
   8600       HRESULT (WINAPI *GetCurrentImage)(IVMRWindowlessControl *This,BYTE **lpDib);
   8601       HRESULT (WINAPI *SetBorderColor)(IVMRWindowlessControl *This,COLORREF Clr);
   8602       HRESULT (WINAPI *GetBorderColor)(IVMRWindowlessControl *This,COLORREF *lpClr);
   8603       HRESULT (WINAPI *SetColorKey)(IVMRWindowlessControl *This,COLORREF Clr);
   8604       HRESULT (WINAPI *GetColorKey)(IVMRWindowlessControl *This,COLORREF *lpClr);
   8605     END_INTERFACE
   8606   } IVMRWindowlessControlVtbl;
   8607   struct IVMRWindowlessControl {
   8608     CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
   8609   };
   8610 #ifdef COBJMACROS
   8611 #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8612 #define IVMRWindowlessControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   8613 #define IVMRWindowlessControl_Release(This) (This)->lpVtbl->Release(This)
   8614 #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) (This)->lpVtbl->GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
   8615 #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMinIdealVideoSize(This,lpWidth,lpHeight)
   8616 #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMaxIdealVideoSize(This,lpWidth,lpHeight)
   8617 #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->SetVideoPosition(This,lpSRCRect,lpDSTRect)
   8618 #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->GetVideoPosition(This,lpSRCRect,lpDSTRect)
   8619 #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,lpAspectRatioMode)
   8620 #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,AspectRatioMode)
   8621 #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd)
   8622 #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc)
   8623 #define IVMRWindowlessControl_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This)
   8624 #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) (This)->lpVtbl->GetCurrentImage(This,lpDib)
   8625 #define IVMRWindowlessControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr)
   8626 #define IVMRWindowlessControl_GetBorderColor(This,lpClr) (This)->lpVtbl->GetBorderColor(This,lpClr)
   8627 #define IVMRWindowlessControl_SetColorKey(This,Clr) (This)->lpVtbl->SetColorKey(This,Clr)
   8628 #define IVMRWindowlessControl_GetColorKey(This,lpClr) (This)->lpVtbl->GetColorKey(This,lpClr)
   8629 #endif
   8630 #endif
   8631   HRESULT WINAPI IVMRWindowlessControl_GetNativeVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
   8632   void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8633   HRESULT WINAPI IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   8634   void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8635   HRESULT WINAPI IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   8636   void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8637   HRESULT WINAPI IVMRWindowlessControl_SetVideoPosition_Proxy(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
   8638   void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8639   HRESULT WINAPI IVMRWindowlessControl_GetVideoPosition_Proxy(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
   8640   void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8641   HRESULT WINAPI IVMRWindowlessControl_GetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
   8642   void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8643   HRESULT WINAPI IVMRWindowlessControl_SetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD AspectRatioMode);
   8644   void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8645   HRESULT WINAPI IVMRWindowlessControl_SetVideoClippingWindow_Proxy(IVMRWindowlessControl *This,HWND hwnd);
   8646   void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8647   HRESULT WINAPI IVMRWindowlessControl_RepaintVideo_Proxy(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
   8648   void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8649   HRESULT WINAPI IVMRWindowlessControl_DisplayModeChanged_Proxy(IVMRWindowlessControl *This);
   8650   void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8651   HRESULT WINAPI IVMRWindowlessControl_GetCurrentImage_Proxy(IVMRWindowlessControl *This,BYTE **lpDib);
   8652   void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8653   HRESULT WINAPI IVMRWindowlessControl_SetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
   8654   void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8655   HRESULT WINAPI IVMRWindowlessControl_GetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
   8656   void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8657   HRESULT WINAPI IVMRWindowlessControl_SetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
   8658   void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8659   HRESULT WINAPI IVMRWindowlessControl_GetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
   8660   void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8661 #endif
   8662 
   8663   typedef enum __MIDL___MIDL_itf_strmif_0401_0001 {
   8664     MixerPref_NoDecimation = 0x1,MixerPref_DecimateOutput = 0x2,MixerPref_ARAdjustXorY = 0x4,MixerPref_DecimationReserved = 0x8,
   8665     MixerPref_DecimateMask = 0xf,MixerPref_BiLinearFiltering = 0x10,MixerPref_PointFiltering = 0x20,MixerPref_FilteringMask = 0xf0,
   8666     MixerPref_RenderTargetRGB = 0x100,MixerPref_RenderTargetYUV = 0x1000,MixerPref_RenderTargetYUV420 = 0x200,MixerPref_RenderTargetYUV422 = 0x400,
   8667     MixerPref_RenderTargetYUV444 = 0x800,MixerPref_RenderTargetReserved = 0xe000,MixerPref_RenderTargetMask = 0xff00,
   8668     MixerPref_DynamicSwitchToBOB = 0x10000,MixerPref_DynamicDecimateBy2 = 0x20000,MixerPref_DynamicReserved = 0xc0000,
   8669     MixerPref_DynamicMask = 0xf0000
   8670   } VMRMixerPrefs;
   8671 
   8672   typedef struct _NORMALIZEDRECT {
   8673     float left;
   8674     float top;
   8675     float right;
   8676     float bottom;
   8677   } NORMALIZEDRECT;
   8678 
   8679   typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
   8680 
   8681   extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_c_ifspec;
   8682   extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_s_ifspec;
   8683 #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
   8684 #define __IVMRMixerControl_INTERFACE_DEFINED__
   8685   EXTERN_C const IID IID_IVMRMixerControl;
   8686 #if defined(__cplusplus) && !defined(CINTERFACE)
   8687   struct IVMRMixerControl : public IUnknown {
   8688   public:
   8689     virtual HRESULT WINAPI SetAlpha(DWORD dwStreamID,float Alpha) = 0;
   8690     virtual HRESULT WINAPI GetAlpha(DWORD dwStreamID,float *pAlpha) = 0;
   8691     virtual HRESULT WINAPI SetZOrder(DWORD dwStreamID,DWORD dwZ) = 0;
   8692     virtual HRESULT WINAPI GetZOrder(DWORD dwStreamID,DWORD *pZ) = 0;
   8693     virtual HRESULT WINAPI SetOutputRect(DWORD dwStreamID,const NORMALIZEDRECT *pRect) = 0;
   8694     virtual HRESULT WINAPI GetOutputRect(DWORD dwStreamID,NORMALIZEDRECT *pRect) = 0;
   8695     virtual HRESULT WINAPI SetBackgroundClr(COLORREF ClrBkg) = 0;
   8696     virtual HRESULT WINAPI GetBackgroundClr(COLORREF *lpClrBkg) = 0;
   8697     virtual HRESULT WINAPI SetMixingPrefs(DWORD dwMixerPrefs) = 0;
   8698     virtual HRESULT WINAPI GetMixingPrefs(DWORD *pdwMixerPrefs) = 0;
   8699   };
   8700 #else
   8701   typedef struct IVMRMixerControlVtbl {
   8702     BEGIN_INTERFACE
   8703       HRESULT (WINAPI *QueryInterface)(IVMRMixerControl *This,REFIID riid,void **ppvObject);
   8704       ULONG (WINAPI *AddRef)(IVMRMixerControl *This);
   8705       ULONG (WINAPI *Release)(IVMRMixerControl *This);
   8706       HRESULT (WINAPI *SetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
   8707       HRESULT (WINAPI *GetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
   8708       HRESULT (WINAPI *SetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
   8709       HRESULT (WINAPI *GetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
   8710       HRESULT (WINAPI *SetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
   8711       HRESULT (WINAPI *GetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
   8712       HRESULT (WINAPI *SetBackgroundClr)(IVMRMixerControl *This,COLORREF ClrBkg);
   8713       HRESULT (WINAPI *GetBackgroundClr)(IVMRMixerControl *This,COLORREF *lpClrBkg);
   8714       HRESULT (WINAPI *SetMixingPrefs)(IVMRMixerControl *This,DWORD dwMixerPrefs);
   8715       HRESULT (WINAPI *GetMixingPrefs)(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
   8716     END_INTERFACE
   8717   } IVMRMixerControlVtbl;
   8718   struct IVMRMixerControl {
   8719     CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
   8720   };
   8721 #ifdef COBJMACROS
   8722 #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8723 #define IVMRMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   8724 #define IVMRMixerControl_Release(This) (This)->lpVtbl->Release(This)
   8725 #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) (This)->lpVtbl->SetAlpha(This,dwStreamID,Alpha)
   8726 #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) (This)->lpVtbl->GetAlpha(This,dwStreamID,pAlpha)
   8727 #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetZOrder(This,dwStreamID,dwZ)
   8728 #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) (This)->lpVtbl->GetZOrder(This,dwStreamID,pZ)
   8729 #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->SetOutputRect(This,dwStreamID,pRect)
   8730 #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->GetOutputRect(This,dwStreamID,pRect)
   8731 #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) (This)->lpVtbl->SetBackgroundClr(This,ClrBkg)
   8732 #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) (This)->lpVtbl->GetBackgroundClr(This,lpClrBkg)
   8733 #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) (This)->lpVtbl->SetMixingPrefs(This,dwMixerPrefs)
   8734 #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) (This)->lpVtbl->GetMixingPrefs(This,pdwMixerPrefs)
   8735 #endif
   8736 #endif
   8737   HRESULT WINAPI IVMRMixerControl_SetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
   8738   void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8739   HRESULT WINAPI IVMRMixerControl_GetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
   8740   void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8741   HRESULT WINAPI IVMRMixerControl_SetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
   8742   void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8743   HRESULT WINAPI IVMRMixerControl_GetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
   8744   void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8745   HRESULT WINAPI IVMRMixerControl_SetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
   8746   void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8747   HRESULT WINAPI IVMRMixerControl_GetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
   8748   void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8749   HRESULT WINAPI IVMRMixerControl_SetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF ClrBkg);
   8750   void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8751   HRESULT WINAPI IVMRMixerControl_GetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF *lpClrBkg);
   8752   void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8753   HRESULT WINAPI IVMRMixerControl_SetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD dwMixerPrefs);
   8754   void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8755   HRESULT WINAPI IVMRMixerControl_GetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
   8756 
   8757   void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8758 #endif
   8759 
   8760 #ifdef __cplusplus
   8761   typedef struct tagVMRGUID {
   8762     ::GUID *pGUID;
   8763     ::GUID GUID;
   8764   } VMRGUID;
   8765 #else
   8766   typedef struct tagVMRGUID {
   8767     GUID *pGUID;
   8768     GUID GUID;
   8769   } VMRGUID;
   8770 #endif
   8771 
   8772   typedef struct tagVMRMONITORINFO {
   8773     VMRGUID guid;
   8774     RECT rcMonitor;
   8775     HMONITOR hMon;
   8776     DWORD dwFlags;
   8777     wchar_t szDevice[32];
   8778     wchar_t szDescription[256];
   8779     LARGE_INTEGER liDriverVersion;
   8780     DWORD dwVendorId;
   8781     DWORD dwDeviceId;
   8782     DWORD dwSubSysId;
   8783     DWORD dwRevision;
   8784   } VMRMONITORINFO;
   8785 
   8786   extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_c_ifspec;
   8787   extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_s_ifspec;
   8788 #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
   8789 #define __IVMRMonitorConfig_INTERFACE_DEFINED__
   8790   EXTERN_C const IID IID_IVMRMonitorConfig;
   8791 #if defined(__cplusplus) && !defined(CINTERFACE)
   8792   struct IVMRMonitorConfig : public IUnknown {
   8793   public:
   8794     virtual HRESULT WINAPI SetMonitor(const VMRGUID *pGUID) = 0;
   8795     virtual HRESULT WINAPI GetMonitor(VMRGUID *pGUID) = 0;
   8796     virtual HRESULT WINAPI SetDefaultMonitor(const VMRGUID *pGUID) = 0;
   8797     virtual HRESULT WINAPI GetDefaultMonitor(VMRGUID *pGUID) = 0;
   8798     virtual HRESULT WINAPI GetAvailableMonitors(VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices) = 0;
   8799   };
   8800 #else
   8801   typedef struct IVMRMonitorConfigVtbl {
   8802     BEGIN_INTERFACE
   8803       HRESULT (WINAPI *QueryInterface)(IVMRMonitorConfig *This,REFIID riid,void **ppvObject);
   8804       ULONG (WINAPI *AddRef)(IVMRMonitorConfig *This);
   8805       ULONG (WINAPI *Release)(IVMRMonitorConfig *This);
   8806       HRESULT (WINAPI *SetMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   8807       HRESULT (WINAPI *GetMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
   8808       HRESULT (WINAPI *SetDefaultMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   8809       HRESULT (WINAPI *GetDefaultMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
   8810       HRESULT (WINAPI *GetAvailableMonitors)(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
   8811     END_INTERFACE
   8812   } IVMRMonitorConfigVtbl;
   8813   struct IVMRMonitorConfig {
   8814     CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
   8815   };
   8816 #ifdef COBJMACROS
   8817 #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8818 #define IVMRMonitorConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   8819 #define IVMRMonitorConfig_Release(This) (This)->lpVtbl->Release(This)
   8820 #define IVMRMonitorConfig_SetMonitor(This,pGUID) (This)->lpVtbl->SetMonitor(This,pGUID)
   8821 #define IVMRMonitorConfig_GetMonitor(This,pGUID) (This)->lpVtbl->GetMonitor(This,pGUID)
   8822 #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) (This)->lpVtbl->SetDefaultMonitor(This,pGUID)
   8823 #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) (This)->lpVtbl->GetDefaultMonitor(This,pGUID)
   8824 #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) (This)->lpVtbl->GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
   8825 #endif
   8826 #endif
   8827   HRESULT WINAPI IVMRMonitorConfig_SetMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   8828   void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8829   HRESULT WINAPI IVMRMonitorConfig_GetMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
   8830   void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8831   HRESULT WINAPI IVMRMonitorConfig_SetDefaultMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   8832   void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8833   HRESULT WINAPI IVMRMonitorConfig_GetDefaultMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
   8834   void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8835   HRESULT WINAPI IVMRMonitorConfig_GetAvailableMonitors_Proxy(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
   8836   void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8837 #endif
   8838 
   8839   typedef enum __MIDL___MIDL_itf_strmif_0403_0001 {
   8840     RenderPrefs_RestrictToInitialMonitor = 0,RenderPrefs_ForceOffscreen = 0x1,RenderPrefs_ForceOverlays = 0x2,RenderPrefs_AllowOverlays = 0,
   8841     RenderPrefs_AllowOffscreen = 0,RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,RenderPrefs_Reserved = 0x10,RenderPrefs_PreferAGPMemWhenMixing = 0x20,
   8842     RenderPrefs_Mask = 0x3f
   8843   } VMRRenderPrefs;
   8844 
   8845   typedef enum __MIDL___MIDL_itf_strmif_0403_0002 {
   8846     VMRMode_Windowed = 0x1,VMRMode_Windowless = 0x2,VMRMode_Renderless = 0x4,VMRMode_Mask = 0x7
   8847   } VMRMode;
   8848 
   8849   enum __MIDL___MIDL_itf_strmif_0403_0003 {
   8850     MAX_NUMBER_OF_STREAMS = 16
   8851   };
   8852 
   8853   extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec;
   8854   extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec;
   8855 #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
   8856 #define __IVMRFilterConfig_INTERFACE_DEFINED__
   8857   EXTERN_C const IID IID_IVMRFilterConfig;
   8858 #if defined(__cplusplus) && !defined(CINTERFACE)
   8859   struct IVMRFilterConfig : public IUnknown {
   8860   public:
   8861     virtual HRESULT WINAPI SetImageCompositor(IVMRImageCompositor *lpVMRImgCompositor) = 0;
   8862     virtual HRESULT WINAPI SetNumberOfStreams(DWORD dwMaxStreams) = 0;
   8863     virtual HRESULT WINAPI GetNumberOfStreams(DWORD *pdwMaxStreams) = 0;
   8864     virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
   8865     virtual HRESULT WINAPI GetRenderingPrefs(DWORD *pdwRenderFlags) = 0;
   8866     virtual HRESULT WINAPI SetRenderingMode(DWORD Mode) = 0;
   8867     virtual HRESULT WINAPI GetRenderingMode(DWORD *pMode) = 0;
   8868   };
   8869 #else
   8870   typedef struct IVMRFilterConfigVtbl {
   8871     BEGIN_INTERFACE
   8872       HRESULT (WINAPI *QueryInterface)(IVMRFilterConfig *This,REFIID riid,void **ppvObject);
   8873       ULONG (WINAPI *AddRef)(IVMRFilterConfig *This);
   8874       ULONG (WINAPI *Release)(IVMRFilterConfig *This);
   8875       HRESULT (WINAPI *SetImageCompositor)(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
   8876       HRESULT (WINAPI *SetNumberOfStreams)(IVMRFilterConfig *This,DWORD dwMaxStreams);
   8877       HRESULT (WINAPI *GetNumberOfStreams)(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
   8878       HRESULT (WINAPI *SetRenderingPrefs)(IVMRFilterConfig *This,DWORD dwRenderFlags);
   8879       HRESULT (WINAPI *GetRenderingPrefs)(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
   8880       HRESULT (WINAPI *SetRenderingMode)(IVMRFilterConfig *This,DWORD Mode);
   8881       HRESULT (WINAPI *GetRenderingMode)(IVMRFilterConfig *This,DWORD *pMode);
   8882     END_INTERFACE
   8883   } IVMRFilterConfigVtbl;
   8884   struct IVMRFilterConfig {
   8885     CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
   8886   };
   8887 #ifdef COBJMACROS
   8888 #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8889 #define IVMRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   8890 #define IVMRFilterConfig_Release(This) (This)->lpVtbl->Release(This)
   8891 #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) (This)->lpVtbl->SetImageCompositor(This,lpVMRImgCompositor)
   8892 #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams)
   8893 #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams)
   8894 #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   8895 #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags)
   8896 #define IVMRFilterConfig_SetRenderingMode(This,Mode) (This)->lpVtbl->SetRenderingMode(This,Mode)
   8897 #define IVMRFilterConfig_GetRenderingMode(This,pMode) (This)->lpVtbl->GetRenderingMode(This,pMode)
   8898 #endif
   8899 #endif
   8900   HRESULT WINAPI IVMRFilterConfig_SetImageCompositor_Proxy(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
   8901   void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8902   HRESULT WINAPI IVMRFilterConfig_SetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD dwMaxStreams);
   8903   void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8904   HRESULT WINAPI IVMRFilterConfig_GetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
   8905   void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8906   HRESULT WINAPI IVMRFilterConfig_SetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD dwRenderFlags);
   8907   void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8908   HRESULT WINAPI IVMRFilterConfig_GetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
   8909   void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8910   HRESULT WINAPI IVMRFilterConfig_SetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD Mode);
   8911   void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8912   HRESULT WINAPI IVMRFilterConfig_GetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD *pMode);
   8913   void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8914 #endif
   8915 
   8916 #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
   8917 #define __IVMRAspectRatioControl_INTERFACE_DEFINED__
   8918   EXTERN_C const IID IID_IVMRAspectRatioControl;
   8919 #if defined(__cplusplus) && !defined(CINTERFACE)
   8920   struct IVMRAspectRatioControl : public IUnknown {
   8921   public:
   8922     virtual HRESULT WINAPI GetAspectRatioMode(LPDWORD lpdwARMode) = 0;
   8923     virtual HRESULT WINAPI SetAspectRatioMode(DWORD dwARMode) = 0;
   8924   };
   8925 #else
   8926   typedef struct IVMRAspectRatioControlVtbl {
   8927     BEGIN_INTERFACE
   8928       HRESULT (WINAPI *QueryInterface)(IVMRAspectRatioControl *This,REFIID riid,void **ppvObject);
   8929       ULONG (WINAPI *AddRef)(IVMRAspectRatioControl *This);
   8930       ULONG (WINAPI *Release)(IVMRAspectRatioControl *This);
   8931       HRESULT (WINAPI *GetAspectRatioMode)(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
   8932       HRESULT (WINAPI *SetAspectRatioMode)(IVMRAspectRatioControl *This,DWORD dwARMode);
   8933     END_INTERFACE
   8934   } IVMRAspectRatioControlVtbl;
   8935   struct IVMRAspectRatioControl {
   8936     CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
   8937   };
   8938 #ifdef COBJMACROS
   8939 #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8940 #define IVMRAspectRatioControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   8941 #define IVMRAspectRatioControl_Release(This) (This)->lpVtbl->Release(This)
   8942 #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) (This)->lpVtbl->GetAspectRatioMode(This,lpdwARMode)
   8943 #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) (This)->lpVtbl->SetAspectRatioMode(This,dwARMode)
   8944 #endif
   8945 #endif
   8946   HRESULT WINAPI IVMRAspectRatioControl_GetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
   8947   void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8948   HRESULT WINAPI IVMRAspectRatioControl_SetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,DWORD dwARMode);
   8949   void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   8950 #endif
   8951 
   8952   typedef enum __MIDL___MIDL_itf_strmif_0405_0001 {
   8953     DeinterlacePref_NextBest = 0x1,DeinterlacePref_BOB = 0x2,DeinterlacePref_Weave = 0x4,DeinterlacePref_Mask = 0x7
   8954   } VMRDeinterlacePrefs;
   8955 
   8956   typedef enum __MIDL___MIDL_itf_strmif_0405_0002 {
   8957     DeinterlaceTech_Unknown = 0,DeinterlaceTech_BOBLineReplicate = 0x1,DeinterlaceTech_BOBVerticalStretch = 0x2,DeinterlaceTech_MedianFiltering = 0x4,
   8958     DeinterlaceTech_EdgeFiltering = 0x10,DeinterlaceTech_FieldAdaptive = 0x20,DeinterlaceTech_PixelAdaptive = 0x40,
   8959     DeinterlaceTech_MotionVectorSteered = 0x80
   8960   } VMRDeinterlaceTech;
   8961 
   8962   typedef struct _VMRFrequency {
   8963     DWORD dwNumerator;
   8964     DWORD dwDenominator;
   8965   } VMRFrequency;
   8966 
   8967   typedef struct _VMRVideoDesc {
   8968     DWORD dwSize;
   8969     DWORD dwSampleWidth;
   8970     DWORD dwSampleHeight;
   8971     WINBOOL SingleFieldPerSample;
   8972     DWORD dwFourCC;
   8973     VMRFrequency InputSampleFreq;
   8974     VMRFrequency OutputFrameFreq;
   8975   } VMRVideoDesc;
   8976 
   8977   typedef struct _VMRDeinterlaceCaps {
   8978     DWORD dwSize;
   8979     DWORD dwNumPreviousOutputFrames;
   8980     DWORD dwNumForwardRefSamples;
   8981     DWORD dwNumBackwardRefSamples;
   8982     VMRDeinterlaceTech DeinterlaceTechnology;
   8983   } VMRDeinterlaceCaps;
   8984 
   8985   extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_c_ifspec;
   8986   extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_s_ifspec;
   8987 #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
   8988 #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
   8989   EXTERN_C const IID IID_IVMRDeinterlaceControl;
   8990 #if defined(__cplusplus) && !defined(CINTERFACE)
   8991   struct IVMRDeinterlaceControl : public IUnknown {
   8992   public:
   8993     virtual HRESULT WINAPI GetNumberOfDeinterlaceModes(VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes) = 0;
   8994     virtual HRESULT WINAPI GetDeinterlaceModeCaps(LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
   8995     virtual HRESULT WINAPI GetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   8996     virtual HRESULT WINAPI SetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   8997     virtual HRESULT WINAPI GetDeinterlacePrefs(LPDWORD lpdwDeinterlacePrefs) = 0;
   8998     virtual HRESULT WINAPI SetDeinterlacePrefs(DWORD dwDeinterlacePrefs) = 0;
   8999     virtual HRESULT WINAPI GetActualDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   9000   };
   9001 #else
   9002   typedef struct IVMRDeinterlaceControlVtbl {
   9003     BEGIN_INTERFACE
   9004       HRESULT (WINAPI *QueryInterface)(IVMRDeinterlaceControl *This,REFIID riid,void **ppvObject);
   9005       ULONG (WINAPI *AddRef)(IVMRDeinterlaceControl *This);
   9006       ULONG (WINAPI *Release)(IVMRDeinterlaceControl *This);
   9007       HRESULT (WINAPI *GetNumberOfDeinterlaceModes)(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
   9008       HRESULT (WINAPI *GetDeinterlaceModeCaps)(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
   9009       HRESULT (WINAPI *GetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   9010       HRESULT (WINAPI *SetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   9011       HRESULT (WINAPI *GetDeinterlacePrefs)(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
   9012       HRESULT (WINAPI *SetDeinterlacePrefs)(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
   9013       HRESULT (WINAPI *GetActualDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   9014     END_INTERFACE
   9015   } IVMRDeinterlaceControlVtbl;
   9016   struct IVMRDeinterlaceControl {
   9017     CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
   9018   };
   9019 #ifdef COBJMACROS
   9020 #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9021 #define IVMRDeinterlaceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   9022 #define IVMRDeinterlaceControl_Release(This) (This)->lpVtbl->Release(This)
   9023 #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
   9024 #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
   9025 #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   9026 #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   9027 #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) (This)->lpVtbl->GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
   9028 #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) (This)->lpVtbl->SetDeinterlacePrefs(This,dwDeinterlacePrefs)
   9029 #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   9030 #endif
   9031 #endif
   9032   HRESULT WINAPI IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
   9033   void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9034   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
   9035   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9036   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   9037   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9038   HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   9039   void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9040   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
   9041   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9042   HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
   9043   void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9044   HRESULT WINAPI IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   9045   void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9046 #endif
   9047 
   9048   typedef struct _VMRALPHABITMAP {
   9049     DWORD dwFlags;
   9050     HDC hdc;
   9051     LPDIRECTDRAWSURFACE7 pDDS;
   9052     RECT rSrc;
   9053     NORMALIZEDRECT rDest;
   9054     FLOAT fAlpha;
   9055     COLORREF clrSrcKey;
   9056   } VMRALPHABITMAP;
   9057 
   9058   typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
   9059 
   9060 #define VMRBITMAP_DISABLE 0x00000001
   9061 #define VMRBITMAP_HDC 0x00000002
   9062 #define VMRBITMAP_ENTIREDDS 0x00000004
   9063 #define VMRBITMAP_SRCCOLORKEY 0x00000008
   9064 #define VMRBITMAP_SRCRECT 0x00000010
   9065 
   9066   extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec;
   9067   extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec;
   9068 #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
   9069 #define __IVMRMixerBitmap_INTERFACE_DEFINED__
   9070   EXTERN_C const IID IID_IVMRMixerBitmap;
   9071 #if defined(__cplusplus) && !defined(CINTERFACE)
   9072   struct IVMRMixerBitmap : public IUnknown {
   9073   public:
   9074     virtual HRESULT WINAPI SetAlphaBitmap(const VMRALPHABITMAP *pBmpParms) = 0;
   9075     virtual HRESULT WINAPI UpdateAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
   9076     virtual HRESULT WINAPI GetAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
   9077   };
   9078 #else
   9079   typedef struct IVMRMixerBitmapVtbl {
   9080     BEGIN_INTERFACE
   9081       HRESULT (WINAPI *QueryInterface)(IVMRMixerBitmap *This,REFIID riid,void **ppvObject);
   9082       ULONG (WINAPI *AddRef)(IVMRMixerBitmap *This);
   9083       ULONG (WINAPI *Release)(IVMRMixerBitmap *This);
   9084       HRESULT (WINAPI *SetAlphaBitmap)(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
   9085       HRESULT (WINAPI *UpdateAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   9086       HRESULT (WINAPI *GetAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   9087     END_INTERFACE
   9088   } IVMRMixerBitmapVtbl;
   9089   struct IVMRMixerBitmap {
   9090     CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
   9091   };
   9092 #ifdef COBJMACROS
   9093 #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9094 #define IVMRMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
   9095 #define IVMRMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
   9096 #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) (This)->lpVtbl->SetAlphaBitmap(This,pBmpParms)
   9097 #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,pBmpParms)
   9098 #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->GetAlphaBitmapParameters(This,pBmpParms)
   9099 #endif
   9100 #endif
   9101   HRESULT WINAPI IVMRMixerBitmap_SetAlphaBitmap_Proxy(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
   9102   void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9103   HRESULT WINAPI IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   9104   void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9105   HRESULT WINAPI IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   9106   void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9107 #endif
   9108 
   9109   typedef struct _VMRVIDEOSTREAMINFO {
   9110     LPDIRECTDRAWSURFACE7 pddsVideoSurface;
   9111     DWORD dwWidth;
   9112     DWORD dwHeight;
   9113     DWORD dwStrmID;
   9114     FLOAT fAlpha;
   9115     DDCOLORKEY ddClrKey;
   9116     NORMALIZEDRECT rNormal;
   9117   } VMRVIDEOSTREAMINFO;
   9118 
   9119   extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_c_ifspec;
   9120   extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_s_ifspec;
   9121 #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
   9122 #define __IVMRImageCompositor_INTERFACE_DEFINED__
   9123   EXTERN_C const IID IID_IVMRImageCompositor;
   9124 #if defined(__cplusplus) && !defined(CINTERFACE)
   9125   struct IVMRImageCompositor : public IUnknown {
   9126   public:
   9127     virtual HRESULT WINAPI InitCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
   9128     virtual HRESULT WINAPI TermCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
   9129     virtual HRESULT WINAPI SetStreamMediaType(DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture) = 0;
   9130     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;
   9131   };
   9132 #else
   9133   typedef struct IVMRImageCompositorVtbl {
   9134     BEGIN_INTERFACE
   9135       HRESULT (WINAPI *QueryInterface)(IVMRImageCompositor *This,REFIID riid,void **ppvObject);
   9136       ULONG (WINAPI *AddRef)(IVMRImageCompositor *This);
   9137       ULONG (WINAPI *Release)(IVMRImageCompositor *This);
   9138       HRESULT (WINAPI *InitCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   9139       HRESULT (WINAPI *TermCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   9140       HRESULT (WINAPI *SetStreamMediaType)(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
   9141       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);
   9142     END_INTERFACE
   9143   } IVMRImageCompositorVtbl;
   9144   struct IVMRImageCompositor {
   9145     CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
   9146   };
   9147 #ifdef COBJMACROS
   9148 #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9149 #define IVMRImageCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
   9150 #define IVMRImageCompositor_Release(This) (This)->lpVtbl->Release(This)
   9151 #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
   9152 #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
   9153 #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) (This)->lpVtbl->SetStreamMediaType(This,dwStrmID,pmt,fTexture)
   9154 #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) (This)->lpVtbl->CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
   9155 #endif
   9156 #endif
   9157   HRESULT WINAPI IVMRImageCompositor_InitCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   9158   void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9159   HRESULT WINAPI IVMRImageCompositor_TermCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   9160   void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9161   HRESULT WINAPI IVMRImageCompositor_SetStreamMediaType_Proxy(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
   9162   void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9163   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);
   9164   void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9165 #endif
   9166 
   9167 #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
   9168 #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
   9169   EXTERN_C const IID IID_IVMRVideoStreamControl;
   9170 #if defined(__cplusplus) && !defined(CINTERFACE)
   9171   struct IVMRVideoStreamControl : public IUnknown {
   9172   public:
   9173     virtual HRESULT WINAPI SetColorKey(LPDDCOLORKEY lpClrKey) = 0;
   9174     virtual HRESULT WINAPI GetColorKey(LPDDCOLORKEY lpClrKey) = 0;
   9175     virtual HRESULT WINAPI SetStreamActiveState(WINBOOL fActive) = 0;
   9176     virtual HRESULT WINAPI GetStreamActiveState(WINBOOL *lpfActive) = 0;
   9177   };
   9178 #else
   9179   typedef struct IVMRVideoStreamControlVtbl {
   9180     BEGIN_INTERFACE
   9181       HRESULT (WINAPI *QueryInterface)(IVMRVideoStreamControl *This,REFIID riid,void **ppvObject);
   9182       ULONG (WINAPI *AddRef)(IVMRVideoStreamControl *This);
   9183       ULONG (WINAPI *Release)(IVMRVideoStreamControl *This);
   9184       HRESULT (WINAPI *SetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   9185       HRESULT (WINAPI *GetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   9186       HRESULT (WINAPI *SetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL fActive);
   9187       HRESULT (WINAPI *GetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
   9188     END_INTERFACE
   9189   } IVMRVideoStreamControlVtbl;
   9190   struct IVMRVideoStreamControl {
   9191     CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
   9192   };
   9193 #ifdef COBJMACROS
   9194 #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9195 #define IVMRVideoStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   9196 #define IVMRVideoStreamControl_Release(This) (This)->lpVtbl->Release(This)
   9197 #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) (This)->lpVtbl->SetColorKey(This,lpClrKey)
   9198 #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) (This)->lpVtbl->GetColorKey(This,lpClrKey)
   9199 #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) (This)->lpVtbl->SetStreamActiveState(This,fActive)
   9200 #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) (This)->lpVtbl->GetStreamActiveState(This,lpfActive)
   9201 #endif
   9202 #endif
   9203   HRESULT WINAPI IVMRVideoStreamControl_SetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   9204   void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9205   HRESULT WINAPI IVMRVideoStreamControl_GetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   9206   void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9207   HRESULT WINAPI IVMRVideoStreamControl_SetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL fActive);
   9208   void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9209   HRESULT WINAPI IVMRVideoStreamControl_GetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
   9210   void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9211 #endif
   9212 
   9213 #ifndef __IVMRSurface_INTERFACE_DEFINED__
   9214 #define __IVMRSurface_INTERFACE_DEFINED__
   9215   EXTERN_C const IID IID_IVMRSurface;
   9216 #if defined(__cplusplus) && !defined(CINTERFACE)
   9217   struct IVMRSurface : public IUnknown {
   9218   public:
   9219     virtual HRESULT WINAPI IsSurfaceLocked(void) = 0;
   9220     virtual HRESULT WINAPI LockSurface(BYTE **lpSurface) = 0;
   9221     virtual HRESULT WINAPI UnlockSurface(void) = 0;
   9222     virtual HRESULT WINAPI GetSurface(LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
   9223   };
   9224 #else
   9225   typedef struct IVMRSurfaceVtbl {
   9226     BEGIN_INTERFACE
   9227       HRESULT (WINAPI *QueryInterface)(IVMRSurface *This,REFIID riid,void **ppvObject);
   9228       ULONG (WINAPI *AddRef)(IVMRSurface *This);
   9229       ULONG (WINAPI *Release)(IVMRSurface *This);
   9230       HRESULT (WINAPI *IsSurfaceLocked)(IVMRSurface *This);
   9231       HRESULT (WINAPI *LockSurface)(IVMRSurface *This,BYTE **lpSurface);
   9232       HRESULT (WINAPI *UnlockSurface)(IVMRSurface *This);
   9233       HRESULT (WINAPI *GetSurface)(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
   9234     END_INTERFACE
   9235   } IVMRSurfaceVtbl;
   9236   struct IVMRSurface {
   9237     CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
   9238   };
   9239 #ifdef COBJMACROS
   9240 #define IVMRSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9241 #define IVMRSurface_AddRef(This) (This)->lpVtbl->AddRef(This)
   9242 #define IVMRSurface_Release(This) (This)->lpVtbl->Release(This)
   9243 #define IVMRSurface_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This)
   9244 #define IVMRSurface_LockSurface(This,lpSurface) (This)->lpVtbl->LockSurface(This,lpSurface)
   9245 #define IVMRSurface_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This)
   9246 #define IVMRSurface_GetSurface(This,lplpSurface) (This)->lpVtbl->GetSurface(This,lplpSurface)
   9247 #endif
   9248 #endif
   9249   HRESULT WINAPI IVMRSurface_IsSurfaceLocked_Proxy(IVMRSurface *This);
   9250   void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9251   HRESULT WINAPI IVMRSurface_LockSurface_Proxy(IVMRSurface *This,BYTE **lpSurface);
   9252   void __RPC_STUB IVMRSurface_LockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9253   HRESULT WINAPI IVMRSurface_UnlockSurface_Proxy(IVMRSurface *This);
   9254   void __RPC_STUB IVMRSurface_UnlockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9255   HRESULT WINAPI IVMRSurface_GetSurface_Proxy(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
   9256   void __RPC_STUB IVMRSurface_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9257 #endif
   9258 
   9259 #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
   9260 #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
   9261   EXTERN_C const IID IID_IVMRImagePresenterConfig;
   9262 
   9263 #if defined(__cplusplus) && !defined(CINTERFACE)
   9264   struct IVMRImagePresenterConfig : public IUnknown {
   9265   public:
   9266     virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
   9267     virtual HRESULT WINAPI GetRenderingPrefs(DWORD *dwRenderFlags) = 0;
   9268   };
   9269 #else
   9270   typedef struct IVMRImagePresenterConfigVtbl {
   9271     BEGIN_INTERFACE
   9272       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterConfig *This,REFIID riid,void **ppvObject);
   9273       ULONG (WINAPI *AddRef)(IVMRImagePresenterConfig *This);
   9274       ULONG (WINAPI *Release)(IVMRImagePresenterConfig *This);
   9275       HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
   9276       HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
   9277     END_INTERFACE
   9278   } IVMRImagePresenterConfigVtbl;
   9279   struct IVMRImagePresenterConfig {
   9280     CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
   9281   };
   9282 #ifdef COBJMACROS
   9283 #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9284 #define IVMRImagePresenterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   9285 #define IVMRImagePresenterConfig_Release(This) (This)->lpVtbl->Release(This)
   9286 #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   9287 #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
   9288 #endif
   9289 #endif
   9290   HRESULT WINAPI IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
   9291   void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9292   HRESULT WINAPI IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
   9293   void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9294 #endif
   9295 
   9296 #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
   9297 #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
   9298   EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
   9299 #if defined(__cplusplus) && !defined(CINTERFACE)
   9300   struct IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig {
   9301   public:
   9302     virtual HRESULT WINAPI SetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
   9303     virtual HRESULT WINAPI GetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
   9304   };
   9305 #else
   9306   typedef struct IVMRImagePresenterExclModeConfigVtbl {
   9307     BEGIN_INTERFACE
   9308       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterExclModeConfig *This,REFIID riid,void **ppvObject);
   9309       ULONG (WINAPI *AddRef)(IVMRImagePresenterExclModeConfig *This);
   9310       ULONG (WINAPI *Release)(IVMRImagePresenterExclModeConfig *This);
   9311       HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD dwRenderFlags);
   9312       HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD *dwRenderFlags);
   9313       HRESULT (WINAPI *SetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
   9314       HRESULT (WINAPI *GetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
   9315     END_INTERFACE
   9316   } IVMRImagePresenterExclModeConfigVtbl;
   9317   struct IVMRImagePresenterExclModeConfig {
   9318     CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
   9319   };
   9320 #ifdef COBJMACROS
   9321 #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9322 #define IVMRImagePresenterExclModeConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   9323 #define IVMRImagePresenterExclModeConfig_Release(This) (This)->lpVtbl->Release(This)
   9324 #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   9325 #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
   9326 #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
   9327 #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
   9328 #endif
   9329 #endif
   9330   HRESULT WINAPI IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
   9331   void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9332   HRESULT WINAPI IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
   9333   void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9334 #endif
   9335 
   9336 #ifndef __IVPManager_INTERFACE_DEFINED__
   9337 #define __IVPManager_INTERFACE_DEFINED__
   9338   EXTERN_C const IID IID_IVPManager;
   9339 #if defined(__cplusplus) && !defined(CINTERFACE)
   9340   struct IVPManager : public IUnknown {
   9341   public:
   9342     virtual HRESULT WINAPI SetVideoPortIndex(DWORD dwVideoPortIndex) = 0;
   9343     virtual HRESULT WINAPI GetVideoPortIndex(DWORD *pdwVideoPortIndex) = 0;
   9344   };
   9345 #else
   9346   typedef struct IVPManagerVtbl {
   9347     BEGIN_INTERFACE
   9348       HRESULT (WINAPI *QueryInterface)(IVPManager *This,REFIID riid,void **ppvObject);
   9349       ULONG (WINAPI *AddRef)(IVPManager *This);
   9350       ULONG (WINAPI *Release)(IVPManager *This);
   9351       HRESULT (WINAPI *SetVideoPortIndex)(IVPManager *This,DWORD dwVideoPortIndex);
   9352       HRESULT (WINAPI *GetVideoPortIndex)(IVPManager *This,DWORD *pdwVideoPortIndex);
   9353     END_INTERFACE
   9354   } IVPManagerVtbl;
   9355   struct IVPManager {
   9356     CONST_VTBL struct IVPManagerVtbl *lpVtbl;
   9357   };
   9358 #ifdef COBJMACROS
   9359 #define IVPManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9360 #define IVPManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   9361 #define IVPManager_Release(This) (This)->lpVtbl->Release(This)
   9362 #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) (This)->lpVtbl->SetVideoPortIndex(This,dwVideoPortIndex)
   9363 #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) (This)->lpVtbl->GetVideoPortIndex(This,pdwVideoPortIndex)
   9364 #endif
   9365 #endif
   9366   HRESULT WINAPI IVPManager_SetVideoPortIndex_Proxy(IVPManager *This,DWORD dwVideoPortIndex);
   9367   void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9368   HRESULT WINAPI IVPManager_GetVideoPortIndex_Proxy(IVPManager *This,DWORD *pdwVideoPortIndex);
   9369   void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9370 #endif
   9371 
   9372   extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec;
   9373   extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec;
   9374 
   9375   unsigned long __RPC_API VARIANT_UserSize(unsigned long *,unsigned long,VARIANT *);
   9376   unsigned char *__RPC_API VARIANT_UserMarshal(unsigned long *,unsigned char *,VARIANT *);
   9377   unsigned char *__RPC_API VARIANT_UserUnmarshal(unsigned long *,unsigned char *,VARIANT *);
   9378   void __RPC_API VARIANT_UserFree(unsigned long *,VARIANT *);
   9379 
   9380   HRESULT WINAPI ICaptureGraphBuilder_FindInterface_Proxy(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint);
   9381   HRESULT WINAPI ICaptureGraphBuilder_FindInterface_Stub(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,IUnknown **ppint);
   9382   HRESULT WINAPI ICaptureGraphBuilder2_FindInterface_Proxy(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint);
   9383   HRESULT WINAPI ICaptureGraphBuilder2_FindInterface_Stub(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,IUnknown **ppint);
   9384   HRESULT WINAPI IKsPropertySet_Set_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData);
   9385   HRESULT WINAPI IKsPropertySet_Set_Stub(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,byte *pInstanceData,DWORD cbInstanceData,byte *pPropData,DWORD cbPropData);
   9386   HRESULT WINAPI IKsPropertySet_Get_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned);
   9387   HRESULT WINAPI IKsPropertySet_Get_Stub(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,byte *pInstanceData,DWORD cbInstanceData,byte *pPropData,DWORD cbPropData,DWORD *pcbReturned);
   9388 
   9389 #ifdef __cplusplus
   9390 }
   9391 #endif
   9392 #endif
   9393