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