comparison fuhtark_test/include/winapi/strmif.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
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 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 typedef LONGLONG REFERENCE_TIME;
782 typedef double REFTIME;
783 typedef DWORD_PTR HSEMAPHORE;
784 typedef DWORD_PTR HEVENT;
785
786 typedef struct _AllocatorProperties {
787 long cBuffers;
788 long cbBuffer;
789 long cbAlign;
790 long cbPrefix;
791 } ALLOCATOR_PROPERTIES;
792
793 extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
794 extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
795 #ifndef __IPin_INTERFACE_DEFINED__
796 #define __IPin_INTERFACE_DEFINED__
797 typedef struct _PinInfo {
798 IBaseFilter *pFilter;
799 PIN_DIRECTION dir;
800 WCHAR achName[128];
801 } PIN_INFO;
802
803 EXTERN_C const IID IID_IPin;
804 #if defined(__cplusplus) && !defined(CINTERFACE)
805 struct IPin : public IUnknown {
806 public:
807 virtual HRESULT WINAPI Connect(IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) = 0;
808 virtual HRESULT WINAPI ReceiveConnection(IPin *pConnector,const AM_MEDIA_TYPE *pmt) = 0;
809 virtual HRESULT WINAPI Disconnect(void) = 0;
810 virtual HRESULT WINAPI ConnectedTo(IPin **pPin) = 0;
811 virtual HRESULT WINAPI ConnectionMediaType(AM_MEDIA_TYPE *pmt) = 0;
812 virtual HRESULT WINAPI QueryPinInfo(PIN_INFO *pInfo) = 0;
813 virtual HRESULT WINAPI QueryDirection(PIN_DIRECTION *pPinDir) = 0;
814 virtual HRESULT WINAPI QueryId(LPWSTR *Id) = 0;
815 virtual HRESULT WINAPI QueryAccept(const AM_MEDIA_TYPE *pmt) = 0;
816 virtual HRESULT WINAPI EnumMediaTypes(IEnumMediaTypes **ppEnum) = 0;
817 virtual HRESULT WINAPI QueryInternalConnections(IPin **apPin,ULONG *nPin) = 0;
818 virtual HRESULT WINAPI EndOfStream(void) = 0;
819 virtual HRESULT WINAPI BeginFlush(void) = 0;
820 virtual HRESULT WINAPI EndFlush(void) = 0;
821 virtual HRESULT WINAPI NewSegment(REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) = 0;
822 };
823 #else
824 typedef struct IPinVtbl {
825 BEGIN_INTERFACE
826 HRESULT (WINAPI *QueryInterface)(IPin *This,REFIID riid,void **ppvObject);
827 ULONG (WINAPI *AddRef)(IPin *This);
828 ULONG (WINAPI *Release)(IPin *This);
829 HRESULT (WINAPI *Connect)(IPin *This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt);
830 HRESULT (WINAPI *ReceiveConnection)(IPin *This,IPin *pConnector,const AM_MEDIA_TYPE *pmt);
831 HRESULT (WINAPI *Disconnect)(IPin *This);
832 HRESULT (WINAPI *ConnectedTo)(IPin *This,IPin **pPin);
833 HRESULT (WINAPI *ConnectionMediaType)(IPin *This,AM_MEDIA_TYPE *pmt);
834 HRESULT (WINAPI *QueryPinInfo)(IPin *This,PIN_INFO *pInfo);
835 HRESULT (WINAPI *QueryDirection)(IPin *This,PIN_DIRECTION *pPinDir);
836 HRESULT (WINAPI *QueryId)(IPin *This,LPWSTR *Id);
837 HRESULT (WINAPI *QueryAccept)(IPin *This,const AM_MEDIA_TYPE *pmt);
838 HRESULT (WINAPI *EnumMediaTypes)(IPin *This,IEnumMediaTypes **ppEnum);
839 HRESULT (WINAPI *QueryInternalConnections)(IPin *This,IPin **apPin,ULONG *nPin);
840 HRESULT (WINAPI *EndOfStream)(IPin *This);
841 HRESULT (WINAPI *BeginFlush)(IPin *This);
842 HRESULT (WINAPI *EndFlush)(IPin *This);
843 HRESULT (WINAPI *NewSegment)(IPin *This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate);
844 END_INTERFACE
845 } IPinVtbl;
846 struct IPin {
847 CONST_VTBL struct IPinVtbl *lpVtbl;
848 };
849 #ifdef COBJMACROS
850 #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
851 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This)
852 #define IPin_Release(This) (This)->lpVtbl->Release(This)
853 #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt)
854 #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt)
855 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This)
856 #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin)
857 #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt)
858 #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo)
859 #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir)
860 #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id)
861 #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt)
862 #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum)
863 #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin)
864 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
865 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
866 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This)
867 #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate)
868 #endif
869 #endif
870 HRESULT WINAPI IPin_Connect_Proxy(IPin *This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt);
871 void __RPC_STUB IPin_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
872 HRESULT WINAPI IPin_ReceiveConnection_Proxy(IPin *This,IPin *pConnector,const AM_MEDIA_TYPE *pmt);
873 void __RPC_STUB IPin_ReceiveConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
874 HRESULT WINAPI IPin_Disconnect_Proxy(IPin *This);
875 void __RPC_STUB IPin_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
876 HRESULT WINAPI IPin_ConnectedTo_Proxy(IPin *This,IPin **pPin);
877 void __RPC_STUB IPin_ConnectedTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
878 HRESULT WINAPI IPin_ConnectionMediaType_Proxy(IPin *This,AM_MEDIA_TYPE *pmt);
879 void __RPC_STUB IPin_ConnectionMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
880 HRESULT WINAPI IPin_QueryPinInfo_Proxy(IPin *This,PIN_INFO *pInfo);
881 void __RPC_STUB IPin_QueryPinInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
882 HRESULT WINAPI IPin_QueryDirection_Proxy(IPin *This,PIN_DIRECTION *pPinDir);
883 void __RPC_STUB IPin_QueryDirection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
884 HRESULT WINAPI IPin_QueryId_Proxy(IPin *This,LPWSTR *Id);
885 void __RPC_STUB IPin_QueryId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
886 HRESULT WINAPI IPin_QueryAccept_Proxy(IPin *This,const AM_MEDIA_TYPE *pmt);
887 void __RPC_STUB IPin_QueryAccept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
888 HRESULT WINAPI IPin_EnumMediaTypes_Proxy(IPin *This,IEnumMediaTypes **ppEnum);
889 void __RPC_STUB IPin_EnumMediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
890 HRESULT WINAPI IPin_QueryInternalConnections_Proxy(IPin *This,IPin **apPin,ULONG *nPin);
891 void __RPC_STUB IPin_QueryInternalConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
892 HRESULT WINAPI IPin_EndOfStream_Proxy(IPin *This);
893 void __RPC_STUB IPin_EndOfStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
894 HRESULT WINAPI IPin_BeginFlush_Proxy(IPin *This);
895 void __RPC_STUB IPin_BeginFlush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
896 HRESULT WINAPI IPin_EndFlush_Proxy(IPin *This);
897 void __RPC_STUB IPin_EndFlush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
898 HRESULT WINAPI IPin_NewSegment_Proxy(IPin *This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate);
899 void __RPC_STUB IPin_NewSegment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
900 #endif
901
902 typedef IPin *PPIN;
903
904 extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
905 extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
906 #ifndef __IEnumPins_INTERFACE_DEFINED__
907 #define __IEnumPins_INTERFACE_DEFINED__
908 EXTERN_C const IID IID_IEnumPins;
909 #if defined(__cplusplus) && !defined(CINTERFACE)
910 struct IEnumPins : public IUnknown {
911 public:
912 virtual HRESULT WINAPI Next(ULONG cPins,IPin **ppPins,ULONG *pcFetched) = 0;
913 virtual HRESULT WINAPI Skip(ULONG cPins) = 0;
914 virtual HRESULT WINAPI Reset(void) = 0;
915 virtual HRESULT WINAPI Clone(IEnumPins **ppEnum) = 0;
916 };
917 #else
918 typedef struct IEnumPinsVtbl {
919 BEGIN_INTERFACE
920 HRESULT (WINAPI *QueryInterface)(IEnumPins *This,REFIID riid,void **ppvObject);
921 ULONG (WINAPI *AddRef)(IEnumPins *This);
922 ULONG (WINAPI *Release)(IEnumPins *This);
923 HRESULT (WINAPI *Next)(IEnumPins *This,ULONG cPins,IPin **ppPins,ULONG *pcFetched);
924 HRESULT (WINAPI *Skip)(IEnumPins *This,ULONG cPins);
925 HRESULT (WINAPI *Reset)(IEnumPins *This);
926 HRESULT (WINAPI *Clone)(IEnumPins *This,IEnumPins **ppEnum);
927 END_INTERFACE
928 } IEnumPinsVtbl;
929 struct IEnumPins {
930 CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
931 };
932 #ifdef COBJMACROS
933 #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
934 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This)
935 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This)
936 #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched)
937 #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins)
938 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This)
939 #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
940 #endif
941 #endif
942 HRESULT WINAPI IEnumPins_Next_Proxy(IEnumPins *This,ULONG cPins,IPin **ppPins,ULONG *pcFetched);
943 void __RPC_STUB IEnumPins_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
944 HRESULT WINAPI IEnumPins_Skip_Proxy(IEnumPins *This,ULONG cPins);
945 void __RPC_STUB IEnumPins_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
946 HRESULT WINAPI IEnumPins_Reset_Proxy(IEnumPins *This);
947 void __RPC_STUB IEnumPins_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
948 HRESULT WINAPI IEnumPins_Clone_Proxy(IEnumPins *This,IEnumPins **ppEnum);
949 void __RPC_STUB IEnumPins_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
950 #endif
951
952 typedef IEnumPins *PENUMPINS;
953
954 extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
955 extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
956 #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
957 #define __IEnumMediaTypes_INTERFACE_DEFINED__
958 EXTERN_C const IID IID_IEnumMediaTypes;
959 #if defined(__cplusplus) && !defined(CINTERFACE)
960 struct IEnumMediaTypes : public IUnknown {
961 public:
962 virtual HRESULT WINAPI Next(ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) = 0;
963 virtual HRESULT WINAPI Skip(ULONG cMediaTypes) = 0;
964 virtual HRESULT WINAPI Reset(void) = 0;
965 virtual HRESULT WINAPI Clone(IEnumMediaTypes **ppEnum) = 0;
966 };
967 #else
968 typedef struct IEnumMediaTypesVtbl {
969 BEGIN_INTERFACE
970 HRESULT (WINAPI *QueryInterface)(IEnumMediaTypes *This,REFIID riid,void **ppvObject);
971 ULONG (WINAPI *AddRef)(IEnumMediaTypes *This);
972 ULONG (WINAPI *Release)(IEnumMediaTypes *This);
973 HRESULT (WINAPI *Next)(IEnumMediaTypes *This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched);
974 HRESULT (WINAPI *Skip)(IEnumMediaTypes *This,ULONG cMediaTypes);
975 HRESULT (WINAPI *Reset)(IEnumMediaTypes *This);
976 HRESULT (WINAPI *Clone)(IEnumMediaTypes *This,IEnumMediaTypes **ppEnum);
977 END_INTERFACE
978 } IEnumMediaTypesVtbl;
979 struct IEnumMediaTypes {
980 CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
981 };
982 #ifdef COBJMACROS
983 #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
984 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This)
985 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This)
986 #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched)
987 #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes)
988 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This)
989 #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
990 #endif
991 #endif
992 HRESULT WINAPI IEnumMediaTypes_Next_Proxy(IEnumMediaTypes *This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched);
993 void __RPC_STUB IEnumMediaTypes_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
994 HRESULT WINAPI IEnumMediaTypes_Skip_Proxy(IEnumMediaTypes *This,ULONG cMediaTypes);
995 void __RPC_STUB IEnumMediaTypes_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
996 HRESULT WINAPI IEnumMediaTypes_Reset_Proxy(IEnumMediaTypes *This);
997 void __RPC_STUB IEnumMediaTypes_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
998 HRESULT WINAPI IEnumMediaTypes_Clone_Proxy(IEnumMediaTypes *This,IEnumMediaTypes **ppEnum);
999 void __RPC_STUB IEnumMediaTypes_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1000 #endif
1001
1002 typedef IEnumMediaTypes *PENUMMEDIATYPES;
1003
1004 extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
1005 extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
1006 #ifndef __IFilterGraph_INTERFACE_DEFINED__
1007 #define __IFilterGraph_INTERFACE_DEFINED__
1008
1009 EXTERN_C const IID IID_IFilterGraph;
1010 #if defined(__cplusplus) && !defined(CINTERFACE)
1011 struct IFilterGraph : public IUnknown {
1012 public:
1013 virtual HRESULT WINAPI AddFilter(IBaseFilter *pFilter,LPCWSTR pName) = 0;
1014 virtual HRESULT WINAPI RemoveFilter(IBaseFilter *pFilter) = 0;
1015 virtual HRESULT WINAPI EnumFilters(IEnumFilters **ppEnum) = 0;
1016 virtual HRESULT WINAPI FindFilterByName(LPCWSTR pName,IBaseFilter **ppFilter) = 0;
1017 virtual HRESULT WINAPI ConnectDirect(IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) = 0;
1018 virtual HRESULT WINAPI Reconnect(IPin *ppin) = 0;
1019 virtual HRESULT WINAPI Disconnect(IPin *ppin) = 0;
1020 virtual HRESULT WINAPI SetDefaultSyncSource(void) = 0;
1021 };
1022 #else
1023 typedef struct IFilterGraphVtbl {
1024 BEGIN_INTERFACE
1025 HRESULT (WINAPI *QueryInterface)(IFilterGraph *This,REFIID riid,void **ppvObject);
1026 ULONG (WINAPI *AddRef)(IFilterGraph *This);
1027 ULONG (WINAPI *Release)(IFilterGraph *This);
1028 HRESULT (WINAPI *AddFilter)(IFilterGraph *This,IBaseFilter *pFilter,LPCWSTR pName);
1029 HRESULT (WINAPI *RemoveFilter)(IFilterGraph *This,IBaseFilter *pFilter);
1030 HRESULT (WINAPI *EnumFilters)(IFilterGraph *This,IEnumFilters **ppEnum);
1031 HRESULT (WINAPI *FindFilterByName)(IFilterGraph *This,LPCWSTR pName,IBaseFilter **ppFilter);
1032 HRESULT (WINAPI *ConnectDirect)(IFilterGraph *This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt);
1033 HRESULT (WINAPI *Reconnect)(IFilterGraph *This,IPin *ppin);
1034 HRESULT (WINAPI *Disconnect)(IFilterGraph *This,IPin *ppin);
1035 HRESULT (WINAPI *SetDefaultSyncSource)(IFilterGraph *This);
1036 END_INTERFACE
1037 } IFilterGraphVtbl;
1038 struct IFilterGraph {
1039 CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
1040 };
1041 #ifdef COBJMACROS
1042 #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1043 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This)
1044 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This)
1045 #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
1046 #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
1047 #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
1048 #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
1049 #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
1050 #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
1051 #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
1052 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
1053 #endif
1054 #endif
1055 HRESULT WINAPI IFilterGraph_AddFilter_Proxy(IFilterGraph *This,IBaseFilter *pFilter,LPCWSTR pName);
1056 void __RPC_STUB IFilterGraph_AddFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1057 HRESULT WINAPI IFilterGraph_RemoveFilter_Proxy(IFilterGraph *This,IBaseFilter *pFilter);
1058 void __RPC_STUB IFilterGraph_RemoveFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1059 HRESULT WINAPI IFilterGraph_EnumFilters_Proxy(IFilterGraph *This,IEnumFilters **ppEnum);
1060 void __RPC_STUB IFilterGraph_EnumFilters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1061 HRESULT WINAPI IFilterGraph_FindFilterByName_Proxy(IFilterGraph *This,LPCWSTR pName,IBaseFilter **ppFilter);
1062 void __RPC_STUB IFilterGraph_FindFilterByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1063 HRESULT WINAPI IFilterGraph_ConnectDirect_Proxy(IFilterGraph *This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt);
1064 void __RPC_STUB IFilterGraph_ConnectDirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1065 HRESULT WINAPI IFilterGraph_Reconnect_Proxy(IFilterGraph *This,IPin *ppin);
1066 void __RPC_STUB IFilterGraph_Reconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1067 HRESULT WINAPI IFilterGraph_Disconnect_Proxy(IFilterGraph *This,IPin *ppin);
1068 void __RPC_STUB IFilterGraph_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1069 HRESULT WINAPI IFilterGraph_SetDefaultSyncSource_Proxy(IFilterGraph *This);
1070 void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1071 #endif
1072
1073 typedef IFilterGraph *PFILTERGRAPH;
1074
1075 extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
1076 extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
1077 #ifndef __IEnumFilters_INTERFACE_DEFINED__
1078 #define __IEnumFilters_INTERFACE_DEFINED__
1079 EXTERN_C const IID IID_IEnumFilters;
1080 #if defined(__cplusplus) && !defined(CINTERFACE)
1081 struct IEnumFilters : public IUnknown {
1082 public:
1083 virtual HRESULT WINAPI Next(ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) = 0;
1084 virtual HRESULT WINAPI Skip(ULONG cFilters) = 0;
1085 virtual HRESULT WINAPI Reset(void) = 0;
1086 virtual HRESULT WINAPI Clone(IEnumFilters **ppEnum) = 0;
1087 };
1088 #else
1089 typedef struct IEnumFiltersVtbl {
1090 BEGIN_INTERFACE
1091 HRESULT (WINAPI *QueryInterface)(IEnumFilters *This,REFIID riid,void **ppvObject);
1092 ULONG (WINAPI *AddRef)(IEnumFilters *This);
1093 ULONG (WINAPI *Release)(IEnumFilters *This);
1094 HRESULT (WINAPI *Next)(IEnumFilters *This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched);
1095 HRESULT (WINAPI *Skip)(IEnumFilters *This,ULONG cFilters);
1096 HRESULT (WINAPI *Reset)(IEnumFilters *This);
1097 HRESULT (WINAPI *Clone)(IEnumFilters *This,IEnumFilters **ppEnum);
1098 END_INTERFACE
1099 } IEnumFiltersVtbl;
1100 struct IEnumFilters {
1101 CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
1102 };
1103 #ifdef COBJMACROS
1104 #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1105 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
1106 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This)
1107 #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched)
1108 #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
1109 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This)
1110 #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
1111 #endif
1112 #endif
1113 HRESULT WINAPI IEnumFilters_Next_Proxy(IEnumFilters *This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched);
1114 void __RPC_STUB IEnumFilters_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1115 HRESULT WINAPI IEnumFilters_Skip_Proxy(IEnumFilters *This,ULONG cFilters);
1116 void __RPC_STUB IEnumFilters_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1117 HRESULT WINAPI IEnumFilters_Reset_Proxy(IEnumFilters *This);
1118 void __RPC_STUB IEnumFilters_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1119 HRESULT WINAPI IEnumFilters_Clone_Proxy(IEnumFilters *This,IEnumFilters **ppEnum);
1120 void __RPC_STUB IEnumFilters_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1121 #endif
1122
1123 typedef IEnumFilters *PENUMFILTERS;
1124
1125 extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
1126 extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
1127 #ifndef __IMediaFilter_INTERFACE_DEFINED__
1128 #define __IMediaFilter_INTERFACE_DEFINED__
1129 typedef enum _FilterState {
1130 State_Stopped = 0,State_Paused,State_Running
1131 } FILTER_STATE;
1132
1133 EXTERN_C const IID IID_IMediaFilter;
1134 #if defined(__cplusplus) && !defined(CINTERFACE)
1135 struct IMediaFilter : public IPersist {
1136 public:
1137 virtual HRESULT WINAPI Stop(void) = 0;
1138 virtual HRESULT WINAPI Pause(void) = 0;
1139 virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0;
1140 virtual HRESULT WINAPI GetState(DWORD dwMilliSecsTimeout,FILTER_STATE *State) = 0;
1141 virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0;
1142 virtual HRESULT WINAPI GetSyncSource(IReferenceClock **pClock) = 0;
1143 };
1144 #else
1145 typedef struct IMediaFilterVtbl {
1146 BEGIN_INTERFACE
1147 HRESULT (WINAPI *QueryInterface)(IMediaFilter *This,REFIID riid,void **ppvObject);
1148 ULONG (WINAPI *AddRef)(IMediaFilter *This);
1149 ULONG (WINAPI *Release)(IMediaFilter *This);
1150 HRESULT (WINAPI *GetClassID)(IMediaFilter *This,CLSID *pClassID);
1151 HRESULT (WINAPI *Stop)(IMediaFilter *This);
1152 HRESULT (WINAPI *Pause)(IMediaFilter *This);
1153 HRESULT (WINAPI *Run)(IMediaFilter *This,REFERENCE_TIME tStart);
1154 HRESULT (WINAPI *GetState)(IMediaFilter *This,DWORD dwMilliSecsTimeout,FILTER_STATE *State);
1155 HRESULT (WINAPI *SetSyncSource)(IMediaFilter *This,IReferenceClock *pClock);
1156 HRESULT (WINAPI *GetSyncSource)(IMediaFilter *This,IReferenceClock **pClock);
1157 END_INTERFACE
1158 } IMediaFilterVtbl;
1159 struct IMediaFilter {
1160 CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
1161 };
1162 #ifdef COBJMACROS
1163 #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1164 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
1165 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This)
1166 #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
1167 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This)
1168 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This)
1169 #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
1170 #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
1171 #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
1172 #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
1173 #endif
1174 #endif
1175 HRESULT WINAPI IMediaFilter_Stop_Proxy(IMediaFilter *This);
1176 void __RPC_STUB IMediaFilter_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1177 HRESULT WINAPI IMediaFilter_Pause_Proxy(IMediaFilter *This);
1178 void __RPC_STUB IMediaFilter_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1179 HRESULT WINAPI IMediaFilter_Run_Proxy(IMediaFilter *This,REFERENCE_TIME tStart);
1180 void __RPC_STUB IMediaFilter_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1181 HRESULT WINAPI IMediaFilter_GetState_Proxy(IMediaFilter *This,DWORD dwMilliSecsTimeout,FILTER_STATE *State);
1182 void __RPC_STUB IMediaFilter_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1183 HRESULT WINAPI IMediaFilter_SetSyncSource_Proxy(IMediaFilter *This,IReferenceClock *pClock);
1184 void __RPC_STUB IMediaFilter_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1185 HRESULT WINAPI IMediaFilter_GetSyncSource_Proxy(IMediaFilter *This,IReferenceClock **pClock);
1186 void __RPC_STUB IMediaFilter_GetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1187 #endif
1188
1189 typedef IMediaFilter *PMEDIAFILTER;
1190
1191 extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
1192 extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
1193 #ifndef __IBaseFilter_INTERFACE_DEFINED__
1194 #define __IBaseFilter_INTERFACE_DEFINED__
1195
1196 typedef struct _FilterInfo {
1197 WCHAR achName[128];
1198 IFilterGraph *pGraph;
1199 } FILTER_INFO;
1200
1201 EXTERN_C const IID IID_IBaseFilter;
1202 #if defined(__cplusplus) && !defined(CINTERFACE)
1203 struct IBaseFilter : public IMediaFilter {
1204 public:
1205 virtual HRESULT WINAPI EnumPins(IEnumPins **ppEnum) = 0;
1206 virtual HRESULT WINAPI FindPin(LPCWSTR Id,IPin **ppPin) = 0;
1207 virtual HRESULT WINAPI QueryFilterInfo(FILTER_INFO *pInfo) = 0;
1208 virtual HRESULT WINAPI JoinFilterGraph(IFilterGraph *pGraph,LPCWSTR pName) = 0;
1209 virtual HRESULT WINAPI QueryVendorInfo(LPWSTR *pVendorInfo) = 0;
1210 };
1211 #else
1212 typedef struct IBaseFilterVtbl {
1213 BEGIN_INTERFACE
1214 HRESULT (WINAPI *QueryInterface)(IBaseFilter *This,REFIID riid,void **ppvObject);
1215 ULONG (WINAPI *AddRef)(IBaseFilter *This);
1216 ULONG (WINAPI *Release)(IBaseFilter *This);
1217 HRESULT (WINAPI *GetClassID)(IBaseFilter *This,CLSID *pClassID);
1218 HRESULT (WINAPI *Stop)(IBaseFilter *This);
1219 HRESULT (WINAPI *Pause)(IBaseFilter *This);
1220 HRESULT (WINAPI *Run)(IBaseFilter *This,REFERENCE_TIME tStart);
1221 HRESULT (WINAPI *GetState)(IBaseFilter *This,DWORD dwMilliSecsTimeout,FILTER_STATE *State);
1222 HRESULT (WINAPI *SetSyncSource)(IBaseFilter *This,IReferenceClock *pClock);
1223 HRESULT (WINAPI *GetSyncSource)(IBaseFilter *This,IReferenceClock **pClock);
1224 HRESULT (WINAPI *EnumPins)(IBaseFilter *This,IEnumPins **ppEnum);
1225 HRESULT (WINAPI *FindPin)(IBaseFilter *This,LPCWSTR Id,IPin **ppPin);
1226 HRESULT (WINAPI *QueryFilterInfo)(IBaseFilter *This,FILTER_INFO *pInfo);
1227 HRESULT (WINAPI *JoinFilterGraph)(IBaseFilter *This,IFilterGraph *pGraph,LPCWSTR pName);
1228 HRESULT (WINAPI *QueryVendorInfo)(IBaseFilter *This,LPWSTR *pVendorInfo);
1229 END_INTERFACE
1230 } IBaseFilterVtbl;
1231 struct IBaseFilter {
1232 CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
1233 };
1234 #ifdef COBJMACROS
1235 #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1236 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
1237 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This)
1238 #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
1239 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This)
1240 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This)
1241 #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
1242 #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
1243 #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
1244 #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
1245 #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum)
1246 #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin)
1247 #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo)
1248 #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName)
1249 #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo)
1250 #endif
1251 #endif
1252 HRESULT WINAPI IBaseFilter_EnumPins_Proxy(IBaseFilter *This,IEnumPins **ppEnum);
1253 void __RPC_STUB IBaseFilter_EnumPins_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1254 HRESULT WINAPI IBaseFilter_FindPin_Proxy(IBaseFilter *This,LPCWSTR Id,IPin **ppPin);
1255 void __RPC_STUB IBaseFilter_FindPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1256 HRESULT WINAPI IBaseFilter_QueryFilterInfo_Proxy(IBaseFilter *This,FILTER_INFO *pInfo);
1257 void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1258 HRESULT WINAPI IBaseFilter_JoinFilterGraph_Proxy(IBaseFilter *This,IFilterGraph *pGraph,LPCWSTR pName);
1259 void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1260 HRESULT WINAPI IBaseFilter_QueryVendorInfo_Proxy(IBaseFilter *This,LPWSTR *pVendorInfo);
1261 void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1262 #endif
1263
1264 typedef IBaseFilter *PFILTER;
1265
1266 extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
1267 extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
1268 #ifndef __IReferenceClock_INTERFACE_DEFINED__
1269 #define __IReferenceClock_INTERFACE_DEFINED__
1270 EXTERN_C const IID IID_IReferenceClock;
1271 #if defined(__cplusplus) && !defined(CINTERFACE)
1272 struct IReferenceClock : public IUnknown {
1273 public:
1274 virtual HRESULT WINAPI GetTime(REFERENCE_TIME *pTime) = 0;
1275 virtual HRESULT WINAPI AdviseTime(REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) = 0;
1276 virtual HRESULT WINAPI AdvisePeriodic(REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) = 0;
1277 virtual HRESULT WINAPI Unadvise(DWORD_PTR dwAdviseCookie) = 0;
1278 };
1279 #else
1280 typedef struct IReferenceClockVtbl {
1281 BEGIN_INTERFACE
1282 HRESULT (WINAPI *QueryInterface)(IReferenceClock *This,REFIID riid,void **ppvObject);
1283 ULONG (WINAPI *AddRef)(IReferenceClock *This);
1284 ULONG (WINAPI *Release)(IReferenceClock *This);
1285 HRESULT (WINAPI *GetTime)(IReferenceClock *This,REFERENCE_TIME *pTime);
1286 HRESULT (WINAPI *AdviseTime)(IReferenceClock *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
1287 HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
1288 HRESULT (WINAPI *Unadvise)(IReferenceClock *This,DWORD_PTR dwAdviseCookie);
1289 END_INTERFACE
1290 } IReferenceClockVtbl;
1291 struct IReferenceClock {
1292 CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
1293 };
1294 #ifdef COBJMACROS
1295 #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1296 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This)
1297 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This)
1298 #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
1299 #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
1300 #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
1301 #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
1302 #endif
1303 #endif
1304 HRESULT WINAPI IReferenceClock_GetTime_Proxy(IReferenceClock *This,REFERENCE_TIME *pTime);
1305 void __RPC_STUB IReferenceClock_GetTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1306 HRESULT WINAPI IReferenceClock_AdviseTime_Proxy(IReferenceClock *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
1307 void __RPC_STUB IReferenceClock_AdviseTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1308 HRESULT WINAPI IReferenceClock_AdvisePeriodic_Proxy(IReferenceClock *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
1309 void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1310 HRESULT WINAPI IReferenceClock_Unadvise_Proxy(IReferenceClock *This,DWORD_PTR dwAdviseCookie);
1311 void __RPC_STUB IReferenceClock_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1312 #endif
1313
1314 typedef IReferenceClock *PREFERENCECLOCK;
1315
1316 extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
1317 extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
1318 #ifndef __IReferenceClock2_INTERFACE_DEFINED__
1319 #define __IReferenceClock2_INTERFACE_DEFINED__
1320 EXTERN_C const IID IID_IReferenceClock2;
1321 #if defined(__cplusplus) && !defined(CINTERFACE)
1322 struct IReferenceClock2 : public IReferenceClock {
1323 };
1324 #else
1325 typedef struct IReferenceClock2Vtbl {
1326 BEGIN_INTERFACE
1327 HRESULT (WINAPI *QueryInterface)(IReferenceClock2 *This,REFIID riid,void **ppvObject);
1328 ULONG (WINAPI *AddRef)(IReferenceClock2 *This);
1329 ULONG (WINAPI *Release)(IReferenceClock2 *This);
1330 HRESULT (WINAPI *GetTime)(IReferenceClock2 *This,REFERENCE_TIME *pTime);
1331 HRESULT (WINAPI *AdviseTime)(IReferenceClock2 *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
1332 HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock2 *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
1333 HRESULT (WINAPI *Unadvise)(IReferenceClock2 *This,DWORD_PTR dwAdviseCookie);
1334 END_INTERFACE
1335 } IReferenceClock2Vtbl;
1336 struct IReferenceClock2 {
1337 CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
1338 };
1339 #ifdef COBJMACROS
1340 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1341 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This)
1342 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This)
1343 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
1344 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
1345 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
1346 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
1347 #endif
1348 #endif
1349 #endif
1350
1351 typedef IReferenceClock2 *PREFERENCECLOCK2;
1352
1353 extern RPC_IF_HANDLE __MIDL_itf_strmif_0126_v0_0_c_ifspec;
1354 extern RPC_IF_HANDLE __MIDL_itf_strmif_0126_v0_0_s_ifspec;
1355 #ifndef __IMediaSample_INTERFACE_DEFINED__
1356 #define __IMediaSample_INTERFACE_DEFINED__
1357 EXTERN_C const IID IID_IMediaSample;
1358 #if defined(__cplusplus) && !defined(CINTERFACE)
1359 struct IMediaSample : public IUnknown {
1360 public:
1361 virtual HRESULT WINAPI GetPointer(BYTE **ppBuffer) = 0;
1362 virtual long WINAPI GetSize(void) = 0;
1363 virtual HRESULT WINAPI GetTime(REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) = 0;
1364 virtual HRESULT WINAPI SetTime(REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) = 0;
1365 virtual HRESULT WINAPI IsSyncPoint(void) = 0;
1366 virtual HRESULT WINAPI SetSyncPoint(WINBOOL bIsSyncPoint) = 0;
1367 virtual HRESULT WINAPI IsPreroll(void) = 0;
1368 virtual HRESULT WINAPI SetPreroll(WINBOOL bIsPreroll) = 0;
1369 virtual long WINAPI GetActualDataLength(void) = 0;
1370 virtual HRESULT WINAPI SetActualDataLength(long __MIDL_0010) = 0;
1371 virtual HRESULT WINAPI GetMediaType(AM_MEDIA_TYPE **ppMediaType) = 0;
1372 virtual HRESULT WINAPI SetMediaType(AM_MEDIA_TYPE *pMediaType) = 0;
1373 virtual HRESULT WINAPI IsDiscontinuity(void) = 0;
1374 virtual HRESULT WINAPI SetDiscontinuity(WINBOOL bDiscontinuity) = 0;
1375 virtual HRESULT WINAPI GetMediaTime(LONGLONG *pTimeStart,LONGLONG *pTimeEnd) = 0;
1376 virtual HRESULT WINAPI SetMediaTime(LONGLONG *pTimeStart,LONGLONG *pTimeEnd) = 0;
1377 };
1378 #else
1379 typedef struct IMediaSampleVtbl {
1380 BEGIN_INTERFACE
1381 HRESULT (WINAPI *QueryInterface)(IMediaSample *This,REFIID riid,void **ppvObject);
1382 ULONG (WINAPI *AddRef)(IMediaSample *This);
1383 ULONG (WINAPI *Release)(IMediaSample *This);
1384 HRESULT (WINAPI *GetPointer)(IMediaSample *This,BYTE **ppBuffer);
1385 long (WINAPI *GetSize)(IMediaSample *This);
1386 HRESULT (WINAPI *GetTime)(IMediaSample *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
1387 HRESULT (WINAPI *SetTime)(IMediaSample *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
1388 HRESULT (WINAPI *IsSyncPoint)(IMediaSample *This);
1389 HRESULT (WINAPI *SetSyncPoint)(IMediaSample *This,WINBOOL bIsSyncPoint);
1390 HRESULT (WINAPI *IsPreroll)(IMediaSample *This);
1391 HRESULT (WINAPI *SetPreroll)(IMediaSample *This,WINBOOL bIsPreroll);
1392 long (WINAPI *GetActualDataLength)(IMediaSample *This);
1393 HRESULT (WINAPI *SetActualDataLength)(IMediaSample *This,long __MIDL_0010);
1394 HRESULT (WINAPI *GetMediaType)(IMediaSample *This,AM_MEDIA_TYPE **ppMediaType);
1395 HRESULT (WINAPI *SetMediaType)(IMediaSample *This,AM_MEDIA_TYPE *pMediaType);
1396 HRESULT (WINAPI *IsDiscontinuity)(IMediaSample *This);
1397 HRESULT (WINAPI *SetDiscontinuity)(IMediaSample *This,WINBOOL bDiscontinuity);
1398 HRESULT (WINAPI *GetMediaTime)(IMediaSample *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
1399 HRESULT (WINAPI *SetMediaTime)(IMediaSample *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
1400 END_INTERFACE
1401 } IMediaSampleVtbl;
1402 struct IMediaSample {
1403 CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
1404 };
1405 #ifdef COBJMACROS
1406 #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1407 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
1408 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This)
1409 #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
1410 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This)
1411 #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
1412 #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
1413 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
1414 #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
1415 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
1416 #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
1417 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
1418 #define IMediaSample_SetActualDataLength(This,__MIDL_0010) (This)->lpVtbl->SetActualDataLength(This,__MIDL_0010)
1419 #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
1420 #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
1421 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
1422 #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
1423 #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
1424 #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
1425 #endif
1426 #endif
1427 HRESULT WINAPI IMediaSample_GetPointer_Proxy(IMediaSample *This,BYTE **ppBuffer);
1428 void __RPC_STUB IMediaSample_GetPointer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1429 long WINAPI IMediaSample_GetSize_Proxy(IMediaSample *This);
1430 void __RPC_STUB IMediaSample_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1431 HRESULT WINAPI IMediaSample_GetTime_Proxy(IMediaSample *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
1432 void __RPC_STUB IMediaSample_GetTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1433 HRESULT WINAPI IMediaSample_SetTime_Proxy(IMediaSample *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
1434 void __RPC_STUB IMediaSample_SetTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1435 HRESULT WINAPI IMediaSample_IsSyncPoint_Proxy(IMediaSample *This);
1436 void __RPC_STUB IMediaSample_IsSyncPoint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1437 HRESULT WINAPI IMediaSample_SetSyncPoint_Proxy(IMediaSample *This,WINBOOL bIsSyncPoint);
1438 void __RPC_STUB IMediaSample_SetSyncPoint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1439 HRESULT WINAPI IMediaSample_IsPreroll_Proxy(IMediaSample *This);
1440 void __RPC_STUB IMediaSample_IsPreroll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1441 HRESULT WINAPI IMediaSample_SetPreroll_Proxy(IMediaSample *This,WINBOOL bIsPreroll);
1442 void __RPC_STUB IMediaSample_SetPreroll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1443 long WINAPI IMediaSample_GetActualDataLength_Proxy(IMediaSample *This);
1444 void __RPC_STUB IMediaSample_GetActualDataLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1445 HRESULT WINAPI IMediaSample_SetActualDataLength_Proxy(IMediaSample *This,long __MIDL_0010);
1446 void __RPC_STUB IMediaSample_SetActualDataLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1447 HRESULT WINAPI IMediaSample_GetMediaType_Proxy(IMediaSample *This,AM_MEDIA_TYPE **ppMediaType);
1448 void __RPC_STUB IMediaSample_GetMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1449 HRESULT WINAPI IMediaSample_SetMediaType_Proxy(IMediaSample *This,AM_MEDIA_TYPE *pMediaType);
1450 void __RPC_STUB IMediaSample_SetMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1451 HRESULT WINAPI IMediaSample_IsDiscontinuity_Proxy(IMediaSample *This);
1452 void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1453 HRESULT WINAPI IMediaSample_SetDiscontinuity_Proxy(IMediaSample *This,WINBOOL bDiscontinuity);
1454 void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1455 HRESULT WINAPI IMediaSample_GetMediaTime_Proxy(IMediaSample *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
1456 void __RPC_STUB IMediaSample_GetMediaTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1457 HRESULT WINAPI IMediaSample_SetMediaTime_Proxy(IMediaSample *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
1458 void __RPC_STUB IMediaSample_SetMediaTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1459 #endif
1460
1461 typedef IMediaSample *PMEDIASAMPLE;
1462
1463 enum tagAM_SAMPLE_PROPERTY_FLAGS {
1464 AM_SAMPLE_SPLICEPOINT = 0x1,AM_SAMPLE_PREROLL = 0x2,AM_SAMPLE_DATADISCONTINUITY = 0x4,AM_SAMPLE_TYPECHANGED = 0x8,AM_SAMPLE_TIMEVALID = 0x10,
1465 AM_SAMPLE_TIMEDISCONTINUITY = 0x40,AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,AM_SAMPLE_STOPVALID = 0x100,AM_SAMPLE_ENDOFSTREAM = 0x200,AM_STREAM_MEDIA = 0,
1466 AM_STREAM_CONTROL = 1
1467 };
1468 typedef struct tagAM_SAMPLE2_PROPERTIES {
1469 DWORD cbData;
1470 DWORD dwTypeSpecificFlags;
1471 DWORD dwSampleFlags;
1472 LONG lActual;
1473 REFERENCE_TIME tStart;
1474 REFERENCE_TIME tStop;
1475 DWORD dwStreamId;
1476 AM_MEDIA_TYPE *pMediaType;
1477 BYTE *pbBuffer;
1478 LONG cbBuffer;
1479 } AM_SAMPLE2_PROPERTIES;
1480
1481 extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_c_ifspec;
1482 extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_s_ifspec;
1483 #ifndef __IMediaSample2_INTERFACE_DEFINED__
1484 #define __IMediaSample2_INTERFACE_DEFINED__
1485 EXTERN_C const IID IID_IMediaSample2;
1486 #if defined(__cplusplus) && !defined(CINTERFACE)
1487 struct IMediaSample2 : public IMediaSample {
1488 public:
1489 virtual HRESULT WINAPI GetProperties(DWORD cbProperties,BYTE *pbProperties) = 0;
1490 virtual HRESULT WINAPI SetProperties(DWORD cbProperties,const BYTE *pbProperties) = 0;
1491 };
1492 #else
1493 typedef struct IMediaSample2Vtbl {
1494 BEGIN_INTERFACE
1495 HRESULT (WINAPI *QueryInterface)(IMediaSample2 *This,REFIID riid,void **ppvObject);
1496 ULONG (WINAPI *AddRef)(IMediaSample2 *This);
1497 ULONG (WINAPI *Release)(IMediaSample2 *This);
1498 HRESULT (WINAPI *GetPointer)(IMediaSample2 *This,BYTE **ppBuffer);
1499 long (WINAPI *GetSize)(IMediaSample2 *This);
1500 HRESULT (WINAPI *GetTime)(IMediaSample2 *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
1501 HRESULT (WINAPI *SetTime)(IMediaSample2 *This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd);
1502 HRESULT (WINAPI *IsSyncPoint)(IMediaSample2 *This);
1503 HRESULT (WINAPI *SetSyncPoint)(IMediaSample2 *This,WINBOOL bIsSyncPoint);
1504 HRESULT (WINAPI *IsPreroll)(IMediaSample2 *This);
1505 HRESULT (WINAPI *SetPreroll)(IMediaSample2 *This,WINBOOL bIsPreroll);
1506 long (WINAPI *GetActualDataLength)(IMediaSample2 *This);
1507 HRESULT (WINAPI *SetActualDataLength)(IMediaSample2 *This,long __MIDL_0010);
1508 HRESULT (WINAPI *GetMediaType)(IMediaSample2 *This,AM_MEDIA_TYPE **ppMediaType);
1509 HRESULT (WINAPI *SetMediaType)(IMediaSample2 *This,AM_MEDIA_TYPE *pMediaType);
1510 HRESULT (WINAPI *IsDiscontinuity)(IMediaSample2 *This);
1511 HRESULT (WINAPI *SetDiscontinuity)(IMediaSample2 *This,WINBOOL bDiscontinuity);
1512 HRESULT (WINAPI *GetMediaTime)(IMediaSample2 *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
1513 HRESULT (WINAPI *SetMediaTime)(IMediaSample2 *This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd);
1514 HRESULT (WINAPI *GetProperties)(IMediaSample2 *This,DWORD cbProperties,BYTE *pbProperties);
1515 HRESULT (WINAPI *SetProperties)(IMediaSample2 *This,DWORD cbProperties,const BYTE *pbProperties);
1516 END_INTERFACE
1517 } IMediaSample2Vtbl;
1518 struct IMediaSample2 {
1519 CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
1520 };
1521 #ifdef COBJMACROS
1522 #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1523 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This)
1524 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This)
1525 #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
1526 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This)
1527 #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
1528 #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
1529 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
1530 #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
1531 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
1532 #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
1533 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
1534 #define IMediaSample2_SetActualDataLength(This,__MIDL_0010) (This)->lpVtbl->SetActualDataLength(This,__MIDL_0010)
1535 #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
1536 #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
1537 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
1538 #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
1539 #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
1540 #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
1541 #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties)
1542 #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties)
1543 #endif
1544 #endif
1545 HRESULT WINAPI IMediaSample2_GetProperties_Proxy(IMediaSample2 *This,DWORD cbProperties,BYTE *pbProperties);
1546 void __RPC_STUB IMediaSample2_GetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1547 HRESULT WINAPI IMediaSample2_SetProperties_Proxy(IMediaSample2 *This,DWORD cbProperties,const BYTE *pbProperties);
1548 void __RPC_STUB IMediaSample2_SetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1549 #endif
1550
1551 typedef IMediaSample2 *PMEDIASAMPLE2;
1552
1553 #define AM_GBF_PREVFRAMESKIPPED 1
1554 #define AM_GBF_NOTASYNCPOINT 2
1555 #define AM_GBF_NOWAIT 4
1556 #define AM_GBF_NODDSURFACELOCK 8
1557
1558 extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;
1559 extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;
1560 #ifndef __IMemAllocator_INTERFACE_DEFINED__
1561 #define __IMemAllocator_INTERFACE_DEFINED__
1562 EXTERN_C const IID IID_IMemAllocator;
1563 #if defined(__cplusplus) && !defined(CINTERFACE)
1564 struct IMemAllocator : public IUnknown {
1565 public:
1566 virtual HRESULT WINAPI SetProperties(ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) = 0;
1567 virtual HRESULT WINAPI GetProperties(ALLOCATOR_PROPERTIES *pProps) = 0;
1568 virtual HRESULT WINAPI Commit(void) = 0;
1569 virtual HRESULT WINAPI Decommit(void) = 0;
1570 virtual HRESULT WINAPI GetBuffer(IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) = 0;
1571 virtual HRESULT WINAPI ReleaseBuffer(IMediaSample *pBuffer) = 0;
1572 };
1573 #else
1574 typedef struct IMemAllocatorVtbl {
1575 BEGIN_INTERFACE
1576 HRESULT (WINAPI *QueryInterface)(IMemAllocator *This,REFIID riid,void **ppvObject);
1577 ULONG (WINAPI *AddRef)(IMemAllocator *This);
1578 ULONG (WINAPI *Release)(IMemAllocator *This);
1579 HRESULT (WINAPI *SetProperties)(IMemAllocator *This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual);
1580 HRESULT (WINAPI *GetProperties)(IMemAllocator *This,ALLOCATOR_PROPERTIES *pProps);
1581 HRESULT (WINAPI *Commit)(IMemAllocator *This);
1582 HRESULT (WINAPI *Decommit)(IMemAllocator *This);
1583 HRESULT (WINAPI *GetBuffer)(IMemAllocator *This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags);
1584 HRESULT (WINAPI *ReleaseBuffer)(IMemAllocator *This,IMediaSample *pBuffer);
1585 END_INTERFACE
1586 } IMemAllocatorVtbl;
1587 struct IMemAllocator {
1588 CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
1589 };
1590 #ifdef COBJMACROS
1591 #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1592 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
1593 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This)
1594 #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
1595 #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
1596 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This)
1597 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This)
1598 #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
1599 #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
1600 #endif
1601 #endif
1602 HRESULT WINAPI IMemAllocator_SetProperties_Proxy(IMemAllocator *This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual);
1603 void __RPC_STUB IMemAllocator_SetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1604 HRESULT WINAPI IMemAllocator_GetProperties_Proxy(IMemAllocator *This,ALLOCATOR_PROPERTIES *pProps);
1605 void __RPC_STUB IMemAllocator_GetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1606 HRESULT WINAPI IMemAllocator_Commit_Proxy(IMemAllocator *This);
1607 void __RPC_STUB IMemAllocator_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1608 HRESULT WINAPI IMemAllocator_Decommit_Proxy(IMemAllocator *This);
1609 void __RPC_STUB IMemAllocator_Decommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1610 HRESULT WINAPI IMemAllocator_GetBuffer_Proxy(IMemAllocator *This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags);
1611 void __RPC_STUB IMemAllocator_GetBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1612 HRESULT WINAPI IMemAllocator_ReleaseBuffer_Proxy(IMemAllocator *This,IMediaSample *pBuffer);
1613 void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1614 #endif
1615
1616 typedef IMemAllocator *PMEMALLOCATOR;
1617
1618 extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
1619 extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
1620 #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
1621 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
1622 EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
1623 #if defined(__cplusplus) && !defined(CINTERFACE)
1624 struct IMemAllocatorCallbackTemp : public IMemAllocator {
1625 public:
1626 virtual HRESULT WINAPI SetNotify(IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
1627 virtual HRESULT WINAPI GetFreeCount(LONG *plBuffersFree) = 0;
1628 };
1629 #else
1630 typedef struct IMemAllocatorCallbackTempVtbl {
1631 BEGIN_INTERFACE
1632 HRESULT (WINAPI *QueryInterface)(IMemAllocatorCallbackTemp *This,REFIID riid,void **ppvObject);
1633 ULONG (WINAPI *AddRef)(IMemAllocatorCallbackTemp *This);
1634 ULONG (WINAPI *Release)(IMemAllocatorCallbackTemp *This);
1635 HRESULT (WINAPI *SetProperties)(IMemAllocatorCallbackTemp *This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual);
1636 HRESULT (WINAPI *GetProperties)(IMemAllocatorCallbackTemp *This,ALLOCATOR_PROPERTIES *pProps);
1637 HRESULT (WINAPI *Commit)(IMemAllocatorCallbackTemp *This);
1638 HRESULT (WINAPI *Decommit)(IMemAllocatorCallbackTemp *This);
1639 HRESULT (WINAPI *GetBuffer)(IMemAllocatorCallbackTemp *This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags);
1640 HRESULT (WINAPI *ReleaseBuffer)(IMemAllocatorCallbackTemp *This,IMediaSample *pBuffer);
1641 HRESULT (WINAPI *SetNotify)(IMemAllocatorCallbackTemp *This,IMemAllocatorNotifyCallbackTemp *pNotify);
1642 HRESULT (WINAPI *GetFreeCount)(IMemAllocatorCallbackTemp *This,LONG *plBuffersFree);
1643 END_INTERFACE
1644 } IMemAllocatorCallbackTempVtbl;
1645 struct IMemAllocatorCallbackTemp {
1646 CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
1647 };
1648 #ifdef COBJMACROS
1649 #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1650 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
1651 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
1652 #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
1653 #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
1654 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This)
1655 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This)
1656 #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
1657 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
1658 #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify)
1659 #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree)
1660 #endif
1661 #endif
1662 HRESULT WINAPI IMemAllocatorCallbackTemp_SetNotify_Proxy(IMemAllocatorCallbackTemp *This,IMemAllocatorNotifyCallbackTemp *pNotify);
1663 void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1664 HRESULT WINAPI IMemAllocatorCallbackTemp_GetFreeCount_Proxy(IMemAllocatorCallbackTemp *This,LONG *plBuffersFree);
1665 void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1666 #endif
1667
1668 #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
1669 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
1670 EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
1671 #if defined(__cplusplus) && !defined(CINTERFACE)
1672 struct IMemAllocatorNotifyCallbackTemp : public IUnknown {
1673 public:
1674 virtual HRESULT WINAPI NotifyRelease(void) = 0;
1675 };
1676 #else
1677 typedef struct IMemAllocatorNotifyCallbackTempVtbl {
1678 BEGIN_INTERFACE
1679 HRESULT (WINAPI *QueryInterface)(IMemAllocatorNotifyCallbackTemp *This,REFIID riid,void **ppvObject);
1680 ULONG (WINAPI *AddRef)(IMemAllocatorNotifyCallbackTemp *This);
1681 ULONG (WINAPI *Release)(IMemAllocatorNotifyCallbackTemp *This);
1682 HRESULT (WINAPI *NotifyRelease)(IMemAllocatorNotifyCallbackTemp *This);
1683 END_INTERFACE
1684 } IMemAllocatorNotifyCallbackTempVtbl;
1685 struct IMemAllocatorNotifyCallbackTemp {
1686 CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
1687 };
1688 #ifdef COBJMACROS
1689 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1690 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
1691 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
1692 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This)
1693 #endif
1694 #endif
1695 HRESULT WINAPI IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(IMemAllocatorNotifyCallbackTemp *This);
1696 void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1697 #endif
1698
1699 #ifndef __IMemInputPin_INTERFACE_DEFINED__
1700 #define __IMemInputPin_INTERFACE_DEFINED__
1701 EXTERN_C const IID IID_IMemInputPin;
1702 #if defined(__cplusplus) && !defined(CINTERFACE)
1703 struct IMemInputPin : public IUnknown {
1704 public:
1705 virtual HRESULT WINAPI GetAllocator(IMemAllocator **ppAllocator) = 0;
1706 virtual HRESULT WINAPI NotifyAllocator(IMemAllocator *pAllocator,WINBOOL bReadOnly) = 0;
1707 virtual HRESULT WINAPI GetAllocatorRequirements(ALLOCATOR_PROPERTIES *pProps) = 0;
1708 virtual HRESULT WINAPI Receive(IMediaSample *pSample) = 0;
1709 virtual HRESULT WINAPI ReceiveMultiple(IMediaSample **pSamples,long nSamples,long *nSamplesProcessed) = 0;
1710 virtual HRESULT WINAPI ReceiveCanBlock(void) = 0;
1711 };
1712 #else
1713 typedef struct IMemInputPinVtbl {
1714 BEGIN_INTERFACE
1715 HRESULT (WINAPI *QueryInterface)(IMemInputPin *This,REFIID riid,void **ppvObject);
1716 ULONG (WINAPI *AddRef)(IMemInputPin *This);
1717 ULONG (WINAPI *Release)(IMemInputPin *This);
1718 HRESULT (WINAPI *GetAllocator)(IMemInputPin *This,IMemAllocator **ppAllocator);
1719 HRESULT (WINAPI *NotifyAllocator)(IMemInputPin *This,IMemAllocator *pAllocator,WINBOOL bReadOnly);
1720 HRESULT (WINAPI *GetAllocatorRequirements)(IMemInputPin *This,ALLOCATOR_PROPERTIES *pProps);
1721 HRESULT (WINAPI *Receive)(IMemInputPin *This,IMediaSample *pSample);
1722 HRESULT (WINAPI *ReceiveMultiple)(IMemInputPin *This,IMediaSample **pSamples,long nSamples,long *nSamplesProcessed);
1723 HRESULT (WINAPI *ReceiveCanBlock)(IMemInputPin *This);
1724 END_INTERFACE
1725 } IMemInputPinVtbl;
1726 struct IMemInputPin {
1727 CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
1728 };
1729 #ifdef COBJMACROS
1730 #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1731 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This)
1732 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This)
1733 #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator)
1734 #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly)
1735 #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps)
1736 #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample)
1737 #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
1738 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This)
1739 #endif
1740 #endif
1741 HRESULT WINAPI IMemInputPin_GetAllocator_Proxy(IMemInputPin *This,IMemAllocator **ppAllocator);
1742 void __RPC_STUB IMemInputPin_GetAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1743 HRESULT WINAPI IMemInputPin_NotifyAllocator_Proxy(IMemInputPin *This,IMemAllocator *pAllocator,WINBOOL bReadOnly);
1744 void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1745 HRESULT WINAPI IMemInputPin_GetAllocatorRequirements_Proxy(IMemInputPin *This,ALLOCATOR_PROPERTIES *pProps);
1746 void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1747 HRESULT WINAPI IMemInputPin_Receive_Proxy(IMemInputPin *This,IMediaSample *pSample);
1748 void __RPC_STUB IMemInputPin_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1749 HRESULT WINAPI IMemInputPin_ReceiveMultiple_Proxy(IMemInputPin *This,IMediaSample **pSamples,long nSamples,long *nSamplesProcessed);
1750 void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1751 HRESULT WINAPI IMemInputPin_ReceiveCanBlock_Proxy(IMemInputPin *This);
1752 void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1753 #endif
1754
1755 typedef IMemInputPin *PMEMINPUTPIN;
1756
1757 extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_c_ifspec;
1758 extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_s_ifspec;
1759 #ifndef __IAMovieSetup_INTERFACE_DEFINED__
1760 #define __IAMovieSetup_INTERFACE_DEFINED__
1761 EXTERN_C const IID IID_IAMovieSetup;
1762 #if defined(__cplusplus) && !defined(CINTERFACE)
1763 struct IAMovieSetup : public IUnknown {
1764 public:
1765 virtual HRESULT WINAPI Register(void) = 0;
1766 virtual HRESULT WINAPI Unregister(void) = 0;
1767 };
1768 #else
1769 typedef struct IAMovieSetupVtbl {
1770 BEGIN_INTERFACE
1771 HRESULT (WINAPI *QueryInterface)(IAMovieSetup *This,REFIID riid,void **ppvObject);
1772 ULONG (WINAPI *AddRef)(IAMovieSetup *This);
1773 ULONG (WINAPI *Release)(IAMovieSetup *This);
1774 HRESULT (WINAPI *Register)(IAMovieSetup *This);
1775 HRESULT (WINAPI *Unregister)(IAMovieSetup *This);
1776 END_INTERFACE
1777 } IAMovieSetupVtbl;
1778 struct IAMovieSetup {
1779 CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
1780 };
1781 #ifdef COBJMACROS
1782 #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1783 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This)
1784 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This)
1785 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This)
1786 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This)
1787 #endif
1788 #endif
1789 HRESULT WINAPI IAMovieSetup_Register_Proxy(IAMovieSetup *This);
1790 void __RPC_STUB IAMovieSetup_Register_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1791 HRESULT WINAPI IAMovieSetup_Unregister_Proxy(IAMovieSetup *This);
1792 void __RPC_STUB IAMovieSetup_Unregister_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1793 #endif
1794
1795 typedef IAMovieSetup *PAMOVIESETUP;
1796
1797 typedef enum AM_SEEKING_SeekingFlags {
1798 AM_SEEKING_NoPositioning = 0,AM_SEEKING_AbsolutePositioning = 0x1,AM_SEEKING_RelativePositioning = 0x2,AM_SEEKING_IncrementalPositioning = 0x3,
1799 AM_SEEKING_PositioningBitsMask = 0x3,AM_SEEKING_SeekToKeyFrame = 0x4,AM_SEEKING_ReturnTime = 0x8,AM_SEEKING_Segment = 0x10,AM_SEEKING_NoFlush = 0x20
1800 } AM_SEEKING_SEEKING_FLAGS;
1801
1802 typedef enum AM_SEEKING_SeekingCapabilities {
1803 AM_SEEKING_CanSeekAbsolute = 0x1,AM_SEEKING_CanSeekForwards = 0x2,AM_SEEKING_CanSeekBackwards = 0x4,AM_SEEKING_CanGetCurrentPos = 0x8,
1804 AM_SEEKING_CanGetStopPos = 0x10,AM_SEEKING_CanGetDuration = 0x20,AM_SEEKING_CanPlayBackwards = 0x40,AM_SEEKING_CanDoSegments = 0x80,
1805 AM_SEEKING_Source = 0x100
1806 } AM_SEEKING_SEEKING_CAPABILITIES;
1807
1808 extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_c_ifspec;
1809 extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_s_ifspec;
1810 #ifndef __IMediaSeeking_INTERFACE_DEFINED__
1811 #define __IMediaSeeking_INTERFACE_DEFINED__
1812 EXTERN_C const IID IID_IMediaSeeking;
1813 #if defined(__cplusplus) && !defined(CINTERFACE)
1814 struct IMediaSeeking : public IUnknown {
1815 public:
1816 virtual HRESULT WINAPI GetCapabilities(DWORD *pCapabilities) = 0;
1817 virtual HRESULT WINAPI CheckCapabilities(DWORD *pCapabilities) = 0;
1818 virtual HRESULT WINAPI IsFormatSupported(const GUID *pFormat) = 0;
1819 virtual HRESULT WINAPI QueryPreferredFormat(GUID *pFormat) = 0;
1820 virtual HRESULT WINAPI GetTimeFormat(GUID *pFormat) = 0;
1821 virtual HRESULT WINAPI IsUsingTimeFormat(const GUID *pFormat) = 0;
1822 virtual HRESULT WINAPI SetTimeFormat(const GUID *pFormat) = 0;
1823 virtual HRESULT WINAPI GetDuration(LONGLONG *pDuration) = 0;
1824 virtual HRESULT WINAPI GetStopPosition(LONGLONG *pStop) = 0;
1825 virtual HRESULT WINAPI GetCurrentPosition(LONGLONG *pCurrent) = 0;
1826 virtual HRESULT WINAPI ConvertTimeFormat(LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) = 0;
1827 virtual HRESULT WINAPI SetPositions(LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) = 0;
1828 virtual HRESULT WINAPI GetPositions(LONGLONG *pCurrent,LONGLONG *pStop) = 0;
1829 virtual HRESULT WINAPI GetAvailable(LONGLONG *pEarliest,LONGLONG *pLatest) = 0;
1830 virtual HRESULT WINAPI SetRate(double dRate) = 0;
1831 virtual HRESULT WINAPI GetRate(double *pdRate) = 0;
1832 virtual HRESULT WINAPI GetPreroll(LONGLONG *pllPreroll) = 0;
1833 };
1834 #else
1835 typedef struct IMediaSeekingVtbl {
1836 BEGIN_INTERFACE
1837 HRESULT (WINAPI *QueryInterface)(IMediaSeeking *This,REFIID riid,void **ppvObject);
1838 ULONG (WINAPI *AddRef)(IMediaSeeking *This);
1839 ULONG (WINAPI *Release)(IMediaSeeking *This);
1840 HRESULT (WINAPI *GetCapabilities)(IMediaSeeking *This,DWORD *pCapabilities);
1841 HRESULT (WINAPI *CheckCapabilities)(IMediaSeeking *This,DWORD *pCapabilities);
1842 HRESULT (WINAPI *IsFormatSupported)(IMediaSeeking *This,const GUID *pFormat);
1843 HRESULT (WINAPI *QueryPreferredFormat)(IMediaSeeking *This,GUID *pFormat);
1844 HRESULT (WINAPI *GetTimeFormat)(IMediaSeeking *This,GUID *pFormat);
1845 HRESULT (WINAPI *IsUsingTimeFormat)(IMediaSeeking *This,const GUID *pFormat);
1846 HRESULT (WINAPI *SetTimeFormat)(IMediaSeeking *This,const GUID *pFormat);
1847 HRESULT (WINAPI *GetDuration)(IMediaSeeking *This,LONGLONG *pDuration);
1848 HRESULT (WINAPI *GetStopPosition)(IMediaSeeking *This,LONGLONG *pStop);
1849 HRESULT (WINAPI *GetCurrentPosition)(IMediaSeeking *This,LONGLONG *pCurrent);
1850 HRESULT (WINAPI *ConvertTimeFormat)(IMediaSeeking *This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat);
1851 HRESULT (WINAPI *SetPositions)(IMediaSeeking *This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags);
1852 HRESULT (WINAPI *GetPositions)(IMediaSeeking *This,LONGLONG *pCurrent,LONGLONG *pStop);
1853 HRESULT (WINAPI *GetAvailable)(IMediaSeeking *This,LONGLONG *pEarliest,LONGLONG *pLatest);
1854 HRESULT (WINAPI *SetRate)(IMediaSeeking *This,double dRate);
1855 HRESULT (WINAPI *GetRate)(IMediaSeeking *This,double *pdRate);
1856 HRESULT (WINAPI *GetPreroll)(IMediaSeeking *This,LONGLONG *pllPreroll);
1857 END_INTERFACE
1858 } IMediaSeekingVtbl;
1859 struct IMediaSeeking {
1860 CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
1861 };
1862 #ifdef COBJMACROS
1863 #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1864 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This)
1865 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This)
1866 #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities)
1867 #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities)
1868 #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat)
1869 #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat)
1870 #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat)
1871 #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat)
1872 #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat)
1873 #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
1874 #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop)
1875 #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent)
1876 #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
1877 #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
1878 #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop)
1879 #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest)
1880 #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate)
1881 #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate)
1882 #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll)
1883 #endif
1884 #endif
1885 HRESULT WINAPI IMediaSeeking_GetCapabilities_Proxy(IMediaSeeking *This,DWORD *pCapabilities);
1886 void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1887 HRESULT WINAPI IMediaSeeking_CheckCapabilities_Proxy(IMediaSeeking *This,DWORD *pCapabilities);
1888 void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1889 HRESULT WINAPI IMediaSeeking_IsFormatSupported_Proxy(IMediaSeeking *This,const GUID *pFormat);
1890 void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1891 HRESULT WINAPI IMediaSeeking_QueryPreferredFormat_Proxy(IMediaSeeking *This,GUID *pFormat);
1892 void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1893 HRESULT WINAPI IMediaSeeking_GetTimeFormat_Proxy(IMediaSeeking *This,GUID *pFormat);
1894 void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1895 HRESULT WINAPI IMediaSeeking_IsUsingTimeFormat_Proxy(IMediaSeeking *This,const GUID *pFormat);
1896 void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1897 HRESULT WINAPI IMediaSeeking_SetTimeFormat_Proxy(IMediaSeeking *This,const GUID *pFormat);
1898 void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1899 HRESULT WINAPI IMediaSeeking_GetDuration_Proxy(IMediaSeeking *This,LONGLONG *pDuration);
1900 void __RPC_STUB IMediaSeeking_GetDuration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1901 HRESULT WINAPI IMediaSeeking_GetStopPosition_Proxy(IMediaSeeking *This,LONGLONG *pStop);
1902 void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1903 HRESULT WINAPI IMediaSeeking_GetCurrentPosition_Proxy(IMediaSeeking *This,LONGLONG *pCurrent);
1904 void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1905 HRESULT WINAPI IMediaSeeking_ConvertTimeFormat_Proxy(IMediaSeeking *This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat);
1906 void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1907 HRESULT WINAPI IMediaSeeking_SetPositions_Proxy(IMediaSeeking *This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags);
1908 void __RPC_STUB IMediaSeeking_SetPositions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1909 HRESULT WINAPI IMediaSeeking_GetPositions_Proxy(IMediaSeeking *This,LONGLONG *pCurrent,LONGLONG *pStop);
1910 void __RPC_STUB IMediaSeeking_GetPositions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1911 HRESULT WINAPI IMediaSeeking_GetAvailable_Proxy(IMediaSeeking *This,LONGLONG *pEarliest,LONGLONG *pLatest);
1912 void __RPC_STUB IMediaSeeking_GetAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1913 HRESULT WINAPI IMediaSeeking_SetRate_Proxy(IMediaSeeking *This,double dRate);
1914 void __RPC_STUB IMediaSeeking_SetRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1915 HRESULT WINAPI IMediaSeeking_GetRate_Proxy(IMediaSeeking *This,double *pdRate);
1916 void __RPC_STUB IMediaSeeking_GetRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1917 HRESULT WINAPI IMediaSeeking_GetPreroll_Proxy(IMediaSeeking *This,LONGLONG *pllPreroll);
1918 void __RPC_STUB IMediaSeeking_GetPreroll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1919 #endif
1920
1921 typedef IMediaSeeking *PMEDIASEEKING;
1922
1923 enum tagAM_MEDIAEVENT_FLAGS {
1924 AM_MEDIAEVENT_NONOTIFY = 0x01
1925 };
1926
1927 typedef struct __MIDL___MIDL_itf_strmif_0134_0001 {
1928 CLSID Clsid;
1929 LPWSTR Name;
1930 } REGFILTER;
1931
1932 extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
1933 extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
1934 #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
1935 #define __IEnumRegFilters_INTERFACE_DEFINED__
1936 EXTERN_C const IID IID_IEnumRegFilters;
1937 #if defined(__cplusplus) && !defined(CINTERFACE)
1938 struct IEnumRegFilters : public IUnknown {
1939 public:
1940 virtual HRESULT WINAPI Next(ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) = 0;
1941 virtual HRESULT WINAPI Skip(ULONG cFilters) = 0;
1942 virtual HRESULT WINAPI Reset(void) = 0;
1943 virtual HRESULT WINAPI Clone(IEnumRegFilters **ppEnum) = 0;
1944 };
1945 #else
1946 typedef struct IEnumRegFiltersVtbl {
1947 BEGIN_INTERFACE
1948 HRESULT (WINAPI *QueryInterface)(IEnumRegFilters *This,REFIID riid,void **ppvObject);
1949 ULONG (WINAPI *AddRef)(IEnumRegFilters *This);
1950 ULONG (WINAPI *Release)(IEnumRegFilters *This);
1951 HRESULT (WINAPI *Next)(IEnumRegFilters *This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched);
1952 HRESULT (WINAPI *Skip)(IEnumRegFilters *This,ULONG cFilters);
1953 HRESULT (WINAPI *Reset)(IEnumRegFilters *This);
1954 HRESULT (WINAPI *Clone)(IEnumRegFilters *This,IEnumRegFilters **ppEnum);
1955 END_INTERFACE
1956 } IEnumRegFiltersVtbl;
1957 struct IEnumRegFilters {
1958 CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
1959 };
1960 #ifdef COBJMACROS
1961 #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1962 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
1963 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This)
1964 #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched)
1965 #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
1966 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This)
1967 #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
1968 #endif
1969 #endif
1970 HRESULT WINAPI IEnumRegFilters_Next_Proxy(IEnumRegFilters *This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched);
1971 void __RPC_STUB IEnumRegFilters_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1972 HRESULT WINAPI IEnumRegFilters_Skip_Proxy(IEnumRegFilters *This,ULONG cFilters);
1973 void __RPC_STUB IEnumRegFilters_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1974 HRESULT WINAPI IEnumRegFilters_Reset_Proxy(IEnumRegFilters *This);
1975 void __RPC_STUB IEnumRegFilters_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1976 HRESULT WINAPI IEnumRegFilters_Clone_Proxy(IEnumRegFilters *This,IEnumRegFilters **ppEnum);
1977 void __RPC_STUB IEnumRegFilters_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1978 #endif
1979
1980 typedef IEnumRegFilters *PENUMREGFILTERS;
1981
1982 extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_c_ifspec;
1983 extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_s_ifspec;
1984 #ifndef __IFilterMapper_INTERFACE_DEFINED__
1985 #define __IFilterMapper_INTERFACE_DEFINED__
1986 enum __MIDL_IFilterMapper_0001 {
1987 MERIT_PREFERRED = 0x800000,MERIT_NORMAL = 0x600000,MERIT_UNLIKELY = 0x400000,MERIT_DO_NOT_USE = 0x200000,MERIT_SW_COMPRESSOR = 0x100000,
1988 MERIT_HW_COMPRESSOR = 0x100050
1989 };
1990 EXTERN_C const IID IID_IFilterMapper;
1991 #if defined(__cplusplus) && !defined(CINTERFACE)
1992 struct IFilterMapper : public IUnknown {
1993 public:
1994 virtual HRESULT WINAPI RegisterFilter(CLSID clsid,LPCWSTR Name,DWORD dwMerit) = 0;
1995 virtual HRESULT WINAPI RegisterFilterInstance(CLSID clsid,LPCWSTR Name,CLSID *MRId) = 0;
1996 virtual HRESULT WINAPI RegisterPin(CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) = 0;
1997 virtual HRESULT WINAPI RegisterPinType(CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) = 0;
1998 virtual HRESULT WINAPI UnregisterFilter(CLSID Filter) = 0;
1999 virtual HRESULT WINAPI UnregisterFilterInstance(CLSID MRId) = 0;
2000 virtual HRESULT WINAPI UnregisterPin(CLSID Filter,LPCWSTR Name) = 0;
2001 virtual HRESULT WINAPI EnumMatchingFilters(IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOututNeeded,CLSID clsOutMaj,CLSID clsOutSub) = 0;
2002 };
2003 #else
2004 typedef struct IFilterMapperVtbl {
2005 BEGIN_INTERFACE
2006 HRESULT (WINAPI *QueryInterface)(IFilterMapper *This,REFIID riid,void **ppvObject);
2007 ULONG (WINAPI *AddRef)(IFilterMapper *This);
2008 ULONG (WINAPI *Release)(IFilterMapper *This);
2009 HRESULT (WINAPI *RegisterFilter)(IFilterMapper *This,CLSID clsid,LPCWSTR Name,DWORD dwMerit);
2010 HRESULT (WINAPI *RegisterFilterInstance)(IFilterMapper *This,CLSID clsid,LPCWSTR Name,CLSID *MRId);
2011 HRESULT (WINAPI *RegisterPin)(IFilterMapper *This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin);
2012 HRESULT (WINAPI *RegisterPinType)(IFilterMapper *This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType);
2013 HRESULT (WINAPI *UnregisterFilter)(IFilterMapper *This,CLSID Filter);
2014 HRESULT (WINAPI *UnregisterFilterInstance)(IFilterMapper *This,CLSID MRId);
2015 HRESULT (WINAPI *UnregisterPin)(IFilterMapper *This,CLSID Filter,LPCWSTR Name);
2016 HRESULT (WINAPI *EnumMatchingFilters)(IFilterMapper *This,IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOututNeeded,CLSID clsOutMaj,CLSID clsOutSub);
2017 END_INTERFACE
2018 } IFilterMapperVtbl;
2019 struct IFilterMapper {
2020 CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
2021 };
2022 #ifdef COBJMACROS
2023 #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2024 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This)
2025 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This)
2026 #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit)
2027 #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId)
2028 #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
2029 #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
2030 #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter)
2031 #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId)
2032 #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name)
2033 #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)
2034 #endif
2035 #endif
2036 HRESULT WINAPI IFilterMapper_RegisterFilter_Proxy(IFilterMapper *This,CLSID clsid,LPCWSTR Name,DWORD dwMerit);
2037 void __RPC_STUB IFilterMapper_RegisterFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2038 HRESULT WINAPI IFilterMapper_RegisterFilterInstance_Proxy(IFilterMapper *This,CLSID clsid,LPCWSTR Name,CLSID *MRId);
2039 void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2040 HRESULT WINAPI IFilterMapper_RegisterPin_Proxy(IFilterMapper *This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin);
2041 void __RPC_STUB IFilterMapper_RegisterPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2042 HRESULT WINAPI IFilterMapper_RegisterPinType_Proxy(IFilterMapper *This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType);
2043 void __RPC_STUB IFilterMapper_RegisterPinType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2044 HRESULT WINAPI IFilterMapper_UnregisterFilter_Proxy(IFilterMapper *This,CLSID Filter);
2045 void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2046 HRESULT WINAPI IFilterMapper_UnregisterFilterInstance_Proxy(IFilterMapper *This,CLSID MRId);
2047 void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2048 HRESULT WINAPI IFilterMapper_UnregisterPin_Proxy(IFilterMapper *This,CLSID Filter,LPCWSTR Name);
2049 void __RPC_STUB IFilterMapper_UnregisterPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2050 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);
2051 void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2052 #endif
2053
2054 typedef struct __MIDL___MIDL_itf_strmif_0138_0001 {
2055 const CLSID *clsMajorType;
2056 const CLSID *clsMinorType;
2057 } REGPINTYPES;
2058
2059 typedef struct __MIDL___MIDL_itf_strmif_0138_0002 {
2060 LPWSTR strName;
2061 WINBOOL bRendered;
2062 WINBOOL bOutput;
2063 WINBOOL bZero;
2064 WINBOOL bMany;
2065 const CLSID *clsConnectsToFilter;
2066 const WCHAR *strConnectsToPin;
2067 UINT nMediaTypes;
2068 const REGPINTYPES *lpMediaType;
2069 } REGFILTERPINS;
2070
2071 typedef struct __MIDL___MIDL_itf_strmif_0138_0003 {
2072 CLSID clsMedium;
2073 DWORD dw1;
2074 DWORD dw2;
2075 } REGPINMEDIUM;
2076
2077 enum __MIDL___MIDL_itf_strmif_0138_0004 {
2078 REG_PINFLAG_B_ZERO = 0x1,REG_PINFLAG_B_RENDERER = 0x2,REG_PINFLAG_B_MANY = 0x4,REG_PINFLAG_B_OUTPUT = 0x8
2079 };
2080 typedef struct __MIDL___MIDL_itf_strmif_0138_0005 {
2081 DWORD dwFlags;
2082 UINT cInstances;
2083 UINT nMediaTypes;
2084 const REGPINTYPES *lpMediaType;
2085 UINT nMediums;
2086 const REGPINMEDIUM *lpMedium;
2087 const CLSID *clsPinCategory;
2088 } REGFILTERPINS2;
2089
2090 typedef struct __MIDL___MIDL_itf_strmif_0138_0006 {
2091 DWORD dwVersion;
2092 DWORD dwMerit;
2093 __MINGW_EXTENSION union {
2094 __MINGW_EXTENSION struct {
2095 ULONG cPins;
2096 const REGFILTERPINS *rgPins;
2097 };
2098 __MINGW_EXTENSION struct {
2099 ULONG cPins2;
2100 const REGFILTERPINS2 *rgPins2;
2101 };
2102 };
2103 } REGFILTER2;
2104
2105 extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
2106 extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
2107 #ifndef __IFilterMapper2_INTERFACE_DEFINED__
2108 #define __IFilterMapper2_INTERFACE_DEFINED__
2109 EXTERN_C const IID IID_IFilterMapper2;
2110 #if defined(__cplusplus) && !defined(CINTERFACE)
2111 struct IFilterMapper2 : public IUnknown {
2112 public:
2113 virtual HRESULT WINAPI CreateCategory(REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) = 0;
2114 virtual HRESULT WINAPI UnregisterFilter(const CLSID *pclsidCategory,const OLECHAR *szInstance,REFCLSID Filter) = 0;
2115 virtual HRESULT WINAPI RegisterFilter(REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,const OLECHAR *szInstance,const REGFILTER2 *prf2) = 0;
2116 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;
2117 };
2118 #else
2119 typedef struct IFilterMapper2Vtbl {
2120 BEGIN_INTERFACE
2121 HRESULT (WINAPI *QueryInterface)(IFilterMapper2 *This,REFIID riid,void **ppvObject);
2122 ULONG (WINAPI *AddRef)(IFilterMapper2 *This);
2123 ULONG (WINAPI *Release)(IFilterMapper2 *This);
2124 HRESULT (WINAPI *CreateCategory)(IFilterMapper2 *This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description);
2125 HRESULT (WINAPI *UnregisterFilter)(IFilterMapper2 *This,const CLSID *pclsidCategory,const OLECHAR *szInstance,REFCLSID Filter);
2126 HRESULT (WINAPI *RegisterFilter)(IFilterMapper2 *This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,const OLECHAR *szInstance,const REGFILTER2 *prf2);
2127 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);
2128 END_INTERFACE
2129 } IFilterMapper2Vtbl;
2130 struct IFilterMapper2 {
2131 CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
2132 };
2133 #ifdef COBJMACROS
2134 #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2135 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This)
2136 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This)
2137 #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
2138 #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
2139 #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
2140 #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)
2141 #endif
2142 #endif
2143 HRESULT WINAPI IFilterMapper2_CreateCategory_Proxy(IFilterMapper2 *This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description);
2144 void __RPC_STUB IFilterMapper2_CreateCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2145 HRESULT WINAPI IFilterMapper2_UnregisterFilter_Proxy(IFilterMapper2 *This,const CLSID *pclsidCategory,const OLECHAR *szInstance,REFCLSID Filter);
2146 void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2147 HRESULT WINAPI IFilterMapper2_RegisterFilter_Proxy(IFilterMapper2 *This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,const OLECHAR *szInstance,const REGFILTER2 *prf2);
2148 void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2149 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);
2150 void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2151 #endif
2152
2153 #ifndef __IFilterMapper3_INTERFACE_DEFINED__
2154 #define __IFilterMapper3_INTERFACE_DEFINED__
2155 EXTERN_C const IID IID_IFilterMapper3;
2156 #if defined(__cplusplus) && !defined(CINTERFACE)
2157 struct IFilterMapper3 : public IFilterMapper2 {
2158 public:
2159 virtual HRESULT WINAPI GetICreateDevEnum(ICreateDevEnum **ppEnum) = 0;
2160 };
2161 #else
2162 typedef struct IFilterMapper3Vtbl {
2163 BEGIN_INTERFACE
2164 HRESULT (WINAPI *QueryInterface)(IFilterMapper3 *This,REFIID riid,void **ppvObject);
2165 ULONG (WINAPI *AddRef)(IFilterMapper3 *This);
2166 ULONG (WINAPI *Release)(IFilterMapper3 *This);
2167 HRESULT (WINAPI *CreateCategory)(IFilterMapper3 *This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description);
2168 HRESULT (WINAPI *UnregisterFilter)(IFilterMapper3 *This,const CLSID *pclsidCategory,const OLECHAR *szInstance,REFCLSID Filter);
2169 HRESULT (WINAPI *RegisterFilter)(IFilterMapper3 *This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,const OLECHAR *szInstance,const REGFILTER2 *prf2);
2170 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);
2171 HRESULT (WINAPI *GetICreateDevEnum)(IFilterMapper3 *This,ICreateDevEnum **ppEnum);
2172 END_INTERFACE
2173 } IFilterMapper3Vtbl;
2174 struct IFilterMapper3 {
2175 CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
2176 };
2177 #ifdef COBJMACROS
2178 #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2179 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This)
2180 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This)
2181 #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
2182 #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
2183 #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
2184 #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)
2185 #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum)
2186 #endif
2187 #endif
2188 HRESULT WINAPI IFilterMapper3_GetICreateDevEnum_Proxy(IFilterMapper3 *This,ICreateDevEnum **ppEnum);
2189 void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2190 #endif
2191
2192 typedef enum tagQualityMessageType {
2193 Famine = 0,Flood = Famine + 1
2194 } QualityMessageType;
2195
2196 typedef struct tagQuality {
2197 QualityMessageType Type;
2198 long Proportion;
2199 REFERENCE_TIME Late;
2200 REFERENCE_TIME TimeStamp;
2201 } Quality;
2202
2203 typedef IQualityControl *PQUALITYCONTROL;
2204
2205 extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
2206 extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
2207 #ifndef __IQualityControl_INTERFACE_DEFINED__
2208 #define __IQualityControl_INTERFACE_DEFINED__
2209 EXTERN_C const IID IID_IQualityControl;
2210 #if defined(__cplusplus) && !defined(CINTERFACE)
2211 struct IQualityControl : public IUnknown {
2212 public:
2213 virtual HRESULT WINAPI Notify(IBaseFilter *pSelf,Quality q) = 0;
2214 virtual HRESULT WINAPI SetSink(IQualityControl *piqc) = 0;
2215 };
2216 #else
2217 typedef struct IQualityControlVtbl {
2218 BEGIN_INTERFACE
2219 HRESULT (WINAPI *QueryInterface)(IQualityControl *This,REFIID riid,void **ppvObject);
2220 ULONG (WINAPI *AddRef)(IQualityControl *This);
2221 ULONG (WINAPI *Release)(IQualityControl *This);
2222 HRESULT (WINAPI *Notify)(IQualityControl *This,IBaseFilter *pSelf,Quality q);
2223 HRESULT (WINAPI *SetSink)(IQualityControl *This,IQualityControl *piqc);
2224 END_INTERFACE
2225 } IQualityControlVtbl;
2226 struct IQualityControl {
2227 CONST_VTBL struct IQualityControlVtbl *lpVtbl;
2228 };
2229 #ifdef COBJMACROS
2230 #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2231 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
2232 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This)
2233 #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q)
2234 #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc)
2235 #endif
2236 #endif
2237 HRESULT WINAPI IQualityControl_Notify_Proxy(IQualityControl *This,IBaseFilter *pSelf,Quality q);
2238 void __RPC_STUB IQualityControl_Notify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2239 HRESULT WINAPI IQualityControl_SetSink_Proxy(IQualityControl *This,IQualityControl *piqc);
2240 void __RPC_STUB IQualityControl_SetSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2241 #endif
2242
2243 enum __MIDL___MIDL_itf_strmif_0142_0001 {
2244 CK_NOCOLORKEY = 0,CK_INDEX = 0x1,CK_RGB = 0x2
2245 };
2246 typedef struct tagCOLORKEY {
2247 DWORD KeyType;
2248 DWORD PaletteIndex;
2249 COLORREF LowColorValue;
2250 COLORREF HighColorValue;
2251 } COLORKEY;
2252
2253 enum __MIDL___MIDL_itf_strmif_0142_0002 {
2254 ADVISE_NONE = 0,ADVISE_CLIPPING = 0x1,ADVISE_PALETTE = 0x2,ADVISE_COLORKEY = 0x4,ADVISE_POSITION = 0x8,ADVISE_DISPLAY_CHANGE = 0x10
2255 };
2256 #define ADVISE_ALL (ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION)
2257 #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE)
2258
2259 #ifndef _WINGDI_
2260 typedef struct _RGNDATAHEADER {
2261 DWORD dwSize;
2262 DWORD iType;
2263 DWORD nCount;
2264 DWORD nRgnSize;
2265 RECT rcBound;
2266 } RGNDATAHEADER;
2267
2268 typedef struct _RGNDATA {
2269 RGNDATAHEADER rdh;
2270 char Buffer[1];
2271 } RGNDATA;
2272 #endif
2273
2274 extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
2275 extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
2276 #ifndef __IOverlayNotify_INTERFACE_DEFINED__
2277 #define __IOverlayNotify_INTERFACE_DEFINED__
2278 EXTERN_C const IID IID_IOverlayNotify;
2279 #if defined(__cplusplus) && !defined(CINTERFACE)
2280 struct IOverlayNotify : public IUnknown {
2281 public:
2282 virtual HRESULT WINAPI OnPaletteChange(DWORD dwColors,const PALETTEENTRY *pPalette) = 0;
2283 virtual HRESULT WINAPI OnClipChange(const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) = 0;
2284 virtual HRESULT WINAPI OnColorKeyChange(const COLORKEY *pColorKey) = 0;
2285 virtual HRESULT WINAPI OnPositionChange(const RECT *pSourceRect,const RECT *pDestinationRect) = 0;
2286 };
2287 #else
2288 typedef struct IOverlayNotifyVtbl {
2289 BEGIN_INTERFACE
2290 HRESULT (WINAPI *QueryInterface)(IOverlayNotify *This,REFIID riid,void **ppvObject);
2291 ULONG (WINAPI *AddRef)(IOverlayNotify *This);
2292 ULONG (WINAPI *Release)(IOverlayNotify *This);
2293 HRESULT (WINAPI *OnPaletteChange)(IOverlayNotify *This,DWORD dwColors,const PALETTEENTRY *pPalette);
2294 HRESULT (WINAPI *OnClipChange)(IOverlayNotify *This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData);
2295 HRESULT (WINAPI *OnColorKeyChange)(IOverlayNotify *This,const COLORKEY *pColorKey);
2296 HRESULT (WINAPI *OnPositionChange)(IOverlayNotify *This,const RECT *pSourceRect,const RECT *pDestinationRect);
2297 END_INTERFACE
2298 } IOverlayNotifyVtbl;
2299 struct IOverlayNotify {
2300 CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
2301 };
2302 #ifdef COBJMACROS
2303 #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2304 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
2305 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This)
2306 #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
2307 #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
2308 #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
2309 #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
2310 #endif
2311 #endif
2312 HRESULT WINAPI IOverlayNotify_OnPaletteChange_Proxy(IOverlayNotify *This,DWORD dwColors,const PALETTEENTRY *pPalette);
2313 void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2314 HRESULT WINAPI IOverlayNotify_OnClipChange_Proxy(IOverlayNotify *This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData);
2315 void __RPC_STUB IOverlayNotify_OnClipChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2316 HRESULT WINAPI IOverlayNotify_OnColorKeyChange_Proxy(IOverlayNotify *This,const COLORKEY *pColorKey);
2317 void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2318 HRESULT WINAPI IOverlayNotify_OnPositionChange_Proxy(IOverlayNotify *This,const RECT *pSourceRect,const RECT *pDestinationRect);
2319 void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2320 #endif
2321
2322 typedef IOverlayNotify *POVERLAYNOTIFY;
2323
2324 extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;
2325 extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;
2326 #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
2327 #define __IOverlayNotify2_INTERFACE_DEFINED__
2328 EXTERN_C const IID IID_IOverlayNotify2;
2329 #if defined(__cplusplus) && !defined(CINTERFACE)
2330 struct IOverlayNotify2 : public IOverlayNotify {
2331 public:
2332 virtual HRESULT WINAPI OnDisplayChange(HMONITOR hMonitor) = 0;
2333 };
2334 #else
2335 typedef struct IOverlayNotify2Vtbl {
2336 BEGIN_INTERFACE
2337 HRESULT (WINAPI *QueryInterface)(IOverlayNotify2 *This,REFIID riid,void **ppvObject);
2338 ULONG (WINAPI *AddRef)(IOverlayNotify2 *This);
2339 ULONG (WINAPI *Release)(IOverlayNotify2 *This);
2340 HRESULT (WINAPI *OnPaletteChange)(IOverlayNotify2 *This,DWORD dwColors,const PALETTEENTRY *pPalette);
2341 HRESULT (WINAPI *OnClipChange)(IOverlayNotify2 *This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData);
2342 HRESULT (WINAPI *OnColorKeyChange)(IOverlayNotify2 *This,const COLORKEY *pColorKey);
2343 HRESULT (WINAPI *OnPositionChange)(IOverlayNotify2 *This,const RECT *pSourceRect,const RECT *pDestinationRect);
2344 HRESULT (WINAPI *OnDisplayChange)(IOverlayNotify2 *This,HMONITOR hMonitor);
2345 END_INTERFACE
2346 } IOverlayNotify2Vtbl;
2347 struct IOverlayNotify2 {
2348 CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
2349 };
2350 #ifdef COBJMACROS
2351 #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2352 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This)
2353 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This)
2354 #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
2355 #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
2356 #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
2357 #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
2358 #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor)
2359 #endif
2360 #endif
2361 HRESULT WINAPI IOverlayNotify2_OnDisplayChange_Proxy(IOverlayNotify2 *This,HMONITOR hMonitor);
2362 void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2363 #endif
2364
2365 typedef IOverlayNotify2 *POVERLAYNOTIFY2;
2366
2367 extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
2368 extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
2369 #ifndef __IOverlay_INTERFACE_DEFINED__
2370 #define __IOverlay_INTERFACE_DEFINED__
2371 EXTERN_C const IID IID_IOverlay;
2372 #if defined(__cplusplus) && !defined(CINTERFACE)
2373 struct IOverlay : public IUnknown {
2374 public:
2375 virtual HRESULT WINAPI GetPalette(DWORD *pdwColors,PALETTEENTRY **ppPalette) = 0;
2376 virtual HRESULT WINAPI SetPalette(DWORD dwColors,PALETTEENTRY *pPalette) = 0;
2377 virtual HRESULT WINAPI GetDefaultColorKey(COLORKEY *pColorKey) = 0;
2378 virtual HRESULT WINAPI GetColorKey(COLORKEY *pColorKey) = 0;
2379 virtual HRESULT WINAPI SetColorKey(COLORKEY *pColorKey) = 0;
2380 virtual HRESULT WINAPI GetWindowHandle(HWND *pHwnd) = 0;
2381 virtual HRESULT WINAPI GetClipList(RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) = 0;
2382 virtual HRESULT WINAPI GetVideoPosition(RECT *pSourceRect,RECT *pDestinationRect) = 0;
2383 virtual HRESULT WINAPI Advise(IOverlayNotify *pOverlayNotify,DWORD dwInterests) = 0;
2384 virtual HRESULT WINAPI Unadvise(void) = 0;
2385 };
2386 #else
2387 typedef struct IOverlayVtbl {
2388 BEGIN_INTERFACE
2389 HRESULT (WINAPI *QueryInterface)(IOverlay *This,REFIID riid,void **ppvObject);
2390 ULONG (WINAPI *AddRef)(IOverlay *This);
2391 ULONG (WINAPI *Release)(IOverlay *This);
2392 HRESULT (WINAPI *GetPalette)(IOverlay *This,DWORD *pdwColors,PALETTEENTRY **ppPalette);
2393 HRESULT (WINAPI *SetPalette)(IOverlay *This,DWORD dwColors,PALETTEENTRY *pPalette);
2394 HRESULT (WINAPI *GetDefaultColorKey)(IOverlay *This,COLORKEY *pColorKey);
2395 HRESULT (WINAPI *GetColorKey)(IOverlay *This,COLORKEY *pColorKey);
2396 HRESULT (WINAPI *SetColorKey)(IOverlay *This,COLORKEY *pColorKey);
2397 HRESULT (WINAPI *GetWindowHandle)(IOverlay *This,HWND *pHwnd);
2398 HRESULT (WINAPI *GetClipList)(IOverlay *This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData);
2399 HRESULT (WINAPI *GetVideoPosition)(IOverlay *This,RECT *pSourceRect,RECT *pDestinationRect);
2400 HRESULT (WINAPI *Advise)(IOverlay *This,IOverlayNotify *pOverlayNotify,DWORD dwInterests);
2401 HRESULT (WINAPI *Unadvise)(IOverlay *This);
2402 END_INTERFACE
2403 } IOverlayVtbl;
2404 struct IOverlay {
2405 CONST_VTBL struct IOverlayVtbl *lpVtbl;
2406 };
2407 #ifdef COBJMACROS
2408 #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2409 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This)
2410 #define IOverlay_Release(This) (This)->lpVtbl->Release(This)
2411 #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette)
2412 #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette)
2413 #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey)
2414 #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey)
2415 #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey)
2416 #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd)
2417 #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
2418 #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect)
2419 #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests)
2420 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This)
2421 #endif
2422 #endif
2423 HRESULT WINAPI IOverlay_GetPalette_Proxy(IOverlay *This,DWORD *pdwColors,PALETTEENTRY **ppPalette);
2424 void __RPC_STUB IOverlay_GetPalette_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2425 HRESULT WINAPI IOverlay_SetPalette_Proxy(IOverlay *This,DWORD dwColors,PALETTEENTRY *pPalette);
2426 void __RPC_STUB IOverlay_SetPalette_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2427 HRESULT WINAPI IOverlay_GetDefaultColorKey_Proxy(IOverlay *This,COLORKEY *pColorKey);
2428 void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2429 HRESULT WINAPI IOverlay_GetColorKey_Proxy(IOverlay *This,COLORKEY *pColorKey);
2430 void __RPC_STUB IOverlay_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2431 HRESULT WINAPI IOverlay_SetColorKey_Proxy(IOverlay *This,COLORKEY *pColorKey);
2432 void __RPC_STUB IOverlay_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2433 HRESULT WINAPI IOverlay_GetWindowHandle_Proxy(IOverlay *This,HWND *pHwnd);
2434 void __RPC_STUB IOverlay_GetWindowHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2435 HRESULT WINAPI IOverlay_GetClipList_Proxy(IOverlay *This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData);
2436 void __RPC_STUB IOverlay_GetClipList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2437 HRESULT WINAPI IOverlay_GetVideoPosition_Proxy(IOverlay *This,RECT *pSourceRect,RECT *pDestinationRect);
2438 void __RPC_STUB IOverlay_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2439 HRESULT WINAPI IOverlay_Advise_Proxy(IOverlay *This,IOverlayNotify *pOverlayNotify,DWORD dwInterests);
2440 void __RPC_STUB IOverlay_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2441 HRESULT WINAPI IOverlay_Unadvise_Proxy(IOverlay *This);
2442 void __RPC_STUB IOverlay_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2443 #endif
2444
2445 typedef IOverlay *POVERLAY;
2446
2447 extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_c_ifspec;
2448 extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_s_ifspec;
2449 #ifndef __IMediaEventSink_INTERFACE_DEFINED__
2450 #define __IMediaEventSink_INTERFACE_DEFINED__
2451 EXTERN_C const IID IID_IMediaEventSink;
2452 #if defined(__cplusplus) && !defined(CINTERFACE)
2453 struct IMediaEventSink : public IUnknown {
2454 public:
2455 virtual HRESULT WINAPI Notify(long EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) = 0;
2456 };
2457 #else
2458 typedef struct IMediaEventSinkVtbl {
2459 BEGIN_INTERFACE
2460 HRESULT (WINAPI *QueryInterface)(IMediaEventSink *This,REFIID riid,void **ppvObject);
2461 ULONG (WINAPI *AddRef)(IMediaEventSink *This);
2462 ULONG (WINAPI *Release)(IMediaEventSink *This);
2463 HRESULT (WINAPI *Notify)(IMediaEventSink *This,long EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2);
2464 END_INTERFACE
2465 } IMediaEventSinkVtbl;
2466 struct IMediaEventSink {
2467 CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
2468 };
2469 #ifdef COBJMACROS
2470 #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2471 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
2472 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This)
2473 #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2)
2474 #endif
2475 #endif
2476 HRESULT WINAPI IMediaEventSink_Notify_Proxy(IMediaEventSink *This,long EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2);
2477 void __RPC_STUB IMediaEventSink_Notify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2478 #endif
2479
2480 typedef IMediaEventSink *PMEDIAEVENTSINK;
2481
2482 extern RPC_IF_HANDLE __MIDL_itf_strmif_0146_v0_0_c_ifspec;
2483 extern RPC_IF_HANDLE __MIDL_itf_strmif_0146_v0_0_s_ifspec;
2484 #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
2485 #define __IFileSourceFilter_INTERFACE_DEFINED__
2486 EXTERN_C const IID IID_IFileSourceFilter;
2487 #if defined(__cplusplus) && !defined(CINTERFACE)
2488 struct IFileSourceFilter : public IUnknown {
2489 public:
2490 virtual HRESULT WINAPI Load(LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) = 0;
2491 virtual HRESULT WINAPI GetCurFile(LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) = 0;
2492 };
2493 #else
2494 typedef struct IFileSourceFilterVtbl {
2495 BEGIN_INTERFACE
2496 HRESULT (WINAPI *QueryInterface)(IFileSourceFilter *This,REFIID riid,void **ppvObject);
2497 ULONG (WINAPI *AddRef)(IFileSourceFilter *This);
2498 ULONG (WINAPI *Release)(IFileSourceFilter *This);
2499 HRESULT (WINAPI *Load)(IFileSourceFilter *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
2500 HRESULT (WINAPI *GetCurFile)(IFileSourceFilter *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
2501 END_INTERFACE
2502 } IFileSourceFilterVtbl;
2503 struct IFileSourceFilter {
2504 CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
2505 };
2506 #ifdef COBJMACROS
2507 #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2508 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
2509 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This)
2510 #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt)
2511 #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
2512 #endif
2513 #endif
2514 HRESULT WINAPI IFileSourceFilter_Load_Proxy(IFileSourceFilter *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
2515 void __RPC_STUB IFileSourceFilter_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2516 HRESULT WINAPI IFileSourceFilter_GetCurFile_Proxy(IFileSourceFilter *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
2517 void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2518 #endif
2519
2520 typedef IFileSourceFilter *PFILTERFILESOURCE;
2521
2522 extern RPC_IF_HANDLE __MIDL_itf_strmif_0147_v0_0_c_ifspec;
2523 extern RPC_IF_HANDLE __MIDL_itf_strmif_0147_v0_0_s_ifspec;
2524 #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
2525 #define __IFileSinkFilter_INTERFACE_DEFINED__
2526 EXTERN_C const IID IID_IFileSinkFilter;
2527 #if defined(__cplusplus) && !defined(CINTERFACE)
2528 struct IFileSinkFilter : public IUnknown {
2529 public:
2530 virtual HRESULT WINAPI SetFileName(LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) = 0;
2531 virtual HRESULT WINAPI GetCurFile(LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) = 0;
2532 };
2533 #else
2534 typedef struct IFileSinkFilterVtbl {
2535 BEGIN_INTERFACE
2536 HRESULT (WINAPI *QueryInterface)(IFileSinkFilter *This,REFIID riid,void **ppvObject);
2537 ULONG (WINAPI *AddRef)(IFileSinkFilter *This);
2538 ULONG (WINAPI *Release)(IFileSinkFilter *This);
2539 HRESULT (WINAPI *SetFileName)(IFileSinkFilter *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
2540 HRESULT (WINAPI *GetCurFile)(IFileSinkFilter *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
2541 END_INTERFACE
2542 } IFileSinkFilterVtbl;
2543 struct IFileSinkFilter {
2544 CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
2545 };
2546 #ifdef COBJMACROS
2547 #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2548 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
2549 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This)
2550 #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
2551 #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
2552 #endif
2553 #endif
2554 HRESULT WINAPI IFileSinkFilter_SetFileName_Proxy(IFileSinkFilter *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
2555 void __RPC_STUB IFileSinkFilter_SetFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2556 HRESULT WINAPI IFileSinkFilter_GetCurFile_Proxy(IFileSinkFilter *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
2557 void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2558 #endif
2559
2560 typedef IFileSinkFilter *PFILTERFILESINK;
2561
2562 extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_c_ifspec;
2563 extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_s_ifspec;
2564 #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
2565 #define __IFileSinkFilter2_INTERFACE_DEFINED__
2566 EXTERN_C const IID IID_IFileSinkFilter2;
2567 #if defined(__cplusplus) && !defined(CINTERFACE)
2568 struct IFileSinkFilter2 : public IFileSinkFilter {
2569 public:
2570 virtual HRESULT WINAPI SetMode(DWORD dwFlags) = 0;
2571 virtual HRESULT WINAPI GetMode(DWORD *pdwFlags) = 0;
2572 };
2573 #else
2574 typedef struct IFileSinkFilter2Vtbl {
2575 BEGIN_INTERFACE
2576 HRESULT (WINAPI *QueryInterface)(IFileSinkFilter2 *This,REFIID riid,void **ppvObject);
2577 ULONG (WINAPI *AddRef)(IFileSinkFilter2 *This);
2578 ULONG (WINAPI *Release)(IFileSinkFilter2 *This);
2579 HRESULT (WINAPI *SetFileName)(IFileSinkFilter2 *This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt);
2580 HRESULT (WINAPI *GetCurFile)(IFileSinkFilter2 *This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt);
2581 HRESULT (WINAPI *SetMode)(IFileSinkFilter2 *This,DWORD dwFlags);
2582 HRESULT (WINAPI *GetMode)(IFileSinkFilter2 *This,DWORD *pdwFlags);
2583 END_INTERFACE
2584 } IFileSinkFilter2Vtbl;
2585 struct IFileSinkFilter2 {
2586 CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
2587 };
2588 #ifdef COBJMACROS
2589 #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2590 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This)
2591 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This)
2592 #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
2593 #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
2594 #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags)
2595 #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags)
2596 #endif
2597 #endif
2598 HRESULT WINAPI IFileSinkFilter2_SetMode_Proxy(IFileSinkFilter2 *This,DWORD dwFlags);
2599 void __RPC_STUB IFileSinkFilter2_SetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2600 HRESULT WINAPI IFileSinkFilter2_GetMode_Proxy(IFileSinkFilter2 *This,DWORD *pdwFlags);
2601 void __RPC_STUB IFileSinkFilter2_GetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2602 #endif
2603
2604 typedef IFileSinkFilter2 *PFILESINKFILTER2;
2605
2606 typedef enum __MIDL___MIDL_itf_strmif_0149_0001 {
2607 AM_FILE_OVERWRITE = 0x1
2608 } AM_FILESINK_FLAGS;
2609
2610 extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_c_ifspec;
2611 extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_s_ifspec;
2612 #ifndef __IGraphBuilder_INTERFACE_DEFINED__
2613 #define __IGraphBuilder_INTERFACE_DEFINED__
2614 EXTERN_C const IID IID_IGraphBuilder;
2615 #if defined(__cplusplus) && !defined(CINTERFACE)
2616 struct IGraphBuilder : public IFilterGraph {
2617 public:
2618 virtual HRESULT WINAPI Connect(IPin *ppinOut,IPin *ppinIn) = 0;
2619 virtual HRESULT WINAPI Render(IPin *ppinOut) = 0;
2620 virtual HRESULT WINAPI RenderFile(LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) = 0;
2621 virtual HRESULT WINAPI AddSourceFilter(LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) = 0;
2622 virtual HRESULT WINAPI SetLogFile(DWORD_PTR hFile) = 0;
2623 virtual HRESULT WINAPI Abort(void) = 0;
2624 virtual HRESULT WINAPI ShouldOperationContinue(void) = 0;
2625 };
2626 #else
2627 typedef struct IGraphBuilderVtbl {
2628 BEGIN_INTERFACE
2629 HRESULT (WINAPI *QueryInterface)(IGraphBuilder *This,REFIID riid,void **ppvObject);
2630 ULONG (WINAPI *AddRef)(IGraphBuilder *This);
2631 ULONG (WINAPI *Release)(IGraphBuilder *This);
2632 HRESULT (WINAPI *AddFilter)(IGraphBuilder *This,IBaseFilter *pFilter,LPCWSTR pName);
2633 HRESULT (WINAPI *RemoveFilter)(IGraphBuilder *This,IBaseFilter *pFilter);
2634 HRESULT (WINAPI *EnumFilters)(IGraphBuilder *This,IEnumFilters **ppEnum);
2635 HRESULT (WINAPI *FindFilterByName)(IGraphBuilder *This,LPCWSTR pName,IBaseFilter **ppFilter);
2636 HRESULT (WINAPI *ConnectDirect)(IGraphBuilder *This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt);
2637 HRESULT (WINAPI *Reconnect)(IGraphBuilder *This,IPin *ppin);
2638 HRESULT (WINAPI *Disconnect)(IGraphBuilder *This,IPin *ppin);
2639 HRESULT (WINAPI *SetDefaultSyncSource)(IGraphBuilder *This);
2640 HRESULT (WINAPI *Connect)(IGraphBuilder *This,IPin *ppinOut,IPin *ppinIn);
2641 HRESULT (WINAPI *Render)(IGraphBuilder *This,IPin *ppinOut);
2642 HRESULT (WINAPI *RenderFile)(IGraphBuilder *This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList);
2643 HRESULT (WINAPI *AddSourceFilter)(IGraphBuilder *This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
2644 HRESULT (WINAPI *SetLogFile)(IGraphBuilder *This,DWORD_PTR hFile);
2645 HRESULT (WINAPI *Abort)(IGraphBuilder *This);
2646 HRESULT (WINAPI *ShouldOperationContinue)(IGraphBuilder *This);
2647 END_INTERFACE
2648 } IGraphBuilderVtbl;
2649 struct IGraphBuilder {
2650 CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
2651 };
2652 #ifdef COBJMACROS
2653 #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2654 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
2655 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
2656 #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
2657 #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
2658 #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
2659 #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
2660 #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
2661 #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
2662 #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
2663 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
2664 #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
2665 #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
2666 #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
2667 #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
2668 #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
2669 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This)
2670 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
2671 #endif
2672 #endif
2673 HRESULT WINAPI IGraphBuilder_Connect_Proxy(IGraphBuilder *This,IPin *ppinOut,IPin *ppinIn);
2674 void __RPC_STUB IGraphBuilder_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2675 HRESULT WINAPI IGraphBuilder_Render_Proxy(IGraphBuilder *This,IPin *ppinOut);
2676 void __RPC_STUB IGraphBuilder_Render_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2677 HRESULT WINAPI IGraphBuilder_RenderFile_Proxy(IGraphBuilder *This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList);
2678 void __RPC_STUB IGraphBuilder_RenderFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2679 HRESULT WINAPI IGraphBuilder_AddSourceFilter_Proxy(IGraphBuilder *This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
2680 void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2681 HRESULT WINAPI IGraphBuilder_SetLogFile_Proxy(IGraphBuilder *This,DWORD_PTR hFile);
2682 void __RPC_STUB IGraphBuilder_SetLogFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2683 HRESULT WINAPI IGraphBuilder_Abort_Proxy(IGraphBuilder *This);
2684 void __RPC_STUB IGraphBuilder_Abort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2685 HRESULT WINAPI IGraphBuilder_ShouldOperationContinue_Proxy(IGraphBuilder *This);
2686 void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2687 #endif
2688
2689 #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
2690 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
2691 EXTERN_C const IID IID_ICaptureGraphBuilder;
2692 #if defined(__cplusplus) && !defined(CINTERFACE)
2693 struct ICaptureGraphBuilder : public IUnknown {
2694 public:
2695 virtual HRESULT WINAPI SetFiltergraph(IGraphBuilder *pfg) = 0;
2696 virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppfg) = 0;
2697 virtual HRESULT WINAPI SetOutputFileName(const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) = 0;
2698 virtual HRESULT WINAPI FindInterface(const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) = 0;
2699 virtual HRESULT WINAPI RenderStream(const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) = 0;
2700 virtual HRESULT WINAPI ControlStream(const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) = 0;
2701 virtual HRESULT WINAPI AllocCapFile(LPCOLESTR lpstr,DWORDLONG dwlSize) = 0;
2702 virtual HRESULT WINAPI CopyCaptureFile(LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) = 0;
2703 };
2704 #else
2705 typedef struct ICaptureGraphBuilderVtbl {
2706 BEGIN_INTERFACE
2707 HRESULT (WINAPI *QueryInterface)(ICaptureGraphBuilder *This,REFIID riid,void **ppvObject);
2708 ULONG (WINAPI *AddRef)(ICaptureGraphBuilder *This);
2709 ULONG (WINAPI *Release)(ICaptureGraphBuilder *This);
2710 HRESULT (WINAPI *SetFiltergraph)(ICaptureGraphBuilder *This,IGraphBuilder *pfg);
2711 HRESULT (WINAPI *GetFiltergraph)(ICaptureGraphBuilder *This,IGraphBuilder **ppfg);
2712 HRESULT (WINAPI *SetOutputFileName)(ICaptureGraphBuilder *This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink);
2713 HRESULT (WINAPI *FindInterface)(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint);
2714 HRESULT (WINAPI *RenderStream)(ICaptureGraphBuilder *This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer);
2715 HRESULT (WINAPI *ControlStream)(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie);
2716 HRESULT (WINAPI *AllocCapFile)(ICaptureGraphBuilder *This,LPCOLESTR lpstr,DWORDLONG dwlSize);
2717 HRESULT (WINAPI *CopyCaptureFile)(ICaptureGraphBuilder *This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback);
2718 END_INTERFACE
2719 } ICaptureGraphBuilderVtbl;
2720 struct ICaptureGraphBuilder {
2721 CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
2722 };
2723 #ifdef COBJMACROS
2724 #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2725 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
2726 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
2727 #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
2728 #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
2729 #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
2730 #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint)
2731 #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
2732 #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
2733 #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
2734 #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
2735 #endif
2736 #endif
2737 HRESULT WINAPI ICaptureGraphBuilder_SetFiltergraph_Proxy(ICaptureGraphBuilder *This,IGraphBuilder *pfg);
2738 void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2739 HRESULT WINAPI ICaptureGraphBuilder_GetFiltergraph_Proxy(ICaptureGraphBuilder *This,IGraphBuilder **ppfg);
2740 void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2741 HRESULT WINAPI ICaptureGraphBuilder_SetOutputFileName_Proxy(ICaptureGraphBuilder *This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink);
2742 void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2743 HRESULT WINAPI ICaptureGraphBuilder_RemoteFindInterface_Proxy(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,IUnknown **ppint);
2744 void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2745 HRESULT WINAPI ICaptureGraphBuilder_RenderStream_Proxy(ICaptureGraphBuilder *This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer);
2746 void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2747 HRESULT WINAPI ICaptureGraphBuilder_ControlStream_Proxy(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie);
2748 void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2749 HRESULT WINAPI ICaptureGraphBuilder_AllocCapFile_Proxy(ICaptureGraphBuilder *This,LPCOLESTR lpstr,DWORDLONG dwlSize);
2750 void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2751 HRESULT WINAPI ICaptureGraphBuilder_CopyCaptureFile_Proxy(ICaptureGraphBuilder *This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback);
2752 void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2753 #endif
2754
2755 #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
2756 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
2757 EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
2758 #if defined(__cplusplus) && !defined(CINTERFACE)
2759 struct IAMCopyCaptureFileProgress : public IUnknown {
2760 public:
2761 virtual HRESULT WINAPI Progress(int iProgress) = 0;
2762 };
2763 #else
2764 typedef struct IAMCopyCaptureFileProgressVtbl {
2765 BEGIN_INTERFACE
2766 HRESULT (WINAPI *QueryInterface)(IAMCopyCaptureFileProgress *This,REFIID riid,void **ppvObject);
2767 ULONG (WINAPI *AddRef)(IAMCopyCaptureFileProgress *This);
2768 ULONG (WINAPI *Release)(IAMCopyCaptureFileProgress *This);
2769 HRESULT (WINAPI *Progress)(IAMCopyCaptureFileProgress *This,int iProgress);
2770 END_INTERFACE
2771 } IAMCopyCaptureFileProgressVtbl;
2772 struct IAMCopyCaptureFileProgress {
2773 CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
2774 };
2775 #ifdef COBJMACROS
2776 #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2777 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
2778 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This)
2779 #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress)
2780 #endif
2781 #endif
2782 HRESULT WINAPI IAMCopyCaptureFileProgress_Progress_Proxy(IAMCopyCaptureFileProgress *This,int iProgress);
2783 void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2784 #endif
2785
2786 #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
2787 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
2788 EXTERN_C const IID IID_ICaptureGraphBuilder2;
2789 #if defined(__cplusplus) && !defined(CINTERFACE)
2790 struct ICaptureGraphBuilder2 : public IUnknown {
2791 public:
2792 virtual HRESULT WINAPI SetFiltergraph(IGraphBuilder *pfg) = 0;
2793 virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppfg) = 0;
2794 virtual HRESULT WINAPI SetOutputFileName(const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) = 0;
2795 virtual HRESULT WINAPI FindInterface(const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) = 0;
2796 virtual HRESULT WINAPI RenderStream(const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) = 0;
2797 virtual HRESULT WINAPI ControlStream(const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) = 0;
2798 virtual HRESULT WINAPI AllocCapFile(LPCOLESTR lpstr,DWORDLONG dwlSize) = 0;
2799 virtual HRESULT WINAPI CopyCaptureFile(LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) = 0;
2800 virtual HRESULT WINAPI FindPin(IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) = 0;
2801 };
2802 #else
2803 typedef struct ICaptureGraphBuilder2Vtbl {
2804 BEGIN_INTERFACE
2805 HRESULT (WINAPI *QueryInterface)(ICaptureGraphBuilder2 *This,REFIID riid,void **ppvObject);
2806 ULONG (WINAPI *AddRef)(ICaptureGraphBuilder2 *This);
2807 ULONG (WINAPI *Release)(ICaptureGraphBuilder2 *This);
2808 HRESULT (WINAPI *SetFiltergraph)(ICaptureGraphBuilder2 *This,IGraphBuilder *pfg);
2809 HRESULT (WINAPI *GetFiltergraph)(ICaptureGraphBuilder2 *This,IGraphBuilder **ppfg);
2810 HRESULT (WINAPI *SetOutputFileName)(ICaptureGraphBuilder2 *This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink);
2811 HRESULT (WINAPI *FindInterface)(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint);
2812 HRESULT (WINAPI *RenderStream)(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer);
2813 HRESULT (WINAPI *ControlStream)(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie);
2814 HRESULT (WINAPI *AllocCapFile)(ICaptureGraphBuilder2 *This,LPCOLESTR lpstr,DWORDLONG dwlSize);
2815 HRESULT (WINAPI *CopyCaptureFile)(ICaptureGraphBuilder2 *This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback);
2816 HRESULT (WINAPI *FindPin)(ICaptureGraphBuilder2 *This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin);
2817 END_INTERFACE
2818 } ICaptureGraphBuilder2Vtbl;
2819 struct ICaptureGraphBuilder2 {
2820 CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
2821 };
2822 #ifdef COBJMACROS
2823 #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2824 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This)
2825 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This)
2826 #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
2827 #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
2828 #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
2829 #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint)
2830 #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
2831 #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
2832 #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
2833 #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
2834 #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
2835 #endif
2836 #endif
2837 HRESULT WINAPI ICaptureGraphBuilder2_SetFiltergraph_Proxy(ICaptureGraphBuilder2 *This,IGraphBuilder *pfg);
2838 void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2839 HRESULT WINAPI ICaptureGraphBuilder2_GetFiltergraph_Proxy(ICaptureGraphBuilder2 *This,IGraphBuilder **ppfg);
2840 void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2841 HRESULT WINAPI ICaptureGraphBuilder2_SetOutputFileName_Proxy(ICaptureGraphBuilder2 *This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink);
2842 void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2843 HRESULT WINAPI ICaptureGraphBuilder2_RemoteFindInterface_Proxy(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,IUnknown **ppint);
2844 void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2845 HRESULT WINAPI ICaptureGraphBuilder2_RenderStream_Proxy(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer);
2846 void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2847 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);
2848 void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2849 HRESULT WINAPI ICaptureGraphBuilder2_AllocCapFile_Proxy(ICaptureGraphBuilder2 *This,LPCOLESTR lpstr,DWORDLONG dwlSize);
2850 void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2851 HRESULT WINAPI ICaptureGraphBuilder2_CopyCaptureFile_Proxy(ICaptureGraphBuilder2 *This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback);
2852 void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2853 HRESULT WINAPI ICaptureGraphBuilder2_FindPin_Proxy(ICaptureGraphBuilder2 *This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin);
2854 void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2855 #endif
2856
2857 enum _AM_RENSDEREXFLAGS {
2858 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
2859 };
2860
2861 extern RPC_IF_HANDLE __MIDL_itf_strmif_0153_v0_0_c_ifspec;
2862 extern RPC_IF_HANDLE __MIDL_itf_strmif_0153_v0_0_s_ifspec;
2863 #ifndef __IFilterGraph2_INTERFACE_DEFINED__
2864 #define __IFilterGraph2_INTERFACE_DEFINED__
2865 EXTERN_C const IID IID_IFilterGraph2;
2866 #if defined(__cplusplus) && !defined(CINTERFACE)
2867 struct IFilterGraph2 : public IGraphBuilder {
2868 public:
2869 virtual HRESULT WINAPI AddSourceFilterForMoniker(IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) = 0;
2870 virtual HRESULT WINAPI ReconnectEx(IPin *ppin,const AM_MEDIA_TYPE *pmt) = 0;
2871 virtual HRESULT WINAPI RenderEx(IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) = 0;
2872 };
2873 #else
2874 typedef struct IFilterGraph2Vtbl {
2875 BEGIN_INTERFACE
2876 HRESULT (WINAPI *QueryInterface)(IFilterGraph2 *This,REFIID riid,void **ppvObject);
2877 ULONG (WINAPI *AddRef)(IFilterGraph2 *This);
2878 ULONG (WINAPI *Release)(IFilterGraph2 *This);
2879 HRESULT (WINAPI *AddFilter)(IFilterGraph2 *This,IBaseFilter *pFilter,LPCWSTR pName);
2880 HRESULT (WINAPI *RemoveFilter)(IFilterGraph2 *This,IBaseFilter *pFilter);
2881 HRESULT (WINAPI *EnumFilters)(IFilterGraph2 *This,IEnumFilters **ppEnum);
2882 HRESULT (WINAPI *FindFilterByName)(IFilterGraph2 *This,LPCWSTR pName,IBaseFilter **ppFilter);
2883 HRESULT (WINAPI *ConnectDirect)(IFilterGraph2 *This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt);
2884 HRESULT (WINAPI *Reconnect)(IFilterGraph2 *This,IPin *ppin);
2885 HRESULT (WINAPI *Disconnect)(IFilterGraph2 *This,IPin *ppin);
2886 HRESULT (WINAPI *SetDefaultSyncSource)(IFilterGraph2 *This);
2887 HRESULT (WINAPI *Connect)(IFilterGraph2 *This,IPin *ppinOut,IPin *ppinIn);
2888 HRESULT (WINAPI *Render)(IFilterGraph2 *This,IPin *ppinOut);
2889 HRESULT (WINAPI *RenderFile)(IFilterGraph2 *This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList);
2890 HRESULT (WINAPI *AddSourceFilter)(IFilterGraph2 *This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
2891 HRESULT (WINAPI *SetLogFile)(IFilterGraph2 *This,DWORD_PTR hFile);
2892 HRESULT (WINAPI *Abort)(IFilterGraph2 *This);
2893 HRESULT (WINAPI *ShouldOperationContinue)(IFilterGraph2 *This);
2894 HRESULT (WINAPI *AddSourceFilterForMoniker)(IFilterGraph2 *This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
2895 HRESULT (WINAPI *ReconnectEx)(IFilterGraph2 *This,IPin *ppin,const AM_MEDIA_TYPE *pmt);
2896 HRESULT (WINAPI *RenderEx)(IFilterGraph2 *This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext);
2897 END_INTERFACE
2898 } IFilterGraph2Vtbl;
2899 struct IFilterGraph2 {
2900 CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
2901 };
2902 #ifdef COBJMACROS
2903 #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2904 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This)
2905 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This)
2906 #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
2907 #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
2908 #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
2909 #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
2910 #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
2911 #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
2912 #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
2913 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
2914 #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
2915 #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
2916 #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
2917 #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
2918 #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
2919 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This)
2920 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
2921 #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
2922 #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt)
2923 #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext)
2924 #endif
2925 #endif
2926 HRESULT WINAPI IFilterGraph2_AddSourceFilterForMoniker_Proxy(IFilterGraph2 *This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter);
2927 void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2928 HRESULT WINAPI IFilterGraph2_ReconnectEx_Proxy(IFilterGraph2 *This,IPin *ppin,const AM_MEDIA_TYPE *pmt);
2929 void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2930 HRESULT WINAPI IFilterGraph2_RenderEx_Proxy(IFilterGraph2 *This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext);
2931 void __RPC_STUB IFilterGraph2_RenderEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2932 #endif
2933
2934 #ifndef __IStreamBuilder_INTERFACE_DEFINED__
2935 #define __IStreamBuilder_INTERFACE_DEFINED__
2936 EXTERN_C const IID IID_IStreamBuilder;
2937 #if defined(__cplusplus) && !defined(CINTERFACE)
2938 struct IStreamBuilder : public IUnknown {
2939 public:
2940 virtual HRESULT WINAPI Render(IPin *ppinOut,IGraphBuilder *pGraph) = 0;
2941 virtual HRESULT WINAPI Backout(IPin *ppinOut,IGraphBuilder *pGraph) = 0;
2942 };
2943 #else
2944 typedef struct IStreamBuilderVtbl {
2945 BEGIN_INTERFACE
2946 HRESULT (WINAPI *QueryInterface)(IStreamBuilder *This,REFIID riid,void **ppvObject);
2947 ULONG (WINAPI *AddRef)(IStreamBuilder *This);
2948 ULONG (WINAPI *Release)(IStreamBuilder *This);
2949 HRESULT (WINAPI *Render)(IStreamBuilder *This,IPin *ppinOut,IGraphBuilder *pGraph);
2950 HRESULT (WINAPI *Backout)(IStreamBuilder *This,IPin *ppinOut,IGraphBuilder *pGraph);
2951 END_INTERFACE
2952 } IStreamBuilderVtbl;
2953 struct IStreamBuilder {
2954 CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
2955 };
2956 #ifdef COBJMACROS
2957 #define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2958 #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
2959 #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This)
2960 #define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph)
2961 #define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph)
2962 #endif
2963 #endif
2964 HRESULT WINAPI IStreamBuilder_Render_Proxy(IStreamBuilder *This,IPin *ppinOut,IGraphBuilder *pGraph);
2965 void __RPC_STUB IStreamBuilder_Render_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2966 HRESULT WINAPI IStreamBuilder_Backout_Proxy(IStreamBuilder *This,IPin *ppinOut,IGraphBuilder *pGraph);
2967 void __RPC_STUB IStreamBuilder_Backout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2968 #endif
2969
2970 #ifndef __IAsyncReader_INTERFACE_DEFINED__
2971 #define __IAsyncReader_INTERFACE_DEFINED__
2972 EXTERN_C const IID IID_IAsyncReader;
2973 #if defined(__cplusplus) && !defined(CINTERFACE)
2974 struct IAsyncReader : public IUnknown {
2975 public:
2976 virtual HRESULT WINAPI RequestAllocator(IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) = 0;
2977 virtual HRESULT WINAPI Request(IMediaSample *pSample,DWORD_PTR dwUser) = 0;
2978 virtual HRESULT WINAPI WaitForNext(DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) = 0;
2979 virtual HRESULT WINAPI SyncReadAligned(IMediaSample *pSample) = 0;
2980 virtual HRESULT WINAPI SyncRead(LONGLONG llPosition,LONG lLength,BYTE *pBuffer) = 0;
2981 virtual HRESULT WINAPI Length(LONGLONG *pTotal,LONGLONG *pAvailable) = 0;
2982 virtual HRESULT WINAPI BeginFlush(void) = 0;
2983 virtual HRESULT WINAPI EndFlush(void) = 0;
2984 };
2985 #else
2986 typedef struct IAsyncReaderVtbl {
2987 BEGIN_INTERFACE
2988 HRESULT (WINAPI *QueryInterface)(IAsyncReader *This,REFIID riid,void **ppvObject);
2989 ULONG (WINAPI *AddRef)(IAsyncReader *This);
2990 ULONG (WINAPI *Release)(IAsyncReader *This);
2991 HRESULT (WINAPI *RequestAllocator)(IAsyncReader *This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual);
2992 HRESULT (WINAPI *Request)(IAsyncReader *This,IMediaSample *pSample,DWORD_PTR dwUser);
2993 HRESULT (WINAPI *WaitForNext)(IAsyncReader *This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser);
2994 HRESULT (WINAPI *SyncReadAligned)(IAsyncReader *This,IMediaSample *pSample);
2995 HRESULT (WINAPI *SyncRead)(IAsyncReader *This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer);
2996 HRESULT (WINAPI *Length)(IAsyncReader *This,LONGLONG *pTotal,LONGLONG *pAvailable);
2997 HRESULT (WINAPI *BeginFlush)(IAsyncReader *This);
2998 HRESULT (WINAPI *EndFlush)(IAsyncReader *This);
2999 END_INTERFACE
3000 } IAsyncReaderVtbl;
3001 struct IAsyncReader {
3002 CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
3003 };
3004 #ifdef COBJMACROS
3005 #define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3006 #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This)
3007 #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This)
3008 #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual)
3009 #define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser)
3010 #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser)
3011 #define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample)
3012 #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer)
3013 #define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable)
3014 #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
3015 #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This)
3016 #endif
3017 #endif
3018 HRESULT WINAPI IAsyncReader_RequestAllocator_Proxy(IAsyncReader *This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual);
3019 void __RPC_STUB IAsyncReader_RequestAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3020 HRESULT WINAPI IAsyncReader_Request_Proxy(IAsyncReader *This,IMediaSample *pSample,DWORD_PTR dwUser);
3021 void __RPC_STUB IAsyncReader_Request_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3022 HRESULT WINAPI IAsyncReader_WaitForNext_Proxy(IAsyncReader *This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser);
3023 void __RPC_STUB IAsyncReader_WaitForNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3024 HRESULT WINAPI IAsyncReader_SyncReadAligned_Proxy(IAsyncReader *This,IMediaSample *pSample);
3025 void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3026 HRESULT WINAPI IAsyncReader_SyncRead_Proxy(IAsyncReader *This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer);
3027 void __RPC_STUB IAsyncReader_SyncRead_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3028 HRESULT WINAPI IAsyncReader_Length_Proxy(IAsyncReader *This,LONGLONG *pTotal,LONGLONG *pAvailable);
3029 void __RPC_STUB IAsyncReader_Length_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3030 HRESULT WINAPI IAsyncReader_BeginFlush_Proxy(IAsyncReader *This);
3031 void __RPC_STUB IAsyncReader_BeginFlush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3032 HRESULT WINAPI IAsyncReader_EndFlush_Proxy(IAsyncReader *This);
3033 void __RPC_STUB IAsyncReader_EndFlush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3034 #endif
3035
3036 #ifndef __IGraphVersion_INTERFACE_DEFINED__
3037 #define __IGraphVersion_INTERFACE_DEFINED__
3038 EXTERN_C const IID IID_IGraphVersion;
3039 #if defined(__cplusplus) && !defined(CINTERFACE)
3040 struct IGraphVersion : public IUnknown {
3041 public:
3042 virtual HRESULT WINAPI QueryVersion(LONG *pVersion) = 0;
3043 };
3044 #else
3045 typedef struct IGraphVersionVtbl {
3046 BEGIN_INTERFACE
3047 HRESULT (WINAPI *QueryInterface)(IGraphVersion *This,REFIID riid,void **ppvObject);
3048 ULONG (WINAPI *AddRef)(IGraphVersion *This);
3049 ULONG (WINAPI *Release)(IGraphVersion *This);
3050 HRESULT (WINAPI *QueryVersion)(IGraphVersion *This,LONG *pVersion);
3051 END_INTERFACE
3052 } IGraphVersionVtbl;
3053 struct IGraphVersion {
3054 CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
3055 };
3056 #ifdef COBJMACROS
3057 #define IGraphVersion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3058 #define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This)
3059 #define IGraphVersion_Release(This) (This)->lpVtbl->Release(This)
3060 #define IGraphVersion_QueryVersion(This,pVersion) (This)->lpVtbl->QueryVersion(This,pVersion)
3061 #endif
3062 #endif
3063 HRESULT WINAPI IGraphVersion_QueryVersion_Proxy(IGraphVersion *This,LONG *pVersion);
3064 void __RPC_STUB IGraphVersion_QueryVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3065 #endif
3066
3067 #ifndef __IResourceConsumer_INTERFACE_DEFINED__
3068 #define __IResourceConsumer_INTERFACE_DEFINED__
3069 EXTERN_C const IID IID_IResourceConsumer;
3070 #if defined(__cplusplus) && !defined(CINTERFACE)
3071 struct IResourceConsumer : public IUnknown {
3072 public:
3073 virtual HRESULT WINAPI AcquireResource(LONG idResource) = 0;
3074 virtual HRESULT WINAPI ReleaseResource(LONG idResource) = 0;
3075 };
3076 #else
3077 typedef struct IResourceConsumerVtbl {
3078 BEGIN_INTERFACE
3079 HRESULT (WINAPI *QueryInterface)(IResourceConsumer *This,REFIID riid,void **ppvObject);
3080 ULONG (WINAPI *AddRef)(IResourceConsumer *This);
3081 ULONG (WINAPI *Release)(IResourceConsumer *This);
3082 HRESULT (WINAPI *AcquireResource)(IResourceConsumer *This,LONG idResource);
3083 HRESULT (WINAPI *ReleaseResource)(IResourceConsumer *This,LONG idResource);
3084 END_INTERFACE
3085 } IResourceConsumerVtbl;
3086 struct IResourceConsumer {
3087 CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
3088 };
3089 #ifdef COBJMACROS
3090 #define IResourceConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3091 #define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This)
3092 #define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This)
3093 #define IResourceConsumer_AcquireResource(This,idResource) (This)->lpVtbl->AcquireResource(This,idResource)
3094 #define IResourceConsumer_ReleaseResource(This,idResource) (This)->lpVtbl->ReleaseResource(This,idResource)
3095 #endif
3096 #endif
3097 HRESULT WINAPI IResourceConsumer_AcquireResource_Proxy(IResourceConsumer *This,LONG idResource);
3098 void __RPC_STUB IResourceConsumer_AcquireResource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3099 HRESULT WINAPI IResourceConsumer_ReleaseResource_Proxy(IResourceConsumer *This,LONG idResource);
3100 void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3101 #endif
3102
3103 #ifndef __IResourceManager_INTERFACE_DEFINED__
3104 #define __IResourceManager_INTERFACE_DEFINED__
3105 EXTERN_C const IID IID_IResourceManager;
3106 #if defined(__cplusplus) && !defined(CINTERFACE)
3107 struct IResourceManager : public IUnknown {
3108 public:
3109 virtual HRESULT WINAPI Register(LPCWSTR pName,LONG cResource,LONG *plToken) = 0;
3110 virtual HRESULT WINAPI RegisterGroup(LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken) = 0;
3111 virtual HRESULT WINAPI RequestResource(LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer) = 0;
3112 virtual HRESULT WINAPI NotifyAcquire(LONG idResource,IResourceConsumer *pConsumer,HRESULT hr) = 0;
3113 virtual HRESULT WINAPI NotifyRelease(LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant) = 0;
3114 virtual HRESULT WINAPI CancelRequest(LONG idResource,IResourceConsumer *pConsumer) = 0;
3115 virtual HRESULT WINAPI SetFocus(IUnknown *pFocusObject) = 0;
3116 virtual HRESULT WINAPI ReleaseFocus(IUnknown *pFocusObject) = 0;
3117 };
3118 #else
3119 typedef struct IResourceManagerVtbl {
3120 BEGIN_INTERFACE
3121 HRESULT (WINAPI *QueryInterface)(IResourceManager *This,REFIID riid,void **ppvObject);
3122 ULONG (WINAPI *AddRef)(IResourceManager *This);
3123 ULONG (WINAPI *Release)(IResourceManager *This);
3124 HRESULT (WINAPI *Register)(IResourceManager *This,LPCWSTR pName,LONG cResource,LONG *plToken);
3125 HRESULT (WINAPI *RegisterGroup)(IResourceManager *This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken);
3126 HRESULT (WINAPI *RequestResource)(IResourceManager *This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer);
3127 HRESULT (WINAPI *NotifyAcquire)(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr);
3128 HRESULT (WINAPI *NotifyRelease)(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant);
3129 HRESULT (WINAPI *CancelRequest)(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer);
3130 HRESULT (WINAPI *SetFocus)(IResourceManager *This,IUnknown *pFocusObject);
3131 HRESULT (WINAPI *ReleaseFocus)(IResourceManager *This,IUnknown *pFocusObject);
3132 END_INTERFACE
3133 } IResourceManagerVtbl;
3134 struct IResourceManager {
3135 CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
3136 };
3137 #ifdef COBJMACROS
3138 #define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3139 #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
3140 #define IResourceManager_Release(This) (This)->lpVtbl->Release(This)
3141 #define IResourceManager_Register(This,pName,cResource,plToken) (This)->lpVtbl->Register(This,pName,cResource,plToken)
3142 #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) (This)->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken)
3143 #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) (This)->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer)
3144 #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) (This)->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr)
3145 #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) (This)->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant)
3146 #define IResourceManager_CancelRequest(This,idResource,pConsumer) (This)->lpVtbl->CancelRequest(This,idResource,pConsumer)
3147 #define IResourceManager_SetFocus(This,pFocusObject) (This)->lpVtbl->SetFocus(This,pFocusObject)
3148 #define IResourceManager_ReleaseFocus(This,pFocusObject) (This)->lpVtbl->ReleaseFocus(This,pFocusObject)
3149 #endif
3150 #endif
3151 HRESULT WINAPI IResourceManager_Register_Proxy(IResourceManager *This,LPCWSTR pName,LONG cResource,LONG *plToken);
3152 void __RPC_STUB IResourceManager_Register_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3153 HRESULT WINAPI IResourceManager_RegisterGroup_Proxy(IResourceManager *This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken);
3154 void __RPC_STUB IResourceManager_RegisterGroup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3155 HRESULT WINAPI IResourceManager_RequestResource_Proxy(IResourceManager *This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer);
3156 void __RPC_STUB IResourceManager_RequestResource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3157 HRESULT WINAPI IResourceManager_NotifyAcquire_Proxy(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr);
3158 void __RPC_STUB IResourceManager_NotifyAcquire_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3159 HRESULT WINAPI IResourceManager_NotifyRelease_Proxy(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant);
3160 void __RPC_STUB IResourceManager_NotifyRelease_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3161 HRESULT WINAPI IResourceManager_CancelRequest_Proxy(IResourceManager *This,LONG idResource,IResourceConsumer *pConsumer);
3162 void __RPC_STUB IResourceManager_CancelRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3163 HRESULT WINAPI IResourceManager_SetFocus_Proxy(IResourceManager *This,IUnknown *pFocusObject);
3164 void __RPC_STUB IResourceManager_SetFocus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3165 HRESULT WINAPI IResourceManager_ReleaseFocus_Proxy(IResourceManager *This,IUnknown *pFocusObject);
3166 void __RPC_STUB IResourceManager_ReleaseFocus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3167 #endif
3168
3169 #ifndef __IDistributorNotify_INTERFACE_DEFINED__
3170 #define __IDistributorNotify_INTERFACE_DEFINED__
3171 EXTERN_C const IID IID_IDistributorNotify;
3172 #if defined(__cplusplus) && !defined(CINTERFACE)
3173 struct IDistributorNotify : public IUnknown {
3174 public:
3175 virtual HRESULT WINAPI Stop(void) = 0;
3176 virtual HRESULT WINAPI Pause(void) = 0;
3177 virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0;
3178 virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0;
3179 virtual HRESULT WINAPI NotifyGraphChange(void) = 0;
3180 };
3181 #else
3182 typedef struct IDistributorNotifyVtbl {
3183 BEGIN_INTERFACE
3184 HRESULT (WINAPI *QueryInterface)(IDistributorNotify *This,REFIID riid,void **ppvObject);
3185 ULONG (WINAPI *AddRef)(IDistributorNotify *This);
3186 ULONG (WINAPI *Release)(IDistributorNotify *This);
3187 HRESULT (WINAPI *Stop)(IDistributorNotify *This);
3188 HRESULT (WINAPI *Pause)(IDistributorNotify *This);
3189 HRESULT (WINAPI *Run)(IDistributorNotify *This,REFERENCE_TIME tStart);
3190 HRESULT (WINAPI *SetSyncSource)(IDistributorNotify *This,IReferenceClock *pClock);
3191 HRESULT (WINAPI *NotifyGraphChange)(IDistributorNotify *This);
3192 END_INTERFACE
3193 } IDistributorNotifyVtbl;
3194 struct IDistributorNotify {
3195 CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
3196 };
3197 #ifdef COBJMACROS
3198 #define IDistributorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3199 #define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
3200 #define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This)
3201 #define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This)
3202 #define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This)
3203 #define IDistributorNotify_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
3204 #define IDistributorNotify_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
3205 #define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This)
3206 #endif
3207 #endif
3208 HRESULT WINAPI IDistributorNotify_Stop_Proxy(IDistributorNotify *This);
3209 void __RPC_STUB IDistributorNotify_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3210 HRESULT WINAPI IDistributorNotify_Pause_Proxy(IDistributorNotify *This);
3211 void __RPC_STUB IDistributorNotify_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3212 HRESULT WINAPI IDistributorNotify_Run_Proxy(IDistributorNotify *This,REFERENCE_TIME tStart);
3213 void __RPC_STUB IDistributorNotify_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3214 HRESULT WINAPI IDistributorNotify_SetSyncSource_Proxy(IDistributorNotify *This,IReferenceClock *pClock);
3215 void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3216 HRESULT WINAPI IDistributorNotify_NotifyGraphChange_Proxy(IDistributorNotify *This);
3217 void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3218 #endif
3219
3220 typedef enum __MIDL___MIDL_itf_strmif_0160_0001 {
3221 AM_STREAM_INFO_START_DEFINED = 0x1,AM_STREAM_INFO_STOP_DEFINED = 0x2,AM_STREAM_INFO_DISCARDING = 0x4,AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
3222 } AM_STREAM_INFO_FLAGS;
3223
3224 typedef struct __MIDL___MIDL_itf_strmif_0160_0002 {
3225 REFERENCE_TIME tStart;
3226 REFERENCE_TIME tStop;
3227 DWORD dwStartCookie;
3228 DWORD dwStopCookie;
3229 DWORD dwFlags;
3230 } AM_STREAM_INFO;
3231
3232 extern RPC_IF_HANDLE __MIDL_itf_strmif_0160_v0_0_c_ifspec;
3233 extern RPC_IF_HANDLE __MIDL_itf_strmif_0160_v0_0_s_ifspec;
3234 #ifndef __IAMStreamControl_INTERFACE_DEFINED__
3235 #define __IAMStreamControl_INTERFACE_DEFINED__
3236 EXTERN_C const IID IID_IAMStreamControl;
3237 #if defined(__cplusplus) && !defined(CINTERFACE)
3238 struct IAMStreamControl : public IUnknown {
3239 public:
3240 virtual HRESULT WINAPI StartAt(const REFERENCE_TIME *ptStart,DWORD dwCookie) = 0;
3241 virtual HRESULT WINAPI StopAt(const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie) = 0;
3242 virtual HRESULT WINAPI GetInfo(AM_STREAM_INFO *pInfo) = 0;
3243 };
3244 #else
3245 typedef struct IAMStreamControlVtbl {
3246 BEGIN_INTERFACE
3247 HRESULT (WINAPI *QueryInterface)(IAMStreamControl *This,REFIID riid,void **ppvObject);
3248 ULONG (WINAPI *AddRef)(IAMStreamControl *This);
3249 ULONG (WINAPI *Release)(IAMStreamControl *This);
3250 HRESULT (WINAPI *StartAt)(IAMStreamControl *This,const REFERENCE_TIME *ptStart,DWORD dwCookie);
3251 HRESULT (WINAPI *StopAt)(IAMStreamControl *This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie);
3252 HRESULT (WINAPI *GetInfo)(IAMStreamControl *This,AM_STREAM_INFO *pInfo);
3253 END_INTERFACE
3254 } IAMStreamControlVtbl;
3255 struct IAMStreamControl {
3256 CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
3257 };
3258 #ifdef COBJMACROS
3259 #define IAMStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3260 #define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
3261 #define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This)
3262 #define IAMStreamControl_StartAt(This,ptStart,dwCookie) (This)->lpVtbl->StartAt(This,ptStart,dwCookie)
3263 #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) (This)->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie)
3264 #define IAMStreamControl_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
3265 #endif
3266 #endif
3267 HRESULT WINAPI IAMStreamControl_StartAt_Proxy(IAMStreamControl *This,const REFERENCE_TIME *ptStart,DWORD dwCookie);
3268 void __RPC_STUB IAMStreamControl_StartAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3269 HRESULT WINAPI IAMStreamControl_StopAt_Proxy(IAMStreamControl *This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie);
3270 void __RPC_STUB IAMStreamControl_StopAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3271 HRESULT WINAPI IAMStreamControl_GetInfo_Proxy(IAMStreamControl *This,AM_STREAM_INFO *pInfo);
3272 void __RPC_STUB IAMStreamControl_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3273 #endif
3274
3275 #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
3276 #define __ISeekingPassThru_INTERFACE_DEFINED__
3277 EXTERN_C const IID IID_ISeekingPassThru;
3278 #if defined(__cplusplus) && !defined(CINTERFACE)
3279 struct ISeekingPassThru : public IUnknown {
3280 public:
3281 virtual HRESULT WINAPI Init(WINBOOL bSupportRendering,IPin *pPin) = 0;
3282 };
3283 #else
3284 typedef struct ISeekingPassThruVtbl {
3285 BEGIN_INTERFACE
3286 HRESULT (WINAPI *QueryInterface)(ISeekingPassThru *This,REFIID riid,void **ppvObject);
3287 ULONG (WINAPI *AddRef)(ISeekingPassThru *This);
3288 ULONG (WINAPI *Release)(ISeekingPassThru *This);
3289 HRESULT (WINAPI *Init)(ISeekingPassThru *This,WINBOOL bSupportRendering,IPin *pPin);
3290 END_INTERFACE
3291 } ISeekingPassThruVtbl;
3292 struct ISeekingPassThru {
3293 CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
3294 };
3295 #ifdef COBJMACROS
3296 #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3297 #define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This)
3298 #define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This)
3299 #define ISeekingPassThru_Init(This,bSupportRendering,pPin) (This)->lpVtbl->Init(This,bSupportRendering,pPin)
3300 #endif
3301 #endif
3302 HRESULT WINAPI ISeekingPassThru_Init_Proxy(ISeekingPassThru *This,WINBOOL bSupportRendering,IPin *pPin);
3303 void __RPC_STUB ISeekingPassThru_Init_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3304 #endif
3305
3306 #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
3307 #define __IAMStreamConfig_INTERFACE_DEFINED__
3308 typedef struct _VIDEO_STREAM_CONFIG_CAPS {
3309 GUID guid;
3310 ULONG VideoStandard;
3311 SIZE InputSize;
3312 SIZE MinCroppingSize;
3313 SIZE MaxCroppingSize;
3314 int CropGranularityX;
3315 int CropGranularityY;
3316 int CropAlignX;
3317 int CropAlignY;
3318 SIZE MinOutputSize;
3319 SIZE MaxOutputSize;
3320 int OutputGranularityX;
3321 int OutputGranularityY;
3322 int StretchTapsX;
3323 int StretchTapsY;
3324 int ShrinkTapsX;
3325 int ShrinkTapsY;
3326 LONGLONG MinFrameInterval;
3327 LONGLONG MaxFrameInterval;
3328 LONG MinBitsPerSecond;
3329 LONG MaxBitsPerSecond;
3330 } VIDEO_STREAM_CONFIG_CAPS;
3331
3332 typedef struct _AUDIO_STREAM_CONFIG_CAPS {
3333 GUID guid;
3334 ULONG MinimumChannels;
3335 ULONG MaximumChannels;
3336 ULONG ChannelsGranularity;
3337 ULONG MinimumBitsPerSample;
3338 ULONG MaximumBitsPerSample;
3339 ULONG BitsPerSampleGranularity;
3340 ULONG MinimumSampleFrequency;
3341 ULONG MaximumSampleFrequency;
3342 ULONG SampleFrequencyGranularity;
3343 } AUDIO_STREAM_CONFIG_CAPS;
3344
3345 EXTERN_C const IID IID_IAMStreamConfig;
3346 #if defined(__cplusplus) && !defined(CINTERFACE)
3347 struct IAMStreamConfig : public IUnknown {
3348 public:
3349 virtual HRESULT WINAPI SetFormat(AM_MEDIA_TYPE *pmt) = 0;
3350 virtual HRESULT WINAPI GetFormat(AM_MEDIA_TYPE **ppmt) = 0;
3351 virtual HRESULT WINAPI GetNumberOfCapabilities(int *piCount,int *piSize) = 0;
3352 virtual HRESULT WINAPI GetStreamCaps(int iIndex,AM_MEDIA_TYPE **ppmt,BYTE *pSCC) = 0;
3353 };
3354 #else
3355 typedef struct IAMStreamConfigVtbl {
3356 BEGIN_INTERFACE
3357 HRESULT (WINAPI *QueryInterface)(IAMStreamConfig *This,REFIID riid,void **ppvObject);
3358 ULONG (WINAPI *AddRef)(IAMStreamConfig *This);
3359 ULONG (WINAPI *Release)(IAMStreamConfig *This);
3360 HRESULT (WINAPI *SetFormat)(IAMStreamConfig *This,AM_MEDIA_TYPE *pmt);
3361 HRESULT (WINAPI *GetFormat)(IAMStreamConfig *This,AM_MEDIA_TYPE **ppmt);
3362 HRESULT (WINAPI *GetNumberOfCapabilities)(IAMStreamConfig *This,int *piCount,int *piSize);
3363 HRESULT (WINAPI *GetStreamCaps)(IAMStreamConfig *This,int iIndex,AM_MEDIA_TYPE **ppmt,BYTE *pSCC);
3364 END_INTERFACE
3365 } IAMStreamConfigVtbl;
3366 struct IAMStreamConfig {
3367 CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
3368 };
3369 #ifdef COBJMACROS
3370 #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3371 #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
3372 #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This)
3373 #define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt)
3374 #define IAMStreamConfig_GetFormat(This,ppmt) (This)->lpVtbl->GetFormat(This,ppmt)
3375 #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize)
3376 #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,ppmt,pSCC)
3377 #endif
3378 #endif
3379 HRESULT WINAPI IAMStreamConfig_SetFormat_Proxy(IAMStreamConfig *This,AM_MEDIA_TYPE *pmt);
3380 void __RPC_STUB IAMStreamConfig_SetFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3381 HRESULT WINAPI IAMStreamConfig_GetFormat_Proxy(IAMStreamConfig *This,AM_MEDIA_TYPE **ppmt);
3382 void __RPC_STUB IAMStreamConfig_GetFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3383 HRESULT WINAPI IAMStreamConfig_GetNumberOfCapabilities_Proxy(IAMStreamConfig *This,int *piCount,int *piSize);
3384 void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3385 HRESULT WINAPI IAMStreamConfig_GetStreamCaps_Proxy(IAMStreamConfig *This,int iIndex,AM_MEDIA_TYPE **ppmt,BYTE *pSCC);
3386 void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3387 #endif
3388
3389 #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
3390 #define __IConfigInterleaving_INTERFACE_DEFINED__
3391 typedef enum __MIDL_IConfigInterleaving_0001 {
3392 INTERLEAVE_NONE = 0,
3393 INTERLEAVE_CAPTURE,INTERLEAVE_FULL,INTERLEAVE_NONE_BUFFERED
3394 } InterleavingMode;
3395
3396 EXTERN_C const IID IID_IConfigInterleaving;
3397 #if defined(__cplusplus) && !defined(CINTERFACE)
3398 struct IConfigInterleaving : public IUnknown {
3399 public:
3400 virtual HRESULT WINAPI put_Mode(InterleavingMode mode) = 0;
3401 virtual HRESULT WINAPI get_Mode(InterleavingMode *pMode) = 0;
3402 virtual HRESULT WINAPI put_Interleaving(const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) = 0;
3403 virtual HRESULT WINAPI get_Interleaving(REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) = 0;
3404 };
3405 #else
3406 typedef struct IConfigInterleavingVtbl {
3407 BEGIN_INTERFACE
3408 HRESULT (WINAPI *QueryInterface)(IConfigInterleaving *This,REFIID riid,void **ppvObject);
3409 ULONG (WINAPI *AddRef)(IConfigInterleaving *This);
3410 ULONG (WINAPI *Release)(IConfigInterleaving *This);
3411 HRESULT (WINAPI *put_Mode)(IConfigInterleaving *This,InterleavingMode mode);
3412 HRESULT (WINAPI *get_Mode)(IConfigInterleaving *This,InterleavingMode *pMode);
3413 HRESULT (WINAPI *put_Interleaving)(IConfigInterleaving *This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll);
3414 HRESULT (WINAPI *get_Interleaving)(IConfigInterleaving *This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll);
3415 END_INTERFACE
3416 } IConfigInterleavingVtbl;
3417 struct IConfigInterleaving {
3418 CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
3419 };
3420 #ifdef COBJMACROS
3421 #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3422 #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This)
3423 #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This)
3424 #define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
3425 #define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
3426 #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll)
3427 #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll)
3428 #endif
3429 #endif
3430 HRESULT WINAPI IConfigInterleaving_put_Mode_Proxy(IConfigInterleaving *This,InterleavingMode mode);
3431 void __RPC_STUB IConfigInterleaving_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3432 HRESULT WINAPI IConfigInterleaving_get_Mode_Proxy(IConfigInterleaving *This,InterleavingMode *pMode);
3433 void __RPC_STUB IConfigInterleaving_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3434 HRESULT WINAPI IConfigInterleaving_put_Interleaving_Proxy(IConfigInterleaving *This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll);
3435 void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3436 HRESULT WINAPI IConfigInterleaving_get_Interleaving_Proxy(IConfigInterleaving *This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll);
3437 void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3438 #endif
3439
3440 #ifndef __IConfigAviMux_INTERFACE_DEFINED__
3441 #define __IConfigAviMux_INTERFACE_DEFINED__
3442 EXTERN_C const IID IID_IConfigAviMux;
3443 #if defined(__cplusplus) && !defined(CINTERFACE)
3444 struct IConfigAviMux : public IUnknown {
3445 public:
3446 virtual HRESULT WINAPI SetMasterStream(LONG iStream) = 0;
3447 virtual HRESULT WINAPI GetMasterStream(LONG *pStream) = 0;
3448 virtual HRESULT WINAPI SetOutputCompatibilityIndex(WINBOOL fOldIndex) = 0;
3449 virtual HRESULT WINAPI GetOutputCompatibilityIndex(WINBOOL *pfOldIndex) = 0;
3450 };
3451 #else
3452 typedef struct IConfigAviMuxVtbl {
3453 BEGIN_INTERFACE
3454 HRESULT (WINAPI *QueryInterface)(IConfigAviMux *This,REFIID riid,void **ppvObject);
3455 ULONG (WINAPI *AddRef)(IConfigAviMux *This);
3456 ULONG (WINAPI *Release)(IConfigAviMux *This);
3457 HRESULT (WINAPI *SetMasterStream)(IConfigAviMux *This,LONG iStream);
3458 HRESULT (WINAPI *GetMasterStream)(IConfigAviMux *This,LONG *pStream);
3459 HRESULT (WINAPI *SetOutputCompatibilityIndex)(IConfigAviMux *This,WINBOOL fOldIndex);
3460 HRESULT (WINAPI *GetOutputCompatibilityIndex)(IConfigAviMux *This,WINBOOL *pfOldIndex);
3461 END_INTERFACE
3462 } IConfigAviMuxVtbl;
3463 struct IConfigAviMux {
3464 CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
3465 };
3466 #ifdef COBJMACROS
3467 #define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3468 #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This)
3469 #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This)
3470 #define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream)
3471 #define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream)
3472 #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex)
3473 #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex)
3474 #endif
3475 #endif
3476 HRESULT WINAPI IConfigAviMux_SetMasterStream_Proxy(IConfigAviMux *This,LONG iStream);
3477 void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3478 HRESULT WINAPI IConfigAviMux_GetMasterStream_Proxy(IConfigAviMux *This,LONG *pStream);
3479 void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3480 HRESULT WINAPI IConfigAviMux_SetOutputCompatibilityIndex_Proxy(IConfigAviMux *This,WINBOOL fOldIndex);
3481 void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3482 HRESULT WINAPI IConfigAviMux_GetOutputCompatibilityIndex_Proxy(IConfigAviMux *This,WINBOOL *pfOldIndex);
3483 void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3484 #endif
3485
3486 typedef enum __MIDL___MIDL_itf_strmif_0167_0001 {
3487 CompressionCaps_CanQuality = 0x1,CompressionCaps_CanCrunch = 0x2,CompressionCaps_CanKeyFrame = 0x4,CompressionCaps_CanBFrame = 0x8,
3488 CompressionCaps_CanWindow = 0x10
3489 } CompressionCaps;
3490
3491 extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
3492 extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
3493 #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
3494 #define __IAMVideoCompression_INTERFACE_DEFINED__
3495 EXTERN_C const IID IID_IAMVideoCompression;
3496 #if defined(__cplusplus) && !defined(CINTERFACE)
3497 struct IAMVideoCompression : public IUnknown {
3498 public:
3499 virtual HRESULT WINAPI put_KeyFrameRate(long KeyFrameRate) = 0;
3500 virtual HRESULT WINAPI get_KeyFrameRate(long *pKeyFrameRate) = 0;
3501 virtual HRESULT WINAPI put_PFramesPerKeyFrame(long PFramesPerKeyFrame) = 0;
3502 virtual HRESULT WINAPI get_PFramesPerKeyFrame(long *pPFramesPerKeyFrame) = 0;
3503 virtual HRESULT WINAPI put_Quality(double Quality) = 0;
3504 virtual HRESULT WINAPI get_Quality(double *pQuality) = 0;
3505 virtual HRESULT WINAPI put_WindowSize(DWORDLONG WindowSize) = 0;
3506 virtual HRESULT WINAPI get_WindowSize(DWORDLONG *pWindowSize) = 0;
3507 virtual HRESULT WINAPI GetInfo(WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,long *pDefaultKeyFrameRate,long *pDefaultPFramesPerKey,double *pDefaultQuality,long *pCapabilities) = 0;
3508 virtual HRESULT WINAPI OverrideKeyFrame(long FrameNumber) = 0;
3509 virtual HRESULT WINAPI OverrideFrameSize(long FrameNumber,long Size) = 0;
3510 };
3511 #else
3512 typedef struct IAMVideoCompressionVtbl {
3513 BEGIN_INTERFACE
3514 HRESULT (WINAPI *QueryInterface)(IAMVideoCompression *This,REFIID riid,void **ppvObject);
3515 ULONG (WINAPI *AddRef)(IAMVideoCompression *This);
3516 ULONG (WINAPI *Release)(IAMVideoCompression *This);
3517 HRESULT (WINAPI *put_KeyFrameRate)(IAMVideoCompression *This,long KeyFrameRate);
3518 HRESULT (WINAPI *get_KeyFrameRate)(IAMVideoCompression *This,long *pKeyFrameRate);
3519 HRESULT (WINAPI *put_PFramesPerKeyFrame)(IAMVideoCompression *This,long PFramesPerKeyFrame);
3520 HRESULT (WINAPI *get_PFramesPerKeyFrame)(IAMVideoCompression *This,long *pPFramesPerKeyFrame);
3521 HRESULT (WINAPI *put_Quality)(IAMVideoCompression *This,double Quality);
3522 HRESULT (WINAPI *get_Quality)(IAMVideoCompression *This,double *pQuality);
3523 HRESULT (WINAPI *put_WindowSize)(IAMVideoCompression *This,DWORDLONG WindowSize);
3524 HRESULT (WINAPI *get_WindowSize)(IAMVideoCompression *This,DWORDLONG *pWindowSize);
3525 HRESULT (WINAPI *GetInfo)(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,long *pDefaultKeyFrameRate,long *pDefaultPFramesPerKey,double *pDefaultQuality,long *pCapabilities);
3526 HRESULT (WINAPI *OverrideKeyFrame)(IAMVideoCompression *This,long FrameNumber);
3527 HRESULT (WINAPI *OverrideFrameSize)(IAMVideoCompression *This,long FrameNumber,long Size);
3528 END_INTERFACE
3529 } IAMVideoCompressionVtbl;
3530 struct IAMVideoCompression {
3531 CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
3532 };
3533 #ifdef COBJMACROS
3534 #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3535 #define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This)
3536 #define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This)
3537 #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate) (This)->lpVtbl->put_KeyFrameRate(This,KeyFrameRate)
3538 #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate) (This)->lpVtbl->get_KeyFrameRate(This,pKeyFrameRate)
3539 #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) (This)->lpVtbl->put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
3540 #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) (This)->lpVtbl->get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
3541 #define IAMVideoCompression_put_Quality(This,Quality) (This)->lpVtbl->put_Quality(This,Quality)
3542 #define IAMVideoCompression_get_Quality(This,pQuality) (This)->lpVtbl->get_Quality(This,pQuality)
3543 #define IAMVideoCompression_put_WindowSize(This,WindowSize) (This)->lpVtbl->put_WindowSize(This,WindowSize)
3544 #define IAMVideoCompression_get_WindowSize(This,pWindowSize) (This)->lpVtbl->get_WindowSize(This,pWindowSize)
3545 #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) (This)->lpVtbl->GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
3546 #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber) (This)->lpVtbl->OverrideKeyFrame(This,FrameNumber)
3547 #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size) (This)->lpVtbl->OverrideFrameSize(This,FrameNumber,Size)
3548 #endif
3549 #endif
3550 HRESULT WINAPI IAMVideoCompression_put_KeyFrameRate_Proxy(IAMVideoCompression *This,long KeyFrameRate);
3551 void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3552 HRESULT WINAPI IAMVideoCompression_get_KeyFrameRate_Proxy(IAMVideoCompression *This,long *pKeyFrameRate);
3553 void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3554 HRESULT WINAPI IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,long PFramesPerKeyFrame);
3555 void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3556 HRESULT WINAPI IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,long *pPFramesPerKeyFrame);
3557 void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3558 HRESULT WINAPI IAMVideoCompression_put_Quality_Proxy(IAMVideoCompression *This,double Quality);
3559 void __RPC_STUB IAMVideoCompression_put_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3560 HRESULT WINAPI IAMVideoCompression_get_Quality_Proxy(IAMVideoCompression *This,double *pQuality);
3561 void __RPC_STUB IAMVideoCompression_get_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3562 HRESULT WINAPI IAMVideoCompression_put_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG WindowSize);
3563 void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3564 HRESULT WINAPI IAMVideoCompression_get_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG *pWindowSize);
3565 void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3566 HRESULT WINAPI IAMVideoCompression_GetInfo_Proxy(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,long *pDefaultKeyFrameRate,long *pDefaultPFramesPerKey,double *pDefaultQuality,long *pCapabilities);
3567 void __RPC_STUB IAMVideoCompression_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3568 HRESULT WINAPI IAMVideoCompression_OverrideKeyFrame_Proxy(IAMVideoCompression *This,long FrameNumber);
3569 void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3570 HRESULT WINAPI IAMVideoCompression_OverrideFrameSize_Proxy(IAMVideoCompression *This,long FrameNumber,long Size);
3571 void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3572 #endif
3573
3574 typedef enum __MIDL___MIDL_itf_strmif_0168_0001 {
3575 VfwCaptureDialog_Source = 0x1,VfwCaptureDialog_Format = 0x2,VfwCaptureDialog_Display = 0x4
3576 } VfwCaptureDialogs;
3577
3578 typedef enum __MIDL___MIDL_itf_strmif_0168_0002 {
3579 VfwCompressDialog_Config = 0x1,VfwCompressDialog_About = 0x2,VfwCompressDialog_QueryConfig = 0x4,VfwCompressDialog_QueryAbout = 0x8
3580 } VfwCompressDialogs;
3581
3582 extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_c_ifspec;
3583 extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_s_ifspec;
3584 #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
3585 #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
3586 EXTERN_C const IID IID_IAMVfwCaptureDialogs;
3587 #if defined(__cplusplus) && !defined(CINTERFACE)
3588 struct IAMVfwCaptureDialogs : public IUnknown {
3589 public:
3590 virtual HRESULT WINAPI HasDialog(int iDialog) = 0;
3591 virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0;
3592 virtual HRESULT WINAPI SendDriverMessage(int iDialog,int uMsg,long dw1,long dw2) = 0;
3593 };
3594 #else
3595 typedef struct IAMVfwCaptureDialogsVtbl {
3596 BEGIN_INTERFACE
3597 HRESULT (WINAPI *QueryInterface)(IAMVfwCaptureDialogs *This,REFIID riid,void **ppvObject);
3598 ULONG (WINAPI *AddRef)(IAMVfwCaptureDialogs *This);
3599 ULONG (WINAPI *Release)(IAMVfwCaptureDialogs *This);
3600 HRESULT (WINAPI *HasDialog)(IAMVfwCaptureDialogs *This,int iDialog);
3601 HRESULT (WINAPI *ShowDialog)(IAMVfwCaptureDialogs *This,int iDialog,HWND hwnd);
3602 HRESULT (WINAPI *SendDriverMessage)(IAMVfwCaptureDialogs *This,int iDialog,int uMsg,long dw1,long dw2);
3603 END_INTERFACE
3604 } IAMVfwCaptureDialogsVtbl;
3605 struct IAMVfwCaptureDialogs {
3606 CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
3607 };
3608 #ifdef COBJMACROS
3609 #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3610 #define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
3611 #define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This)
3612 #define IAMVfwCaptureDialogs_HasDialog(This,iDialog) (This)->lpVtbl->HasDialog(This,iDialog)
3613 #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd)
3614 #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
3615 #endif
3616 #endif
3617 HRESULT WINAPI IAMVfwCaptureDialogs_HasDialog_Proxy(IAMVfwCaptureDialogs *This,int iDialog);
3618 void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3619 HRESULT WINAPI IAMVfwCaptureDialogs_ShowDialog_Proxy(IAMVfwCaptureDialogs *This,int iDialog,HWND hwnd);
3620 void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3621 HRESULT WINAPI IAMVfwCaptureDialogs_SendDriverMessage_Proxy(IAMVfwCaptureDialogs *This,int iDialog,int uMsg,long dw1,long dw2);
3622 void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3623 #endif
3624
3625 #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
3626 #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
3627 EXTERN_C const IID IID_IAMVfwCompressDialogs;
3628 #if defined(__cplusplus) && !defined(CINTERFACE)
3629 struct IAMVfwCompressDialogs : public IUnknown {
3630 public:
3631 virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0;
3632 virtual HRESULT WINAPI GetState(LPVOID pState,int *pcbState) = 0;
3633 virtual HRESULT WINAPI SetState(LPVOID pState,int cbState) = 0;
3634 virtual HRESULT WINAPI SendDriverMessage(int uMsg,long dw1,long dw2) = 0;
3635 };
3636 #else
3637 typedef struct IAMVfwCompressDialogsVtbl {
3638 BEGIN_INTERFACE
3639 HRESULT (WINAPI *QueryInterface)(IAMVfwCompressDialogs *This,REFIID riid,void **ppvObject);
3640 ULONG (WINAPI *AddRef)(IAMVfwCompressDialogs *This);
3641 ULONG (WINAPI *Release)(IAMVfwCompressDialogs *This);
3642 HRESULT (WINAPI *ShowDialog)(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
3643 HRESULT (WINAPI *GetState)(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
3644 HRESULT (WINAPI *SetState)(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
3645 HRESULT (WINAPI *SendDriverMessage)(IAMVfwCompressDialogs *This,int uMsg,long dw1,long dw2);
3646 END_INTERFACE
3647 } IAMVfwCompressDialogsVtbl;
3648 struct IAMVfwCompressDialogs {
3649 CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
3650 };
3651 #ifdef COBJMACROS
3652 #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3653 #define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
3654 #define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This)
3655 #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd)
3656 #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) (This)->lpVtbl->GetState(This,pState,pcbState)
3657 #define IAMVfwCompressDialogs_SetState(This,pState,cbState) (This)->lpVtbl->SetState(This,pState,cbState)
3658 #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,uMsg,dw1,dw2)
3659 #endif
3660 #endif
3661 HRESULT WINAPI IAMVfwCompressDialogs_ShowDialog_Proxy(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
3662 void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3663 HRESULT WINAPI IAMVfwCompressDialogs_GetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
3664 void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3665 HRESULT WINAPI IAMVfwCompressDialogs_SetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
3666 void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3667 HRESULT WINAPI IAMVfwCompressDialogs_SendDriverMessage_Proxy(IAMVfwCompressDialogs *This,int uMsg,long dw1,long dw2);
3668 void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3669 #endif
3670
3671 #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
3672 #define __IAMDroppedFrames_INTERFACE_DEFINED__
3673 EXTERN_C const IID IID_IAMDroppedFrames;
3674 #if defined(__cplusplus) && !defined(CINTERFACE)
3675 struct IAMDroppedFrames : public IUnknown {
3676 public:
3677 virtual HRESULT WINAPI GetNumDropped(long *plDropped) = 0;
3678 virtual HRESULT WINAPI GetNumNotDropped(long *plNotDropped) = 0;
3679 virtual HRESULT WINAPI GetDroppedInfo(long lSize,long *plArray,long *plNumCopied) = 0;
3680 virtual HRESULT WINAPI GetAverageFrameSize(long *plAverageSize) = 0;
3681 };
3682 #else
3683 typedef struct IAMDroppedFramesVtbl {
3684 BEGIN_INTERFACE
3685 HRESULT (WINAPI *QueryInterface)(IAMDroppedFrames *This,REFIID riid,void **ppvObject);
3686 ULONG (WINAPI *AddRef)(IAMDroppedFrames *This);
3687 ULONG (WINAPI *Release)(IAMDroppedFrames *This);
3688 HRESULT (WINAPI *GetNumDropped)(IAMDroppedFrames *This,long *plDropped);
3689 HRESULT (WINAPI *GetNumNotDropped)(IAMDroppedFrames *This,long *plNotDropped);
3690 HRESULT (WINAPI *GetDroppedInfo)(IAMDroppedFrames *This,long lSize,long *plArray,long *plNumCopied);
3691 HRESULT (WINAPI *GetAverageFrameSize)(IAMDroppedFrames *This,long *plAverageSize);
3692 END_INTERFACE
3693 } IAMDroppedFramesVtbl;
3694 struct IAMDroppedFrames {
3695 CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
3696 };
3697 #ifdef COBJMACROS
3698 #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3699 #define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This)
3700 #define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This)
3701 #define IAMDroppedFrames_GetNumDropped(This,plDropped) (This)->lpVtbl->GetNumDropped(This,plDropped)
3702 #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped) (This)->lpVtbl->GetNumNotDropped(This,plNotDropped)
3703 #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied) (This)->lpVtbl->GetDroppedInfo(This,lSize,plArray,plNumCopied)
3704 #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize) (This)->lpVtbl->GetAverageFrameSize(This,plAverageSize)
3705 #endif
3706 #endif
3707 HRESULT WINAPI IAMDroppedFrames_GetNumDropped_Proxy(IAMDroppedFrames *This,long *plDropped);
3708 void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3709 HRESULT WINAPI IAMDroppedFrames_GetNumNotDropped_Proxy(IAMDroppedFrames *This,long *plNotDropped);
3710 void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3711 HRESULT WINAPI IAMDroppedFrames_GetDroppedInfo_Proxy(IAMDroppedFrames *This,long lSize,long *plArray,long *plNumCopied);
3712 void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3713 HRESULT WINAPI IAMDroppedFrames_GetAverageFrameSize_Proxy(IAMDroppedFrames *This,long *plAverageSize);
3714 void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3715 #endif
3716
3717 #define AMF_AUTOMATICGAIN -1.0
3718
3719 extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
3720 extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
3721 #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
3722 #define __IAMAudioInputMixer_INTERFACE_DEFINED__
3723 EXTERN_C const IID IID_IAMAudioInputMixer;
3724 #if defined(__cplusplus) && !defined(CINTERFACE)
3725 struct IAMAudioInputMixer : public IUnknown {
3726 public:
3727 virtual HRESULT WINAPI put_Enable(WINBOOL fEnable) = 0;
3728 virtual HRESULT WINAPI get_Enable(WINBOOL *pfEnable) = 0;
3729 virtual HRESULT WINAPI put_Mono(WINBOOL fMono) = 0;
3730 virtual HRESULT WINAPI get_Mono(WINBOOL *pfMono) = 0;
3731 virtual HRESULT WINAPI put_MixLevel(double Level) = 0;
3732 virtual HRESULT WINAPI get_MixLevel(double *pLevel) = 0;
3733 virtual HRESULT WINAPI put_Pan(double Pan) = 0;
3734 virtual HRESULT WINAPI get_Pan(double *pPan) = 0;
3735 virtual HRESULT WINAPI put_Loudness(WINBOOL fLoudness) = 0;
3736 virtual HRESULT WINAPI get_Loudness(WINBOOL *pfLoudness) = 0;
3737 virtual HRESULT WINAPI put_Treble(double Treble) = 0;
3738 virtual HRESULT WINAPI get_Treble(double *pTreble) = 0;
3739 virtual HRESULT WINAPI get_TrebleRange(double *pRange) = 0;
3740 virtual HRESULT WINAPI put_Bass(double Bass) = 0;
3741 virtual HRESULT WINAPI get_Bass(double *pBass) = 0;
3742 virtual HRESULT WINAPI get_BassRange(double *pRange) = 0;
3743 };
3744 #else
3745 typedef struct IAMAudioInputMixerVtbl {
3746 BEGIN_INTERFACE
3747 HRESULT (WINAPI *QueryInterface)(IAMAudioInputMixer *This,REFIID riid,void **ppvObject);
3748 ULONG (WINAPI *AddRef)(IAMAudioInputMixer *This);
3749 ULONG (WINAPI *Release)(IAMAudioInputMixer *This);
3750 HRESULT (WINAPI *put_Enable)(IAMAudioInputMixer *This,WINBOOL fEnable);
3751 HRESULT (WINAPI *get_Enable)(IAMAudioInputMixer *This,WINBOOL *pfEnable);
3752 HRESULT (WINAPI *put_Mono)(IAMAudioInputMixer *This,WINBOOL fMono);
3753 HRESULT (WINAPI *get_Mono)(IAMAudioInputMixer *This,WINBOOL *pfMono);
3754 HRESULT (WINAPI *put_MixLevel)(IAMAudioInputMixer *This,double Level);
3755 HRESULT (WINAPI *get_MixLevel)(IAMAudioInputMixer *This,double *pLevel);
3756 HRESULT (WINAPI *put_Pan)(IAMAudioInputMixer *This,double Pan);
3757 HRESULT (WINAPI *get_Pan)(IAMAudioInputMixer *This,double *pPan);
3758 HRESULT (WINAPI *put_Loudness)(IAMAudioInputMixer *This,WINBOOL fLoudness);
3759 HRESULT (WINAPI *get_Loudness)(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
3760 HRESULT (WINAPI *put_Treble)(IAMAudioInputMixer *This,double Treble);
3761 HRESULT (WINAPI *get_Treble)(IAMAudioInputMixer *This,double *pTreble);
3762 HRESULT (WINAPI *get_TrebleRange)(IAMAudioInputMixer *This,double *pRange);
3763 HRESULT (WINAPI *put_Bass)(IAMAudioInputMixer *This,double Bass);
3764 HRESULT (WINAPI *get_Bass)(IAMAudioInputMixer *This,double *pBass);
3765 HRESULT (WINAPI *get_BassRange)(IAMAudioInputMixer *This,double *pRange);
3766 END_INTERFACE
3767 } IAMAudioInputMixerVtbl;
3768 struct IAMAudioInputMixer {
3769 CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
3770 };
3771 #ifdef COBJMACROS
3772 #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3773 #define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
3774 #define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This)
3775 #define IAMAudioInputMixer_put_Enable(This,fEnable) (This)->lpVtbl->put_Enable(This,fEnable)
3776 #define IAMAudioInputMixer_get_Enable(This,pfEnable) (This)->lpVtbl->get_Enable(This,pfEnable)
3777 #define IAMAudioInputMixer_put_Mono(This,fMono) (This)->lpVtbl->put_Mono(This,fMono)
3778 #define IAMAudioInputMixer_get_Mono(This,pfMono) (This)->lpVtbl->get_Mono(This,pfMono)
3779 #define IAMAudioInputMixer_put_MixLevel(This,Level) (This)->lpVtbl->put_MixLevel(This,Level)
3780 #define IAMAudioInputMixer_get_MixLevel(This,pLevel) (This)->lpVtbl->get_MixLevel(This,pLevel)
3781 #define IAMAudioInputMixer_put_Pan(This,Pan) (This)->lpVtbl->put_Pan(This,Pan)
3782 #define IAMAudioInputMixer_get_Pan(This,pPan) (This)->lpVtbl->get_Pan(This,pPan)
3783 #define IAMAudioInputMixer_put_Loudness(This,fLoudness) (This)->lpVtbl->put_Loudness(This,fLoudness)
3784 #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) (This)->lpVtbl->get_Loudness(This,pfLoudness)
3785 #define IAMAudioInputMixer_put_Treble(This,Treble) (This)->lpVtbl->put_Treble(This,Treble)
3786 #define IAMAudioInputMixer_get_Treble(This,pTreble) (This)->lpVtbl->get_Treble(This,pTreble)
3787 #define IAMAudioInputMixer_get_TrebleRange(This,pRange) (This)->lpVtbl->get_TrebleRange(This,pRange)
3788 #define IAMAudioInputMixer_put_Bass(This,Bass) (This)->lpVtbl->put_Bass(This,Bass)
3789 #define IAMAudioInputMixer_get_Bass(This,pBass) (This)->lpVtbl->get_Bass(This,pBass)
3790 #define IAMAudioInputMixer_get_BassRange(This,pRange) (This)->lpVtbl->get_BassRange(This,pRange)
3791 #endif
3792 #endif
3793 HRESULT WINAPI IAMAudioInputMixer_put_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL fEnable);
3794 void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3795 HRESULT WINAPI IAMAudioInputMixer_get_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL *pfEnable);
3796 void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3797 HRESULT WINAPI IAMAudioInputMixer_put_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL fMono);
3798 void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3799 HRESULT WINAPI IAMAudioInputMixer_get_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL *pfMono);
3800 void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3801 HRESULT WINAPI IAMAudioInputMixer_put_MixLevel_Proxy(IAMAudioInputMixer *This,double Level);
3802 void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3803 HRESULT WINAPI IAMAudioInputMixer_get_MixLevel_Proxy(IAMAudioInputMixer *This,double *pLevel);
3804 void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3805 HRESULT WINAPI IAMAudioInputMixer_put_Pan_Proxy(IAMAudioInputMixer *This,double Pan);
3806 void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3807 HRESULT WINAPI IAMAudioInputMixer_get_Pan_Proxy(IAMAudioInputMixer *This,double *pPan);
3808 void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3809 HRESULT WINAPI IAMAudioInputMixer_put_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL fLoudness);
3810 void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3811 HRESULT WINAPI IAMAudioInputMixer_get_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
3812 void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3813 HRESULT WINAPI IAMAudioInputMixer_put_Treble_Proxy(IAMAudioInputMixer *This,double Treble);
3814 void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3815 HRESULT WINAPI IAMAudioInputMixer_get_Treble_Proxy(IAMAudioInputMixer *This,double *pTreble);
3816 void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3817 HRESULT WINAPI IAMAudioInputMixer_get_TrebleRange_Proxy(IAMAudioInputMixer *This,double *pRange);
3818 void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3819 HRESULT WINAPI IAMAudioInputMixer_put_Bass_Proxy(IAMAudioInputMixer *This,double Bass);
3820 void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3821 HRESULT WINAPI IAMAudioInputMixer_get_Bass_Proxy(IAMAudioInputMixer *This,double *pBass);
3822 void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3823 HRESULT WINAPI IAMAudioInputMixer_get_BassRange_Proxy(IAMAudioInputMixer *This,double *pRange);
3824 void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3825 #endif
3826
3827 #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
3828 #define __IAMBufferNegotiation_INTERFACE_DEFINED__
3829 EXTERN_C const IID IID_IAMBufferNegotiation;
3830 #if defined(__cplusplus) && !defined(CINTERFACE)
3831 struct IAMBufferNegotiation : public IUnknown {
3832 public:
3833 virtual HRESULT WINAPI SuggestAllocatorProperties(const ALLOCATOR_PROPERTIES *pprop) = 0;
3834 virtual HRESULT WINAPI GetAllocatorProperties(ALLOCATOR_PROPERTIES *pprop) = 0;
3835 };
3836 #else
3837 typedef struct IAMBufferNegotiationVtbl {
3838 BEGIN_INTERFACE
3839 HRESULT (WINAPI *QueryInterface)(IAMBufferNegotiation *This,REFIID riid,void **ppvObject);
3840 ULONG (WINAPI *AddRef)(IAMBufferNegotiation *This);
3841 ULONG (WINAPI *Release)(IAMBufferNegotiation *This);
3842 HRESULT (WINAPI *SuggestAllocatorProperties)(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop);
3843 HRESULT (WINAPI *GetAllocatorProperties)(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop);
3844 END_INTERFACE
3845 } IAMBufferNegotiationVtbl;
3846 struct IAMBufferNegotiation {
3847 CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
3848 };
3849 #ifdef COBJMACROS
3850 #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3851 #define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This)
3852 #define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This)
3853 #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop) (This)->lpVtbl->SuggestAllocatorProperties(This,pprop)
3854 #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop) (This)->lpVtbl->GetAllocatorProperties(This,pprop)
3855 #endif
3856 #endif
3857 HRESULT WINAPI IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop);
3858 void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3859 HRESULT WINAPI IAMBufferNegotiation_GetAllocatorProperties_Proxy(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop);
3860 void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3861 #endif
3862
3863 typedef enum tagAnalogVideoStandard {
3864 AnalogVideo_None = 0,AnalogVideo_NTSC_M = 0x1,AnalogVideo_NTSC_M_J = 0x2,AnalogVideo_NTSC_433 = 0x4,AnalogVideo_PAL_B = 0x10,
3865 AnalogVideo_PAL_D = 0x20,AnalogVideo_PAL_G = 0x40,AnalogVideo_PAL_H = 0x80,AnalogVideo_PAL_I = 0x100,AnalogVideo_PAL_M = 0x200,
3866 AnalogVideo_PAL_N = 0x400,AnalogVideo_PAL_60 = 0x800,AnalogVideo_SECAM_B = 0x1000,AnalogVideo_SECAM_D = 0x2000,AnalogVideo_SECAM_G = 0x4000,
3867 AnalogVideo_SECAM_H = 0x8000,AnalogVideo_SECAM_K = 0x10000,AnalogVideo_SECAM_K1 = 0x20000,AnalogVideo_SECAM_L = 0x40000,AnalogVideo_SECAM_L1 = 0x80000,
3868 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
3869 } AnalogVideoStandard;
3870
3871 typedef enum tagTunerInputType {
3872 TunerInputCable = 0,TunerInputAntenna = TunerInputCable + 1
3873 } TunerInputType;
3874
3875 #define AnalogVideo_NTSC_Mask 0x00000007
3876 #define AnalogVideo_PAL_Mask 0x00100FF0
3877 #define AnalogVideo_SECAM_Mask 0x000FF000
3878
3879 typedef enum __MIDL___MIDL_itf_strmif_0173_0001 {
3880 VideoCopyProtectionMacrovisionBasic = 0,VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
3881 } VideoCopyProtectionType;
3882
3883 typedef enum tagPhysicalConnectorType {
3884 PhysConn_Video_Tuner = 1,
3885 PhysConn_Video_Composite,PhysConn_Video_SVideo,PhysConn_Video_RGB,
3886 PhysConn_Video_YRYBY,PhysConn_Video_SerialDigital,PhysConn_Video_ParallelDigital,
3887 PhysConn_Video_SCSI,PhysConn_Video_AUX,PhysConn_Video_1394,PhysConn_Video_USB,
3888 PhysConn_Video_VideoDecoder,PhysConn_Video_VideoEncoder,PhysConn_Video_SCART,PhysConn_Video_Black,
3889 PhysConn_Audio_Tuner = 0x1000,PhysConn_Audio_Line = 0x1001,PhysConn_Audio_Mic = 0x1002,
3890 PhysConn_Audio_AESDigital = 0x1003,PhysConn_Audio_SPDIFDigital = 0x1004,
3891 PhysConn_Audio_SCSI = 0x1005,PhysConn_Audio_AUX = 0x1006,PhysConn_Audio_1394 = 0x1007,
3892 PhysConn_Audio_USB = 0x1008,PhysConn_Audio_AudioDecoder = 0x1009
3893 } PhysicalConnectorType;
3894
3895 extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;
3896 extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;
3897 #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
3898 #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
3899 EXTERN_C const IID IID_IAMAnalogVideoDecoder;
3900 #if defined(__cplusplus) && !defined(CINTERFACE)
3901 struct IAMAnalogVideoDecoder : public IUnknown {
3902 public:
3903 virtual HRESULT WINAPI get_AvailableTVFormats(long *lAnalogVideoStandard) = 0;
3904 virtual HRESULT WINAPI put_TVFormat(long lAnalogVideoStandard) = 0;
3905 virtual HRESULT WINAPI get_TVFormat(long *plAnalogVideoStandard) = 0;
3906 virtual HRESULT WINAPI get_HorizontalLocked(long *plLocked) = 0;
3907 virtual HRESULT WINAPI put_VCRHorizontalLocking(long lVCRHorizontalLocking) = 0;
3908 virtual HRESULT WINAPI get_VCRHorizontalLocking(long *plVCRHorizontalLocking) = 0;
3909 virtual HRESULT WINAPI get_NumberOfLines(long *plNumberOfLines) = 0;
3910 virtual HRESULT WINAPI put_OutputEnable(long lOutputEnable) = 0;
3911 virtual HRESULT WINAPI get_OutputEnable(long *plOutputEnable) = 0;
3912 };
3913 #else
3914 typedef struct IAMAnalogVideoDecoderVtbl {
3915 BEGIN_INTERFACE
3916 HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoDecoder *This,REFIID riid,void **ppvObject);
3917 ULONG (WINAPI *AddRef)(IAMAnalogVideoDecoder *This);
3918 ULONG (WINAPI *Release)(IAMAnalogVideoDecoder *This);
3919 HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoDecoder *This,long *lAnalogVideoStandard);
3920 HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoDecoder *This,long lAnalogVideoStandard);
3921 HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoDecoder *This,long *plAnalogVideoStandard);
3922 HRESULT (WINAPI *get_HorizontalLocked)(IAMAnalogVideoDecoder *This,long *plLocked);
3923 HRESULT (WINAPI *put_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,long lVCRHorizontalLocking);
3924 HRESULT (WINAPI *get_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,long *plVCRHorizontalLocking);
3925 HRESULT (WINAPI *get_NumberOfLines)(IAMAnalogVideoDecoder *This,long *plNumberOfLines);
3926 HRESULT (WINAPI *put_OutputEnable)(IAMAnalogVideoDecoder *This,long lOutputEnable);
3927 HRESULT (WINAPI *get_OutputEnable)(IAMAnalogVideoDecoder *This,long *plOutputEnable);
3928 END_INTERFACE
3929 } IAMAnalogVideoDecoderVtbl;
3930 struct IAMAnalogVideoDecoder {
3931 CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
3932 };
3933 #ifdef COBJMACROS
3934 #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3935 #define IAMAnalogVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
3936 #define IAMAnalogVideoDecoder_Release(This) (This)->lpVtbl->Release(This)
3937 #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
3938 #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
3939 #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
3940 #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) (This)->lpVtbl->get_HorizontalLocked(This,plLocked)
3941 #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) (This)->lpVtbl->put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
3942 #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) (This)->lpVtbl->get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
3943 #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) (This)->lpVtbl->get_NumberOfLines(This,plNumberOfLines)
3944 #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) (This)->lpVtbl->put_OutputEnable(This,lOutputEnable)
3945 #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) (This)->lpVtbl->get_OutputEnable(This,plOutputEnable)
3946 #endif
3947 #endif
3948 HRESULT WINAPI IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoDecoder *This,long *lAnalogVideoStandard);
3949 void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3950 HRESULT WINAPI IAMAnalogVideoDecoder_put_TVFormat_Proxy(IAMAnalogVideoDecoder *This,long lAnalogVideoStandard);
3951 void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3952 HRESULT WINAPI IAMAnalogVideoDecoder_get_TVFormat_Proxy(IAMAnalogVideoDecoder *This,long *plAnalogVideoStandard);
3953 void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3954 HRESULT WINAPI IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(IAMAnalogVideoDecoder *This,long *plLocked);
3955 void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3956 HRESULT WINAPI IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,long lVCRHorizontalLocking);
3957 void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3958 HRESULT WINAPI IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,long *plVCRHorizontalLocking);
3959 void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3960 HRESULT WINAPI IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(IAMAnalogVideoDecoder *This,long *plNumberOfLines);
3961 void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3962 HRESULT WINAPI IAMAnalogVideoDecoder_put_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,long lOutputEnable);
3963 void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3964 HRESULT WINAPI IAMAnalogVideoDecoder_get_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,long *plOutputEnable);
3965 void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
3966 #endif
3967
3968 typedef enum tagVideoProcAmpProperty {
3969 VideoProcAmp_Brightness = 0,
3970 VideoProcAmp_Contrast,VideoProcAmp_Hue,VideoProcAmp_Saturation,VideoProcAmp_Sharpness,
3971 VideoProcAmp_Gamma,VideoProcAmp_ColorEnable,VideoProcAmp_WhiteBalance,
3972 VideoProcAmp_BacklightCompensation,VideoProcAmp_Gain
3973 } VideoProcAmpProperty;
3974
3975 typedef enum tagVideoProcAmpFlags {
3976 VideoProcAmp_Flags_Auto = 0x1,VideoProcAmp_Flags_Manual = 0x2
3977 } VideoProcAmpFlags;
3978
3979 extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_c_ifspec;
3980 extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_s_ifspec;
3981 #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
3982 #define __IAMVideoProcAmp_INTERFACE_DEFINED__
3983 EXTERN_C const IID IID_IAMVideoProcAmp;
3984 #if defined(__cplusplus) && !defined(CINTERFACE)
3985 struct IAMVideoProcAmp : public IUnknown {
3986 public:
3987 virtual HRESULT WINAPI GetRange(long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags) = 0;
3988 virtual HRESULT WINAPI Set(long Property,long lValue,long Flags) = 0;
3989 virtual HRESULT WINAPI Get(long Property,long *lValue,long *Flags) = 0;
3990 };
3991 #else
3992 typedef struct IAMVideoProcAmpVtbl {
3993 BEGIN_INTERFACE
3994 HRESULT (WINAPI *QueryInterface)(IAMVideoProcAmp *This,REFIID riid,void **ppvObject);
3995 ULONG (WINAPI *AddRef)(IAMVideoProcAmp *This);
3996 ULONG (WINAPI *Release)(IAMVideoProcAmp *This);
3997 HRESULT (WINAPI *GetRange)(IAMVideoProcAmp *This,long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags);
3998 HRESULT (WINAPI *Set)(IAMVideoProcAmp *This,long Property,long lValue,long Flags);
3999 HRESULT (WINAPI *Get)(IAMVideoProcAmp *This,long Property,long *lValue,long *Flags);
4000 END_INTERFACE
4001 } IAMVideoProcAmpVtbl;
4002 struct IAMVideoProcAmp {
4003 CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
4004 };
4005 #ifdef COBJMACROS
4006 #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4007 #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This)
4008 #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This)
4009 #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
4010 #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
4011 #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
4012 #endif
4013 #endif
4014 HRESULT WINAPI IAMVideoProcAmp_GetRange_Proxy(IAMVideoProcAmp *This,long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags);
4015 void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4016 HRESULT WINAPI IAMVideoProcAmp_Set_Proxy(IAMVideoProcAmp *This,long Property,long lValue,long Flags);
4017 void __RPC_STUB IAMVideoProcAmp_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4018 HRESULT WINAPI IAMVideoProcAmp_Get_Proxy(IAMVideoProcAmp *This,long Property,long *lValue,long *Flags);
4019 void __RPC_STUB IAMVideoProcAmp_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4020 #endif
4021
4022 typedef enum tagCameraControlProperty {
4023 CameraControl_Pan = 0,
4024 CameraControl_Tilt,CameraControl_Roll,CameraControl_Zoom,CameraControl_Exposure,
4025 CameraControl_Iris,CameraControl_Focus
4026 } CameraControlProperty;
4027
4028 typedef enum tagCameraControlFlags {
4029 CameraControl_Flags_Auto = 0x1,CameraControl_Flags_Manual = 0x2
4030 } CameraControlFlags;
4031
4032 extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec;
4033 extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec;
4034 #ifndef __IAMCameraControl_INTERFACE_DEFINED__
4035 #define __IAMCameraControl_INTERFACE_DEFINED__
4036 EXTERN_C const IID IID_IAMCameraControl;
4037 #if defined(__cplusplus) && !defined(CINTERFACE)
4038 struct IAMCameraControl : public IUnknown {
4039 public:
4040 virtual HRESULT WINAPI GetRange(long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags) = 0;
4041 virtual HRESULT WINAPI Set(long Property,long lValue,long Flags) = 0;
4042 virtual HRESULT WINAPI Get(long Property,long *lValue,long *Flags) = 0;
4043 };
4044 #else
4045 typedef struct IAMCameraControlVtbl {
4046 BEGIN_INTERFACE
4047 HRESULT (WINAPI *QueryInterface)(IAMCameraControl *This,REFIID riid,void **ppvObject);
4048 ULONG (WINAPI *AddRef)(IAMCameraControl *This);
4049 ULONG (WINAPI *Release)(IAMCameraControl *This);
4050 HRESULT (WINAPI *GetRange)(IAMCameraControl *This,long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags);
4051 HRESULT (WINAPI *Set)(IAMCameraControl *This,long Property,long lValue,long Flags);
4052 HRESULT (WINAPI *Get)(IAMCameraControl *This,long Property,long *lValue,long *Flags);
4053 END_INTERFACE
4054 } IAMCameraControlVtbl;
4055 struct IAMCameraControl {
4056 CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
4057 };
4058 #ifdef COBJMACROS
4059 #define IAMCameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4060 #define IAMCameraControl_AddRef(This) (This)->lpVtbl->AddRef(This)
4061 #define IAMCameraControl_Release(This) (This)->lpVtbl->Release(This)
4062 #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
4063 #define IAMCameraControl_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
4064 #define IAMCameraControl_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
4065 #endif
4066 #endif
4067 HRESULT WINAPI IAMCameraControl_GetRange_Proxy(IAMCameraControl *This,long Property,long *pMin,long *pMax,long *pSteppingDelta,long *pDefault,long *pCapsFlags);
4068 void __RPC_STUB IAMCameraControl_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4069 HRESULT WINAPI IAMCameraControl_Set_Proxy(IAMCameraControl *This,long Property,long lValue,long Flags);
4070 void __RPC_STUB IAMCameraControl_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4071 HRESULT WINAPI IAMCameraControl_Get_Proxy(IAMCameraControl *This,long Property,long *lValue,long *Flags);
4072 void __RPC_STUB IAMCameraControl_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4073 #endif
4074
4075 typedef enum tagVideoControlFlags {
4076 VideoControlFlag_FlipHorizontal = 0x1,VideoControlFlag_FlipVertical = 0x2,VideoControlFlag_ExternalTriggerEnable = 0x4,VideoControlFlag_Trigger = 0x8
4077 } VideoControlFlags;
4078
4079 extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec;
4080 extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec;
4081 #ifndef __IAMVideoControl_INTERFACE_DEFINED__
4082 #define __IAMVideoControl_INTERFACE_DEFINED__
4083 EXTERN_C const IID IID_IAMVideoControl;
4084 #if defined(__cplusplus) && !defined(CINTERFACE)
4085 struct IAMVideoControl : public IUnknown {
4086 public:
4087 virtual HRESULT WINAPI GetCaps(IPin *pPin,long *pCapsFlags) = 0;
4088 virtual HRESULT WINAPI SetMode(IPin *pPin,long Mode) = 0;
4089 virtual HRESULT WINAPI GetMode(IPin *pPin,long *Mode) = 0;
4090 virtual HRESULT WINAPI GetCurrentActualFrameRate(IPin *pPin,LONGLONG *ActualFrameRate) = 0;
4091 virtual HRESULT WINAPI GetMaxAvailableFrameRate(IPin *pPin,long iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate) = 0;
4092 virtual HRESULT WINAPI GetFrameRateList(IPin *pPin,long iIndex,SIZE Dimensions,long *ListSize,LONGLONG **FrameRates) = 0;
4093 };
4094 #else
4095 typedef struct IAMVideoControlVtbl {
4096 BEGIN_INTERFACE
4097 HRESULT (WINAPI *QueryInterface)(IAMVideoControl *This,REFIID riid,void **ppvObject);
4098 ULONG (WINAPI *AddRef)(IAMVideoControl *This);
4099 ULONG (WINAPI *Release)(IAMVideoControl *This);
4100 HRESULT (WINAPI *GetCaps)(IAMVideoControl *This,IPin *pPin,long *pCapsFlags);
4101 HRESULT (WINAPI *SetMode)(IAMVideoControl *This,IPin *pPin,long Mode);
4102 HRESULT (WINAPI *GetMode)(IAMVideoControl *This,IPin *pPin,long *Mode);
4103 HRESULT (WINAPI *GetCurrentActualFrameRate)(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate);
4104 HRESULT (WINAPI *GetMaxAvailableFrameRate)(IAMVideoControl *This,IPin *pPin,long iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate);
4105 HRESULT (WINAPI *GetFrameRateList)(IAMVideoControl *This,IPin *pPin,long iIndex,SIZE Dimensions,long *ListSize,LONGLONG **FrameRates);
4106 END_INTERFACE
4107 } IAMVideoControlVtbl;
4108 struct IAMVideoControl {
4109 CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
4110 };
4111 #ifdef COBJMACROS
4112 #define IAMVideoControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4113 #define IAMVideoControl_AddRef(This) (This)->lpVtbl->AddRef(This)
4114 #define IAMVideoControl_Release(This) (This)->lpVtbl->Release(This)
4115 #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags) (This)->lpVtbl->GetCaps(This,pPin,pCapsFlags)
4116 #define IAMVideoControl_SetMode(This,pPin,Mode) (This)->lpVtbl->SetMode(This,pPin,Mode)
4117 #define IAMVideoControl_GetMode(This,pPin,Mode) (This)->lpVtbl->GetMode(This,pPin,Mode)
4118 #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate) (This)->lpVtbl->GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
4119 #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) (This)->lpVtbl->GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
4120 #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) (This)->lpVtbl->GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
4121 #endif
4122 #endif
4123 HRESULT WINAPI IAMVideoControl_GetCaps_Proxy(IAMVideoControl *This,IPin *pPin,long *pCapsFlags);
4124 void __RPC_STUB IAMVideoControl_GetCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4125 HRESULT WINAPI IAMVideoControl_SetMode_Proxy(IAMVideoControl *This,IPin *pPin,long Mode);
4126 void __RPC_STUB IAMVideoControl_SetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4127 HRESULT WINAPI IAMVideoControl_GetMode_Proxy(IAMVideoControl *This,IPin *pPin,long *Mode);
4128 void __RPC_STUB IAMVideoControl_GetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4129 HRESULT WINAPI IAMVideoControl_GetCurrentActualFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate);
4130 void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4131 HRESULT WINAPI IAMVideoControl_GetMaxAvailableFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,long iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate);
4132 void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4133 HRESULT WINAPI IAMVideoControl_GetFrameRateList_Proxy(IAMVideoControl *This,IPin *pPin,long iIndex,SIZE Dimensions,long *ListSize,LONGLONG **FrameRates);
4134 void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4135 #endif
4136
4137 #ifndef __IAMCrossbar_INTERFACE_DEFINED__
4138 #define __IAMCrossbar_INTERFACE_DEFINED__
4139 EXTERN_C const IID IID_IAMCrossbar;
4140 #if defined(__cplusplus) && !defined(CINTERFACE)
4141 struct IAMCrossbar : public IUnknown {
4142 public:
4143 virtual HRESULT WINAPI get_PinCounts(long *OutputPinCount,long *InputPinCount) = 0;
4144 virtual HRESULT WINAPI CanRoute(long OutputPinIndex,long InputPinIndex) = 0;
4145 virtual HRESULT WINAPI Route(long OutputPinIndex,long InputPinIndex) = 0;
4146 virtual HRESULT WINAPI get_IsRoutedTo(long OutputPinIndex,long *InputPinIndex) = 0;
4147 virtual HRESULT WINAPI get_CrossbarPinInfo(WINBOOL IsInputPin,long PinIndex,long *PinIndexRelated,long *PhysicalType) = 0;
4148 };
4149 #else
4150 typedef struct IAMCrossbarVtbl {
4151 BEGIN_INTERFACE
4152 HRESULT (WINAPI *QueryInterface)(IAMCrossbar *This,REFIID riid,void **ppvObject);
4153 ULONG (WINAPI *AddRef)(IAMCrossbar *This);
4154 ULONG (WINAPI *Release)(IAMCrossbar *This);
4155 HRESULT (WINAPI *get_PinCounts)(IAMCrossbar *This,long *OutputPinCount,long *InputPinCount);
4156 HRESULT (WINAPI *CanRoute)(IAMCrossbar *This,long OutputPinIndex,long InputPinIndex);
4157 HRESULT (WINAPI *Route)(IAMCrossbar *This,long OutputPinIndex,long InputPinIndex);
4158 HRESULT (WINAPI *get_IsRoutedTo)(IAMCrossbar *This,long OutputPinIndex,long *InputPinIndex);
4159 HRESULT (WINAPI *get_CrossbarPinInfo)(IAMCrossbar *This,WINBOOL IsInputPin,long PinIndex,long *PinIndexRelated,long *PhysicalType);
4160 END_INTERFACE
4161 } IAMCrossbarVtbl;
4162 struct IAMCrossbar {
4163 CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
4164 };
4165 #ifdef COBJMACROS
4166 #define IAMCrossbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4167 #define IAMCrossbar_AddRef(This) (This)->lpVtbl->AddRef(This)
4168 #define IAMCrossbar_Release(This) (This)->lpVtbl->Release(This)
4169 #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount) (This)->lpVtbl->get_PinCounts(This,OutputPinCount,InputPinCount)
4170 #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->CanRoute(This,OutputPinIndex,InputPinIndex)
4171 #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->Route(This,OutputPinIndex,InputPinIndex)
4172 #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
4173 #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) (This)->lpVtbl->get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
4174 #endif
4175 #endif
4176 HRESULT WINAPI IAMCrossbar_get_PinCounts_Proxy(IAMCrossbar *This,long *OutputPinCount,long *InputPinCount);
4177 void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4178 HRESULT WINAPI IAMCrossbar_CanRoute_Proxy(IAMCrossbar *This,long OutputPinIndex,long InputPinIndex);
4179 void __RPC_STUB IAMCrossbar_CanRoute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4180 HRESULT WINAPI IAMCrossbar_Route_Proxy(IAMCrossbar *This,long OutputPinIndex,long InputPinIndex);
4181 void __RPC_STUB IAMCrossbar_Route_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4182 HRESULT WINAPI IAMCrossbar_get_IsRoutedTo_Proxy(IAMCrossbar *This,long OutputPinIndex,long *InputPinIndex);
4183 void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4184 HRESULT WINAPI IAMCrossbar_get_CrossbarPinInfo_Proxy(IAMCrossbar *This,WINBOOL IsInputPin,long PinIndex,long *PinIndexRelated,long *PhysicalType);
4185 void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4186 #endif
4187
4188 typedef enum tagAMTunerSubChannel {
4189 AMTUNER_SUBCHAN_NO_TUNE = -2,AMTUNER_SUBCHAN_DEFAULT = -1
4190 } AMTunerSubChannel;
4191
4192 typedef enum tagAMTunerSignalStrength {
4193 AMTUNER_HASNOSIGNALSTRENGTH = -1,AMTUNER_NOSIGNAL = 0,AMTUNER_SIGNALPRESENT = 1
4194 } AMTunerSignalStrength;
4195
4196 typedef enum tagAMTunerModeType {
4197 AMTUNER_MODE_DEFAULT = 0,AMTUNER_MODE_TV = 0x1,AMTUNER_MODE_FM_RADIO = 0x2,AMTUNER_MODE_AM_RADIO = 0x4,AMTUNER_MODE_DSS = 0x8
4198 } AMTunerModeType;
4199
4200 typedef enum tagAMTunerEventType {
4201 AMTUNER_EVENT_CHANGED = 0x1
4202 } AMTunerEventType;
4203
4204 extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
4205 extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
4206 #ifndef __IAMTuner_INTERFACE_DEFINED__
4207 #define __IAMTuner_INTERFACE_DEFINED__
4208 EXTERN_C const IID IID_IAMTuner;
4209 #if defined(__cplusplus) && !defined(CINTERFACE)
4210 struct IAMTuner : public IUnknown {
4211 public:
4212 virtual HRESULT WINAPI put_Channel(long lChannel,long lVideoSubChannel,long lAudioSubChannel) = 0;
4213 virtual HRESULT WINAPI get_Channel(long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel) = 0;
4214 virtual HRESULT WINAPI ChannelMinMax(long *lChannelMin,long *lChannelMax) = 0;
4215 virtual HRESULT WINAPI put_CountryCode(long lCountryCode) = 0;
4216 virtual HRESULT WINAPI get_CountryCode(long *plCountryCode) = 0;
4217 virtual HRESULT WINAPI put_TuningSpace(long lTuningSpace) = 0;
4218 virtual HRESULT WINAPI get_TuningSpace(long *plTuningSpace) = 0;
4219 virtual HRESULT WINAPI Logon(HANDLE hCurrentUser) = 0;
4220 virtual HRESULT WINAPI Logout(void) = 0;
4221 virtual HRESULT WINAPI SignalPresent(long *plSignalStrength) = 0;
4222 virtual HRESULT WINAPI put_Mode(AMTunerModeType lMode) = 0;
4223 virtual HRESULT WINAPI get_Mode(AMTunerModeType *plMode) = 0;
4224 virtual HRESULT WINAPI GetAvailableModes(long *plModes) = 0;
4225 virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,long lEvents) = 0;
4226 virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
4227 };
4228 #else
4229 typedef struct IAMTunerVtbl {
4230 BEGIN_INTERFACE
4231 HRESULT (WINAPI *QueryInterface)(IAMTuner *This,REFIID riid,void **ppvObject);
4232 ULONG (WINAPI *AddRef)(IAMTuner *This);
4233 ULONG (WINAPI *Release)(IAMTuner *This);
4234 HRESULT (WINAPI *put_Channel)(IAMTuner *This,long lChannel,long lVideoSubChannel,long lAudioSubChannel);
4235 HRESULT (WINAPI *get_Channel)(IAMTuner *This,long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel);
4236 HRESULT (WINAPI *ChannelMinMax)(IAMTuner *This,long *lChannelMin,long *lChannelMax);
4237 HRESULT (WINAPI *put_CountryCode)(IAMTuner *This,long lCountryCode);
4238 HRESULT (WINAPI *get_CountryCode)(IAMTuner *This,long *plCountryCode);
4239 HRESULT (WINAPI *put_TuningSpace)(IAMTuner *This,long lTuningSpace);
4240 HRESULT (WINAPI *get_TuningSpace)(IAMTuner *This,long *plTuningSpace);
4241 HRESULT (WINAPI *Logon)(IAMTuner *This,HANDLE hCurrentUser);
4242 HRESULT (WINAPI *Logout)(IAMTuner *This);
4243 HRESULT (WINAPI *SignalPresent)(IAMTuner *This,long *plSignalStrength);
4244 HRESULT (WINAPI *put_Mode)(IAMTuner *This,AMTunerModeType lMode);
4245 HRESULT (WINAPI *get_Mode)(IAMTuner *This,AMTunerModeType *plMode);
4246 HRESULT (WINAPI *GetAvailableModes)(IAMTuner *This,long *plModes);
4247 HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify,long lEvents);
4248 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify);
4249 END_INTERFACE
4250 } IAMTunerVtbl;
4251 struct IAMTuner {
4252 CONST_VTBL struct IAMTunerVtbl *lpVtbl;
4253 };
4254 #ifdef COBJMACROS
4255 #define IAMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4256 #define IAMTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
4257 #define IAMTuner_Release(This) (This)->lpVtbl->Release(This)
4258 #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
4259 #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
4260 #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
4261 #define IAMTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
4262 #define IAMTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
4263 #define IAMTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
4264 #define IAMTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
4265 #define IAMTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
4266 #define IAMTuner_Logout(This) (This)->lpVtbl->Logout(This)
4267 #define IAMTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
4268 #define IAMTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
4269 #define IAMTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
4270 #define IAMTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
4271 #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
4272 #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
4273 #endif
4274 #endif
4275 HRESULT WINAPI IAMTuner_put_Channel_Proxy(IAMTuner *This,long lChannel,long lVideoSubChannel,long lAudioSubChannel);
4276 void __RPC_STUB IAMTuner_put_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4277 HRESULT WINAPI IAMTuner_get_Channel_Proxy(IAMTuner *This,long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel);
4278 void __RPC_STUB IAMTuner_get_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4279 HRESULT WINAPI IAMTuner_ChannelMinMax_Proxy(IAMTuner *This,long *lChannelMin,long *lChannelMax);
4280 void __RPC_STUB IAMTuner_ChannelMinMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4281 HRESULT WINAPI IAMTuner_put_CountryCode_Proxy(IAMTuner *This,long lCountryCode);
4282 void __RPC_STUB IAMTuner_put_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4283 HRESULT WINAPI IAMTuner_get_CountryCode_Proxy(IAMTuner *This,long *plCountryCode);
4284 void __RPC_STUB IAMTuner_get_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4285 HRESULT WINAPI IAMTuner_put_TuningSpace_Proxy(IAMTuner *This,long lTuningSpace);
4286 void __RPC_STUB IAMTuner_put_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4287 HRESULT WINAPI IAMTuner_get_TuningSpace_Proxy(IAMTuner *This,long *plTuningSpace);
4288 void __RPC_STUB IAMTuner_get_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4289 HRESULT WINAPI IAMTuner_Logon_Proxy(IAMTuner *This,HANDLE hCurrentUser);
4290 void __RPC_STUB IAMTuner_Logon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4291 HRESULT WINAPI IAMTuner_Logout_Proxy(IAMTuner *This);
4292 void __RPC_STUB IAMTuner_Logout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4293 HRESULT WINAPI IAMTuner_SignalPresent_Proxy(IAMTuner *This,long *plSignalStrength);
4294 void __RPC_STUB IAMTuner_SignalPresent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4295 HRESULT WINAPI IAMTuner_put_Mode_Proxy(IAMTuner *This,AMTunerModeType lMode);
4296 void __RPC_STUB IAMTuner_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4297 HRESULT WINAPI IAMTuner_get_Mode_Proxy(IAMTuner *This,AMTunerModeType *plMode);
4298 void __RPC_STUB IAMTuner_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4299 HRESULT WINAPI IAMTuner_GetAvailableModes_Proxy(IAMTuner *This,long *plModes);
4300 void __RPC_STUB IAMTuner_GetAvailableModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4301 HRESULT WINAPI IAMTuner_RegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify,long lEvents);
4302 void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4303 HRESULT WINAPI IAMTuner_UnRegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify);
4304 void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4305 #endif
4306
4307 #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
4308 #define __IAMTunerNotification_INTERFACE_DEFINED__
4309 EXTERN_C const IID IID_IAMTunerNotification;
4310 #if defined(__cplusplus) && !defined(CINTERFACE)
4311 struct IAMTunerNotification : public IUnknown {
4312 public:
4313 virtual HRESULT WINAPI OnEvent(AMTunerEventType Event) = 0;
4314 };
4315 #else
4316 typedef struct IAMTunerNotificationVtbl {
4317 BEGIN_INTERFACE
4318 HRESULT (WINAPI *QueryInterface)(IAMTunerNotification *This,REFIID riid,void **ppvObject);
4319 ULONG (WINAPI *AddRef)(IAMTunerNotification *This);
4320 ULONG (WINAPI *Release)(IAMTunerNotification *This);
4321 HRESULT (WINAPI *OnEvent)(IAMTunerNotification *This,AMTunerEventType Event);
4322 END_INTERFACE
4323 } IAMTunerNotificationVtbl;
4324 struct IAMTunerNotification {
4325 CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
4326 };
4327 #ifdef COBJMACROS
4328 #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4329 #define IAMTunerNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
4330 #define IAMTunerNotification_Release(This) (This)->lpVtbl->Release(This)
4331 #define IAMTunerNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
4332 #endif
4333 #endif
4334 HRESULT WINAPI IAMTunerNotification_OnEvent_Proxy(IAMTunerNotification *This,AMTunerEventType Event);
4335 void __RPC_STUB IAMTunerNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4336 #endif
4337
4338 #ifndef __IAMTVTuner_INTERFACE_DEFINED__
4339 #define __IAMTVTuner_INTERFACE_DEFINED__
4340 EXTERN_C const IID IID_IAMTVTuner;
4341 #if defined(__cplusplus) && !defined(CINTERFACE)
4342 struct IAMTVTuner : public IAMTuner {
4343 public:
4344 virtual HRESULT WINAPI get_AvailableTVFormats(long *lAnalogVideoStandard) = 0;
4345 virtual HRESULT WINAPI get_TVFormat(long *plAnalogVideoStandard) = 0;
4346 virtual HRESULT WINAPI AutoTune(long lChannel,long *plFoundSignal) = 0;
4347 virtual HRESULT WINAPI StoreAutoTune(void) = 0;
4348 virtual HRESULT WINAPI get_NumInputConnections(long *plNumInputConnections) = 0;
4349 virtual HRESULT WINAPI put_InputType(long lIndex,TunerInputType InputType) = 0;
4350 virtual HRESULT WINAPI get_InputType(long lIndex,TunerInputType *pInputType) = 0;
4351 virtual HRESULT WINAPI put_ConnectInput(long lIndex) = 0;
4352 virtual HRESULT WINAPI get_ConnectInput(long *plIndex) = 0;
4353 virtual HRESULT WINAPI get_VideoFrequency(long *lFreq) = 0;
4354 virtual HRESULT WINAPI get_AudioFrequency(long *lFreq) = 0;
4355 };
4356 #else
4357 typedef struct IAMTVTunerVtbl {
4358 BEGIN_INTERFACE
4359 HRESULT (WINAPI *QueryInterface)(IAMTVTuner *This,REFIID riid,void **ppvObject);
4360 ULONG (WINAPI *AddRef)(IAMTVTuner *This);
4361 ULONG (WINAPI *Release)(IAMTVTuner *This);
4362 HRESULT (WINAPI *put_Channel)(IAMTVTuner *This,long lChannel,long lVideoSubChannel,long lAudioSubChannel);
4363 HRESULT (WINAPI *get_Channel)(IAMTVTuner *This,long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel);
4364 HRESULT (WINAPI *ChannelMinMax)(IAMTVTuner *This,long *lChannelMin,long *lChannelMax);
4365 HRESULT (WINAPI *put_CountryCode)(IAMTVTuner *This,long lCountryCode);
4366 HRESULT (WINAPI *get_CountryCode)(IAMTVTuner *This,long *plCountryCode);
4367 HRESULT (WINAPI *put_TuningSpace)(IAMTVTuner *This,long lTuningSpace);
4368 HRESULT (WINAPI *get_TuningSpace)(IAMTVTuner *This,long *plTuningSpace);
4369 HRESULT (WINAPI *Logon)(IAMTVTuner *This,HANDLE hCurrentUser);
4370 HRESULT (WINAPI *Logout)(IAMTVTuner *This);
4371 HRESULT (WINAPI *SignalPresent)(IAMTVTuner *This,long *plSignalStrength);
4372 HRESULT (WINAPI *put_Mode)(IAMTVTuner *This,AMTunerModeType lMode);
4373 HRESULT (WINAPI *get_Mode)(IAMTVTuner *This,AMTunerModeType *plMode);
4374 HRESULT (WINAPI *GetAvailableModes)(IAMTVTuner *This,long *plModes);
4375 HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify,long lEvents);
4376 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify);
4377 HRESULT (WINAPI *get_AvailableTVFormats)(IAMTVTuner *This,long *lAnalogVideoStandard);
4378 HRESULT (WINAPI *get_TVFormat)(IAMTVTuner *This,long *plAnalogVideoStandard);
4379 HRESULT (WINAPI *AutoTune)(IAMTVTuner *This,long lChannel,long *plFoundSignal);
4380 HRESULT (WINAPI *StoreAutoTune)(IAMTVTuner *This);
4381 HRESULT (WINAPI *get_NumInputConnections)(IAMTVTuner *This,long *plNumInputConnections);
4382 HRESULT (WINAPI *put_InputType)(IAMTVTuner *This,long lIndex,TunerInputType InputType);
4383 HRESULT (WINAPI *get_InputType)(IAMTVTuner *This,long lIndex,TunerInputType *pInputType);
4384 HRESULT (WINAPI *put_ConnectInput)(IAMTVTuner *This,long lIndex);
4385 HRESULT (WINAPI *get_ConnectInput)(IAMTVTuner *This,long *plIndex);
4386 HRESULT (WINAPI *get_VideoFrequency)(IAMTVTuner *This,long *lFreq);
4387 HRESULT (WINAPI *get_AudioFrequency)(IAMTVTuner *This,long *lFreq);
4388 END_INTERFACE
4389 } IAMTVTunerVtbl;
4390 struct IAMTVTuner {
4391 CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
4392 };
4393 #ifdef COBJMACROS
4394 #define IAMTVTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4395 #define IAMTVTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
4396 #define IAMTVTuner_Release(This) (This)->lpVtbl->Release(This)
4397 #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
4398 #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
4399 #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
4400 #define IAMTVTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
4401 #define IAMTVTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
4402 #define IAMTVTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
4403 #define IAMTVTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
4404 #define IAMTVTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
4405 #define IAMTVTuner_Logout(This) (This)->lpVtbl->Logout(This)
4406 #define IAMTVTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
4407 #define IAMTVTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
4408 #define IAMTVTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
4409 #define IAMTVTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
4410 #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
4411 #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
4412 #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
4413 #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
4414 #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal) (This)->lpVtbl->AutoTune(This,lChannel,plFoundSignal)
4415 #define IAMTVTuner_StoreAutoTune(This) (This)->lpVtbl->StoreAutoTune(This)
4416 #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections) (This)->lpVtbl->get_NumInputConnections(This,plNumInputConnections)
4417 #define IAMTVTuner_put_InputType(This,lIndex,InputType) (This)->lpVtbl->put_InputType(This,lIndex,InputType)
4418 #define IAMTVTuner_get_InputType(This,lIndex,pInputType) (This)->lpVtbl->get_InputType(This,lIndex,pInputType)
4419 #define IAMTVTuner_put_ConnectInput(This,lIndex) (This)->lpVtbl->put_ConnectInput(This,lIndex)
4420 #define IAMTVTuner_get_ConnectInput(This,plIndex) (This)->lpVtbl->get_ConnectInput(This,plIndex)
4421 #define IAMTVTuner_get_VideoFrequency(This,lFreq) (This)->lpVtbl->get_VideoFrequency(This,lFreq)
4422 #define IAMTVTuner_get_AudioFrequency(This,lFreq) (This)->lpVtbl->get_AudioFrequency(This,lFreq)
4423 #endif
4424 #endif
4425 HRESULT WINAPI IAMTVTuner_get_AvailableTVFormats_Proxy(IAMTVTuner *This,long *lAnalogVideoStandard);
4426 void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4427 HRESULT WINAPI IAMTVTuner_get_TVFormat_Proxy(IAMTVTuner *This,long *plAnalogVideoStandard);
4428 void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4429 HRESULT WINAPI IAMTVTuner_AutoTune_Proxy(IAMTVTuner *This,long lChannel,long *plFoundSignal);
4430 void __RPC_STUB IAMTVTuner_AutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4431 HRESULT WINAPI IAMTVTuner_StoreAutoTune_Proxy(IAMTVTuner *This);
4432 void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4433 HRESULT WINAPI IAMTVTuner_get_NumInputConnections_Proxy(IAMTVTuner *This,long *plNumInputConnections);
4434 void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4435 HRESULT WINAPI IAMTVTuner_put_InputType_Proxy(IAMTVTuner *This,long lIndex,TunerInputType InputType);
4436 void __RPC_STUB IAMTVTuner_put_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4437 HRESULT WINAPI IAMTVTuner_get_InputType_Proxy(IAMTVTuner *This,long lIndex,TunerInputType *pInputType);
4438 void __RPC_STUB IAMTVTuner_get_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4439 HRESULT WINAPI IAMTVTuner_put_ConnectInput_Proxy(IAMTVTuner *This,long lIndex);
4440 void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4441 HRESULT WINAPI IAMTVTuner_get_ConnectInput_Proxy(IAMTVTuner *This,long *plIndex);
4442 void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4443 HRESULT WINAPI IAMTVTuner_get_VideoFrequency_Proxy(IAMTVTuner *This,long *lFreq);
4444 void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4445 HRESULT WINAPI IAMTVTuner_get_AudioFrequency_Proxy(IAMTVTuner *This,long *lFreq);
4446 void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4447 #endif
4448
4449 #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
4450 #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
4451 EXTERN_C const IID IID_IBPCSatelliteTuner;
4452 #if defined(__cplusplus) && !defined(CINTERFACE)
4453 struct IBPCSatelliteTuner : public IAMTuner {
4454 public:
4455 virtual HRESULT WINAPI get_DefaultSubChannelTypes(long *plDefaultVideoType,long *plDefaultAudioType) = 0;
4456 virtual HRESULT WINAPI put_DefaultSubChannelTypes(long lDefaultVideoType,long lDefaultAudioType) = 0;
4457 virtual HRESULT WINAPI IsTapingPermitted(void) = 0;
4458 };
4459 #else
4460 typedef struct IBPCSatelliteTunerVtbl {
4461 BEGIN_INTERFACE
4462 HRESULT (WINAPI *QueryInterface)(IBPCSatelliteTuner *This,REFIID riid,void **ppvObject);
4463 ULONG (WINAPI *AddRef)(IBPCSatelliteTuner *This);
4464 ULONG (WINAPI *Release)(IBPCSatelliteTuner *This);
4465 HRESULT (WINAPI *put_Channel)(IBPCSatelliteTuner *This,long lChannel,long lVideoSubChannel,long lAudioSubChannel);
4466 HRESULT (WINAPI *get_Channel)(IBPCSatelliteTuner *This,long *plChannel,long *plVideoSubChannel,long *plAudioSubChannel);
4467 HRESULT (WINAPI *ChannelMinMax)(IBPCSatelliteTuner *This,long *lChannelMin,long *lChannelMax);
4468 HRESULT (WINAPI *put_CountryCode)(IBPCSatelliteTuner *This,long lCountryCode);
4469 HRESULT (WINAPI *get_CountryCode)(IBPCSatelliteTuner *This,long *plCountryCode);
4470 HRESULT (WINAPI *put_TuningSpace)(IBPCSatelliteTuner *This,long lTuningSpace);
4471 HRESULT (WINAPI *get_TuningSpace)(IBPCSatelliteTuner *This,long *plTuningSpace);
4472 HRESULT (WINAPI *Logon)(IBPCSatelliteTuner *This,HANDLE hCurrentUser);
4473 HRESULT (WINAPI *Logout)(IBPCSatelliteTuner *This);
4474 HRESULT (WINAPI *SignalPresent)(IBPCSatelliteTuner *This,long *plSignalStrength);
4475 HRESULT (WINAPI *put_Mode)(IBPCSatelliteTuner *This,AMTunerModeType lMode);
4476 HRESULT (WINAPI *get_Mode)(IBPCSatelliteTuner *This,AMTunerModeType *plMode);
4477 HRESULT (WINAPI *GetAvailableModes)(IBPCSatelliteTuner *This,long *plModes);
4478 HRESULT (WINAPI *RegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify,long lEvents);
4479 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify);
4480 HRESULT (WINAPI *get_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,long *plDefaultVideoType,long *plDefaultAudioType);
4481 HRESULT (WINAPI *put_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,long lDefaultVideoType,long lDefaultAudioType);
4482 HRESULT (WINAPI *IsTapingPermitted)(IBPCSatelliteTuner *This);
4483 END_INTERFACE
4484 } IBPCSatelliteTunerVtbl;
4485 struct IBPCSatelliteTuner {
4486 CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
4487 };
4488 #ifdef COBJMACROS
4489 #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4490 #define IBPCSatelliteTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
4491 #define IBPCSatelliteTuner_Release(This) (This)->lpVtbl->Release(This)
4492 #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
4493 #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
4494 #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
4495 #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
4496 #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
4497 #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
4498 #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
4499 #define IBPCSatelliteTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
4500 #define IBPCSatelliteTuner_Logout(This) (This)->lpVtbl->Logout(This)
4501 #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
4502 #define IBPCSatelliteTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
4503 #define IBPCSatelliteTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
4504 #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
4505 #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
4506 #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
4507 #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) (This)->lpVtbl->get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
4508 #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) (This)->lpVtbl->put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
4509 #define IBPCSatelliteTuner_IsTapingPermitted(This) (This)->lpVtbl->IsTapingPermitted(This)
4510 #endif
4511 #endif
4512 HRESULT WINAPI IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,long *plDefaultVideoType,long *plDefaultAudioType);
4513 void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4514 HRESULT WINAPI IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,long lDefaultVideoType,long lDefaultAudioType);
4515 void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4516 HRESULT WINAPI IBPCSatelliteTuner_IsTapingPermitted_Proxy(IBPCSatelliteTuner *This);
4517 void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4518 #endif
4519
4520 typedef enum tagTVAudioMode {
4521 AMTVAUDIO_MODE_MONO = 0x1,AMTVAUDIO_MODE_STEREO = 0x2,AMTVAUDIO_MODE_LANG_A = 0x10,AMTVAUDIO_MODE_LANG_B = 0x20,AMTVAUDIO_MODE_LANG_C = 0x40
4522 } TVAudioMode;
4523
4524 typedef enum tagAMTVAudioEventType {
4525 AMTVAUDIO_EVENT_CHANGED = 0x1
4526 } AMTVAudioEventType;
4527
4528 extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
4529 extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
4530 #ifndef __IAMTVAudio_INTERFACE_DEFINED__
4531 #define __IAMTVAudio_INTERFACE_DEFINED__
4532 EXTERN_C const IID IID_IAMTVAudio;
4533 #if defined(__cplusplus) && !defined(CINTERFACE)
4534 struct IAMTVAudio : public IUnknown {
4535 public:
4536 virtual HRESULT WINAPI GetHardwareSupportedTVAudioModes(long *plModes) = 0;
4537 virtual HRESULT WINAPI GetAvailableTVAudioModes(long *plModes) = 0;
4538 virtual HRESULT WINAPI get_TVAudioMode(long *plMode) = 0;
4539 virtual HRESULT WINAPI put_TVAudioMode(long lMode) = 0;
4540 virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,long lEvents) = 0;
4541 virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
4542 };
4543 #else
4544 typedef struct IAMTVAudioVtbl {
4545 BEGIN_INTERFACE
4546 HRESULT (WINAPI *QueryInterface)(IAMTVAudio *This,REFIID riid,void **ppvObject);
4547 ULONG (WINAPI *AddRef)(IAMTVAudio *This);
4548 ULONG (WINAPI *Release)(IAMTVAudio *This);
4549 HRESULT (WINAPI *GetHardwareSupportedTVAudioModes)(IAMTVAudio *This,long *plModes);
4550 HRESULT (WINAPI *GetAvailableTVAudioModes)(IAMTVAudio *This,long *plModes);
4551 HRESULT (WINAPI *get_TVAudioMode)(IAMTVAudio *This,long *plMode);
4552 HRESULT (WINAPI *put_TVAudioMode)(IAMTVAudio *This,long lMode);
4553 HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify,long lEvents);
4554 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify);
4555 END_INTERFACE
4556 } IAMTVAudioVtbl;
4557 struct IAMTVAudio {
4558 CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
4559 };
4560 #ifdef COBJMACROS
4561 #define IAMTVAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4562 #define IAMTVAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
4563 #define IAMTVAudio_Release(This) (This)->lpVtbl->Release(This)
4564 #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) (This)->lpVtbl->GetHardwareSupportedTVAudioModes(This,plModes)
4565 #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) (This)->lpVtbl->GetAvailableTVAudioModes(This,plModes)
4566 #define IAMTVAudio_get_TVAudioMode(This,plMode) (This)->lpVtbl->get_TVAudioMode(This,plMode)
4567 #define IAMTVAudio_put_TVAudioMode(This,lMode) (This)->lpVtbl->put_TVAudioMode(This,lMode)
4568 #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
4569 #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
4570 #endif
4571 #endif
4572 HRESULT WINAPI IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(IAMTVAudio *This,long *plModes);
4573 void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4574 HRESULT WINAPI IAMTVAudio_GetAvailableTVAudioModes_Proxy(IAMTVAudio *This,long *plModes);
4575 void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4576 HRESULT WINAPI IAMTVAudio_get_TVAudioMode_Proxy(IAMTVAudio *This,long *plMode);
4577 void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4578 HRESULT WINAPI IAMTVAudio_put_TVAudioMode_Proxy(IAMTVAudio *This,long lMode);
4579 void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4580 HRESULT WINAPI IAMTVAudio_RegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify,long lEvents);
4581 void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4582 HRESULT WINAPI IAMTVAudio_UnRegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify);
4583 void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4584 #endif
4585
4586 #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
4587 #define __IAMTVAudioNotification_INTERFACE_DEFINED__
4588 EXTERN_C const IID IID_IAMTVAudioNotification;
4589 #if defined(__cplusplus) && !defined(CINTERFACE)
4590 struct IAMTVAudioNotification : public IUnknown {
4591 public:
4592 virtual HRESULT WINAPI OnEvent(AMTVAudioEventType Event) = 0;
4593 };
4594 #else
4595 typedef struct IAMTVAudioNotificationVtbl {
4596 BEGIN_INTERFACE
4597 HRESULT (WINAPI *QueryInterface)(IAMTVAudioNotification *This,REFIID riid,void **ppvObject);
4598 ULONG (WINAPI *AddRef)(IAMTVAudioNotification *This);
4599 ULONG (WINAPI *Release)(IAMTVAudioNotification *This);
4600 HRESULT (WINAPI *OnEvent)(IAMTVAudioNotification *This,AMTVAudioEventType Event);
4601 END_INTERFACE
4602 } IAMTVAudioNotificationVtbl;
4603 struct IAMTVAudioNotification {
4604 CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
4605 };
4606 #ifdef COBJMACROS
4607 #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4608 #define IAMTVAudioNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
4609 #define IAMTVAudioNotification_Release(This) (This)->lpVtbl->Release(This)
4610 #define IAMTVAudioNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
4611 #endif
4612 #endif
4613 HRESULT WINAPI IAMTVAudioNotification_OnEvent_Proxy(IAMTVAudioNotification *This,AMTVAudioEventType Event);
4614 void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4615 #endif
4616
4617 #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
4618 #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
4619 EXTERN_C const IID IID_IAMAnalogVideoEncoder;
4620 #if defined(__cplusplus) && !defined(CINTERFACE)
4621 struct IAMAnalogVideoEncoder : public IUnknown {
4622 public:
4623 virtual HRESULT WINAPI get_AvailableTVFormats(long *lAnalogVideoStandard) = 0;
4624 virtual HRESULT WINAPI put_TVFormat(long lAnalogVideoStandard) = 0;
4625 virtual HRESULT WINAPI get_TVFormat(long *plAnalogVideoStandard) = 0;
4626 virtual HRESULT WINAPI put_CopyProtection(long lVideoCopyProtection) = 0;
4627 virtual HRESULT WINAPI get_CopyProtection(long *lVideoCopyProtection) = 0;
4628 virtual HRESULT WINAPI put_CCEnable(long lCCEnable) = 0;
4629 virtual HRESULT WINAPI get_CCEnable(long *lCCEnable) = 0;
4630 };
4631 #else
4632 typedef struct IAMAnalogVideoEncoderVtbl {
4633 BEGIN_INTERFACE
4634 HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoEncoder *This,REFIID riid,void **ppvObject);
4635 ULONG (WINAPI *AddRef)(IAMAnalogVideoEncoder *This);
4636 ULONG (WINAPI *Release)(IAMAnalogVideoEncoder *This);
4637 HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoEncoder *This,long *lAnalogVideoStandard);
4638 HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoEncoder *This,long lAnalogVideoStandard);
4639 HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoEncoder *This,long *plAnalogVideoStandard);
4640 HRESULT (WINAPI *put_CopyProtection)(IAMAnalogVideoEncoder *This,long lVideoCopyProtection);
4641 HRESULT (WINAPI *get_CopyProtection)(IAMAnalogVideoEncoder *This,long *lVideoCopyProtection);
4642 HRESULT (WINAPI *put_CCEnable)(IAMAnalogVideoEncoder *This,long lCCEnable);
4643 HRESULT (WINAPI *get_CCEnable)(IAMAnalogVideoEncoder *This,long *lCCEnable);
4644 END_INTERFACE
4645 } IAMAnalogVideoEncoderVtbl;
4646 struct IAMAnalogVideoEncoder {
4647 CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
4648 };
4649 #ifdef COBJMACROS
4650 #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4651 #define IAMAnalogVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
4652 #define IAMAnalogVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
4653 #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
4654 #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
4655 #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
4656 #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->put_CopyProtection(This,lVideoCopyProtection)
4657 #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->get_CopyProtection(This,lVideoCopyProtection)
4658 #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) (This)->lpVtbl->put_CCEnable(This,lCCEnable)
4659 #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) (This)->lpVtbl->get_CCEnable(This,lCCEnable)
4660 #endif
4661 #endif
4662 HRESULT WINAPI IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoEncoder *This,long *lAnalogVideoStandard);
4663 void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4664 HRESULT WINAPI IAMAnalogVideoEncoder_put_TVFormat_Proxy(IAMAnalogVideoEncoder *This,long lAnalogVideoStandard);
4665 void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4666 HRESULT WINAPI IAMAnalogVideoEncoder_get_TVFormat_Proxy(IAMAnalogVideoEncoder *This,long *plAnalogVideoStandard);
4667 void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4668 HRESULT WINAPI IAMAnalogVideoEncoder_put_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,long lVideoCopyProtection);
4669 void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4670 HRESULT WINAPI IAMAnalogVideoEncoder_get_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,long *lVideoCopyProtection);
4671 void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4672 HRESULT WINAPI IAMAnalogVideoEncoder_put_CCEnable_Proxy(IAMAnalogVideoEncoder *This,long lCCEnable);
4673 void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4674 HRESULT WINAPI IAMAnalogVideoEncoder_get_CCEnable_Proxy(IAMAnalogVideoEncoder *This,long *lCCEnable);
4675 void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4676 #endif
4677
4678 typedef enum __MIDL___MIDL_itf_strmif_0185_0001 {
4679 AMPROPERTY_PIN_CATEGORY = 0,AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1
4680 } AMPROPERTY_PIN;
4681
4682 #ifndef _IKsPropertySet_
4683 #define _IKsPropertySet_
4684 #define KSPROPERTY_SUPPORT_GET 1
4685 #define KSPROPERTY_SUPPORT_SET 2
4686
4687 extern RPC_IF_HANDLE __MIDL_itf_strmif_0185_v0_0_c_ifspec;
4688 extern RPC_IF_HANDLE __MIDL_itf_strmif_0185_v0_0_s_ifspec;
4689 #ifndef __IKsPropertySet_INTERFACE_DEFINED__
4690 #define __IKsPropertySet_INTERFACE_DEFINED__
4691 EXTERN_C const IID IID_IKsPropertySet;
4692 #if defined(__cplusplus) && !defined(CINTERFACE)
4693 struct IKsPropertySet : public IUnknown {
4694 public:
4695 virtual HRESULT WINAPI Set(REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData) = 0;
4696 virtual HRESULT WINAPI Get(REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned) = 0;
4697 virtual HRESULT WINAPI QuerySupported(REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport) = 0;
4698 };
4699 #else
4700 typedef struct IKsPropertySetVtbl {
4701 BEGIN_INTERFACE
4702 HRESULT (WINAPI *QueryInterface)(IKsPropertySet *This,REFIID riid,void **ppvObject);
4703 ULONG (WINAPI *AddRef)(IKsPropertySet *This);
4704 ULONG (WINAPI *Release)(IKsPropertySet *This);
4705 HRESULT (WINAPI *Set)(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData);
4706 HRESULT (WINAPI *Get)(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned);
4707 HRESULT (WINAPI *QuerySupported)(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport);
4708 END_INTERFACE
4709 } IKsPropertySetVtbl;
4710 struct IKsPropertySet {
4711 CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
4712 };
4713 #ifdef COBJMACROS
4714 #define IKsPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4715 #define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
4716 #define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This)
4717 #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) (This)->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
4718 #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) (This)->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
4719 #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) (This)->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
4720 #endif
4721 #endif
4722 HRESULT WINAPI IKsPropertySet_RemoteSet_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,byte *pInstanceData,DWORD cbInstanceData,byte *pPropData,DWORD cbPropData);
4723 void __RPC_STUB IKsPropertySet_RemoteSet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4724 HRESULT WINAPI IKsPropertySet_RemoteGet_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,byte *pInstanceData,DWORD cbInstanceData,byte *pPropData,DWORD cbPropData,DWORD *pcbReturned);
4725 void __RPC_STUB IKsPropertySet_RemoteGet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4726 HRESULT WINAPI IKsPropertySet_QuerySupported_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport);
4727 void __RPC_STUB IKsPropertySet_QuerySupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4728 #endif
4729 #endif
4730
4731 extern RPC_IF_HANDLE __MIDL_itf_strmif_0186_v0_0_c_ifspec;
4732 extern RPC_IF_HANDLE __MIDL_itf_strmif_0186_v0_0_s_ifspec;
4733 #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
4734 #define __IMediaPropertyBag_INTERFACE_DEFINED__
4735 typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
4736
4737 EXTERN_C const IID IID_IMediaPropertyBag;
4738 #if defined(__cplusplus) && !defined(CINTERFACE)
4739 struct IMediaPropertyBag : public IPropertyBag {
4740 public:
4741 virtual HRESULT WINAPI EnumProperty(ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue) = 0;
4742 };
4743 #else
4744 typedef struct IMediaPropertyBagVtbl {
4745 BEGIN_INTERFACE
4746 HRESULT (WINAPI *QueryInterface)(IMediaPropertyBag *This,REFIID riid,void **ppvObject);
4747 ULONG (WINAPI *AddRef)(IMediaPropertyBag *This);
4748 ULONG (WINAPI *Release)(IMediaPropertyBag *This);
4749 HRESULT (WINAPI *Read)(IMediaPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog);
4750 HRESULT (WINAPI *Write)(IMediaPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar);
4751 HRESULT (WINAPI *EnumProperty)(IMediaPropertyBag *This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue);
4752 END_INTERFACE
4753 } IMediaPropertyBagVtbl;
4754 struct IMediaPropertyBag {
4755 CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
4756 };
4757 #ifdef COBJMACROS
4758 #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4759 #define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
4760 #define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
4761 #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog)
4762 #define IMediaPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar)
4763 #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) (This)->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
4764 #endif
4765 #endif
4766 HRESULT WINAPI IMediaPropertyBag_EnumProperty_Proxy(IMediaPropertyBag *This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue);
4767 void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4768 #endif
4769
4770 #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
4771 #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
4772 typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
4773
4774 EXTERN_C const IID IID_IPersistMediaPropertyBag;
4775 #if defined(__cplusplus) && !defined(CINTERFACE)
4776 struct IPersistMediaPropertyBag : public IPersist {
4777 public:
4778 virtual HRESULT WINAPI InitNew(void) = 0;
4779 virtual HRESULT WINAPI Load(IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog) = 0;
4780 virtual HRESULT WINAPI Save(IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) = 0;
4781 };
4782 #else
4783 typedef struct IPersistMediaPropertyBagVtbl {
4784 BEGIN_INTERFACE
4785 HRESULT (WINAPI *QueryInterface)(IPersistMediaPropertyBag *This,REFIID riid,void **ppvObject);
4786 ULONG (WINAPI *AddRef)(IPersistMediaPropertyBag *This);
4787 ULONG (WINAPI *Release)(IPersistMediaPropertyBag *This);
4788 HRESULT (WINAPI *GetClassID)(IPersistMediaPropertyBag *This,CLSID *pClassID);
4789 HRESULT (WINAPI *InitNew)(IPersistMediaPropertyBag *This);
4790 HRESULT (WINAPI *Load)(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog);
4791 HRESULT (WINAPI *Save)(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties);
4792 END_INTERFACE
4793 } IPersistMediaPropertyBagVtbl;
4794 struct IPersistMediaPropertyBag {
4795 CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
4796 };
4797 #ifdef COBJMACROS
4798 #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4799 #define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
4800 #define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
4801 #define IPersistMediaPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
4802 #define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This)
4803 #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog)
4804 #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
4805 #endif
4806 #endif
4807 HRESULT WINAPI IPersistMediaPropertyBag_InitNew_Proxy(IPersistMediaPropertyBag *This);
4808 void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4809 HRESULT WINAPI IPersistMediaPropertyBag_Load_Proxy(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog);
4810 void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4811 HRESULT WINAPI IPersistMediaPropertyBag_Save_Proxy(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties);
4812 void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4813 #endif
4814
4815 #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
4816 #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
4817 EXTERN_C const IID IID_IAMPhysicalPinInfo;
4818 #if defined(__cplusplus) && !defined(CINTERFACE)
4819 struct IAMPhysicalPinInfo : public IUnknown {
4820 public:
4821 virtual HRESULT WINAPI GetPhysicalType(long *pType,LPOLESTR *ppszType) = 0;
4822 };
4823 #else
4824 typedef struct IAMPhysicalPinInfoVtbl {
4825 BEGIN_INTERFACE
4826 HRESULT (WINAPI *QueryInterface)(IAMPhysicalPinInfo *This,REFIID riid,void **ppvObject);
4827 ULONG (WINAPI *AddRef)(IAMPhysicalPinInfo *This);
4828 ULONG (WINAPI *Release)(IAMPhysicalPinInfo *This);
4829 HRESULT (WINAPI *GetPhysicalType)(IAMPhysicalPinInfo *This,long *pType,LPOLESTR *ppszType);
4830 END_INTERFACE
4831 } IAMPhysicalPinInfoVtbl;
4832 struct IAMPhysicalPinInfo {
4833 CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
4834 };
4835 #ifdef COBJMACROS
4836 #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4837 #define IAMPhysicalPinInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
4838 #define IAMPhysicalPinInfo_Release(This) (This)->lpVtbl->Release(This)
4839 #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) (This)->lpVtbl->GetPhysicalType(This,pType,ppszType)
4840 #endif
4841 #endif
4842 HRESULT WINAPI IAMPhysicalPinInfo_GetPhysicalType_Proxy(IAMPhysicalPinInfo *This,long *pType,LPOLESTR *ppszType);
4843 void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4844 #endif
4845
4846 typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
4847
4848 extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
4849 extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
4850 #ifndef __IAMExtDevice_INTERFACE_DEFINED__
4851 #define __IAMExtDevice_INTERFACE_DEFINED__
4852 EXTERN_C const IID IID_IAMExtDevice;
4853 #if defined(__cplusplus) && !defined(CINTERFACE)
4854 struct IAMExtDevice : public IUnknown {
4855 public:
4856 virtual HRESULT WINAPI GetCapability(long Capability,long *pValue,double *pdblValue) = 0;
4857 virtual HRESULT WINAPI get_ExternalDeviceID(LPOLESTR *ppszData) = 0;
4858 virtual HRESULT WINAPI get_ExternalDeviceVersion(LPOLESTR *ppszData) = 0;
4859 virtual HRESULT WINAPI put_DevicePower(long PowerMode) = 0;
4860 virtual HRESULT WINAPI get_DevicePower(long *pPowerMode) = 0;
4861 virtual HRESULT WINAPI Calibrate(HEVENT hEvent,long Mode,long *pStatus) = 0;
4862 virtual HRESULT WINAPI put_DevicePort(long DevicePort) = 0;
4863 virtual HRESULT WINAPI get_DevicePort(long *pDevicePort) = 0;
4864 };
4865 #else
4866 typedef struct IAMExtDeviceVtbl {
4867 BEGIN_INTERFACE
4868 HRESULT (WINAPI *QueryInterface)(IAMExtDevice *This,REFIID riid,void **ppvObject);
4869 ULONG (WINAPI *AddRef)(IAMExtDevice *This);
4870 ULONG (WINAPI *Release)(IAMExtDevice *This);
4871 HRESULT (WINAPI *GetCapability)(IAMExtDevice *This,long Capability,long *pValue,double *pdblValue);
4872 HRESULT (WINAPI *get_ExternalDeviceID)(IAMExtDevice *This,LPOLESTR *ppszData);
4873 HRESULT (WINAPI *get_ExternalDeviceVersion)(IAMExtDevice *This,LPOLESTR *ppszData);
4874 HRESULT (WINAPI *put_DevicePower)(IAMExtDevice *This,long PowerMode);
4875 HRESULT (WINAPI *get_DevicePower)(IAMExtDevice *This,long *pPowerMode);
4876 HRESULT (WINAPI *Calibrate)(IAMExtDevice *This,HEVENT hEvent,long Mode,long *pStatus);
4877 HRESULT (WINAPI *put_DevicePort)(IAMExtDevice *This,long DevicePort);
4878 HRESULT (WINAPI *get_DevicePort)(IAMExtDevice *This,long *pDevicePort);
4879 END_INTERFACE
4880 } IAMExtDeviceVtbl;
4881 struct IAMExtDevice {
4882 CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
4883 };
4884 #ifdef COBJMACROS
4885 #define IAMExtDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4886 #define IAMExtDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
4887 #define IAMExtDevice_Release(This) (This)->lpVtbl->Release(This)
4888 #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
4889 #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) (This)->lpVtbl->get_ExternalDeviceID(This,ppszData)
4890 #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) (This)->lpVtbl->get_ExternalDeviceVersion(This,ppszData)
4891 #define IAMExtDevice_put_DevicePower(This,PowerMode) (This)->lpVtbl->put_DevicePower(This,PowerMode)
4892 #define IAMExtDevice_get_DevicePower(This,pPowerMode) (This)->lpVtbl->get_DevicePower(This,pPowerMode)
4893 #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) (This)->lpVtbl->Calibrate(This,hEvent,Mode,pStatus)
4894 #define IAMExtDevice_put_DevicePort(This,DevicePort) (This)->lpVtbl->put_DevicePort(This,DevicePort)
4895 #define IAMExtDevice_get_DevicePort(This,pDevicePort) (This)->lpVtbl->get_DevicePort(This,pDevicePort)
4896 #endif
4897 #endif
4898 HRESULT WINAPI IAMExtDevice_GetCapability_Proxy(IAMExtDevice *This,long Capability,long *pValue,double *pdblValue);
4899 void __RPC_STUB IAMExtDevice_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4900 HRESULT WINAPI IAMExtDevice_get_ExternalDeviceID_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
4901 void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4902 HRESULT WINAPI IAMExtDevice_get_ExternalDeviceVersion_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
4903 void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4904 HRESULT WINAPI IAMExtDevice_put_DevicePower_Proxy(IAMExtDevice *This,long PowerMode);
4905 void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4906 HRESULT WINAPI IAMExtDevice_get_DevicePower_Proxy(IAMExtDevice *This,long *pPowerMode);
4907 void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4908 HRESULT WINAPI IAMExtDevice_Calibrate_Proxy(IAMExtDevice *This,HEVENT hEvent,long Mode,long *pStatus);
4909 void __RPC_STUB IAMExtDevice_Calibrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4910 HRESULT WINAPI IAMExtDevice_put_DevicePort_Proxy(IAMExtDevice *This,long DevicePort);
4911 void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4912 HRESULT WINAPI IAMExtDevice_get_DevicePort_Proxy(IAMExtDevice *This,long *pDevicePort);
4913 void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
4914 #endif
4915
4916 typedef IAMExtDevice *PEXTDEVICE;
4917
4918 extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
4919 extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
4920 #ifndef __IAMExtTransport_INTERFACE_DEFINED__
4921 #define __IAMExtTransport_INTERFACE_DEFINED__
4922 EXTERN_C const IID IID_IAMExtTransport;
4923 #if defined(__cplusplus) && !defined(CINTERFACE)
4924 struct IAMExtTransport : public IUnknown {
4925 public:
4926 virtual HRESULT WINAPI GetCapability(long Capability,long *pValue,double *pdblValue) = 0;
4927 virtual HRESULT WINAPI put_MediaState(long State) = 0;
4928 virtual HRESULT WINAPI get_MediaState(long *pState) = 0;
4929 virtual HRESULT WINAPI put_LocalControl(long State) = 0;
4930 virtual HRESULT WINAPI get_LocalControl(long *pState) = 0;
4931 virtual HRESULT WINAPI GetStatus(long StatusItem,long *pValue) = 0;
4932 virtual HRESULT WINAPI GetTransportBasicParameters(long Param,long *pValue,LPOLESTR *ppszData) = 0;
4933 virtual HRESULT WINAPI SetTransportBasicParameters(long Param,long Value,LPCOLESTR pszData) = 0;
4934 virtual HRESULT WINAPI GetTransportVideoParameters(long Param,long *pValue) = 0;
4935 virtual HRESULT WINAPI SetTransportVideoParameters(long Param,long Value) = 0;
4936 virtual HRESULT WINAPI GetTransportAudioParameters(long Param,long *pValue) = 0;
4937 virtual HRESULT WINAPI SetTransportAudioParameters(long Param,long Value) = 0;
4938 virtual HRESULT WINAPI put_Mode(long Mode) = 0;
4939 virtual HRESULT WINAPI get_Mode(long *pMode) = 0;
4940 virtual HRESULT WINAPI put_Rate(double dblRate) = 0;
4941 virtual HRESULT WINAPI get_Rate(double *pdblRate) = 0;
4942 virtual HRESULT WINAPI GetChase(long *pEnabled,long *pOffset,HEVENT *phEvent) = 0;
4943 virtual HRESULT WINAPI SetChase(long Enable,long Offset,HEVENT hEvent) = 0;
4944 virtual HRESULT WINAPI GetBump(long *pSpeed,long *pDuration) = 0;
4945 virtual HRESULT WINAPI SetBump(long Speed,long Duration) = 0;
4946 virtual HRESULT WINAPI get_AntiClogControl(long *pEnabled) = 0;
4947 virtual HRESULT WINAPI put_AntiClogControl(long Enable) = 0;
4948 virtual HRESULT WINAPI GetEditPropertySet(long EditID,long *pState) = 0;
4949 virtual HRESULT WINAPI SetEditPropertySet(long *pEditID,long State) = 0;
4950 virtual HRESULT WINAPI GetEditProperty(long EditID,long Param,long *pValue) = 0;
4951 virtual HRESULT WINAPI SetEditProperty(long EditID,long Param,long Value) = 0;
4952 virtual HRESULT WINAPI get_EditStart(long *pValue) = 0;
4953 virtual HRESULT WINAPI put_EditStart(long Value) = 0;
4954 };
4955 #else
4956 typedef struct IAMExtTransportVtbl {
4957 BEGIN_INTERFACE
4958 HRESULT (WINAPI *QueryInterface)(IAMExtTransport *This,REFIID riid,void **ppvObject);
4959 ULONG (WINAPI *AddRef)(IAMExtTransport *This);
4960 ULONG (WINAPI *Release)(IAMExtTransport *This);
4961 HRESULT (WINAPI *GetCapability)(IAMExtTransport *This,long Capability,long *pValue,double *pdblValue);
4962 HRESULT (WINAPI *put_MediaState)(IAMExtTransport *This,long State);
4963 HRESULT (WINAPI *get_MediaState)(IAMExtTransport *This,long *pState);
4964 HRESULT (WINAPI *put_LocalControl)(IAMExtTransport *This,long State);
4965 HRESULT (WINAPI *get_LocalControl)(IAMExtTransport *This,long *pState);
4966 HRESULT (WINAPI *GetStatus)(IAMExtTransport *This,long StatusItem,long *pValue);
4967 HRESULT (WINAPI *GetTransportBasicParameters)(IAMExtTransport *This,long Param,long *pValue,LPOLESTR *ppszData);
4968 HRESULT (WINAPI *SetTransportBasicParameters)(IAMExtTransport *This,long Param,long Value,LPCOLESTR pszData);
4969 HRESULT (WINAPI *GetTransportVideoParameters)(IAMExtTransport *This,long Param,long *pValue);
4970 HRESULT (WINAPI *SetTransportVideoParameters)(IAMExtTransport *This,long Param,long Value);
4971 HRESULT (WINAPI *GetTransportAudioParameters)(IAMExtTransport *This,long Param,long *pValue);
4972 HRESULT (WINAPI *SetTransportAudioParameters)(IAMExtTransport *This,long Param,long Value);
4973 HRESULT (WINAPI *put_Mode)(IAMExtTransport *This,long Mode);
4974 HRESULT (WINAPI *get_Mode)(IAMExtTransport *This,long *pMode);
4975 HRESULT (WINAPI *put_Rate)(IAMExtTransport *This,double dblRate);
4976 HRESULT (WINAPI *get_Rate)(IAMExtTransport *This,double *pdblRate);
4977 HRESULT (WINAPI *GetChase)(IAMExtTransport *This,long *pEnabled,long *pOffset,HEVENT *phEvent);
4978 HRESULT (WINAPI *SetChase)(IAMExtTransport *This,long Enable,long Offset,HEVENT hEvent);
4979 HRESULT (WINAPI *GetBump)(IAMExtTransport *This,long *pSpeed,long *pDuration);
4980 HRESULT (WINAPI *SetBump)(IAMExtTransport *This,long Speed,long Duration);
4981 HRESULT (WINAPI *get_AntiClogControl)(IAMExtTransport *This,long *pEnabled);
4982 HRESULT (WINAPI *put_AntiClogControl)(IAMExtTransport *This,long Enable);
4983 HRESULT (WINAPI *GetEditPropertySet)(IAMExtTransport *This,long EditID,long *pState);
4984 HRESULT (WINAPI *SetEditPropertySet)(IAMExtTransport *This,long *pEditID,long State);
4985 HRESULT (WINAPI *GetEditProperty)(IAMExtTransport *This,long EditID,long Param,long *pValue);
4986 HRESULT (WINAPI *SetEditProperty)(IAMExtTransport *This,long EditID,long Param,long Value);
4987 HRESULT (WINAPI *get_EditStart)(IAMExtTransport *This,long *pValue);
4988 HRESULT (WINAPI *put_EditStart)(IAMExtTransport *This,long Value);
4989 END_INTERFACE
4990 } IAMExtTransportVtbl;
4991 struct IAMExtTransport {
4992 CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
4993 };
4994 #ifdef COBJMACROS
4995 #define IAMExtTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4996 #define IAMExtTransport_AddRef(This) (This)->lpVtbl->AddRef(This)
4997 #define IAMExtTransport_Release(This) (This)->lpVtbl->Release(This)
4998 #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
4999 #define IAMExtTransport_put_MediaState(This,State) (This)->lpVtbl->put_MediaState(This,State)
5000 #define IAMExtTransport_get_MediaState(This,pState) (This)->lpVtbl->get_MediaState(This,pState)
5001 #define IAMExtTransport_put_LocalControl(This,State) (This)->lpVtbl->put_LocalControl(This,State)
5002 #define IAMExtTransport_get_LocalControl(This,pState) (This)->lpVtbl->get_LocalControl(This,pState)
5003 #define IAMExtTransport_GetStatus(This,StatusItem,pValue) (This)->lpVtbl->GetStatus(This,StatusItem,pValue)
5004 #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) (This)->lpVtbl->GetTransportBasicParameters(This,Param,pValue,ppszData)
5005 #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) (This)->lpVtbl->SetTransportBasicParameters(This,Param,Value,pszData)
5006 #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) (This)->lpVtbl->GetTransportVideoParameters(This,Param,pValue)
5007 #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) (This)->lpVtbl->SetTransportVideoParameters(This,Param,Value)
5008 #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) (This)->lpVtbl->GetTransportAudioParameters(This,Param,pValue)
5009 #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) (This)->lpVtbl->SetTransportAudioParameters(This,Param,Value)
5010 #define IAMExtTransport_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode)
5011 #define IAMExtTransport_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
5012 #define IAMExtTransport_put_Rate(This,dblRate) (This)->lpVtbl->put_Rate(This,dblRate)
5013 #define IAMExtTransport_get_Rate(This,pdblRate) (This)->lpVtbl->get_Rate(This,pdblRate)
5014 #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) (This)->lpVtbl->GetChase(This,pEnabled,pOffset,phEvent)
5015 #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) (This)->lpVtbl->SetChase(This,Enable,Offset,hEvent)
5016 #define IAMExtTransport_GetBump(This,pSpeed,pDuration) (This)->lpVtbl->GetBump(This,pSpeed,pDuration)
5017 #define IAMExtTransport_SetBump(This,Speed,Duration) (This)->lpVtbl->SetBump(This,Speed,Duration)
5018 #define IAMExtTransport_get_AntiClogControl(This,pEnabled) (This)->lpVtbl->get_AntiClogControl(This,pEnabled)
5019 #define IAMExtTransport_put_AntiClogControl(This,Enable) (This)->lpVtbl->put_AntiClogControl(This,Enable)
5020 #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) (This)->lpVtbl->GetEditPropertySet(This,EditID,pState)
5021 #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) (This)->lpVtbl->SetEditPropertySet(This,pEditID,State)
5022 #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) (This)->lpVtbl->GetEditProperty(This,EditID,Param,pValue)
5023 #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) (This)->lpVtbl->SetEditProperty(This,EditID,Param,Value)
5024 #define IAMExtTransport_get_EditStart(This,pValue) (This)->lpVtbl->get_EditStart(This,pValue)
5025 #define IAMExtTransport_put_EditStart(This,Value) (This)->lpVtbl->put_EditStart(This,Value)
5026 #endif
5027 #endif
5028 HRESULT WINAPI IAMExtTransport_GetCapability_Proxy(IAMExtTransport *This,long Capability,long *pValue,double *pdblValue);
5029 void __RPC_STUB IAMExtTransport_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5030 HRESULT WINAPI IAMExtTransport_put_MediaState_Proxy(IAMExtTransport *This,long State);
5031 void __RPC_STUB IAMExtTransport_put_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5032 HRESULT WINAPI IAMExtTransport_get_MediaState_Proxy(IAMExtTransport *This,long *pState);
5033 void __RPC_STUB IAMExtTransport_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5034 HRESULT WINAPI IAMExtTransport_put_LocalControl_Proxy(IAMExtTransport *This,long State);
5035 void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5036 HRESULT WINAPI IAMExtTransport_get_LocalControl_Proxy(IAMExtTransport *This,long *pState);
5037 void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5038 HRESULT WINAPI IAMExtTransport_GetStatus_Proxy(IAMExtTransport *This,long StatusItem,long *pValue);
5039 void __RPC_STUB IAMExtTransport_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5040 HRESULT WINAPI IAMExtTransport_GetTransportBasicParameters_Proxy(IAMExtTransport *This,long Param,long *pValue,LPOLESTR *ppszData);
5041 void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5042 HRESULT WINAPI IAMExtTransport_SetTransportBasicParameters_Proxy(IAMExtTransport *This,long Param,long Value,LPCOLESTR pszData);
5043 void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5044 HRESULT WINAPI IAMExtTransport_GetTransportVideoParameters_Proxy(IAMExtTransport *This,long Param,long *pValue);
5045 void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5046 HRESULT WINAPI IAMExtTransport_SetTransportVideoParameters_Proxy(IAMExtTransport *This,long Param,long Value);
5047 void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5048 HRESULT WINAPI IAMExtTransport_GetTransportAudioParameters_Proxy(IAMExtTransport *This,long Param,long *pValue);
5049 void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5050 HRESULT WINAPI IAMExtTransport_SetTransportAudioParameters_Proxy(IAMExtTransport *This,long Param,long Value);
5051 void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5052 HRESULT WINAPI IAMExtTransport_put_Mode_Proxy(IAMExtTransport *This,long Mode);
5053 void __RPC_STUB IAMExtTransport_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5054 HRESULT WINAPI IAMExtTransport_get_Mode_Proxy(IAMExtTransport *This,long *pMode);
5055 void __RPC_STUB IAMExtTransport_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5056 HRESULT WINAPI IAMExtTransport_put_Rate_Proxy(IAMExtTransport *This,double dblRate);
5057 void __RPC_STUB IAMExtTransport_put_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5058 HRESULT WINAPI IAMExtTransport_get_Rate_Proxy(IAMExtTransport *This,double *pdblRate);
5059 void __RPC_STUB IAMExtTransport_get_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5060 HRESULT WINAPI IAMExtTransport_GetChase_Proxy(IAMExtTransport *This,long *pEnabled,long *pOffset,HEVENT *phEvent);
5061 void __RPC_STUB IAMExtTransport_GetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5062 HRESULT WINAPI IAMExtTransport_SetChase_Proxy(IAMExtTransport *This,long Enable,long Offset,HEVENT hEvent);
5063 void __RPC_STUB IAMExtTransport_SetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5064 HRESULT WINAPI IAMExtTransport_GetBump_Proxy(IAMExtTransport *This,long *pSpeed,long *pDuration);
5065 void __RPC_STUB IAMExtTransport_GetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5066 HRESULT WINAPI IAMExtTransport_SetBump_Proxy(IAMExtTransport *This,long Speed,long Duration);
5067 void __RPC_STUB IAMExtTransport_SetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5068 HRESULT WINAPI IAMExtTransport_get_AntiClogControl_Proxy(IAMExtTransport *This,long *pEnabled);
5069 void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5070 HRESULT WINAPI IAMExtTransport_put_AntiClogControl_Proxy(IAMExtTransport *This,long Enable);
5071 void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5072 HRESULT WINAPI IAMExtTransport_GetEditPropertySet_Proxy(IAMExtTransport *This,long EditID,long *pState);
5073 void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5074 HRESULT WINAPI IAMExtTransport_SetEditPropertySet_Proxy(IAMExtTransport *This,long *pEditID,long State);
5075 void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5076 HRESULT WINAPI IAMExtTransport_GetEditProperty_Proxy(IAMExtTransport *This,long EditID,long Param,long *pValue);
5077 void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5078 HRESULT WINAPI IAMExtTransport_SetEditProperty_Proxy(IAMExtTransport *This,long EditID,long Param,long Value);
5079 void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5080 HRESULT WINAPI IAMExtTransport_get_EditStart_Proxy(IAMExtTransport *This,long *pValue);
5081 void __RPC_STUB IAMExtTransport_get_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5082 HRESULT WINAPI IAMExtTransport_put_EditStart_Proxy(IAMExtTransport *This,long Value);
5083 void __RPC_STUB IAMExtTransport_put_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5084 #endif
5085
5086 typedef IAMExtTransport *PIAMEXTTRANSPORT;
5087
5088 #ifndef TIMECODE_DEFINED
5089 #define TIMECODE_DEFINED
5090 typedef union _timecode {
5091 __MINGW_EXTENSION struct {
5092 WORD wFrameRate;
5093 WORD wFrameFract;
5094 DWORD dwFrames;
5095 };
5096 DWORDLONG qw;
5097 } TIMECODE;
5098 #endif
5099
5100 typedef TIMECODE *PTIMECODE;
5101
5102 typedef struct tagTIMECODE_SAMPLE {
5103 LONGLONG qwTick;
5104 TIMECODE timecode;
5105 DWORD dwUser;
5106 DWORD dwFlags;
5107 } TIMECODE_SAMPLE;
5108
5109 typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
5110
5111 extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec;
5112 extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec;
5113 #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
5114 #define __IAMTimecodeReader_INTERFACE_DEFINED__
5115 EXTERN_C const IID IID_IAMTimecodeReader;
5116 #if defined(__cplusplus) && !defined(CINTERFACE)
5117 struct IAMTimecodeReader : public IUnknown {
5118 public:
5119 virtual HRESULT WINAPI GetTCRMode(long Param,long *pValue) = 0;
5120 virtual HRESULT WINAPI SetTCRMode(long Param,long Value) = 0;
5121 virtual HRESULT WINAPI put_VITCLine(long Line) = 0;
5122 virtual HRESULT WINAPI get_VITCLine(long *pLine) = 0;
5123 virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
5124 };
5125 #else
5126 typedef struct IAMTimecodeReaderVtbl {
5127 BEGIN_INTERFACE
5128 HRESULT (WINAPI *QueryInterface)(IAMTimecodeReader *This,REFIID riid,void **ppvObject);
5129 ULONG (WINAPI *AddRef)(IAMTimecodeReader *This);
5130 ULONG (WINAPI *Release)(IAMTimecodeReader *This);
5131 HRESULT (WINAPI *GetTCRMode)(IAMTimecodeReader *This,long Param,long *pValue);
5132 HRESULT (WINAPI *SetTCRMode)(IAMTimecodeReader *This,long Param,long Value);
5133 HRESULT (WINAPI *put_VITCLine)(IAMTimecodeReader *This,long Line);
5134 HRESULT (WINAPI *get_VITCLine)(IAMTimecodeReader *This,long *pLine);
5135 HRESULT (WINAPI *GetTimecode)(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
5136 END_INTERFACE
5137 } IAMTimecodeReaderVtbl;
5138 struct IAMTimecodeReader {
5139 CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
5140 };
5141 #ifdef COBJMACROS
5142 #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5143 #define IAMTimecodeReader_AddRef(This) (This)->lpVtbl->AddRef(This)
5144 #define IAMTimecodeReader_Release(This) (This)->lpVtbl->Release(This)
5145 #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) (This)->lpVtbl->GetTCRMode(This,Param,pValue)
5146 #define IAMTimecodeReader_SetTCRMode(This,Param,Value) (This)->lpVtbl->SetTCRMode(This,Param,Value)
5147 #define IAMTimecodeReader_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
5148 #define IAMTimecodeReader_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
5149 #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
5150 #endif
5151 #endif
5152 HRESULT WINAPI IAMTimecodeReader_GetTCRMode_Proxy(IAMTimecodeReader *This,long Param,long *pValue);
5153 void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5154 HRESULT WINAPI IAMTimecodeReader_SetTCRMode_Proxy(IAMTimecodeReader *This,long Param,long Value);
5155 void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5156 HRESULT WINAPI IAMTimecodeReader_put_VITCLine_Proxy(IAMTimecodeReader *This,long Line);
5157 void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5158 HRESULT WINAPI IAMTimecodeReader_get_VITCLine_Proxy(IAMTimecodeReader *This,long *pLine);
5159 void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5160 HRESULT WINAPI IAMTimecodeReader_GetTimecode_Proxy(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
5161 void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5162 #endif
5163
5164 typedef IAMTimecodeReader *PIAMTIMECODEREADER;
5165
5166 extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
5167 extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
5168 #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
5169 #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
5170 EXTERN_C const IID IID_IAMTimecodeGenerator;
5171 #if defined(__cplusplus) && !defined(CINTERFACE)
5172 struct IAMTimecodeGenerator : public IUnknown {
5173 public:
5174 virtual HRESULT WINAPI GetTCGMode(long Param,long *pValue) = 0;
5175 virtual HRESULT WINAPI SetTCGMode(long Param,long Value) = 0;
5176 virtual HRESULT WINAPI put_VITCLine(long Line) = 0;
5177 virtual HRESULT WINAPI get_VITCLine(long *pLine) = 0;
5178 virtual HRESULT WINAPI SetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
5179 virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
5180 };
5181 #else
5182 typedef struct IAMTimecodeGeneratorVtbl {
5183 BEGIN_INTERFACE
5184 HRESULT (WINAPI *QueryInterface)(IAMTimecodeGenerator *This,REFIID riid,void **ppvObject);
5185 ULONG (WINAPI *AddRef)(IAMTimecodeGenerator *This);
5186 ULONG (WINAPI *Release)(IAMTimecodeGenerator *This);
5187 HRESULT (WINAPI *GetTCGMode)(IAMTimecodeGenerator *This,long Param,long *pValue);
5188 HRESULT (WINAPI *SetTCGMode)(IAMTimecodeGenerator *This,long Param,long Value);
5189 HRESULT (WINAPI *put_VITCLine)(IAMTimecodeGenerator *This,long Line);
5190 HRESULT (WINAPI *get_VITCLine)(IAMTimecodeGenerator *This,long *pLine);
5191 HRESULT (WINAPI *SetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
5192 HRESULT (WINAPI *GetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
5193 END_INTERFACE
5194 } IAMTimecodeGeneratorVtbl;
5195 struct IAMTimecodeGenerator {
5196 CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
5197 };
5198 #ifdef COBJMACROS
5199 #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5200 #define IAMTimecodeGenerator_AddRef(This) (This)->lpVtbl->AddRef(This)
5201 #define IAMTimecodeGenerator_Release(This) (This)->lpVtbl->Release(This)
5202 #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) (This)->lpVtbl->GetTCGMode(This,Param,pValue)
5203 #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) (This)->lpVtbl->SetTCGMode(This,Param,Value)
5204 #define IAMTimecodeGenerator_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
5205 #define IAMTimecodeGenerator_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
5206 #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) (This)->lpVtbl->SetTimecode(This,pTimecodeSample)
5207 #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
5208 #endif
5209 #endif
5210 HRESULT WINAPI IAMTimecodeGenerator_GetTCGMode_Proxy(IAMTimecodeGenerator *This,long Param,long *pValue);
5211 void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5212 HRESULT WINAPI IAMTimecodeGenerator_SetTCGMode_Proxy(IAMTimecodeGenerator *This,long Param,long Value);
5213 void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5214 HRESULT WINAPI IAMTimecodeGenerator_put_VITCLine_Proxy(IAMTimecodeGenerator *This,long Line);
5215 void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5216 HRESULT WINAPI IAMTimecodeGenerator_get_VITCLine_Proxy(IAMTimecodeGenerator *This,long *pLine);
5217 void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5218 HRESULT WINAPI IAMTimecodeGenerator_SetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
5219 void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5220 HRESULT WINAPI IAMTimecodeGenerator_GetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
5221 void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5222 #endif
5223
5224 typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
5225
5226 extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
5227 extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
5228 #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
5229 #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
5230 EXTERN_C const IID IID_IAMTimecodeDisplay;
5231 #if defined(__cplusplus) && !defined(CINTERFACE)
5232 struct IAMTimecodeDisplay : public IUnknown {
5233 public:
5234 virtual HRESULT WINAPI GetTCDisplayEnable(long *pState) = 0;
5235 virtual HRESULT WINAPI SetTCDisplayEnable(long State) = 0;
5236 virtual HRESULT WINAPI GetTCDisplay(long Param,long *pValue) = 0;
5237 virtual HRESULT WINAPI SetTCDisplay(long Param,long Value) = 0;
5238 };
5239 #else
5240 typedef struct IAMTimecodeDisplayVtbl {
5241 BEGIN_INTERFACE
5242 HRESULT (WINAPI *QueryInterface)(IAMTimecodeDisplay *This,REFIID riid,void **ppvObject);
5243 ULONG (WINAPI *AddRef)(IAMTimecodeDisplay *This);
5244 ULONG (WINAPI *Release)(IAMTimecodeDisplay *This);
5245 HRESULT (WINAPI *GetTCDisplayEnable)(IAMTimecodeDisplay *This,long *pState);
5246 HRESULT (WINAPI *SetTCDisplayEnable)(IAMTimecodeDisplay *This,long State);
5247 HRESULT (WINAPI *GetTCDisplay)(IAMTimecodeDisplay *This,long Param,long *pValue);
5248 HRESULT (WINAPI *SetTCDisplay)(IAMTimecodeDisplay *This,long Param,long Value);
5249 END_INTERFACE
5250 } IAMTimecodeDisplayVtbl;
5251 struct IAMTimecodeDisplay {
5252 CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
5253 };
5254 #ifdef COBJMACROS
5255 #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5256 #define IAMTimecodeDisplay_AddRef(This) (This)->lpVtbl->AddRef(This)
5257 #define IAMTimecodeDisplay_Release(This) (This)->lpVtbl->Release(This)
5258 #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) (This)->lpVtbl->GetTCDisplayEnable(This,pState)
5259 #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) (This)->lpVtbl->SetTCDisplayEnable(This,State)
5260 #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) (This)->lpVtbl->GetTCDisplay(This,Param,pValue)
5261 #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) (This)->lpVtbl->SetTCDisplay(This,Param,Value)
5262 #endif
5263 #endif
5264 HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,long *pState);
5265 void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5266 HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,long State);
5267 void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5268 HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplay_Proxy(IAMTimecodeDisplay *This,long Param,long *pValue);
5269 void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5270 HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplay_Proxy(IAMTimecodeDisplay *This,long Param,long Value);
5271 void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5272 #endif
5273
5274 typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
5275
5276 extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec;
5277 extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec;
5278 #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
5279 #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
5280 EXTERN_C const IID IID_IAMDevMemoryAllocator;
5281 #if defined(__cplusplus) && !defined(CINTERFACE)
5282 struct IAMDevMemoryAllocator : public IUnknown {
5283 public:
5284 virtual HRESULT WINAPI GetInfo(DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk) = 0;
5285 virtual HRESULT WINAPI CheckMemory(const BYTE *pBuffer) = 0;
5286 virtual HRESULT WINAPI Alloc(BYTE **ppBuffer,DWORD *pdwcbBuffer) = 0;
5287 virtual HRESULT WINAPI Free(BYTE *pBuffer) = 0;
5288 virtual HRESULT WINAPI GetDevMemoryObject(IUnknown **ppUnkInnner,IUnknown *pUnkOuter) = 0;
5289 };
5290 #else
5291 typedef struct IAMDevMemoryAllocatorVtbl {
5292 BEGIN_INTERFACE
5293 HRESULT (WINAPI *QueryInterface)(IAMDevMemoryAllocator *This,REFIID riid,void **ppvObject);
5294 ULONG (WINAPI *AddRef)(IAMDevMemoryAllocator *This);
5295 ULONG (WINAPI *Release)(IAMDevMemoryAllocator *This);
5296 HRESULT (WINAPI *GetInfo)(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
5297 HRESULT (WINAPI *CheckMemory)(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
5298 HRESULT (WINAPI *Alloc)(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
5299 HRESULT (WINAPI *Free)(IAMDevMemoryAllocator *This,BYTE *pBuffer);
5300 HRESULT (WINAPI *GetDevMemoryObject)(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
5301 END_INTERFACE
5302 } IAMDevMemoryAllocatorVtbl;
5303 struct IAMDevMemoryAllocator {
5304 CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
5305 };
5306 #ifdef COBJMACROS
5307 #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5308 #define IAMDevMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
5309 #define IAMDevMemoryAllocator_Release(This) (This)->lpVtbl->Release(This)
5310 #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) (This)->lpVtbl->GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
5311 #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) (This)->lpVtbl->CheckMemory(This,pBuffer)
5312 #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) (This)->lpVtbl->Alloc(This,ppBuffer,pdwcbBuffer)
5313 #define IAMDevMemoryAllocator_Free(This,pBuffer) (This)->lpVtbl->Free(This,pBuffer)
5314 #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) (This)->lpVtbl->GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
5315 #endif
5316 #endif
5317 HRESULT WINAPI IAMDevMemoryAllocator_GetInfo_Proxy(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
5318 void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5319 HRESULT WINAPI IAMDevMemoryAllocator_CheckMemory_Proxy(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
5320 void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5321 HRESULT WINAPI IAMDevMemoryAllocator_Alloc_Proxy(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
5322 void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5323 HRESULT WINAPI IAMDevMemoryAllocator_Free_Proxy(IAMDevMemoryAllocator *This,BYTE *pBuffer);
5324 void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5325 HRESULT WINAPI IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
5326 void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5327 #endif
5328
5329 typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
5330
5331 extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
5332 extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
5333 #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
5334 #define __IAMDevMemoryControl_INTERFACE_DEFINED__
5335 EXTERN_C const IID IID_IAMDevMemoryControl;
5336 #if defined(__cplusplus) && !defined(CINTERFACE)
5337 struct IAMDevMemoryControl : public IUnknown {
5338 public:
5339 virtual HRESULT WINAPI QueryWriteSync(void) = 0;
5340 virtual HRESULT WINAPI WriteSync(void) = 0;
5341 virtual HRESULT WINAPI GetDevId(DWORD *pdwDevId) = 0;
5342 };
5343 #else
5344 typedef struct IAMDevMemoryControlVtbl {
5345 BEGIN_INTERFACE
5346 HRESULT (WINAPI *QueryInterface)(IAMDevMemoryControl *This,REFIID riid,void **ppvObject);
5347 ULONG (WINAPI *AddRef)(IAMDevMemoryControl *This);
5348 ULONG (WINAPI *Release)(IAMDevMemoryControl *This);
5349 HRESULT (WINAPI *QueryWriteSync)(IAMDevMemoryControl *This);
5350 HRESULT (WINAPI *WriteSync)(IAMDevMemoryControl *This);
5351 HRESULT (WINAPI *GetDevId)(IAMDevMemoryControl *This,DWORD *pdwDevId);
5352 END_INTERFACE
5353 } IAMDevMemoryControlVtbl;
5354 struct IAMDevMemoryControl {
5355 CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
5356 };
5357 #ifdef COBJMACROS
5358 #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5359 #define IAMDevMemoryControl_AddRef(This) (This)->lpVtbl->AddRef(This)
5360 #define IAMDevMemoryControl_Release(This) (This)->lpVtbl->Release(This)
5361 #define IAMDevMemoryControl_QueryWriteSync(This) (This)->lpVtbl->QueryWriteSync(This)
5362 #define IAMDevMemoryControl_WriteSync(This) (This)->lpVtbl->WriteSync(This)
5363 #define IAMDevMemoryControl_GetDevId(This,pdwDevId) (This)->lpVtbl->GetDevId(This,pdwDevId)
5364 #endif
5365 #endif
5366 HRESULT WINAPI IAMDevMemoryControl_QueryWriteSync_Proxy(IAMDevMemoryControl *This);
5367 void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5368 HRESULT WINAPI IAMDevMemoryControl_WriteSync_Proxy(IAMDevMemoryControl *This);
5369 void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5370 HRESULT WINAPI IAMDevMemoryControl_GetDevId_Proxy(IAMDevMemoryControl *This,DWORD *pdwDevId);
5371 void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5372 #endif
5373
5374 typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
5375
5376 enum _AMSTREAMSELECTINFOFLAGS {
5377 AMSTREAMSELECTINFO_ENABLED = 0x1,AMSTREAMSELECTINFO_EXCLUSIVE = 0x2
5378 };
5379
5380 enum _AMSTREAMSELECTENABLEFLAGS {
5381 AMSTREAMSELECTENABLE_ENABLE = 0x1,AMSTREAMSELECTENABLE_ENABLEALL = 0x2
5382 };
5383
5384 extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;
5385 extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;
5386 #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
5387 #define __IAMStreamSelect_INTERFACE_DEFINED__
5388 EXTERN_C const IID IID_IAMStreamSelect;
5389 #if defined(__cplusplus) && !defined(CINTERFACE)
5390 struct IAMStreamSelect : public IUnknown {
5391 public:
5392 virtual HRESULT WINAPI Count(DWORD *pcStreams) = 0;
5393 virtual HRESULT WINAPI Info(long lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk) = 0;
5394 virtual HRESULT WINAPI Enable(long lIndex,DWORD dwFlags) = 0;
5395 };
5396 #else
5397 typedef struct IAMStreamSelectVtbl {
5398 BEGIN_INTERFACE
5399 HRESULT (WINAPI *QueryInterface)(IAMStreamSelect *This,REFIID riid,void **ppvObject);
5400 ULONG (WINAPI *AddRef)(IAMStreamSelect *This);
5401 ULONG (WINAPI *Release)(IAMStreamSelect *This);
5402 HRESULT (WINAPI *Count)(IAMStreamSelect *This,DWORD *pcStreams);
5403 HRESULT (WINAPI *Info)(IAMStreamSelect *This,long lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk);
5404 HRESULT (WINAPI *Enable)(IAMStreamSelect *This,long lIndex,DWORD dwFlags);
5405 END_INTERFACE
5406 } IAMStreamSelectVtbl;
5407 struct IAMStreamSelect {
5408 CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
5409 };
5410 #ifdef COBJMACROS
5411 #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5412 #define IAMStreamSelect_AddRef(This) (This)->lpVtbl->AddRef(This)
5413 #define IAMStreamSelect_Release(This) (This)->lpVtbl->Release(This)
5414 #define IAMStreamSelect_Count(This,pcStreams) (This)->lpVtbl->Count(This,pcStreams)
5415 #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) (This)->lpVtbl->Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
5416 #define IAMStreamSelect_Enable(This,lIndex,dwFlags) (This)->lpVtbl->Enable(This,lIndex,dwFlags)
5417 #endif
5418 #endif
5419 HRESULT WINAPI IAMStreamSelect_Count_Proxy(IAMStreamSelect *This,DWORD *pcStreams);
5420 void __RPC_STUB IAMStreamSelect_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5421 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);
5422 void __RPC_STUB IAMStreamSelect_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5423 HRESULT WINAPI IAMStreamSelect_Enable_Proxy(IAMStreamSelect *This,long lIndex,DWORD dwFlags);
5424 void __RPC_STUB IAMStreamSelect_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5425 #endif
5426
5427 typedef IAMStreamSelect *PAMSTREAMSELECT;
5428
5429 enum _AMRESCTL_RESERVEFLAGS {
5430 AMRESCTL_RESERVEFLAGS_RESERVE = 0,AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
5431 };
5432
5433 extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
5434 extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
5435 #ifndef __IAMResourceControl_INTERFACE_DEFINED__
5436 #define __IAMResourceControl_INTERFACE_DEFINED__
5437 EXTERN_C const IID IID_IAMResourceControl;
5438 #if defined(__cplusplus) && !defined(CINTERFACE)
5439 struct IAMResourceControl : public IUnknown {
5440 public:
5441 virtual HRESULT WINAPI Reserve(DWORD dwFlags,PVOID pvReserved) = 0;
5442 };
5443 #else
5444 typedef struct IAMResourceControlVtbl {
5445 BEGIN_INTERFACE
5446 HRESULT (WINAPI *QueryInterface)(IAMResourceControl *This,REFIID riid,void **ppvObject);
5447 ULONG (WINAPI *AddRef)(IAMResourceControl *This);
5448 ULONG (WINAPI *Release)(IAMResourceControl *This);
5449 HRESULT (WINAPI *Reserve)(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
5450 END_INTERFACE
5451 } IAMResourceControlVtbl;
5452 struct IAMResourceControl {
5453 CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
5454 };
5455 #ifdef COBJMACROS
5456 #define IAMResourceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5457 #define IAMResourceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
5458 #define IAMResourceControl_Release(This) (This)->lpVtbl->Release(This)
5459 #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) (This)->lpVtbl->Reserve(This,dwFlags,pvReserved)
5460 #endif
5461 #endif
5462 HRESULT WINAPI IAMResourceControl_Reserve_Proxy(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
5463 void __RPC_STUB IAMResourceControl_Reserve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5464 #endif
5465
5466 #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
5467 #define __IAMClockAdjust_INTERFACE_DEFINED__
5468 EXTERN_C const IID IID_IAMClockAdjust;
5469 #if defined(__cplusplus) && !defined(CINTERFACE)
5470 struct IAMClockAdjust : public IUnknown {
5471 public:
5472 virtual HRESULT WINAPI SetClockDelta(REFERENCE_TIME rtDelta) = 0;
5473 };
5474 #else
5475 typedef struct IAMClockAdjustVtbl {
5476 BEGIN_INTERFACE
5477 HRESULT (WINAPI *QueryInterface)(IAMClockAdjust *This,REFIID riid,void **ppvObject);
5478 ULONG (WINAPI *AddRef)(IAMClockAdjust *This);
5479 ULONG (WINAPI *Release)(IAMClockAdjust *This);
5480 HRESULT (WINAPI *SetClockDelta)(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
5481 END_INTERFACE
5482 } IAMClockAdjustVtbl;
5483 struct IAMClockAdjust {
5484 CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
5485 };
5486 #ifdef COBJMACROS
5487 #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5488 #define IAMClockAdjust_AddRef(This) (This)->lpVtbl->AddRef(This)
5489 #define IAMClockAdjust_Release(This) (This)->lpVtbl->Release(This)
5490 #define IAMClockAdjust_SetClockDelta(This,rtDelta) (This)->lpVtbl->SetClockDelta(This,rtDelta)
5491 #endif
5492 #endif
5493 HRESULT WINAPI IAMClockAdjust_SetClockDelta_Proxy(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
5494 void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5495 #endif
5496
5497 enum _AM_FILTER_MISC_FLAGS {
5498 AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
5499 };
5500
5501 extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_c_ifspec;
5502 extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_s_ifspec;
5503 #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
5504 #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
5505 EXTERN_C const IID IID_IAMFilterMiscFlags;
5506 #if defined(__cplusplus) && !defined(CINTERFACE)
5507 struct IAMFilterMiscFlags : public IUnknown {
5508 public:
5509 virtual ULONG WINAPI GetMiscFlags(void) = 0;
5510 };
5511 #else
5512 typedef struct IAMFilterMiscFlagsVtbl {
5513 BEGIN_INTERFACE
5514 HRESULT (WINAPI *QueryInterface)(IAMFilterMiscFlags *This,REFIID riid,void **ppvObject);
5515 ULONG (WINAPI *AddRef)(IAMFilterMiscFlags *This);
5516 ULONG (WINAPI *Release)(IAMFilterMiscFlags *This);
5517 ULONG (WINAPI *GetMiscFlags)(IAMFilterMiscFlags *This);
5518 END_INTERFACE
5519 } IAMFilterMiscFlagsVtbl;
5520 struct IAMFilterMiscFlags {
5521 CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
5522 };
5523 #ifdef COBJMACROS
5524 #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5525 #define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This)
5526 #define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This)
5527 #define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This)
5528 #endif
5529 #endif
5530 ULONG WINAPI IAMFilterMiscFlags_GetMiscFlags_Proxy(IAMFilterMiscFlags *This);
5531 void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5532 #endif
5533
5534 #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
5535 #define __IDrawVideoImage_INTERFACE_DEFINED__
5536 EXTERN_C const IID IID_IDrawVideoImage;
5537 #if defined(__cplusplus) && !defined(CINTERFACE)
5538 struct IDrawVideoImage : public IUnknown {
5539 public:
5540 virtual HRESULT WINAPI DrawVideoImageBegin(void) = 0;
5541 virtual HRESULT WINAPI DrawVideoImageEnd(void) = 0;
5542 virtual HRESULT WINAPI DrawVideoImageDraw(HDC hdc,LPRECT lprcSrc,LPRECT lprcDst) = 0;
5543 };
5544 #else
5545 typedef struct IDrawVideoImageVtbl {
5546 BEGIN_INTERFACE
5547 HRESULT (WINAPI *QueryInterface)(IDrawVideoImage *This,REFIID riid,void **ppvObject);
5548 ULONG (WINAPI *AddRef)(IDrawVideoImage *This);
5549 ULONG (WINAPI *Release)(IDrawVideoImage *This);
5550 HRESULT (WINAPI *DrawVideoImageBegin)(IDrawVideoImage *This);
5551 HRESULT (WINAPI *DrawVideoImageEnd)(IDrawVideoImage *This);
5552 HRESULT (WINAPI *DrawVideoImageDraw)(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
5553 END_INTERFACE
5554 } IDrawVideoImageVtbl;
5555 struct IDrawVideoImage {
5556 CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
5557 };
5558 #ifdef COBJMACROS
5559 #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5560 #define IDrawVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
5561 #define IDrawVideoImage_Release(This) (This)->lpVtbl->Release(This)
5562 #define IDrawVideoImage_DrawVideoImageBegin(This) (This)->lpVtbl->DrawVideoImageBegin(This)
5563 #define IDrawVideoImage_DrawVideoImageEnd(This) (This)->lpVtbl->DrawVideoImageEnd(This)
5564 #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) (This)->lpVtbl->DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
5565 #endif
5566 #endif
5567 HRESULT WINAPI IDrawVideoImage_DrawVideoImageBegin_Proxy(IDrawVideoImage *This);
5568 void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5569 HRESULT WINAPI IDrawVideoImage_DrawVideoImageEnd_Proxy(IDrawVideoImage *This);
5570 void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5571 HRESULT WINAPI IDrawVideoImage_DrawVideoImageDraw_Proxy(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
5572 void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5573 #endif
5574
5575 #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
5576 #define __IDecimateVideoImage_INTERFACE_DEFINED__
5577 EXTERN_C const IID IID_IDecimateVideoImage;
5578 #if defined(__cplusplus) && !defined(CINTERFACE)
5579 struct IDecimateVideoImage : public IUnknown {
5580 public:
5581 virtual HRESULT WINAPI SetDecimationImageSize(long lWidth,long lHeight) = 0;
5582 virtual HRESULT WINAPI ResetDecimationImageSize(void) = 0;
5583 };
5584 #else
5585 typedef struct IDecimateVideoImageVtbl {
5586 BEGIN_INTERFACE
5587 HRESULT (WINAPI *QueryInterface)(IDecimateVideoImage *This,REFIID riid,void **ppvObject);
5588 ULONG (WINAPI *AddRef)(IDecimateVideoImage *This);
5589 ULONG (WINAPI *Release)(IDecimateVideoImage *This);
5590 HRESULT (WINAPI *SetDecimationImageSize)(IDecimateVideoImage *This,long lWidth,long lHeight);
5591 HRESULT (WINAPI *ResetDecimationImageSize)(IDecimateVideoImage *This);
5592 END_INTERFACE
5593 } IDecimateVideoImageVtbl;
5594 struct IDecimateVideoImage {
5595 CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
5596 };
5597 #ifdef COBJMACROS
5598 #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5599 #define IDecimateVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
5600 #define IDecimateVideoImage_Release(This) (This)->lpVtbl->Release(This)
5601 #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) (This)->lpVtbl->SetDecimationImageSize(This,lWidth,lHeight)
5602 #define IDecimateVideoImage_ResetDecimationImageSize(This) (This)->lpVtbl->ResetDecimationImageSize(This)
5603 #endif
5604 #endif
5605 HRESULT WINAPI IDecimateVideoImage_SetDecimationImageSize_Proxy(IDecimateVideoImage *This,long lWidth,long lHeight);
5606 void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5607 HRESULT WINAPI IDecimateVideoImage_ResetDecimationImageSize_Proxy(IDecimateVideoImage *This);
5608 void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5609 #endif
5610
5611 typedef enum _DECIMATION_USAGE {
5612 DECIMATION_LEGACY = 0,
5613 DECIMATION_USE_DECODER_ONLY,DECIMATION_USE_VIDEOPORT_ONLY,DECIMATION_USE_OVERLAY_ONLY,
5614 DECIMATION_DEFAULT
5615 } DECIMATION_USAGE;
5616
5617 extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
5618 extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
5619 #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
5620 #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
5621 EXTERN_C const IID IID_IAMVideoDecimationProperties;
5622 #if defined(__cplusplus) && !defined(CINTERFACE)
5623 struct IAMVideoDecimationProperties : public IUnknown {
5624 public:
5625 virtual HRESULT WINAPI QueryDecimationUsage(DECIMATION_USAGE *lpUsage) = 0;
5626 virtual HRESULT WINAPI SetDecimationUsage(DECIMATION_USAGE Usage) = 0;
5627 };
5628 #else
5629 typedef struct IAMVideoDecimationPropertiesVtbl {
5630 BEGIN_INTERFACE
5631 HRESULT (WINAPI *QueryInterface)(IAMVideoDecimationProperties *This,REFIID riid,void **ppvObject);
5632 ULONG (WINAPI *AddRef)(IAMVideoDecimationProperties *This);
5633 ULONG (WINAPI *Release)(IAMVideoDecimationProperties *This);
5634 HRESULT (WINAPI *QueryDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
5635 HRESULT (WINAPI *SetDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
5636 END_INTERFACE
5637 } IAMVideoDecimationPropertiesVtbl;
5638 struct IAMVideoDecimationProperties {
5639 CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
5640 };
5641 #ifdef COBJMACROS
5642 #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5643 #define IAMVideoDecimationProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
5644 #define IAMVideoDecimationProperties_Release(This) (This)->lpVtbl->Release(This)
5645 #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) (This)->lpVtbl->QueryDecimationUsage(This,lpUsage)
5646 #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) (This)->lpVtbl->SetDecimationUsage(This,Usage)
5647 #endif
5648 #endif
5649 HRESULT WINAPI IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
5650 void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5651 HRESULT WINAPI IAMVideoDecimationProperties_SetDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
5652 void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5653 #endif
5654
5655 #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
5656 #define __IVideoFrameStep_INTERFACE_DEFINED__
5657 EXTERN_C const IID IID_IVideoFrameStep;
5658 #if defined(__cplusplus) && !defined(CINTERFACE)
5659 struct IVideoFrameStep : public IUnknown {
5660 public:
5661 virtual HRESULT WINAPI Step(DWORD dwFrames,IUnknown *pStepObject) = 0;
5662 virtual HRESULT WINAPI CanStep(long bMultiple,IUnknown *pStepObject) = 0;
5663 virtual HRESULT WINAPI CancelStep(void) = 0;
5664 };
5665 #else
5666 typedef struct IVideoFrameStepVtbl {
5667 BEGIN_INTERFACE
5668 HRESULT (WINAPI *QueryInterface)(IVideoFrameStep *This,REFIID riid,void **ppvObject);
5669 ULONG (WINAPI *AddRef)(IVideoFrameStep *This);
5670 ULONG (WINAPI *Release)(IVideoFrameStep *This);
5671 HRESULT (WINAPI *Step)(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject);
5672 HRESULT (WINAPI *CanStep)(IVideoFrameStep *This,long bMultiple,IUnknown *pStepObject);
5673 HRESULT (WINAPI *CancelStep)(IVideoFrameStep *This);
5674 END_INTERFACE
5675 } IVideoFrameStepVtbl;
5676 struct IVideoFrameStep {
5677 CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
5678 };
5679 #ifdef COBJMACROS
5680 #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5681 #define IVideoFrameStep_AddRef(This) (This)->lpVtbl->AddRef(This)
5682 #define IVideoFrameStep_Release(This) (This)->lpVtbl->Release(This)
5683 #define IVideoFrameStep_Step(This,dwFrames,pStepObject) (This)->lpVtbl->Step(This,dwFrames,pStepObject)
5684 #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject) (This)->lpVtbl->CanStep(This,bMultiple,pStepObject)
5685 #define IVideoFrameStep_CancelStep(This) (This)->lpVtbl->CancelStep(This)
5686 #endif
5687 #endif
5688 HRESULT WINAPI IVideoFrameStep_Step_Proxy(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject);
5689 void __RPC_STUB IVideoFrameStep_Step_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5690 HRESULT WINAPI IVideoFrameStep_CanStep_Proxy(IVideoFrameStep *This,long bMultiple,IUnknown *pStepObject);
5691 void __RPC_STUB IVideoFrameStep_CanStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5692 HRESULT WINAPI IVideoFrameStep_CancelStep_Proxy(IVideoFrameStep *This);
5693 void __RPC_STUB IVideoFrameStep_CancelStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5694 #endif
5695
5696 enum _AM_PUSHSOURCE_FLAGS {
5697 AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4,
5698 AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000
5699 };
5700
5701 extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec;
5702 extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec;
5703 #ifndef __IAMLatency_INTERFACE_DEFINED__
5704 #define __IAMLatency_INTERFACE_DEFINED__
5705 EXTERN_C const IID IID_IAMLatency;
5706 #if defined(__cplusplus) && !defined(CINTERFACE)
5707 struct IAMLatency : public IUnknown {
5708 public:
5709 virtual HRESULT WINAPI GetLatency(REFERENCE_TIME *prtLatency) = 0;
5710 };
5711 #else
5712 typedef struct IAMLatencyVtbl {
5713 BEGIN_INTERFACE
5714 HRESULT (WINAPI *QueryInterface)(IAMLatency *This,REFIID riid,void **ppvObject);
5715 ULONG (WINAPI *AddRef)(IAMLatency *This);
5716 ULONG (WINAPI *Release)(IAMLatency *This);
5717 HRESULT (WINAPI *GetLatency)(IAMLatency *This,REFERENCE_TIME *prtLatency);
5718 END_INTERFACE
5719 } IAMLatencyVtbl;
5720 struct IAMLatency {
5721 CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
5722 };
5723 #ifdef COBJMACROS
5724 #define IAMLatency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5725 #define IAMLatency_AddRef(This) (This)->lpVtbl->AddRef(This)
5726 #define IAMLatency_Release(This) (This)->lpVtbl->Release(This)
5727 #define IAMLatency_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency)
5728 #endif
5729 #endif
5730 HRESULT WINAPI IAMLatency_GetLatency_Proxy(IAMLatency *This,REFERENCE_TIME *prtLatency);
5731 void __RPC_STUB IAMLatency_GetLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5732 #endif
5733
5734 #ifndef __IAMPushSource_INTERFACE_DEFINED__
5735 #define __IAMPushSource_INTERFACE_DEFINED__
5736 EXTERN_C const IID IID_IAMPushSource;
5737 #if defined(__cplusplus) && !defined(CINTERFACE)
5738 struct IAMPushSource : public IAMLatency {
5739 public:
5740 virtual HRESULT WINAPI GetPushSourceFlags(ULONG *pFlags) = 0;
5741 virtual HRESULT WINAPI SetPushSourceFlags(ULONG Flags) = 0;
5742 virtual HRESULT WINAPI SetStreamOffset(REFERENCE_TIME rtOffset) = 0;
5743 virtual HRESULT WINAPI GetStreamOffset(REFERENCE_TIME *prtOffset) = 0;
5744 virtual HRESULT WINAPI GetMaxStreamOffset(REFERENCE_TIME *prtMaxOffset) = 0;
5745 virtual HRESULT WINAPI SetMaxStreamOffset(REFERENCE_TIME rtMaxOffset) = 0;
5746 };
5747 #else
5748 typedef struct IAMPushSourceVtbl {
5749 BEGIN_INTERFACE
5750 HRESULT (WINAPI *QueryInterface)(IAMPushSource *This,REFIID riid,void **ppvObject);
5751 ULONG (WINAPI *AddRef)(IAMPushSource *This);
5752 ULONG (WINAPI *Release)(IAMPushSource *This);
5753 HRESULT (WINAPI *GetLatency)(IAMPushSource *This,REFERENCE_TIME *prtLatency);
5754 HRESULT (WINAPI *GetPushSourceFlags)(IAMPushSource *This,ULONG *pFlags);
5755 HRESULT (WINAPI *SetPushSourceFlags)(IAMPushSource *This,ULONG Flags);
5756 HRESULT (WINAPI *SetStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtOffset);
5757 HRESULT (WINAPI *GetStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtOffset);
5758 HRESULT (WINAPI *GetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset);
5759 HRESULT (WINAPI *SetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtMaxOffset);
5760 END_INTERFACE
5761 } IAMPushSourceVtbl;
5762 struct IAMPushSource {
5763 CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
5764 };
5765 #ifdef COBJMACROS
5766 #define IAMPushSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5767 #define IAMPushSource_AddRef(This) (This)->lpVtbl->AddRef(This)
5768 #define IAMPushSource_Release(This) (This)->lpVtbl->Release(This)
5769 #define IAMPushSource_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency)
5770 #define IAMPushSource_GetPushSourceFlags(This,pFlags) (This)->lpVtbl->GetPushSourceFlags(This,pFlags)
5771 #define IAMPushSource_SetPushSourceFlags(This,Flags) (This)->lpVtbl->SetPushSourceFlags(This,Flags)
5772 #define IAMPushSource_SetStreamOffset(This,rtOffset) (This)->lpVtbl->SetStreamOffset(This,rtOffset)
5773 #define IAMPushSource_GetStreamOffset(This,prtOffset) (This)->lpVtbl->GetStreamOffset(This,prtOffset)
5774 #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset) (This)->lpVtbl->GetMaxStreamOffset(This,prtMaxOffset)
5775 #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset) (This)->lpVtbl->SetMaxStreamOffset(This,rtMaxOffset)
5776 #endif
5777 #endif
5778 HRESULT WINAPI IAMPushSource_GetPushSourceFlags_Proxy(IAMPushSource *This,ULONG *pFlags);
5779 void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5780 HRESULT WINAPI IAMPushSource_SetPushSourceFlags_Proxy(IAMPushSource *This,ULONG Flags);
5781 void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5782 HRESULT WINAPI IAMPushSource_SetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtOffset);
5783 void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5784 HRESULT WINAPI IAMPushSource_GetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtOffset);
5785 void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5786 HRESULT WINAPI IAMPushSource_GetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset);
5787 void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5788 HRESULT WINAPI IAMPushSource_SetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtMaxOffset);
5789 void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5790 #endif
5791
5792 #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
5793 #define __IAMDeviceRemoval_INTERFACE_DEFINED__
5794 EXTERN_C const IID IID_IAMDeviceRemoval;
5795 #if defined(__cplusplus) && !defined(CINTERFACE)
5796 struct IAMDeviceRemoval : public IUnknown {
5797 public:
5798 virtual HRESULT WINAPI DeviceInfo(CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink) = 0;
5799 virtual HRESULT WINAPI Reassociate(void) = 0;
5800 virtual HRESULT WINAPI Disassociate(void) = 0;
5801 };
5802 #else
5803 typedef struct IAMDeviceRemovalVtbl {
5804 BEGIN_INTERFACE
5805 HRESULT (WINAPI *QueryInterface)(IAMDeviceRemoval *This,REFIID riid,void **ppvObject);
5806 ULONG (WINAPI *AddRef)(IAMDeviceRemoval *This);
5807 ULONG (WINAPI *Release)(IAMDeviceRemoval *This);
5808 HRESULT (WINAPI *DeviceInfo)(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
5809 HRESULT (WINAPI *Reassociate)(IAMDeviceRemoval *This);
5810 HRESULT (WINAPI *Disassociate)(IAMDeviceRemoval *This);
5811 END_INTERFACE
5812 } IAMDeviceRemovalVtbl;
5813 struct IAMDeviceRemoval {
5814 CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
5815 };
5816 #ifdef COBJMACROS
5817 #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5818 #define IAMDeviceRemoval_AddRef(This) (This)->lpVtbl->AddRef(This)
5819 #define IAMDeviceRemoval_Release(This) (This)->lpVtbl->Release(This)
5820 #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) (This)->lpVtbl->DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
5821 #define IAMDeviceRemoval_Reassociate(This) (This)->lpVtbl->Reassociate(This)
5822 #define IAMDeviceRemoval_Disassociate(This) (This)->lpVtbl->Disassociate(This)
5823 #endif
5824 #endif
5825 HRESULT WINAPI IAMDeviceRemoval_DeviceInfo_Proxy(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
5826 void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5827 HRESULT WINAPI IAMDeviceRemoval_Reassociate_Proxy(IAMDeviceRemoval *This);
5828 void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5829 HRESULT WINAPI IAMDeviceRemoval_Disassociate_Proxy(IAMDeviceRemoval *This);
5830 void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5831 #endif
5832
5833 typedef struct __MIDL___MIDL_itf_strmif_0355_0001 {
5834 DWORD dwDVAAuxSrc;
5835 DWORD dwDVAAuxCtl;
5836 DWORD dwDVAAuxSrc1;
5837 DWORD dwDVAAuxCtl1;
5838 DWORD dwDVVAuxSrc;
5839 DWORD dwDVVAuxCtl;
5840 DWORD dwDVReserved[2];
5841 } DVINFO;
5842
5843 typedef struct __MIDL___MIDL_itf_strmif_0355_0001 *PDVINFO;
5844
5845 enum _DVENCODERRESOLUTION {
5846 DVENCODERRESOLUTION_720x480 = 2012,DVENCODERRESOLUTION_360x240 = 2013,DVENCODERRESOLUTION_180x120 = 2014,DVENCODERRESOLUTION_88x60 = 2015
5847 };
5848
5849 enum _DVENCODERVIDEOFORMAT {
5850 DVENCODERVIDEOFORMAT_NTSC = 2000,DVENCODERVIDEOFORMAT_PAL = 2001
5851 };
5852
5853 enum _DVENCODERFORMAT {
5854 DVENCODERFORMAT_DVSD = 2007,DVENCODERFORMAT_DVHD = 2008,DVENCODERFORMAT_DVSL = 2009
5855 };
5856
5857 extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
5858 extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
5859 #ifndef __IDVEnc_INTERFACE_DEFINED__
5860 #define __IDVEnc_INTERFACE_DEFINED__
5861 EXTERN_C const IID IID_IDVEnc;
5862 #if defined(__cplusplus) && !defined(CINTERFACE)
5863 struct IDVEnc : public IUnknown {
5864 public:
5865 virtual HRESULT WINAPI get_IFormatResolution(int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
5866 virtual HRESULT WINAPI put_IFormatResolution(int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
5867 };
5868 #else
5869 typedef struct IDVEncVtbl {
5870 BEGIN_INTERFACE
5871 HRESULT (WINAPI *QueryInterface)(IDVEnc *This,REFIID riid,void **ppvObject);
5872 ULONG (WINAPI *AddRef)(IDVEnc *This);
5873 ULONG (WINAPI *Release)(IDVEnc *This);
5874 HRESULT (WINAPI *get_IFormatResolution)(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
5875 HRESULT (WINAPI *put_IFormatResolution)(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
5876 END_INTERFACE
5877 } IDVEncVtbl;
5878 struct IDVEnc {
5879 CONST_VTBL struct IDVEncVtbl *lpVtbl;
5880 };
5881 #ifdef COBJMACROS
5882 #define IDVEnc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5883 #define IDVEnc_AddRef(This) (This)->lpVtbl->AddRef(This)
5884 #define IDVEnc_Release(This) (This)->lpVtbl->Release(This)
5885 #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
5886 #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
5887 #endif
5888 #endif
5889 HRESULT WINAPI IDVEnc_get_IFormatResolution_Proxy(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
5890 void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5891 HRESULT WINAPI IDVEnc_put_IFormatResolution_Proxy(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
5892 void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5893 #endif
5894
5895 enum _DVDECODERRESOLUTION {
5896 DVDECODERRESOLUTION_720x480 = 1000,DVDECODERRESOLUTION_360x240 = 1001,DVDECODERRESOLUTION_180x120 = 1002,DVDECODERRESOLUTION_88x60 = 1003
5897 };
5898
5899 enum _DVRESOLUTION {
5900 DVRESOLUTION_FULL = 1000,DVRESOLUTION_HALF = 1001,DVRESOLUTION_QUARTER = 1002,DVRESOLUTION_DC = 1003
5901 };
5902
5903 extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec;
5904 extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec;
5905 #ifndef __IIPDVDec_INTERFACE_DEFINED__
5906 #define __IIPDVDec_INTERFACE_DEFINED__
5907 EXTERN_C const IID IID_IIPDVDec;
5908 #if defined(__cplusplus) && !defined(CINTERFACE)
5909 struct IIPDVDec : public IUnknown {
5910 public:
5911 virtual HRESULT WINAPI get_IPDisplay(int *displayPix) = 0;
5912 virtual HRESULT WINAPI put_IPDisplay(int displayPix) = 0;
5913 };
5914 #else
5915 typedef struct IIPDVDecVtbl {
5916 BEGIN_INTERFACE
5917 HRESULT (WINAPI *QueryInterface)(IIPDVDec *This,REFIID riid,void **ppvObject);
5918 ULONG (WINAPI *AddRef)(IIPDVDec *This);
5919 ULONG (WINAPI *Release)(IIPDVDec *This);
5920 HRESULT (WINAPI *get_IPDisplay)(IIPDVDec *This,int *displayPix);
5921 HRESULT (WINAPI *put_IPDisplay)(IIPDVDec *This,int displayPix);
5922 END_INTERFACE
5923 } IIPDVDecVtbl;
5924 struct IIPDVDec {
5925 CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
5926 };
5927 #ifdef COBJMACROS
5928 #define IIPDVDec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5929 #define IIPDVDec_AddRef(This) (This)->lpVtbl->AddRef(This)
5930 #define IIPDVDec_Release(This) (This)->lpVtbl->Release(This)
5931 #define IIPDVDec_get_IPDisplay(This,displayPix) (This)->lpVtbl->get_IPDisplay(This,displayPix)
5932 #define IIPDVDec_put_IPDisplay(This,displayPix) (This)->lpVtbl->put_IPDisplay(This,displayPix)
5933 #endif
5934 #endif
5935 HRESULT WINAPI IIPDVDec_get_IPDisplay_Proxy(IIPDVDec *This,int *displayPix);
5936 void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5937 HRESULT WINAPI IIPDVDec_put_IPDisplay_Proxy(IIPDVDec *This,int displayPix);
5938 void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5939 #endif
5940
5941 #ifndef __IDVRGB219_INTERFACE_DEFINED__
5942 #define __IDVRGB219_INTERFACE_DEFINED__
5943 EXTERN_C const IID IID_IDVRGB219;
5944 #if defined(__cplusplus) && !defined(CINTERFACE)
5945 struct IDVRGB219 : public IUnknown {
5946 public:
5947 virtual HRESULT WINAPI SetRGB219(WINBOOL bState) = 0;
5948 };
5949 #else
5950 typedef struct IDVRGB219Vtbl {
5951 BEGIN_INTERFACE
5952 HRESULT (WINAPI *QueryInterface)(IDVRGB219 *This,REFIID riid,void **ppvObject);
5953 ULONG (WINAPI *AddRef)(IDVRGB219 *This);
5954 ULONG (WINAPI *Release)(IDVRGB219 *This);
5955 HRESULT (WINAPI *SetRGB219)(IDVRGB219 *This,WINBOOL bState);
5956 END_INTERFACE
5957 } IDVRGB219Vtbl;
5958 struct IDVRGB219 {
5959 CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
5960 };
5961 #ifdef COBJMACROS
5962 #define IDVRGB219_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5963 #define IDVRGB219_AddRef(This) (This)->lpVtbl->AddRef(This)
5964 #define IDVRGB219_Release(This) (This)->lpVtbl->Release(This)
5965 #define IDVRGB219_SetRGB219(This,bState) (This)->lpVtbl->SetRGB219(This,bState)
5966 #endif
5967 #endif
5968 HRESULT WINAPI IDVRGB219_SetRGB219_Proxy(IDVRGB219 *This,WINBOOL bState);
5969 void __RPC_STUB IDVRGB219_SetRGB219_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
5970 #endif
5971
5972 #ifndef __IDVSplitter_INTERFACE_DEFINED__
5973 #define __IDVSplitter_INTERFACE_DEFINED__
5974 EXTERN_C const IID IID_IDVSplitter;
5975 #if defined(__cplusplus) && !defined(CINTERFACE)
5976 struct IDVSplitter : public IUnknown {
5977 public:
5978 virtual HRESULT WINAPI DiscardAlternateVideoFrames(int nDiscard) = 0;
5979 };
5980 #else
5981 typedef struct IDVSplitterVtbl {
5982 BEGIN_INTERFACE
5983 HRESULT (WINAPI *QueryInterface)(IDVSplitter *This,REFIID riid,void **ppvObject);
5984 ULONG (WINAPI *AddRef)(IDVSplitter *This);
5985 ULONG (WINAPI *Release)(IDVSplitter *This);
5986 HRESULT (WINAPI *DiscardAlternateVideoFrames)(IDVSplitter *This,int nDiscard);
5987 END_INTERFACE
5988 } IDVSplitterVtbl;
5989 struct IDVSplitter {
5990 CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
5991 };
5992 #ifdef COBJMACROS
5993 #define IDVSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5994 #define IDVSplitter_AddRef(This) (This)->lpVtbl->AddRef(This)
5995 #define IDVSplitter_Release(This) (This)->lpVtbl->Release(This)
5996 #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) (This)->lpVtbl->DiscardAlternateVideoFrames(This,nDiscard)
5997 #endif
5998 #endif
5999 HRESULT WINAPI IDVSplitter_DiscardAlternateVideoFrames_Proxy(IDVSplitter *This,int nDiscard);
6000 void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6001 #endif
6002
6003 enum _AM_AUDIO_RENDERER_STAT_PARAM {
6004 AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
6005 AM_AUDREND_STAT_PARAM_SLAVE_MODE,AM_AUDREND_STAT_PARAM_SILENCE_DUR,
6006 AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,AM_AUDREND_STAT_PARAM_DISCONTINUITIES,
6007 AM_AUDREND_STAT_PARAM_SLAVE_RATE,AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR,
6008 AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR,
6009 AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,AM_AUDREND_STAT_PARAM_BUFFERFULLNESS,
6010 AM_AUDREND_STAT_PARAM_JITTER
6011 };
6012
6013 extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_c_ifspec;
6014 extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_s_ifspec;
6015 #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
6016 #define __IAMAudioRendererStats_INTERFACE_DEFINED__
6017 EXTERN_C const IID IID_IAMAudioRendererStats;
6018 #if defined(__cplusplus) && !defined(CINTERFACE)
6019 struct IAMAudioRendererStats : public IUnknown {
6020 public:
6021 virtual HRESULT WINAPI GetStatParam(DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2) = 0;
6022 };
6023 #else
6024 typedef struct IAMAudioRendererStatsVtbl {
6025 BEGIN_INTERFACE
6026 HRESULT (WINAPI *QueryInterface)(IAMAudioRendererStats *This,REFIID riid,void **ppvObject);
6027 ULONG (WINAPI *AddRef)(IAMAudioRendererStats *This);
6028 ULONG (WINAPI *Release)(IAMAudioRendererStats *This);
6029 HRESULT (WINAPI *GetStatParam)(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
6030 END_INTERFACE
6031 } IAMAudioRendererStatsVtbl;
6032 struct IAMAudioRendererStats {
6033 CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
6034 };
6035 #ifdef COBJMACROS
6036 #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6037 #define IAMAudioRendererStats_AddRef(This) (This)->lpVtbl->AddRef(This)
6038 #define IAMAudioRendererStats_Release(This) (This)->lpVtbl->Release(This)
6039 #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) (This)->lpVtbl->GetStatParam(This,dwParam,pdwParam1,pdwParam2)
6040 #endif
6041 #endif
6042 HRESULT WINAPI IAMAudioRendererStats_GetStatParam_Proxy(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
6043 void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6044 #endif
6045
6046 enum _AM_INTF_SEARCH_FLAGS {
6047 AM_INTF_SEARCH_INPUT_PIN = 0x1,AM_INTF_SEARCH_OUTPUT_PIN = 0x2,AM_INTF_SEARCH_FILTER = 0x4
6048 };
6049
6050 extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec;
6051 extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec;
6052 #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
6053 #define __IAMGraphStreams_INTERFACE_DEFINED__
6054 EXTERN_C const IID IID_IAMGraphStreams;
6055 #if defined(__cplusplus) && !defined(CINTERFACE)
6056 struct IAMGraphStreams : public IUnknown {
6057 public:
6058 virtual HRESULT WINAPI FindUpstreamInterface(IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags) = 0;
6059 virtual HRESULT WINAPI SyncUsingStreamOffset(WINBOOL bUseStreamOffset) = 0;
6060 virtual HRESULT WINAPI SetMaxGraphLatency(REFERENCE_TIME rtMaxGraphLatency) = 0;
6061 };
6062 #else
6063 typedef struct IAMGraphStreamsVtbl {
6064 BEGIN_INTERFACE
6065 HRESULT (WINAPI *QueryInterface)(IAMGraphStreams *This,REFIID riid,void **ppvObject);
6066 ULONG (WINAPI *AddRef)(IAMGraphStreams *This);
6067 ULONG (WINAPI *Release)(IAMGraphStreams *This);
6068 HRESULT (WINAPI *FindUpstreamInterface)(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
6069 HRESULT (WINAPI *SyncUsingStreamOffset)(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
6070 HRESULT (WINAPI *SetMaxGraphLatency)(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
6071 END_INTERFACE
6072 } IAMGraphStreamsVtbl;
6073 struct IAMGraphStreams {
6074 CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
6075 };
6076 #ifdef COBJMACROS
6077 #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6078 #define IAMGraphStreams_AddRef(This) (This)->lpVtbl->AddRef(This)
6079 #define IAMGraphStreams_Release(This) (This)->lpVtbl->Release(This)
6080 #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) (This)->lpVtbl->FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
6081 #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) (This)->lpVtbl->SyncUsingStreamOffset(This,bUseStreamOffset)
6082 #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) (This)->lpVtbl->SetMaxGraphLatency(This,rtMaxGraphLatency)
6083 #endif
6084 #endif
6085 HRESULT WINAPI IAMGraphStreams_FindUpstreamInterface_Proxy(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
6086 void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6087 HRESULT WINAPI IAMGraphStreams_SyncUsingStreamOffset_Proxy(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
6088 void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6089 HRESULT WINAPI IAMGraphStreams_SetMaxGraphLatency_Proxy(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
6090 void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6091 #endif
6092
6093 enum AMOVERLAYFX {
6094 AMOVERFX_NOFX = 0,AMOVERFX_MIRRORLEFTRIGHT = 0x2,AMOVERFX_MIRRORUPDOWN = 0x4,AMOVERFX_DEINTERLACE = 0x8
6095 };
6096
6097 extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec;
6098 extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec;
6099 #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
6100 #define __IAMOverlayFX_INTERFACE_DEFINED__
6101 EXTERN_C const IID IID_IAMOverlayFX;
6102 #if defined(__cplusplus) && !defined(CINTERFACE)
6103 struct IAMOverlayFX : public IUnknown {
6104 public:
6105 virtual HRESULT WINAPI QueryOverlayFXCaps(DWORD *lpdwOverlayFXCaps) = 0;
6106 virtual HRESULT WINAPI SetOverlayFX(DWORD dwOverlayFX) = 0;
6107 virtual HRESULT WINAPI GetOverlayFX(DWORD *lpdwOverlayFX) = 0;
6108 };
6109 #else
6110 typedef struct IAMOverlayFXVtbl {
6111 BEGIN_INTERFACE
6112 HRESULT (WINAPI *QueryInterface)(IAMOverlayFX *This,REFIID riid,void **ppvObject);
6113 ULONG (WINAPI *AddRef)(IAMOverlayFX *This);
6114 ULONG (WINAPI *Release)(IAMOverlayFX *This);
6115 HRESULT (WINAPI *QueryOverlayFXCaps)(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
6116 HRESULT (WINAPI *SetOverlayFX)(IAMOverlayFX *This,DWORD dwOverlayFX);
6117 HRESULT (WINAPI *GetOverlayFX)(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
6118 END_INTERFACE
6119 } IAMOverlayFXVtbl;
6120 struct IAMOverlayFX {
6121 CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
6122 };
6123 #ifdef COBJMACROS
6124 #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6125 #define IAMOverlayFX_AddRef(This) (This)->lpVtbl->AddRef(This)
6126 #define IAMOverlayFX_Release(This) (This)->lpVtbl->Release(This)
6127 #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) (This)->lpVtbl->QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
6128 #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) (This)->lpVtbl->SetOverlayFX(This,dwOverlayFX)
6129 #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) (This)->lpVtbl->GetOverlayFX(This,lpdwOverlayFX)
6130 #endif
6131 #endif
6132 HRESULT WINAPI IAMOverlayFX_QueryOverlayFXCaps_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
6133 void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6134 HRESULT WINAPI IAMOverlayFX_SetOverlayFX_Proxy(IAMOverlayFX *This,DWORD dwOverlayFX);
6135 void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6136 HRESULT WINAPI IAMOverlayFX_GetOverlayFX_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
6137 void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6138 #endif
6139
6140 #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
6141 #define __IAMOpenProgress_INTERFACE_DEFINED__
6142 EXTERN_C const IID IID_IAMOpenProgress;
6143 #if defined(__cplusplus) && !defined(CINTERFACE)
6144 struct IAMOpenProgress : public IUnknown {
6145 public:
6146 virtual HRESULT WINAPI QueryProgress(LONGLONG *pllTotal,LONGLONG *pllCurrent) = 0;
6147 virtual HRESULT WINAPI AbortOperation(void) = 0;
6148 };
6149 #else
6150 typedef struct IAMOpenProgressVtbl {
6151 BEGIN_INTERFACE
6152 HRESULT (WINAPI *QueryInterface)(IAMOpenProgress *This,REFIID riid,void **ppvObject);
6153 ULONG (WINAPI *AddRef)(IAMOpenProgress *This);
6154 ULONG (WINAPI *Release)(IAMOpenProgress *This);
6155 HRESULT (WINAPI *QueryProgress)(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
6156 HRESULT (WINAPI *AbortOperation)(IAMOpenProgress *This);
6157 END_INTERFACE
6158 } IAMOpenProgressVtbl;
6159 struct IAMOpenProgress {
6160 CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
6161 };
6162 #ifdef COBJMACROS
6163 #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6164 #define IAMOpenProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
6165 #define IAMOpenProgress_Release(This) (This)->lpVtbl->Release(This)
6166 #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) (This)->lpVtbl->QueryProgress(This,pllTotal,pllCurrent)
6167 #define IAMOpenProgress_AbortOperation(This) (This)->lpVtbl->AbortOperation(This)
6168 #endif
6169 #endif
6170 HRESULT WINAPI IAMOpenProgress_QueryProgress_Proxy(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
6171 void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6172 HRESULT WINAPI IAMOpenProgress_AbortOperation_Proxy(IAMOpenProgress *This);
6173 void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6174 #endif
6175
6176 #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
6177 #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
6178 EXTERN_C const IID IID_IMpeg2Demultiplexer;
6179 #if defined(__cplusplus) && !defined(CINTERFACE)
6180 struct IMpeg2Demultiplexer : public IUnknown {
6181 public:
6182 virtual HRESULT WINAPI CreateOutputPin(AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin) = 0;
6183 virtual HRESULT WINAPI SetOutputPinMediaType(LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType) = 0;
6184 virtual HRESULT WINAPI DeleteOutputPin(LPWSTR pszPinName) = 0;
6185 };
6186 #else
6187 typedef struct IMpeg2DemultiplexerVtbl {
6188 BEGIN_INTERFACE
6189 HRESULT (WINAPI *QueryInterface)(IMpeg2Demultiplexer *This,REFIID riid,void **ppvObject);
6190 ULONG (WINAPI *AddRef)(IMpeg2Demultiplexer *This);
6191 ULONG (WINAPI *Release)(IMpeg2Demultiplexer *This);
6192 HRESULT (WINAPI *CreateOutputPin)(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
6193 HRESULT (WINAPI *SetOutputPinMediaType)(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
6194 HRESULT (WINAPI *DeleteOutputPin)(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
6195 END_INTERFACE
6196 } IMpeg2DemultiplexerVtbl;
6197 struct IMpeg2Demultiplexer {
6198 CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
6199 };
6200 #ifdef COBJMACROS
6201 #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6202 #define IMpeg2Demultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This)
6203 #define IMpeg2Demultiplexer_Release(This) (This)->lpVtbl->Release(This)
6204 #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) (This)->lpVtbl->CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
6205 #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) (This)->lpVtbl->SetOutputPinMediaType(This,pszPinName,pMediaType)
6206 #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) (This)->lpVtbl->DeleteOutputPin(This,pszPinName)
6207 #endif
6208 #endif
6209 HRESULT WINAPI IMpeg2Demultiplexer_CreateOutputPin_Proxy(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
6210 void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6211 HRESULT WINAPI IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
6212 void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6213 HRESULT WINAPI IMpeg2Demultiplexer_DeleteOutputPin_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
6214 void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6215 #endif
6216
6217 #define MPEG2_PROGRAM_STREAM_MAP 0x00000000
6218 #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
6219 #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
6220 #define MPEG2_PROGRAM_PACK_HEADER 0x00000003
6221 #define MPEG2_PROGRAM_PES_STREAM 0x00000004
6222 #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
6223 #define SUBSTREAM_FILTER_VAL_NONE 0x10000000
6224
6225 typedef struct __MIDL___MIDL_itf_strmif_0365_0001 {
6226 ULONG stream_id;
6227 DWORD dwMediaSampleContent;
6228 ULONG ulSubstreamFilterValue;
6229 int iDataOffset;
6230 } STREAM_ID_MAP;
6231
6232 extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec;
6233 extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec;
6234 #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
6235 #define __IEnumStreamIdMap_INTERFACE_DEFINED__
6236 EXTERN_C const IID IID_IEnumStreamIdMap;
6237 #if defined(__cplusplus) && !defined(CINTERFACE)
6238 struct IEnumStreamIdMap : public IUnknown {
6239 public:
6240 virtual HRESULT WINAPI Next(ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived) = 0;
6241 virtual HRESULT WINAPI Skip(ULONG cRecords) = 0;
6242 virtual HRESULT WINAPI Reset(void) = 0;
6243 virtual HRESULT WINAPI Clone(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
6244 };
6245 #else
6246 typedef struct IEnumStreamIdMapVtbl {
6247 BEGIN_INTERFACE
6248 HRESULT (WINAPI *QueryInterface)(IEnumStreamIdMap *This,REFIID riid,void **ppvObject);
6249 ULONG (WINAPI *AddRef)(IEnumStreamIdMap *This);
6250 ULONG (WINAPI *Release)(IEnumStreamIdMap *This);
6251 HRESULT (WINAPI *Next)(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
6252 HRESULT (WINAPI *Skip)(IEnumStreamIdMap *This,ULONG cRecords);
6253 HRESULT (WINAPI *Reset)(IEnumStreamIdMap *This);
6254 HRESULT (WINAPI *Clone)(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
6255 END_INTERFACE
6256 } IEnumStreamIdMapVtbl;
6257 struct IEnumStreamIdMap {
6258 CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
6259 };
6260 #ifdef COBJMACROS
6261 #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6262 #define IEnumStreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
6263 #define IEnumStreamIdMap_Release(This) (This)->lpVtbl->Release(This)
6264 #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pStreamIdMap,pcReceived)
6265 #define IEnumStreamIdMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords)
6266 #define IEnumStreamIdMap_Reset(This) (This)->lpVtbl->Reset(This)
6267 #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) (This)->lpVtbl->Clone(This,ppIEnumStreamIdMap)
6268 #endif
6269 #endif
6270 HRESULT WINAPI IEnumStreamIdMap_Next_Proxy(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
6271 void __RPC_STUB IEnumStreamIdMap_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6272 HRESULT WINAPI IEnumStreamIdMap_Skip_Proxy(IEnumStreamIdMap *This,ULONG cRecords);
6273 void __RPC_STUB IEnumStreamIdMap_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6274 HRESULT WINAPI IEnumStreamIdMap_Reset_Proxy(IEnumStreamIdMap *This);
6275 void __RPC_STUB IEnumStreamIdMap_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6276 HRESULT WINAPI IEnumStreamIdMap_Clone_Proxy(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
6277 void __RPC_STUB IEnumStreamIdMap_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6278 #endif
6279
6280 #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
6281 #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
6282 EXTERN_C const IID IID_IMPEG2StreamIdMap;
6283 #if defined(__cplusplus) && !defined(CINTERFACE)
6284 struct IMPEG2StreamIdMap : public IUnknown {
6285 public:
6286 virtual HRESULT WINAPI MapStreamId(ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset) = 0;
6287 virtual HRESULT WINAPI UnmapStreamId(ULONG culStreamId,ULONG *pulStreamId) = 0;
6288 virtual HRESULT WINAPI EnumStreamIdMap(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
6289 };
6290 #else
6291 typedef struct IMPEG2StreamIdMapVtbl {
6292 BEGIN_INTERFACE
6293 HRESULT (WINAPI *QueryInterface)(IMPEG2StreamIdMap *This,REFIID riid,void **ppvObject);
6294 ULONG (WINAPI *AddRef)(IMPEG2StreamIdMap *This);
6295 ULONG (WINAPI *Release)(IMPEG2StreamIdMap *This);
6296 HRESULT (WINAPI *MapStreamId)(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
6297 HRESULT (WINAPI *UnmapStreamId)(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
6298 HRESULT (WINAPI *EnumStreamIdMap)(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
6299 END_INTERFACE
6300 } IMPEG2StreamIdMapVtbl;
6301 struct IMPEG2StreamIdMap {
6302 CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
6303 };
6304 #ifdef COBJMACROS
6305 #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6306 #define IMPEG2StreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
6307 #define IMPEG2StreamIdMap_Release(This) (This)->lpVtbl->Release(This)
6308 #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) (This)->lpVtbl->MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
6309 #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) (This)->lpVtbl->UnmapStreamId(This,culStreamId,pulStreamId)
6310 #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) (This)->lpVtbl->EnumStreamIdMap(This,ppIEnumStreamIdMap)
6311 #endif
6312 #endif
6313 HRESULT WINAPI IMPEG2StreamIdMap_MapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
6314 void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6315 HRESULT WINAPI IMPEG2StreamIdMap_UnmapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
6316 void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6317 HRESULT WINAPI IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
6318 void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6319 #endif
6320
6321 #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
6322 #define __IRegisterServiceProvider_INTERFACE_DEFINED__
6323 EXTERN_C const IID IID_IRegisterServiceProvider;
6324 #if defined(__cplusplus) && !defined(CINTERFACE)
6325 struct IRegisterServiceProvider : public IUnknown {
6326 public:
6327 virtual HRESULT WINAPI RegisterService(REFGUID guidService,IUnknown *pUnkObject) = 0;
6328 };
6329 #else
6330 typedef struct IRegisterServiceProviderVtbl {
6331 BEGIN_INTERFACE
6332 HRESULT (WINAPI *QueryInterface)(IRegisterServiceProvider *This,REFIID riid,void **ppvObject);
6333 ULONG (WINAPI *AddRef)(IRegisterServiceProvider *This);
6334 ULONG (WINAPI *Release)(IRegisterServiceProvider *This);
6335 HRESULT (WINAPI *RegisterService)(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
6336 END_INTERFACE
6337 } IRegisterServiceProviderVtbl;
6338 struct IRegisterServiceProvider {
6339 CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
6340 };
6341 #ifdef COBJMACROS
6342 #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6343 #define IRegisterServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
6344 #define IRegisterServiceProvider_Release(This) (This)->lpVtbl->Release(This)
6345 #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) (This)->lpVtbl->RegisterService(This,guidService,pUnkObject)
6346 #endif
6347 #endif
6348 HRESULT WINAPI IRegisterServiceProvider_RegisterService_Proxy(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
6349 void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6350 #endif
6351
6352 #ifndef __IAMClockSlave_INTERFACE_DEFINED__
6353 #define __IAMClockSlave_INTERFACE_DEFINED__
6354 EXTERN_C const IID IID_IAMClockSlave;
6355 #if defined(__cplusplus) && !defined(CINTERFACE)
6356 struct IAMClockSlave : public IUnknown {
6357 public:
6358 virtual HRESULT WINAPI SetErrorTolerance(DWORD dwTolerance) = 0;
6359 virtual HRESULT WINAPI GetErrorTolerance(DWORD *pdwTolerance) = 0;
6360 };
6361 #else
6362 typedef struct IAMClockSlaveVtbl {
6363 BEGIN_INTERFACE
6364 HRESULT (WINAPI *QueryInterface)(IAMClockSlave *This,REFIID riid,void **ppvObject);
6365 ULONG (WINAPI *AddRef)(IAMClockSlave *This);
6366 ULONG (WINAPI *Release)(IAMClockSlave *This);
6367 HRESULT (WINAPI *SetErrorTolerance)(IAMClockSlave *This,DWORD dwTolerance);
6368 HRESULT (WINAPI *GetErrorTolerance)(IAMClockSlave *This,DWORD *pdwTolerance);
6369 END_INTERFACE
6370 } IAMClockSlaveVtbl;
6371 struct IAMClockSlave {
6372 CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
6373 };
6374 #ifdef COBJMACROS
6375 #define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6376 #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This)
6377 #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This)
6378 #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance)
6379 #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance)
6380 #endif
6381 #endif
6382 HRESULT WINAPI IAMClockSlave_SetErrorTolerance_Proxy(IAMClockSlave *This,DWORD dwTolerance);
6383 void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6384 HRESULT WINAPI IAMClockSlave_GetErrorTolerance_Proxy(IAMClockSlave *This,DWORD *pdwTolerance);
6385 void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6386 #endif
6387
6388 #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
6389 #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
6390 EXTERN_C const IID IID_IAMGraphBuilderCallback;
6391 #if defined(__cplusplus) && !defined(CINTERFACE)
6392 struct IAMGraphBuilderCallback : public IUnknown {
6393 public:
6394 virtual HRESULT WINAPI SelectedFilter(IMoniker *pMon) = 0;
6395 virtual HRESULT WINAPI CreatedFilter(IBaseFilter *pFil) = 0;
6396 };
6397 #else
6398 typedef struct IAMGraphBuilderCallbackVtbl {
6399 BEGIN_INTERFACE
6400 HRESULT (WINAPI *QueryInterface)(IAMGraphBuilderCallback *This,REFIID riid,void **ppvObject);
6401 ULONG (WINAPI *AddRef)(IAMGraphBuilderCallback *This);
6402 ULONG (WINAPI *Release)(IAMGraphBuilderCallback *This);
6403 HRESULT (WINAPI *SelectedFilter)(IAMGraphBuilderCallback *This,IMoniker *pMon);
6404 HRESULT (WINAPI *CreatedFilter)(IAMGraphBuilderCallback *This,IBaseFilter *pFil);
6405 END_INTERFACE
6406 } IAMGraphBuilderCallbackVtbl;
6407 struct IAMGraphBuilderCallback {
6408 CONST_VTBL struct IAMGraphBuilderCallbackVtbl *lpVtbl;
6409 };
6410 #ifdef COBJMACROS
6411 #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6412 #define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
6413 #define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This)
6414 #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) (This)->lpVtbl->SelectedFilter(This,pMon)
6415 #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) (This)->lpVtbl->CreatedFilter(This,pFil)
6416 #endif
6417 #endif
6418 HRESULT WINAPI IAMGraphBuilderCallback_SelectedFilter_Proxy(IAMGraphBuilderCallback *This,IMoniker *pMon);
6419 void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6420 HRESULT WINAPI IAMGraphBuilderCallback_CreatedFilter_Proxy(IAMGraphBuilderCallback *This,IBaseFilter *pFil);
6421 void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6422 #endif
6423
6424 #ifdef __cplusplus
6425 #ifndef _IAMFilterGraphCallback_
6426 #define _IAMFilterGraphCallback_
6427 EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
6428 struct IAMFilterGraphCallback : public IUnknown {
6429 virtual HRESULT UnableToRender(IPin *pPin) = 0;
6430 };
6431 #endif
6432 #endif
6433 struct CodecAPIEventData {
6434 GUID guid;
6435 DWORD dataLength;
6436 DWORD reserved[3];
6437 };
6438
6439 extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_c_ifspec;
6440 extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_s_ifspec;
6441 #ifndef __ICodecAPI_INTERFACE_DEFINED__
6442 #define __ICodecAPI_INTERFACE_DEFINED__
6443 EXTERN_C const IID IID_ICodecAPI;
6444 #if defined(__cplusplus) && !defined(CINTERFACE)
6445 struct ICodecAPI : public IUnknown {
6446 public:
6447 virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
6448 virtual HRESULT WINAPI IsModifiable(const GUID *Api) = 0;
6449 virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
6450 virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
6451 virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
6452 virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
6453 virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
6454 virtual HRESULT WINAPI RegisterForEvent(const GUID *Api,LONG_PTR userData) = 0;
6455 virtual HRESULT WINAPI UnregisterForEvent(const GUID *Api) = 0;
6456 virtual HRESULT WINAPI SetAllDefaults(void) = 0;
6457 virtual HRESULT WINAPI SetValueWithNotify(const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
6458 virtual HRESULT WINAPI SetAllDefaultsWithNotify(GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
6459 virtual HRESULT WINAPI GetAllSettings(IStream *__MIDL_0016) = 0;
6460 virtual HRESULT WINAPI SetAllSettings(IStream *__MIDL_0017) = 0;
6461 virtual HRESULT WINAPI SetAllSettingsWithNotify(IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
6462 };
6463 #else
6464 typedef struct ICodecAPIVtbl {
6465 BEGIN_INTERFACE
6466 HRESULT (WINAPI *QueryInterface)(ICodecAPI *This,REFIID riid,void **ppvObject);
6467 ULONG (WINAPI *AddRef)(ICodecAPI *This);
6468 ULONG (WINAPI *Release)(ICodecAPI *This);
6469 HRESULT (WINAPI *IsSupported)(ICodecAPI *This,const GUID *Api);
6470 HRESULT (WINAPI *IsModifiable)(ICodecAPI *This,const GUID *Api);
6471 HRESULT (WINAPI *GetParameterRange)(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
6472 HRESULT (WINAPI *GetParameterValues)(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
6473 HRESULT (WINAPI *GetDefaultValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
6474 HRESULT (WINAPI *GetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
6475 HRESULT (WINAPI *SetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
6476 HRESULT (WINAPI *RegisterForEvent)(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
6477 HRESULT (WINAPI *UnregisterForEvent)(ICodecAPI *This,const GUID *Api);
6478 HRESULT (WINAPI *SetAllDefaults)(ICodecAPI *This);
6479 HRESULT (WINAPI *SetValueWithNotify)(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
6480 HRESULT (WINAPI *SetAllDefaultsWithNotify)(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
6481 HRESULT (WINAPI *GetAllSettings)(ICodecAPI *This,IStream *__MIDL_0016);
6482 HRESULT (WINAPI *SetAllSettings)(ICodecAPI *This,IStream *__MIDL_0017);
6483 HRESULT (WINAPI *SetAllSettingsWithNotify)(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
6484 END_INTERFACE
6485 } ICodecAPIVtbl;
6486 struct ICodecAPI {
6487 CONST_VTBL struct ICodecAPIVtbl *lpVtbl;
6488 };
6489 #ifdef COBJMACROS
6490 #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6491 #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
6492 #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This)
6493 #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
6494 #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api)
6495 #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
6496 #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
6497 #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
6498 #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
6499 #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
6500 #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData)
6501 #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api)
6502 #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This)
6503 #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
6504 #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
6505 #define ICodecAPI_GetAllSettings(This,__MIDL_0016) (This)->lpVtbl->GetAllSettings(This,__MIDL_0016)
6506 #define ICodecAPI_SetAllSettings(This,__MIDL_0017) (This)->lpVtbl->SetAllSettings(This,__MIDL_0017)
6507 #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)
6508 #endif
6509 #endif
6510 HRESULT WINAPI ICodecAPI_IsSupported_Proxy(ICodecAPI *This,const GUID *Api);
6511 void __RPC_STUB ICodecAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6512 HRESULT WINAPI ICodecAPI_IsModifiable_Proxy(ICodecAPI *This,const GUID *Api);
6513 void __RPC_STUB ICodecAPI_IsModifiable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6514 HRESULT WINAPI ICodecAPI_GetParameterRange_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
6515 void __RPC_STUB ICodecAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6516 HRESULT WINAPI ICodecAPI_GetParameterValues_Proxy(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
6517 void __RPC_STUB ICodecAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6518 HRESULT WINAPI ICodecAPI_GetDefaultValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
6519 void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6520 HRESULT WINAPI ICodecAPI_GetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
6521 void __RPC_STUB ICodecAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6522 HRESULT WINAPI ICodecAPI_SetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
6523 void __RPC_STUB ICodecAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6524 HRESULT WINAPI ICodecAPI_RegisterForEvent_Proxy(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
6525 void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6526 HRESULT WINAPI ICodecAPI_UnregisterForEvent_Proxy(ICodecAPI *This,const GUID *Api);
6527 void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6528 HRESULT WINAPI ICodecAPI_SetAllDefaults_Proxy(ICodecAPI *This);
6529 void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6530 HRESULT WINAPI ICodecAPI_SetValueWithNotify_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
6531 void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6532 HRESULT WINAPI ICodecAPI_SetAllDefaultsWithNotify_Proxy(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
6533 void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6534 HRESULT WINAPI ICodecAPI_GetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0016);
6535 void __RPC_STUB ICodecAPI_GetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6536 HRESULT WINAPI ICodecAPI_SetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0017);
6537 void __RPC_STUB ICodecAPI_SetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6538 HRESULT WINAPI ICodecAPI_SetAllSettingsWithNotify_Proxy(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
6539 void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6540 #endif
6541
6542 #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
6543 #define __IGetCapabilitiesKey_INTERFACE_DEFINED__
6544 EXTERN_C const IID IID_IGetCapabilitiesKey;
6545 #if defined(__cplusplus) && !defined(CINTERFACE)
6546 struct IGetCapabilitiesKey : public IUnknown {
6547 public:
6548 virtual HRESULT WINAPI GetCapabilitiesKey(HKEY *pHKey) = 0;
6549 };
6550 #else
6551 typedef struct IGetCapabilitiesKeyVtbl {
6552 BEGIN_INTERFACE
6553 HRESULT (WINAPI *QueryInterface)(IGetCapabilitiesKey *This,REFIID riid,void **ppvObject);
6554 ULONG (WINAPI *AddRef)(IGetCapabilitiesKey *This);
6555 ULONG (WINAPI *Release)(IGetCapabilitiesKey *This);
6556 HRESULT (WINAPI *GetCapabilitiesKey)(IGetCapabilitiesKey *This,HKEY *pHKey);
6557 END_INTERFACE
6558 } IGetCapabilitiesKeyVtbl;
6559 struct IGetCapabilitiesKey {
6560 CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl;
6561 };
6562 #ifdef COBJMACROS
6563 #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6564 #define IGetCapabilitiesKey_AddRef(This) (This)->lpVtbl->AddRef(This)
6565 #define IGetCapabilitiesKey_Release(This) (This)->lpVtbl->Release(This)
6566 #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) (This)->lpVtbl->GetCapabilitiesKey(This,pHKey)
6567 #endif
6568 #endif
6569 HRESULT WINAPI IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(IGetCapabilitiesKey *This,HKEY *pHKey);
6570 void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6571 #endif
6572
6573 #ifndef __IEncoderAPI_INTERFACE_DEFINED__
6574 #define __IEncoderAPI_INTERFACE_DEFINED__
6575 EXTERN_C const IID IID_IEncoderAPI;
6576 #if defined(__cplusplus) && !defined(CINTERFACE)
6577 struct IEncoderAPI : public IUnknown {
6578 public:
6579 virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
6580 virtual HRESULT WINAPI IsAvailable(const GUID *Api) = 0;
6581 virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
6582 virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
6583 virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
6584 virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
6585 virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
6586 };
6587 #else
6588 typedef struct IEncoderAPIVtbl {
6589 BEGIN_INTERFACE
6590 HRESULT (WINAPI *QueryInterface)(IEncoderAPI *This,REFIID riid,void **ppvObject);
6591 ULONG (WINAPI *AddRef)(IEncoderAPI *This);
6592 ULONG (WINAPI *Release)(IEncoderAPI *This);
6593 HRESULT (WINAPI *IsSupported)(IEncoderAPI *This,const GUID *Api);
6594 HRESULT (WINAPI *IsAvailable)(IEncoderAPI *This,const GUID *Api);
6595 HRESULT (WINAPI *GetParameterRange)(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
6596 HRESULT (WINAPI *GetParameterValues)(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
6597 HRESULT (WINAPI *GetDefaultValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
6598 HRESULT (WINAPI *GetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
6599 HRESULT (WINAPI *SetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
6600 END_INTERFACE
6601 } IEncoderAPIVtbl;
6602 struct IEncoderAPI {
6603 CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
6604 };
6605 #ifdef COBJMACROS
6606 #define IEncoderAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6607 #define IEncoderAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
6608 #define IEncoderAPI_Release(This) (This)->lpVtbl->Release(This)
6609 #define IEncoderAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
6610 #define IEncoderAPI_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
6611 #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
6612 #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
6613 #define IEncoderAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
6614 #define IEncoderAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
6615 #define IEncoderAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
6616 #endif
6617 #endif
6618 HRESULT WINAPI IEncoderAPI_IsSupported_Proxy(IEncoderAPI *This,const GUID *Api);
6619 void __RPC_STUB IEncoderAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6620 HRESULT WINAPI IEncoderAPI_IsAvailable_Proxy(IEncoderAPI *This,const GUID *Api);
6621 void __RPC_STUB IEncoderAPI_IsAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6622 HRESULT WINAPI IEncoderAPI_GetParameterRange_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
6623 void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6624 HRESULT WINAPI IEncoderAPI_GetParameterValues_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
6625 void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6626 HRESULT WINAPI IEncoderAPI_GetDefaultValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
6627 void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6628 HRESULT WINAPI IEncoderAPI_GetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
6629 void __RPC_STUB IEncoderAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6630 HRESULT WINAPI IEncoderAPI_SetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
6631 void __RPC_STUB IEncoderAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6632 #endif
6633
6634 #ifndef __IVideoEncoder_INTERFACE_DEFINED__
6635 #define __IVideoEncoder_INTERFACE_DEFINED__
6636 EXTERN_C const IID IID_IVideoEncoder;
6637 #if defined(__cplusplus) && !defined(CINTERFACE)
6638 struct IVideoEncoder : public IEncoderAPI {
6639 public:
6640 };
6641 #else
6642 typedef struct IVideoEncoderVtbl {
6643 BEGIN_INTERFACE
6644 HRESULT (WINAPI *QueryInterface)(IVideoEncoder *This,REFIID riid,void **ppvObject);
6645 ULONG (WINAPI *AddRef)(IVideoEncoder *This);
6646 ULONG (WINAPI *Release)(IVideoEncoder *This);
6647 HRESULT (WINAPI *IsSupported)(IVideoEncoder *This,const GUID *Api);
6648 HRESULT (WINAPI *IsAvailable)(IVideoEncoder *This,const GUID *Api);
6649 HRESULT (WINAPI *GetParameterRange)(IVideoEncoder *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
6650 HRESULT (WINAPI *GetParameterValues)(IVideoEncoder *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
6651 HRESULT (WINAPI *GetDefaultValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
6652 HRESULT (WINAPI *GetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
6653 HRESULT (WINAPI *SetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
6654 END_INTERFACE
6655 } IVideoEncoderVtbl;
6656 struct IVideoEncoder {
6657 CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
6658 };
6659 #ifdef COBJMACROS
6660 #define IVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6661 #define IVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
6662 #define IVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
6663 #define IVideoEncoder_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
6664 #define IVideoEncoder_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
6665 #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
6666 #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
6667 #define IVideoEncoder_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
6668 #define IVideoEncoder_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
6669 #define IVideoEncoder_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
6670 #endif
6671 #endif
6672 #endif
6673
6674 #ifndef __ENCODER_API_DEFINES__
6675 #define __ENCODER_API_DEFINES__
6676 typedef enum __MIDL___MIDL_itf_strmif_0374_0001 {
6677 ConstantBitRate = 0,
6678 VariableBitRateAverage,VariableBitRatePeak
6679 } VIDEOENCODER_BITRATE_MODE;
6680 #endif
6681 #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001
6682 #define VMR_NOTSUPPORTED 0x00000000
6683 #define VMR_SUPPORTED 0x00000001
6684 #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001
6685 #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002
6686 #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003
6687 #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004
6688 #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005
6689 #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006
6690 #define DECODER_CAP_NOTSUPPORTED 0x00000000
6691 #define DECODER_CAP_SUPPORTED 0x00000001
6692
6693 extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_c_ifspec;
6694 extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_s_ifspec;
6695 #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
6696 #define __IAMDecoderCaps_INTERFACE_DEFINED__
6697 EXTERN_C const IID IID_IAMDecoderCaps;
6698 #if defined(__cplusplus) && !defined(CINTERFACE)
6699 struct IAMDecoderCaps : public IUnknown {
6700 public:
6701 virtual HRESULT WINAPI GetDecoderCaps(DWORD dwCapIndex,DWORD *lpdwCap) = 0;
6702 };
6703 #else
6704 typedef struct IAMDecoderCapsVtbl {
6705 BEGIN_INTERFACE
6706 HRESULT (WINAPI *QueryInterface)(IAMDecoderCaps *This,REFIID riid,void **ppvObject);
6707 ULONG (WINAPI *AddRef)(IAMDecoderCaps *This);
6708 ULONG (WINAPI *Release)(IAMDecoderCaps *This);
6709 HRESULT (WINAPI *GetDecoderCaps)(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
6710 END_INTERFACE
6711 } IAMDecoderCapsVtbl;
6712 struct IAMDecoderCaps {
6713 CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
6714 };
6715 #ifdef COBJMACROS
6716 #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6717 #define IAMDecoderCaps_AddRef(This) (This)->lpVtbl->AddRef(This)
6718 #define IAMDecoderCaps_Release(This) (This)->lpVtbl->Release(This)
6719 #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) (This)->lpVtbl->GetDecoderCaps(This,dwCapIndex,lpdwCap)
6720 #endif
6721 #endif
6722 HRESULT WINAPI IAMDecoderCaps_GetDecoderCaps_Proxy(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
6723 void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6724 #endif
6725
6726 typedef struct _AMCOPPSignature {
6727 BYTE Signature[256];
6728 } AMCOPPSignature;
6729
6730 typedef struct _AMCOPPCommand {
6731 GUID macKDI;
6732 GUID guidCommandID;
6733 DWORD dwSequence;
6734 DWORD cbSizeData;
6735 BYTE CommandData[4056];
6736 } AMCOPPCommand;
6737
6738 typedef struct _AMCOPPCommand *LPAMCOPPCommand;
6739
6740 typedef struct _AMCOPPStatusInput {
6741 GUID rApp;
6742 GUID guidStatusRequestID;
6743 DWORD dwSequence;
6744 DWORD cbSizeData;
6745 BYTE StatusData[4056];
6746 } AMCOPPStatusInput;
6747
6748 typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput;
6749
6750 typedef struct _AMCOPPStatusOutput {
6751 GUID macKDI;
6752 DWORD cbSizeData;
6753 BYTE COPPStatus[4076];
6754 } AMCOPPStatusOutput;
6755
6756 typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput;
6757
6758 extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_c_ifspec;
6759 extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_s_ifspec;
6760 #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
6761 #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
6762 EXTERN_C const IID IID_IAMCertifiedOutputProtection;
6763 #if defined(__cplusplus) && !defined(CINTERFACE)
6764 struct IAMCertifiedOutputProtection : public IUnknown {
6765 public:
6766 virtual HRESULT WINAPI KeyExchange(GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) = 0;
6767 virtual HRESULT WINAPI SessionSequenceStart(AMCOPPSignature *pSig) = 0;
6768 virtual HRESULT WINAPI ProtectionCommand(const AMCOPPCommand *cmd) = 0;
6769 virtual HRESULT WINAPI ProtectionStatus(const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) = 0;
6770 };
6771 #else
6772 typedef struct IAMCertifiedOutputProtectionVtbl {
6773 BEGIN_INTERFACE
6774 HRESULT (WINAPI *QueryInterface)(IAMCertifiedOutputProtection *This,REFIID riid,void **ppvObject);
6775 ULONG (WINAPI *AddRef)(IAMCertifiedOutputProtection *This);
6776 ULONG (WINAPI *Release)(IAMCertifiedOutputProtection *This);
6777 HRESULT (WINAPI *KeyExchange)(IAMCertifiedOutputProtection *This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH);
6778 HRESULT (WINAPI *SessionSequenceStart)(IAMCertifiedOutputProtection *This,AMCOPPSignature *pSig);
6779 HRESULT (WINAPI *ProtectionCommand)(IAMCertifiedOutputProtection *This,const AMCOPPCommand *cmd);
6780 HRESULT (WINAPI *ProtectionStatus)(IAMCertifiedOutputProtection *This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput);
6781 END_INTERFACE
6782 } IAMCertifiedOutputProtectionVtbl;
6783 struct IAMCertifiedOutputProtection {
6784 CONST_VTBL struct IAMCertifiedOutputProtectionVtbl *lpVtbl;
6785 };
6786 #ifdef COBJMACROS
6787 #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6788 #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This)
6789 #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This)
6790 #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH)
6791 #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig)
6792 #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd)
6793 #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput)
6794 #endif
6795 #endif
6796 HRESULT WINAPI IAMCertifiedOutputProtection_KeyExchange_Proxy(IAMCertifiedOutputProtection *This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH);
6797 void __RPC_STUB IAMCertifiedOutputProtection_KeyExchange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6798 HRESULT WINAPI IAMCertifiedOutputProtection_SessionSequenceStart_Proxy(IAMCertifiedOutputProtection *This,AMCOPPSignature *pSig);
6799 void __RPC_STUB IAMCertifiedOutputProtection_SessionSequenceStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6800 HRESULT WINAPI IAMCertifiedOutputProtection_ProtectionCommand_Proxy(IAMCertifiedOutputProtection *This,const AMCOPPCommand *cmd);
6801 void __RPC_STUB IAMCertifiedOutputProtection_ProtectionCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6802 HRESULT WINAPI IAMCertifiedOutputProtection_ProtectionStatus_Proxy(IAMCertifiedOutputProtection *This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput);
6803 void __RPC_STUB IAMCertifiedOutputProtection_ProtectionStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
6804 #endif
6805
6806 #ifdef MINGW_HAS_DDRAW_H
6807 #include <ddraw.h>
6808 #else
6809 typedef void *IDirectDraw;
6810 typedef void *IDirectDrawSurface;
6811 typedef void *LPDIRECTDRAWSURFACE7;
6812 typedef void *LPDIRECTDRAW7;
6813 typedef void *LPDDPIXELFORMAT;
6814 typedef struct DDCOLORKEY {
6815 DWORD dw1;
6816 DWORD dw2;
6817 } DDCOLORKEY;
6818 typedef DDCOLORKEY *LPDDCOLORKEY;
6819 #endif
6820
6821 typedef enum tagDVD_DOMAIN {
6822 DVD_DOMAIN_FirstPlay = 1,
6823 DVD_DOMAIN_VideoManagerMenu,DVD_DOMAIN_VideoTitleSetMenu,DVD_DOMAIN_Title,
6824 DVD_DOMAIN_Stop
6825 } DVD_DOMAIN;
6826
6827 typedef enum tagDVD_MENU_ID {
6828 DVD_MENU_Title = 2,DVD_MENU_Root = 3,DVD_MENU_Subpicture = 4,DVD_MENU_Audio = 5,
6829 DVD_MENU_Angle = 6,DVD_MENU_Chapter = 7
6830 } DVD_MENU_ID;
6831
6832 typedef enum tagDVD_DISC_SIDE {
6833 DVD_SIDE_A = 1,DVD_SIDE_B = 2
6834 } DVD_DISC_SIDE;
6835
6836 typedef enum tagDVD_PREFERRED_DISPLAY_MODE {
6837 DISPLAY_CONTENT_DEFAULT = 0,DISPLAY_16x9 = 1,DISPLAY_4x3_PANSCAN_PREFERRED = 2,DISPLAY_4x3_LETTERBOX_PREFERRED = 3
6838 } DVD_PREFERRED_DISPLAY_MODE;
6839
6840 typedef WORD DVD_REGISTER;
6841 typedef DVD_REGISTER GPRMARRAY[16];
6842 typedef DVD_REGISTER SPRMARRAY[24];
6843
6844 typedef struct tagDVD_ATR {
6845 ULONG ulCAT;
6846 BYTE pbATRI[768];
6847 } DVD_ATR;
6848
6849 typedef BYTE DVD_VideoATR[2];
6850 typedef BYTE DVD_AudioATR[8];
6851 typedef BYTE DVD_SubpictureATR[6];
6852
6853 typedef enum tagDVD_FRAMERATE {
6854 DVD_FPS_25 = 1,DVD_FPS_30NonDrop = 3
6855 } DVD_FRAMERATE;
6856
6857 typedef struct tagDVD_TIMECODE {
6858 ULONG Hours1 :4;
6859 ULONG Hours10 :4;
6860 ULONG Minutes1 :4;
6861 ULONG Minutes10:4;
6862 ULONG Seconds1 :4;
6863 ULONG Seconds10:4;
6864 ULONG Frames1 :4;
6865 ULONG Frames10 :2;
6866 ULONG FrameRateCode: 2;
6867 } DVD_TIMECODE;
6868
6869 typedef enum tagDVD_TIMECODE_FLAGS {
6870 DVD_TC_FLAG_25fps = 0x1,DVD_TC_FLAG_30fps = 0x2,DVD_TC_FLAG_DropFrame = 0x4,DVD_TC_FLAG_Interpolated = 0x8
6871 } DVD_TIMECODE_FLAGS;
6872
6873 typedef struct tagDVD_HMSF_TIMECODE {
6874 BYTE bHours;
6875 BYTE bMinutes;
6876 BYTE bSeconds;
6877 BYTE bFrames;
6878 } DVD_HMSF_TIMECODE;
6879
6880 typedef struct tagDVD_PLAYBACK_LOCATION2 {
6881 ULONG TitleNum;
6882 ULONG ChapterNum;
6883 DVD_HMSF_TIMECODE TimeCode;
6884 ULONG TimeCodeFlags;
6885 } DVD_PLAYBACK_LOCATION2;
6886
6887 typedef struct tagDVD_PLAYBACK_LOCATION {
6888 ULONG TitleNum;
6889 ULONG ChapterNum;
6890 ULONG TimeCode;
6891 } DVD_PLAYBACK_LOCATION;
6892
6893 typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
6894
6895 typedef enum __MIDL___MIDL_itf_strmif_0376_0001 {
6896 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,
6897 UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,UOP_FLAG_PlayNext_Chapter = 0x80,UOP_FLAG_Play_Forwards = 0x100,
6898 UOP_FLAG_Play_Backwards = 0x200,UOP_FLAG_ShowMenu_Title = 0x400,UOP_FLAG_ShowMenu_Root = 0x800,UOP_FLAG_ShowMenu_SubPic = 0x1000,
6899 UOP_FLAG_ShowMenu_Audio = 0x2000,UOP_FLAG_ShowMenu_Angle = 0x4000,UOP_FLAG_ShowMenu_Chapter = 0x8000,UOP_FLAG_Resume = 0x10000,
6900 UOP_FLAG_Select_Or_Activate_Button = 0x20000,UOP_FLAG_Still_Off = 0x40000,UOP_FLAG_Pause_On = 0x80000,UOP_FLAG_Select_Audio_Stream = 0x100000,
6901 UOP_FLAG_Select_SubPic_Stream = 0x200000,UOP_FLAG_Select_Angle = 0x400000,UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000,
6902 UOP_FLAG_Select_Video_Mode_Preference = 0x1000000
6903 } VALID_UOP_FLAG;
6904
6905 typedef enum __MIDL___MIDL_itf_strmif_0376_0002 {
6906 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,
6907 DVD_CMD_FLAG_EndAfterRendered = 0x10
6908 } DVD_CMD_FLAGS;
6909
6910 typedef enum __MIDL___MIDL_itf_strmif_0376_0003 {
6911 DVD_ResetOnStop = 1,DVD_NotifyParentalLevelChange = 2,DVD_HMSF_TimeCodeEvents = 3,DVD_AudioDuringFFwdRew = 4
6912 } DVD_OPTION_FLAG;
6913
6914 typedef enum __MIDL___MIDL_itf_strmif_0376_0004 {
6915 DVD_Relative_Upper = 1,DVD_Relative_Lower = 2,DVD_Relative_Left = 3,DVD_Relative_Right = 4
6916 } DVD_RELATIVE_BUTTON;
6917
6918 typedef enum tagDVD_PARENTAL_LEVEL {
6919 DVD_PARENTAL_LEVEL_8 = 0x8000,DVD_PARENTAL_LEVEL_7 = 0x4000,DVD_PARENTAL_LEVEL_6 = 0x2000,DVD_PARENTAL_LEVEL_5 = 0x1000,
6920 DVD_PARENTAL_LEVEL_4 = 0x800,DVD_PARENTAL_LEVEL_3 = 0x400,DVD_PARENTAL_LEVEL_2 = 0x200,DVD_PARENTAL_LEVEL_1 = 0x100
6921 } DVD_PARENTAL_LEVEL;
6922
6923 typedef enum tagDVD_AUDIO_LANG_EXT {
6924 DVD_AUD_EXT_NotSpecified = 0,DVD_AUD_EXT_Captions = 1,DVD_AUD_EXT_VisuallyImpaired = 2,DVD_AUD_EXT_DirectorComments1 = 3,
6925 DVD_AUD_EXT_DirectorComments2 = 4
6926 } DVD_AUDIO_LANG_EXT;
6927
6928 typedef enum tagDVD_SUBPICTURE_LANG_EXT {
6929 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,
6930 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,
6931 DVD_SP_EXT_DirectorComments_Children = 15
6932 } DVD_SUBPICTURE_LANG_EXT;
6933
6934 typedef enum tagDVD_AUDIO_APPMODE {
6935 DVD_AudioMode_None = 0,DVD_AudioMode_Karaoke = 1,DVD_AudioMode_Surround = 2,DVD_AudioMode_Other = 3
6936 } DVD_AUDIO_APPMODE;
6937
6938 typedef enum tagDVD_AUDIO_FORMAT {
6939 DVD_AudioFormat_AC3 = 0,DVD_AudioFormat_MPEG1 = 1,DVD_AudioFormat_MPEG1_DRC = 2,DVD_AudioFormat_MPEG2 = 3,DVD_AudioFormat_MPEG2_DRC = 4,
6940 DVD_AudioFormat_LPCM = 5,DVD_AudioFormat_DTS = 6,DVD_AudioFormat_SDDS = 7,DVD_AudioFormat_Other = 8
6941 } DVD_AUDIO_FORMAT;
6942
6943 typedef enum tagDVD_KARAOKE_DOWNMIX {
6944 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,
6945 DVD_Mix_0to1 = 0x100,DVD_Mix_1to1 = 0x200,DVD_Mix_2to1 = 0x400,DVD_Mix_3to1 = 0x800,DVD_Mix_4to1 = 0x1000,DVD_Mix_Lto1 = 0x2000,
6946 DVD_Mix_Rto1 = 0x4000
6947 } DVD_KARAOKE_DOWNMIX;
6948
6949 typedef struct tagDVD_AudioAttributes {
6950 DVD_AUDIO_APPMODE AppMode;
6951 BYTE AppModeData;
6952 DVD_AUDIO_FORMAT AudioFormat;
6953 LCID Language;
6954 DVD_AUDIO_LANG_EXT LanguageExtension;
6955 WINBOOL fHasMultichannelInfo;
6956 DWORD dwFrequency;
6957 BYTE bQuantization;
6958 BYTE bNumberOfChannels;
6959 DWORD dwReserved[2];
6960 } DVD_AudioAttributes;
6961
6962 typedef struct tagDVD_MUA_MixingInfo {
6963 WINBOOL fMixTo0;
6964 WINBOOL fMixTo1;
6965 WINBOOL fMix0InPhase;
6966 WINBOOL fMix1InPhase;
6967 DWORD dwSpeakerPosition;
6968 } DVD_MUA_MixingInfo;
6969
6970 typedef struct tagDVD_MUA_Coeff {
6971 double log2_alpha;
6972 double log2_beta;
6973 } DVD_MUA_Coeff;
6974
6975 typedef struct tagDVD_MultichannelAudioAttributes {
6976 DVD_MUA_MixingInfo Info[8];
6977 DVD_MUA_Coeff Coeff[8];
6978 } DVD_MultichannelAudioAttributes;
6979
6980 typedef enum tagDVD_KARAOKE_CONTENTS {
6981 DVD_Karaoke_GuideVocal1 = 0x1,DVD_Karaoke_GuideVocal2 = 0x2,DVD_Karaoke_GuideMelody1 = 0x4,DVD_Karaoke_GuideMelody2 = 0x8,
6982 DVD_Karaoke_GuideMelodyA = 0x10,DVD_Karaoke_GuideMelodyB = 0x20,DVD_Karaoke_SoundEffectA = 0x40,DVD_Karaoke_SoundEffectB = 0x80
6983 } DVD_KARAOKE_CONTENTS;
6984
6985 typedef enum tagDVD_KARAOKE_ASSIGNMENT {
6986 DVD_Assignment_reserved0 = 0,DVD_Assignment_reserved1 = 1,DVD_Assignment_LR = 2,DVD_Assignment_LRM = 3,DVD_Assignment_LR1 = 4,
6987 DVD_Assignment_LRM1 = 5,DVD_Assignment_LR12 = 6,DVD_Assignment_LRM12 = 7
6988 } DVD_KARAOKE_ASSIGNMENT;
6989
6990 typedef struct tagDVD_KaraokeAttributes {
6991 BYTE bVersion;
6992 WINBOOL fMasterOfCeremoniesInGuideVocal1;
6993 WINBOOL fDuet;
6994 DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
6995 WORD wChannelContents[8];
6996 } DVD_KaraokeAttributes;
6997
6998 typedef enum tagDVD_VIDEO_COMPRESSION {
6999 DVD_VideoCompression_Other = 0,DVD_VideoCompression_MPEG1 = 1,DVD_VideoCompression_MPEG2 = 2
7000 } DVD_VIDEO_COMPRESSION;
7001
7002 typedef struct tagDVD_VideoAttributes {
7003 WINBOOL fPanscanPermitted;
7004 WINBOOL fLetterboxPermitted;
7005 ULONG ulAspectX;
7006 ULONG ulAspectY;
7007 ULONG ulFrameRate;
7008 ULONG ulFrameHeight;
7009 DVD_VIDEO_COMPRESSION Compression;
7010 WINBOOL fLine21Field1InGOP;
7011 WINBOOL fLine21Field2InGOP;
7012 ULONG ulSourceResolutionX;
7013 ULONG ulSourceResolutionY;
7014 WINBOOL fIsSourceLetterboxed;
7015 WINBOOL fIsFilmMode;
7016 } DVD_VideoAttributes;
7017
7018 typedef enum tagDVD_SUBPICTURE_TYPE {
7019 DVD_SPType_NotSpecified = 0,DVD_SPType_Language = 1,DVD_SPType_Other = 2
7020 } DVD_SUBPICTURE_TYPE;
7021
7022 typedef enum tagDVD_SUBPICTURE_CODING {
7023 DVD_SPCoding_RunLength = 0,DVD_SPCoding_Extended = 1,DVD_SPCoding_Other = 2
7024 } DVD_SUBPICTURE_CODING;
7025
7026 typedef struct tagDVD_SubpictureAttributes {
7027 DVD_SUBPICTURE_TYPE Type;
7028 DVD_SUBPICTURE_CODING CodingMode;
7029 LCID Language;
7030 DVD_SUBPICTURE_LANG_EXT LanguageExtension;
7031 } DVD_SubpictureAttributes;
7032
7033 typedef enum tagDVD_TITLE_APPMODE {
7034 DVD_AppMode_Not_Specified = 0,DVD_AppMode_Karaoke = 1,DVD_AppMode_Other = 3
7035 } DVD_TITLE_APPMODE;
7036
7037 typedef struct tagDVD_TitleMainAttributes {
7038 DVD_TITLE_APPMODE AppMode;
7039 DVD_VideoAttributes VideoAttributes;
7040 ULONG ulNumberOfAudioStreams;
7041 DVD_AudioAttributes AudioAttributes[8];
7042 DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8];
7043 ULONG ulNumberOfSubpictureStreams;
7044 DVD_SubpictureAttributes SubpictureAttributes[32];
7045 } DVD_TitleAttributes;
7046
7047 typedef struct tagDVD_MenuAttributes {
7048 WINBOOL fCompatibleRegion[8];
7049 DVD_VideoAttributes VideoAttributes;
7050 WINBOOL fAudioPresent;
7051 DVD_AudioAttributes AudioAttributes;
7052 WINBOOL fSubpicturePresent;
7053 DVD_SubpictureAttributes SubpictureAttributes;
7054 } DVD_MenuAttributes;
7055
7056 extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec;
7057 extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec;
7058 #ifndef __IDvdControl_INTERFACE_DEFINED__
7059 #define __IDvdControl_INTERFACE_DEFINED__
7060 EXTERN_C const IID IID_IDvdControl;
7061 #if defined(__cplusplus) && !defined(CINTERFACE)
7062 struct IDvdControl : public IUnknown {
7063 public:
7064 virtual HRESULT WINAPI TitlePlay(ULONG ulTitle) = 0;
7065 virtual HRESULT WINAPI ChapterPlay(ULONG ulTitle,ULONG ulChapter) = 0;
7066 virtual HRESULT WINAPI TimePlay(ULONG ulTitle,ULONG bcdTime) = 0;
7067 virtual HRESULT WINAPI StopForResume(void) = 0;
7068 virtual HRESULT WINAPI GoUp(void) = 0;
7069 virtual HRESULT WINAPI TimeSearch(ULONG bcdTime) = 0;
7070 virtual HRESULT WINAPI ChapterSearch(ULONG ulChapter) = 0;
7071 virtual HRESULT WINAPI PrevPGSearch(void) = 0;
7072 virtual HRESULT WINAPI TopPGSearch(void) = 0;
7073 virtual HRESULT WINAPI NextPGSearch(void) = 0;
7074 virtual HRESULT WINAPI ForwardScan(double dwSpeed) = 0;
7075 virtual HRESULT WINAPI BackwardScan(double dwSpeed) = 0;
7076 virtual HRESULT WINAPI MenuCall(DVD_MENU_ID MenuID) = 0;
7077 virtual HRESULT WINAPI Resume(void) = 0;
7078 virtual HRESULT WINAPI UpperButtonSelect(void) = 0;
7079 virtual HRESULT WINAPI LowerButtonSelect(void) = 0;
7080 virtual HRESULT WINAPI LeftButtonSelect(void) = 0;
7081 virtual HRESULT WINAPI RightButtonSelect(void) = 0;
7082 virtual HRESULT WINAPI ButtonActivate(void) = 0;
7083 virtual HRESULT WINAPI ButtonSelectAndActivate(ULONG ulButton) = 0;
7084 virtual HRESULT WINAPI StillOff(void) = 0;
7085 virtual HRESULT WINAPI PauseOn(void) = 0;
7086 virtual HRESULT WINAPI PauseOff(void) = 0;
7087 virtual HRESULT WINAPI MenuLanguageSelect(LCID Language) = 0;
7088 virtual HRESULT WINAPI AudioStreamChange(ULONG ulAudio) = 0;
7089 virtual HRESULT WINAPI SubpictureStreamChange(ULONG ulSubPicture,WINBOOL bDisplay) = 0;
7090 virtual HRESULT WINAPI AngleChange(ULONG ulAngle) = 0;
7091 virtual HRESULT WINAPI ParentalLevelSelect(ULONG ulParentalLevel) = 0;
7092 virtual HRESULT WINAPI ParentalCountrySelect(WORD wCountry) = 0;
7093 virtual HRESULT WINAPI KaraokeAudioPresentationModeChange(ULONG ulMode) = 0;
7094 virtual HRESULT WINAPI VideoModePreferrence(ULONG ulPreferredDisplayMode) = 0;
7095 virtual HRESULT WINAPI SetRoot(LPCWSTR pszPath) = 0;
7096 virtual HRESULT WINAPI MouseActivate(POINT point) = 0;
7097 virtual HRESULT WINAPI MouseSelect(POINT point) = 0;
7098 virtual HRESULT WINAPI ChapterPlayAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay) = 0;
7099 };
7100 #else
7101 typedef struct IDvdControlVtbl {
7102 BEGIN_INTERFACE
7103 HRESULT (WINAPI *QueryInterface)(IDvdControl *This,REFIID riid,void **ppvObject);
7104 ULONG (WINAPI *AddRef)(IDvdControl *This);
7105 ULONG (WINAPI *Release)(IDvdControl *This);
7106 HRESULT (WINAPI *TitlePlay)(IDvdControl *This,ULONG ulTitle);
7107 HRESULT (WINAPI *ChapterPlay)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
7108 HRESULT (WINAPI *TimePlay)(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
7109 HRESULT (WINAPI *StopForResume)(IDvdControl *This);
7110 HRESULT (WINAPI *GoUp)(IDvdControl *This);
7111 HRESULT (WINAPI *TimeSearch)(IDvdControl *This,ULONG bcdTime);
7112 HRESULT (WINAPI *ChapterSearch)(IDvdControl *This,ULONG ulChapter);
7113 HRESULT (WINAPI *PrevPGSearch)(IDvdControl *This);
7114 HRESULT (WINAPI *TopPGSearch)(IDvdControl *This);
7115 HRESULT (WINAPI *NextPGSearch)(IDvdControl *This);
7116 HRESULT (WINAPI *ForwardScan)(IDvdControl *This,double dwSpeed);
7117 HRESULT (WINAPI *BackwardScan)(IDvdControl *This,double dwSpeed);
7118 HRESULT (WINAPI *MenuCall)(IDvdControl *This,DVD_MENU_ID MenuID);
7119 HRESULT (WINAPI *Resume)(IDvdControl *This);
7120 HRESULT (WINAPI *UpperButtonSelect)(IDvdControl *This);
7121 HRESULT (WINAPI *LowerButtonSelect)(IDvdControl *This);
7122 HRESULT (WINAPI *LeftButtonSelect)(IDvdControl *This);
7123 HRESULT (WINAPI *RightButtonSelect)(IDvdControl *This);
7124 HRESULT (WINAPI *ButtonActivate)(IDvdControl *This);
7125 HRESULT (WINAPI *ButtonSelectAndActivate)(IDvdControl *This,ULONG ulButton);
7126 HRESULT (WINAPI *StillOff)(IDvdControl *This);
7127 HRESULT (WINAPI *PauseOn)(IDvdControl *This);
7128 HRESULT (WINAPI *PauseOff)(IDvdControl *This);
7129 HRESULT (WINAPI *MenuLanguageSelect)(IDvdControl *This,LCID Language);
7130 HRESULT (WINAPI *AudioStreamChange)(IDvdControl *This,ULONG ulAudio);
7131 HRESULT (WINAPI *SubpictureStreamChange)(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
7132 HRESULT (WINAPI *AngleChange)(IDvdControl *This,ULONG ulAngle);
7133 HRESULT (WINAPI *ParentalLevelSelect)(IDvdControl *This,ULONG ulParentalLevel);
7134 HRESULT (WINAPI *ParentalCountrySelect)(IDvdControl *This,WORD wCountry);
7135 HRESULT (WINAPI *KaraokeAudioPresentationModeChange)(IDvdControl *This,ULONG ulMode);
7136 HRESULT (WINAPI *VideoModePreferrence)(IDvdControl *This,ULONG ulPreferredDisplayMode);
7137 HRESULT (WINAPI *SetRoot)(IDvdControl *This,LPCWSTR pszPath);
7138 HRESULT (WINAPI *MouseActivate)(IDvdControl *This,POINT point);
7139 HRESULT (WINAPI *MouseSelect)(IDvdControl *This,POINT point);
7140 HRESULT (WINAPI *ChapterPlayAutoStop)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
7141 END_INTERFACE
7142 } IDvdControlVtbl;
7143 struct IDvdControl {
7144 CONST_VTBL struct IDvdControlVtbl *lpVtbl;
7145 };
7146 #ifdef COBJMACROS
7147 #define IDvdControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7148 #define IDvdControl_AddRef(This) (This)->lpVtbl->AddRef(This)
7149 #define IDvdControl_Release(This) (This)->lpVtbl->Release(This)
7150 #define IDvdControl_TitlePlay(This,ulTitle) (This)->lpVtbl->TitlePlay(This,ulTitle)
7151 #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) (This)->lpVtbl->ChapterPlay(This,ulTitle,ulChapter)
7152 #define IDvdControl_TimePlay(This,ulTitle,bcdTime) (This)->lpVtbl->TimePlay(This,ulTitle,bcdTime)
7153 #define IDvdControl_StopForResume(This) (This)->lpVtbl->StopForResume(This)
7154 #define IDvdControl_GoUp(This) (This)->lpVtbl->GoUp(This)
7155 #define IDvdControl_TimeSearch(This,bcdTime) (This)->lpVtbl->TimeSearch(This,bcdTime)
7156 #define IDvdControl_ChapterSearch(This,ulChapter) (This)->lpVtbl->ChapterSearch(This,ulChapter)
7157 #define IDvdControl_PrevPGSearch(This) (This)->lpVtbl->PrevPGSearch(This)
7158 #define IDvdControl_TopPGSearch(This) (This)->lpVtbl->TopPGSearch(This)
7159 #define IDvdControl_NextPGSearch(This) (This)->lpVtbl->NextPGSearch(This)
7160 #define IDvdControl_ForwardScan(This,dwSpeed) (This)->lpVtbl->ForwardScan(This,dwSpeed)
7161 #define IDvdControl_BackwardScan(This,dwSpeed) (This)->lpVtbl->BackwardScan(This,dwSpeed)
7162 #define IDvdControl_MenuCall(This,MenuID) (This)->lpVtbl->MenuCall(This,MenuID)
7163 #define IDvdControl_Resume(This) (This)->lpVtbl->Resume(This)
7164 #define IDvdControl_UpperButtonSelect(This) (This)->lpVtbl->UpperButtonSelect(This)
7165 #define IDvdControl_LowerButtonSelect(This) (This)->lpVtbl->LowerButtonSelect(This)
7166 #define IDvdControl_LeftButtonSelect(This) (This)->lpVtbl->LeftButtonSelect(This)
7167 #define IDvdControl_RightButtonSelect(This) (This)->lpVtbl->RightButtonSelect(This)
7168 #define IDvdControl_ButtonActivate(This) (This)->lpVtbl->ButtonActivate(This)
7169 #define IDvdControl_ButtonSelectAndActivate(This,ulButton) (This)->lpVtbl->ButtonSelectAndActivate(This,ulButton)
7170 #define IDvdControl_StillOff(This) (This)->lpVtbl->StillOff(This)
7171 #define IDvdControl_PauseOn(This) (This)->lpVtbl->PauseOn(This)
7172 #define IDvdControl_PauseOff(This) (This)->lpVtbl->PauseOff(This)
7173 #define IDvdControl_MenuLanguageSelect(This,Language) (This)->lpVtbl->MenuLanguageSelect(This,Language)
7174 #define IDvdControl_AudioStreamChange(This,ulAudio) (This)->lpVtbl->AudioStreamChange(This,ulAudio)
7175 #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) (This)->lpVtbl->SubpictureStreamChange(This,ulSubPicture,bDisplay)
7176 #define IDvdControl_AngleChange(This,ulAngle) (This)->lpVtbl->AngleChange(This,ulAngle)
7177 #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) (This)->lpVtbl->ParentalLevelSelect(This,ulParentalLevel)
7178 #define IDvdControl_ParentalCountrySelect(This,wCountry) (This)->lpVtbl->ParentalCountrySelect(This,wCountry)
7179 #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) (This)->lpVtbl->KaraokeAudioPresentationModeChange(This,ulMode)
7180 #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) (This)->lpVtbl->VideoModePreferrence(This,ulPreferredDisplayMode)
7181 #define IDvdControl_SetRoot(This,pszPath) (This)->lpVtbl->SetRoot(This,pszPath)
7182 #define IDvdControl_MouseActivate(This,point) (This)->lpVtbl->MouseActivate(This,point)
7183 #define IDvdControl_MouseSelect(This,point) (This)->lpVtbl->MouseSelect(This,point)
7184 #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) (This)->lpVtbl->ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
7185 #endif
7186 #endif
7187 HRESULT WINAPI IDvdControl_TitlePlay_Proxy(IDvdControl *This,ULONG ulTitle);
7188 void __RPC_STUB IDvdControl_TitlePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7189 HRESULT WINAPI IDvdControl_ChapterPlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
7190 void __RPC_STUB IDvdControl_ChapterPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7191 HRESULT WINAPI IDvdControl_TimePlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
7192 void __RPC_STUB IDvdControl_TimePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7193 HRESULT WINAPI IDvdControl_StopForResume_Proxy(IDvdControl *This);
7194 void __RPC_STUB IDvdControl_StopForResume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7195 HRESULT WINAPI IDvdControl_GoUp_Proxy(IDvdControl *This);
7196 void __RPC_STUB IDvdControl_GoUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7197 HRESULT WINAPI IDvdControl_TimeSearch_Proxy(IDvdControl *This,ULONG bcdTime);
7198 void __RPC_STUB IDvdControl_TimeSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7199 HRESULT WINAPI IDvdControl_ChapterSearch_Proxy(IDvdControl *This,ULONG ulChapter);
7200 void __RPC_STUB IDvdControl_ChapterSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7201 HRESULT WINAPI IDvdControl_PrevPGSearch_Proxy(IDvdControl *This);
7202 void __RPC_STUB IDvdControl_PrevPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7203 HRESULT WINAPI IDvdControl_TopPGSearch_Proxy(IDvdControl *This);
7204 void __RPC_STUB IDvdControl_TopPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7205 HRESULT WINAPI IDvdControl_NextPGSearch_Proxy(IDvdControl *This);
7206 void __RPC_STUB IDvdControl_NextPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7207 HRESULT WINAPI IDvdControl_ForwardScan_Proxy(IDvdControl *This,double dwSpeed);
7208 void __RPC_STUB IDvdControl_ForwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7209 HRESULT WINAPI IDvdControl_BackwardScan_Proxy(IDvdControl *This,double dwSpeed);
7210 void __RPC_STUB IDvdControl_BackwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7211 HRESULT WINAPI IDvdControl_MenuCall_Proxy(IDvdControl *This,DVD_MENU_ID MenuID);
7212 void __RPC_STUB IDvdControl_MenuCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7213 HRESULT WINAPI IDvdControl_Resume_Proxy(IDvdControl *This);
7214 void __RPC_STUB IDvdControl_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7215 HRESULT WINAPI IDvdControl_UpperButtonSelect_Proxy(IDvdControl *This);
7216 void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7217 HRESULT WINAPI IDvdControl_LowerButtonSelect_Proxy(IDvdControl *This);
7218 void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7219 HRESULT WINAPI IDvdControl_LeftButtonSelect_Proxy(IDvdControl *This);
7220 void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7221 HRESULT WINAPI IDvdControl_RightButtonSelect_Proxy(IDvdControl *This);
7222 void __RPC_STUB IDvdControl_RightButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7223 HRESULT WINAPI IDvdControl_ButtonActivate_Proxy(IDvdControl *This);
7224 void __RPC_STUB IDvdControl_ButtonActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7225 HRESULT WINAPI IDvdControl_ButtonSelectAndActivate_Proxy(IDvdControl *This,ULONG ulButton);
7226 void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7227 HRESULT WINAPI IDvdControl_StillOff_Proxy(IDvdControl *This);
7228 void __RPC_STUB IDvdControl_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7229 HRESULT WINAPI IDvdControl_PauseOn_Proxy(IDvdControl *This);
7230 void __RPC_STUB IDvdControl_PauseOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7231 HRESULT WINAPI IDvdControl_PauseOff_Proxy(IDvdControl *This);
7232 void __RPC_STUB IDvdControl_PauseOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7233 HRESULT WINAPI IDvdControl_MenuLanguageSelect_Proxy(IDvdControl *This,LCID Language);
7234 void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7235 HRESULT WINAPI IDvdControl_AudioStreamChange_Proxy(IDvdControl *This,ULONG ulAudio);
7236 void __RPC_STUB IDvdControl_AudioStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7237 HRESULT WINAPI IDvdControl_SubpictureStreamChange_Proxy(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
7238 void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7239 HRESULT WINAPI IDvdControl_AngleChange_Proxy(IDvdControl *This,ULONG ulAngle);
7240 void __RPC_STUB IDvdControl_AngleChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7241 HRESULT WINAPI IDvdControl_ParentalLevelSelect_Proxy(IDvdControl *This,ULONG ulParentalLevel);
7242 void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7243 HRESULT WINAPI IDvdControl_ParentalCountrySelect_Proxy(IDvdControl *This,WORD wCountry);
7244 void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7245 HRESULT WINAPI IDvdControl_KaraokeAudioPresentationModeChange_Proxy(IDvdControl *This,ULONG ulMode);
7246 void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7247 HRESULT WINAPI IDvdControl_VideoModePreferrence_Proxy(IDvdControl *This,ULONG ulPreferredDisplayMode);
7248 void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7249 HRESULT WINAPI IDvdControl_SetRoot_Proxy(IDvdControl *This,LPCWSTR pszPath);
7250 void __RPC_STUB IDvdControl_SetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7251 HRESULT WINAPI IDvdControl_MouseActivate_Proxy(IDvdControl *This,POINT point);
7252 void __RPC_STUB IDvdControl_MouseActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7253 HRESULT WINAPI IDvdControl_MouseSelect_Proxy(IDvdControl *This,POINT point);
7254 void __RPC_STUB IDvdControl_MouseSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7255 HRESULT WINAPI IDvdControl_ChapterPlayAutoStop_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
7256 void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7257 #endif
7258
7259 #ifndef __IDvdInfo_INTERFACE_DEFINED__
7260 #define __IDvdInfo_INTERFACE_DEFINED__
7261 EXTERN_C const IID IID_IDvdInfo;
7262 #if defined(__cplusplus) && !defined(CINTERFACE)
7263 struct IDvdInfo : public IUnknown {
7264 public:
7265 virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
7266 virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION *pLocation) = 0;
7267 virtual HRESULT WINAPI GetTotalTitleTime(ULONG *pulTotalTime) = 0;
7268 virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
7269 virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
7270 virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
7271 virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled) = 0;
7272 virtual HRESULT WINAPI GetCurrentUOPS(VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
7273 virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
7274 virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
7275 virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
7276 virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
7277 virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_ATR *pATR) = 0;
7278 virtual HRESULT WINAPI GetVMGAttributes(DVD_ATR *pATR) = 0;
7279 virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoATR *pATR) = 0;
7280 virtual HRESULT WINAPI GetCurrentAudioAttributes(DVD_AudioATR *pATR) = 0;
7281 virtual HRESULT WINAPI GetCurrentSubpictureAttributes(DVD_SubpictureATR *pATR) = 0;
7282 virtual HRESULT WINAPI GetCurrentVolumeInfo(ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
7283 virtual HRESULT WINAPI GetDVDTextInfo(BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize) = 0;
7284 virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,ULONG *pulCountryCode) = 0;
7285 virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumberOfChapters) = 0;
7286 virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
7287 virtual HRESULT WINAPI GetRoot(LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize) = 0;
7288 };
7289 #else
7290 typedef struct IDvdInfoVtbl {
7291 BEGIN_INTERFACE
7292 HRESULT (WINAPI *QueryInterface)(IDvdInfo *This,REFIID riid,void **ppvObject);
7293 ULONG (WINAPI *AddRef)(IDvdInfo *This);
7294 ULONG (WINAPI *Release)(IDvdInfo *This);
7295 HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo *This,DVD_DOMAIN *pDomain);
7296 HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
7297 HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo *This,ULONG *pulTotalTime);
7298 HRESULT (WINAPI *GetCurrentButton)(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
7299 HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
7300 HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
7301 HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
7302 HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
7303 HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo *This,SPRMARRAY *pRegisterArray);
7304 HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo *This,GPRMARRAY *pRegisterArray);
7305 HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
7306 HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
7307 HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
7308 HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo *This,DVD_ATR *pATR);
7309 HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo *This,DVD_VideoATR *pATR);
7310 HRESULT (WINAPI *GetCurrentAudioAttributes)(IDvdInfo *This,DVD_AudioATR *pATR);
7311 HRESULT (WINAPI *GetCurrentSubpictureAttributes)(IDvdInfo *This,DVD_SubpictureATR *pATR);
7312 HRESULT (WINAPI *GetCurrentVolumeInfo)(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
7313 HRESULT (WINAPI *GetDVDTextInfo)(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
7314 HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
7315 HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
7316 HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
7317 HRESULT (WINAPI *GetRoot)(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
7318 END_INTERFACE
7319 } IDvdInfoVtbl;
7320 struct IDvdInfo {
7321 CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
7322 };
7323 #ifdef COBJMACROS
7324 #define IDvdInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7325 #define IDvdInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
7326 #define IDvdInfo_Release(This) (This)->lpVtbl->Release(This)
7327 #define IDvdInfo_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
7328 #define IDvdInfo_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
7329 #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) (This)->lpVtbl->GetTotalTitleTime(This,pulTotalTime)
7330 #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
7331 #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
7332 #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
7333 #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
7334 #define IDvdInfo_GetCurrentUOPS(This,pUOP) (This)->lpVtbl->GetCurrentUOPS(This,pUOP)
7335 #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
7336 #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
7337 #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
7338 #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
7339 #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pATR)
7340 #define IDvdInfo_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
7341 #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
7342 #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) (This)->lpVtbl->GetCurrentAudioAttributes(This,pATR)
7343 #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) (This)->lpVtbl->GetCurrentSubpictureAttributes(This,pATR)
7344 #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) (This)->lpVtbl->GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
7345 #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) (This)->lpVtbl->GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
7346 #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
7347 #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
7348 #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
7349 #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) (This)->lpVtbl->GetRoot(This,pRoot,ulBufSize,pulActualSize)
7350 #endif
7351 #endif
7352 HRESULT WINAPI IDvdInfo_GetCurrentDomain_Proxy(IDvdInfo *This,DVD_DOMAIN *pDomain);
7353 void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7354 HRESULT WINAPI IDvdInfo_GetCurrentLocation_Proxy(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
7355 void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7356 HRESULT WINAPI IDvdInfo_GetTotalTitleTime_Proxy(IDvdInfo *This,ULONG *pulTotalTime);
7357 void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7358 HRESULT WINAPI IDvdInfo_GetCurrentButton_Proxy(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
7359 void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7360 HRESULT WINAPI IDvdInfo_GetCurrentAngle_Proxy(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
7361 void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7362 HRESULT WINAPI IDvdInfo_GetCurrentAudio_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
7363 void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7364 HRESULT WINAPI IDvdInfo_GetCurrentSubpicture_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
7365 void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7366 HRESULT WINAPI IDvdInfo_GetCurrentUOPS_Proxy(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
7367 void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7368 HRESULT WINAPI IDvdInfo_GetAllSPRMs_Proxy(IDvdInfo *This,SPRMARRAY *pRegisterArray);
7369 void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7370 HRESULT WINAPI IDvdInfo_GetAllGPRMs_Proxy(IDvdInfo *This,GPRMARRAY *pRegisterArray);
7371 void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7372 HRESULT WINAPI IDvdInfo_GetAudioLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
7373 void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7374 HRESULT WINAPI IDvdInfo_GetSubpictureLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
7375 void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7376 HRESULT WINAPI IDvdInfo_GetTitleAttributes_Proxy(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
7377 void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7378 HRESULT WINAPI IDvdInfo_GetVMGAttributes_Proxy(IDvdInfo *This,DVD_ATR *pATR);
7379 void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7380 HRESULT WINAPI IDvdInfo_GetCurrentVideoAttributes_Proxy(IDvdInfo *This,DVD_VideoATR *pATR);
7381 void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7382 HRESULT WINAPI IDvdInfo_GetCurrentAudioAttributes_Proxy(IDvdInfo *This,DVD_AudioATR *pATR);
7383 void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7384 HRESULT WINAPI IDvdInfo_GetCurrentSubpictureAttributes_Proxy(IDvdInfo *This,DVD_SubpictureATR *pATR);
7385 void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7386 HRESULT WINAPI IDvdInfo_GetCurrentVolumeInfo_Proxy(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
7387 void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7388 HRESULT WINAPI IDvdInfo_GetDVDTextInfo_Proxy(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
7389 void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7390 HRESULT WINAPI IDvdInfo_GetPlayerParentalLevel_Proxy(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
7391 void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7392 HRESULT WINAPI IDvdInfo_GetNumberOfChapters_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
7393 void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7394 HRESULT WINAPI IDvdInfo_GetTitleParentalLevels_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
7395 void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7396 HRESULT WINAPI IDvdInfo_GetRoot_Proxy(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
7397 void __RPC_STUB IDvdInfo_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7398 #endif
7399
7400 #ifndef __IDvdCmd_INTERFACE_DEFINED__
7401 #define __IDvdCmd_INTERFACE_DEFINED__
7402 EXTERN_C const IID IID_IDvdCmd;
7403 #if defined(__cplusplus) && !defined(CINTERFACE)
7404 struct IDvdCmd : public IUnknown {
7405 public:
7406 virtual HRESULT WINAPI WaitForStart(void) = 0;
7407 virtual HRESULT WINAPI WaitForEnd(void) = 0;
7408 };
7409 #else
7410 typedef struct IDvdCmdVtbl {
7411 BEGIN_INTERFACE
7412 HRESULT (WINAPI *QueryInterface)(IDvdCmd *This,REFIID riid,void **ppvObject);
7413 ULONG (WINAPI *AddRef)(IDvdCmd *This);
7414 ULONG (WINAPI *Release)(IDvdCmd *This);
7415 HRESULT (WINAPI *WaitForStart)(IDvdCmd *This);
7416 HRESULT (WINAPI *WaitForEnd)(IDvdCmd *This);
7417 END_INTERFACE
7418 } IDvdCmdVtbl;
7419 struct IDvdCmd {
7420 CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
7421 };
7422 #ifdef COBJMACROS
7423 #define IDvdCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7424 #define IDvdCmd_AddRef(This) (This)->lpVtbl->AddRef(This)
7425 #define IDvdCmd_Release(This) (This)->lpVtbl->Release(This)
7426 #define IDvdCmd_WaitForStart(This) (This)->lpVtbl->WaitForStart(This)
7427 #define IDvdCmd_WaitForEnd(This) (This)->lpVtbl->WaitForEnd(This)
7428 #endif
7429 #endif
7430 HRESULT WINAPI IDvdCmd_WaitForStart_Proxy(IDvdCmd *This);
7431 void __RPC_STUB IDvdCmd_WaitForStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7432 HRESULT WINAPI IDvdCmd_WaitForEnd_Proxy(IDvdCmd *This);
7433 void __RPC_STUB IDvdCmd_WaitForEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7434 #endif
7435
7436 #ifndef __IDvdState_INTERFACE_DEFINED__
7437 #define __IDvdState_INTERFACE_DEFINED__
7438 EXTERN_C const IID IID_IDvdState;
7439 #if defined(__cplusplus) && !defined(CINTERFACE)
7440 struct IDvdState : public IUnknown {
7441 public:
7442 virtual HRESULT WINAPI GetDiscID(ULONGLONG *pullUniqueID) = 0;
7443 virtual HRESULT WINAPI GetParentalLevel(ULONG *pulParentalLevel) = 0;
7444 };
7445 #else
7446 typedef struct IDvdStateVtbl {
7447 BEGIN_INTERFACE
7448 HRESULT (WINAPI *QueryInterface)(IDvdState *This,REFIID riid,void **ppvObject);
7449 ULONG (WINAPI *AddRef)(IDvdState *This);
7450 ULONG (WINAPI *Release)(IDvdState *This);
7451 HRESULT (WINAPI *GetDiscID)(IDvdState *This,ULONGLONG *pullUniqueID);
7452 HRESULT (WINAPI *GetParentalLevel)(IDvdState *This,ULONG *pulParentalLevel);
7453 END_INTERFACE
7454 } IDvdStateVtbl;
7455 struct IDvdState {
7456 CONST_VTBL struct IDvdStateVtbl *lpVtbl;
7457 };
7458 #ifdef COBJMACROS
7459 #define IDvdState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7460 #define IDvdState_AddRef(This) (This)->lpVtbl->AddRef(This)
7461 #define IDvdState_Release(This) (This)->lpVtbl->Release(This)
7462 #define IDvdState_GetDiscID(This,pullUniqueID) (This)->lpVtbl->GetDiscID(This,pullUniqueID)
7463 #define IDvdState_GetParentalLevel(This,pulParentalLevel) (This)->lpVtbl->GetParentalLevel(This,pulParentalLevel)
7464 #endif
7465 #endif
7466 HRESULT WINAPI IDvdState_GetDiscID_Proxy(IDvdState *This,ULONGLONG *pullUniqueID);
7467 void __RPC_STUB IDvdState_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7468 HRESULT WINAPI IDvdState_GetParentalLevel_Proxy(IDvdState *This,ULONG *pulParentalLevel);
7469 void __RPC_STUB IDvdState_GetParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7470 #endif
7471
7472 #ifndef __IDvdControl2_INTERFACE_DEFINED__
7473 #define __IDvdControl2_INTERFACE_DEFINED__
7474 EXTERN_C const IID IID_IDvdControl2;
7475 #if defined(__cplusplus) && !defined(CINTERFACE)
7476 struct IDvdControl2 : public IUnknown {
7477 public:
7478 virtual HRESULT WINAPI PlayTitle(ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7479 virtual HRESULT WINAPI PlayChapterInTitle(ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7480 virtual HRESULT WINAPI PlayAtTimeInTitle(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7481 virtual HRESULT WINAPI Stop(void) = 0;
7482 virtual HRESULT WINAPI ReturnFromSubmenu(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7483 virtual HRESULT WINAPI PlayAtTime(DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7484 virtual HRESULT WINAPI PlayChapter(ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7485 virtual HRESULT WINAPI PlayPrevChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7486 virtual HRESULT WINAPI ReplayChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7487 virtual HRESULT WINAPI PlayNextChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7488 virtual HRESULT WINAPI PlayForwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7489 virtual HRESULT WINAPI PlayBackwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7490 virtual HRESULT WINAPI ShowMenu(DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7491 virtual HRESULT WINAPI Resume(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7492 virtual HRESULT WINAPI SelectRelativeButton(DVD_RELATIVE_BUTTON buttonDir) = 0;
7493 virtual HRESULT WINAPI ActivateButton(void) = 0;
7494 virtual HRESULT WINAPI SelectButton(ULONG ulButton) = 0;
7495 virtual HRESULT WINAPI SelectAndActivateButton(ULONG ulButton) = 0;
7496 virtual HRESULT WINAPI StillOff(void) = 0;
7497 virtual HRESULT WINAPI Pause(WINBOOL bState) = 0;
7498 virtual HRESULT WINAPI SelectAudioStream(ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7499 virtual HRESULT WINAPI SelectSubpictureStream(ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7500 virtual HRESULT WINAPI SetSubpictureState(WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7501 virtual HRESULT WINAPI SelectAngle(ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7502 virtual HRESULT WINAPI SelectParentalLevel(ULONG ulParentalLevel) = 0;
7503 virtual HRESULT WINAPI SelectParentalCountry(BYTE bCountry[2]) = 0;
7504 virtual HRESULT WINAPI SelectKaraokeAudioPresentationMode(ULONG ulMode) = 0;
7505 virtual HRESULT WINAPI SelectVideoModePreference(ULONG ulPreferredDisplayMode) = 0;
7506 virtual HRESULT WINAPI SetDVDDirectory(LPCWSTR pszwPath) = 0;
7507 virtual HRESULT WINAPI ActivateAtPosition(POINT point) = 0;
7508 virtual HRESULT WINAPI SelectAtPosition(POINT point) = 0;
7509 virtual HRESULT WINAPI PlayChaptersAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7510 virtual HRESULT WINAPI AcceptParentalLevelChange(WINBOOL bAccept) = 0;
7511 virtual HRESULT WINAPI SetOption(DVD_OPTION_FLAG flag,WINBOOL fState) = 0;
7512 virtual HRESULT WINAPI SetState(IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7513 virtual HRESULT WINAPI PlayPeriodInTitleAutoStop(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7514 virtual HRESULT WINAPI SetGPRM(ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
7515 virtual HRESULT WINAPI SelectDefaultMenuLanguage(LCID Language) = 0;
7516 virtual HRESULT WINAPI SelectDefaultAudioLanguage(LCID Language,DVD_AUDIO_LANG_EXT audioExtension) = 0;
7517 virtual HRESULT WINAPI SelectDefaultSubpictureLanguage(LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
7518 };
7519 #else
7520 typedef struct IDvdControl2Vtbl {
7521 BEGIN_INTERFACE
7522 HRESULT (WINAPI *QueryInterface)(IDvdControl2 *This,REFIID riid,void **ppvObject);
7523 ULONG (WINAPI *AddRef)(IDvdControl2 *This);
7524 ULONG (WINAPI *Release)(IDvdControl2 *This);
7525 HRESULT (WINAPI *PlayTitle)(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
7526 HRESULT (WINAPI *PlayChapterInTitle)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
7527 HRESULT (WINAPI *PlayAtTimeInTitle)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
7528 HRESULT (WINAPI *Stop)(IDvdControl2 *This);
7529 HRESULT (WINAPI *ReturnFromSubmenu)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7530 HRESULT (WINAPI *PlayAtTime)(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
7531 HRESULT (WINAPI *PlayChapter)(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
7532 HRESULT (WINAPI *PlayPrevChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7533 HRESULT (WINAPI *ReplayChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7534 HRESULT (WINAPI *PlayNextChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7535 HRESULT (WINAPI *PlayForwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
7536 HRESULT (WINAPI *PlayBackwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
7537 HRESULT (WINAPI *ShowMenu)(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
7538 HRESULT (WINAPI *Resume)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7539 HRESULT (WINAPI *SelectRelativeButton)(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
7540 HRESULT (WINAPI *ActivateButton)(IDvdControl2 *This);
7541 HRESULT (WINAPI *SelectButton)(IDvdControl2 *This,ULONG ulButton);
7542 HRESULT (WINAPI *SelectAndActivateButton)(IDvdControl2 *This,ULONG ulButton);
7543 HRESULT (WINAPI *StillOff)(IDvdControl2 *This);
7544 HRESULT (WINAPI *Pause)(IDvdControl2 *This,WINBOOL bState);
7545 HRESULT (WINAPI *SelectAudioStream)(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
7546 HRESULT (WINAPI *SelectSubpictureStream)(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
7547 HRESULT (WINAPI *SetSubpictureState)(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
7548 HRESULT (WINAPI *SelectAngle)(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
7549 HRESULT (WINAPI *SelectParentalLevel)(IDvdControl2 *This,ULONG ulParentalLevel);
7550 HRESULT (WINAPI *SelectParentalCountry)(IDvdControl2 *This,BYTE bCountry[2]);
7551 HRESULT (WINAPI *SelectKaraokeAudioPresentationMode)(IDvdControl2 *This,ULONG ulMode);
7552 HRESULT (WINAPI *SelectVideoModePreference)(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
7553 HRESULT (WINAPI *SetDVDDirectory)(IDvdControl2 *This,LPCWSTR pszwPath);
7554 HRESULT (WINAPI *ActivateAtPosition)(IDvdControl2 *This,POINT point);
7555 HRESULT (WINAPI *SelectAtPosition)(IDvdControl2 *This,POINT point);
7556 HRESULT (WINAPI *PlayChaptersAutoStop)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
7557 HRESULT (WINAPI *AcceptParentalLevelChange)(IDvdControl2 *This,WINBOOL bAccept);
7558 HRESULT (WINAPI *SetOption)(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
7559 HRESULT (WINAPI *SetState)(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
7560 HRESULT (WINAPI *PlayPeriodInTitleAutoStop)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
7561 HRESULT (WINAPI *SetGPRM)(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
7562 HRESULT (WINAPI *SelectDefaultMenuLanguage)(IDvdControl2 *This,LCID Language);
7563 HRESULT (WINAPI *SelectDefaultAudioLanguage)(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
7564 HRESULT (WINAPI *SelectDefaultSubpictureLanguage)(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
7565 END_INTERFACE
7566 } IDvdControl2Vtbl;
7567 struct IDvdControl2 {
7568 CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
7569 };
7570 #ifdef COBJMACROS
7571 #define IDvdControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7572 #define IDvdControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
7573 #define IDvdControl2_Release(This) (This)->lpVtbl->Release(This)
7574 #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) (This)->lpVtbl->PlayTitle(This,ulTitle,dwFlags,ppCmd)
7575 #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
7576 #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
7577 #define IDvdControl2_Stop(This) (This)->lpVtbl->Stop(This)
7578 #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) (This)->lpVtbl->ReturnFromSubmenu(This,dwFlags,ppCmd)
7579 #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTime(This,pTime,dwFlags,ppCmd)
7580 #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapter(This,ulChapter,dwFlags,ppCmd)
7581 #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayPrevChapter(This,dwFlags,ppCmd)
7582 #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) (This)->lpVtbl->ReplayChapter(This,dwFlags,ppCmd)
7583 #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayNextChapter(This,dwFlags,ppCmd)
7584 #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayForwards(This,dSpeed,dwFlags,ppCmd)
7585 #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayBackwards(This,dSpeed,dwFlags,ppCmd)
7586 #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) (This)->lpVtbl->ShowMenu(This,MenuID,dwFlags,ppCmd)
7587 #define IDvdControl2_Resume(This,dwFlags,ppCmd) (This)->lpVtbl->Resume(This,dwFlags,ppCmd)
7588 #define IDvdControl2_SelectRelativeButton(This,buttonDir) (This)->lpVtbl->SelectRelativeButton(This,buttonDir)
7589 #define IDvdControl2_ActivateButton(This) (This)->lpVtbl->ActivateButton(This)
7590 #define IDvdControl2_SelectButton(This,ulButton) (This)->lpVtbl->SelectButton(This,ulButton)
7591 #define IDvdControl2_SelectAndActivateButton(This,ulButton) (This)->lpVtbl->SelectAndActivateButton(This,ulButton)
7592 #define IDvdControl2_StillOff(This) (This)->lpVtbl->StillOff(This)
7593 #define IDvdControl2_Pause(This,bState) (This)->lpVtbl->Pause(This,bState)
7594 #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) (This)->lpVtbl->SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
7595 #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) (This)->lpVtbl->SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
7596 #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) (This)->lpVtbl->SetSubpictureState(This,bState,dwFlags,ppCmd)
7597 #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) (This)->lpVtbl->SelectAngle(This,ulAngle,dwFlags,ppCmd)
7598 #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) (This)->lpVtbl->SelectParentalLevel(This,ulParentalLevel)
7599 #define IDvdControl2_SelectParentalCountry(This,bCountry) (This)->lpVtbl->SelectParentalCountry(This,bCountry)
7600 #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) (This)->lpVtbl->SelectKaraokeAudioPresentationMode(This,ulMode)
7601 #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) (This)->lpVtbl->SelectVideoModePreference(This,ulPreferredDisplayMode)
7602 #define IDvdControl2_SetDVDDirectory(This,pszwPath) (This)->lpVtbl->SetDVDDirectory(This,pszwPath)
7603 #define IDvdControl2_ActivateAtPosition(This,point) (This)->lpVtbl->ActivateAtPosition(This,point)
7604 #define IDvdControl2_SelectAtPosition(This,point) (This)->lpVtbl->SelectAtPosition(This,point)
7605 #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) (This)->lpVtbl->PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
7606 #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) (This)->lpVtbl->AcceptParentalLevelChange(This,bAccept)
7607 #define IDvdControl2_SetOption(This,flag,fState) (This)->lpVtbl->SetOption(This,flag,fState)
7608 #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) (This)->lpVtbl->SetState(This,pState,dwFlags,ppCmd)
7609 #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) (This)->lpVtbl->PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
7610 #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) (This)->lpVtbl->SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
7611 #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) (This)->lpVtbl->SelectDefaultMenuLanguage(This,Language)
7612 #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) (This)->lpVtbl->SelectDefaultAudioLanguage(This,Language,audioExtension)
7613 #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) (This)->lpVtbl->SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
7614 #endif
7615 #endif
7616 HRESULT WINAPI IDvdControl2_PlayTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
7617 void __RPC_STUB IDvdControl2_PlayTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7618 HRESULT WINAPI IDvdControl2_PlayChapterInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
7619 void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7620 HRESULT WINAPI IDvdControl2_PlayAtTimeInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
7621 void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7622 HRESULT WINAPI IDvdControl2_Stop_Proxy(IDvdControl2 *This);
7623 void __RPC_STUB IDvdControl2_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7624 HRESULT WINAPI IDvdControl2_ReturnFromSubmenu_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7625 void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7626 HRESULT WINAPI IDvdControl2_PlayAtTime_Proxy(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
7627 void __RPC_STUB IDvdControl2_PlayAtTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7628 HRESULT WINAPI IDvdControl2_PlayChapter_Proxy(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
7629 void __RPC_STUB IDvdControl2_PlayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7630 HRESULT WINAPI IDvdControl2_PlayPrevChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7631 void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7632 HRESULT WINAPI IDvdControl2_ReplayChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7633 void __RPC_STUB IDvdControl2_ReplayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7634 HRESULT WINAPI IDvdControl2_PlayNextChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7635 void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7636 HRESULT WINAPI IDvdControl2_PlayForwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
7637 void __RPC_STUB IDvdControl2_PlayForwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7638 HRESULT WINAPI IDvdControl2_PlayBackwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
7639 void __RPC_STUB IDvdControl2_PlayBackwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7640 HRESULT WINAPI IDvdControl2_ShowMenu_Proxy(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
7641 void __RPC_STUB IDvdControl2_ShowMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7642 HRESULT WINAPI IDvdControl2_Resume_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
7643 void __RPC_STUB IDvdControl2_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7644 HRESULT WINAPI IDvdControl2_SelectRelativeButton_Proxy(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
7645 void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7646 HRESULT WINAPI IDvdControl2_ActivateButton_Proxy(IDvdControl2 *This);
7647 void __RPC_STUB IDvdControl2_ActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7648 HRESULT WINAPI IDvdControl2_SelectButton_Proxy(IDvdControl2 *This,ULONG ulButton);
7649 void __RPC_STUB IDvdControl2_SelectButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7650 HRESULT WINAPI IDvdControl2_SelectAndActivateButton_Proxy(IDvdControl2 *This,ULONG ulButton);
7651 void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7652 HRESULT WINAPI IDvdControl2_StillOff_Proxy(IDvdControl2 *This);
7653 void __RPC_STUB IDvdControl2_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7654 HRESULT WINAPI IDvdControl2_Pause_Proxy(IDvdControl2 *This,WINBOOL bState);
7655 void __RPC_STUB IDvdControl2_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7656 HRESULT WINAPI IDvdControl2_SelectAudioStream_Proxy(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
7657 void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7658 HRESULT WINAPI IDvdControl2_SelectSubpictureStream_Proxy(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
7659 void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7660 HRESULT WINAPI IDvdControl2_SetSubpictureState_Proxy(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
7661 void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7662 HRESULT WINAPI IDvdControl2_SelectAngle_Proxy(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
7663 void __RPC_STUB IDvdControl2_SelectAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7664 HRESULT WINAPI IDvdControl2_SelectParentalLevel_Proxy(IDvdControl2 *This,ULONG ulParentalLevel);
7665 void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7666 HRESULT WINAPI IDvdControl2_SelectParentalCountry_Proxy(IDvdControl2 *This,BYTE bCountry[2]);
7667 void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7668 HRESULT WINAPI IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(IDvdControl2 *This,ULONG ulMode);
7669 void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7670 HRESULT WINAPI IDvdControl2_SelectVideoModePreference_Proxy(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
7671 void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7672 HRESULT WINAPI IDvdControl2_SetDVDDirectory_Proxy(IDvdControl2 *This,LPCWSTR pszwPath);
7673 void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7674 HRESULT WINAPI IDvdControl2_ActivateAtPosition_Proxy(IDvdControl2 *This,POINT point);
7675 void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7676 HRESULT WINAPI IDvdControl2_SelectAtPosition_Proxy(IDvdControl2 *This,POINT point);
7677 void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7678 HRESULT WINAPI IDvdControl2_PlayChaptersAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
7679 void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7680 HRESULT WINAPI IDvdControl2_AcceptParentalLevelChange_Proxy(IDvdControl2 *This,WINBOOL bAccept);
7681 void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7682 HRESULT WINAPI IDvdControl2_SetOption_Proxy(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
7683 void __RPC_STUB IDvdControl2_SetOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7684 HRESULT WINAPI IDvdControl2_SetState_Proxy(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
7685 void __RPC_STUB IDvdControl2_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7686 HRESULT WINAPI IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
7687 void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7688 HRESULT WINAPI IDvdControl2_SetGPRM_Proxy(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
7689 void __RPC_STUB IDvdControl2_SetGPRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7690 HRESULT WINAPI IDvdControl2_SelectDefaultMenuLanguage_Proxy(IDvdControl2 *This,LCID Language);
7691 void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7692 HRESULT WINAPI IDvdControl2_SelectDefaultAudioLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
7693 void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7694 HRESULT WINAPI IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
7695 void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7696 #endif
7697
7698 enum DVD_TextStringType {
7699 DVD_Struct_Volume = 0x1,DVD_Struct_Title = 0x2,DVD_Struct_ParentalID = 0x3,DVD_Struct_PartOfTitle = 0x4,DVD_Struct_Cell = 0x5,
7700 DVD_Stream_Audio = 0x10,DVD_Stream_Subpicture = 0x11,DVD_Stream_Angle = 0x12,DVD_Channel_Audio = 0x20,DVD_General_Name = 0x30,
7701 DVD_General_Comments = 0x31,DVD_Title_Series = 0x38,DVD_Title_Movie = 0x39,DVD_Title_Video = 0x3a,DVD_Title_Album = 0x3b,DVD_Title_Song = 0x3c,
7702 DVD_Title_Other = 0x3f,DVD_Title_Sub_Series = 0x40,DVD_Title_Sub_Movie = 0x41,DVD_Title_Sub_Video = 0x42,DVD_Title_Sub_Album = 0x43,
7703 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,
7704 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
7705 };
7706
7707 enum DVD_TextCharSet {
7708 DVD_CharSet_Unicode = 0,DVD_CharSet_ISO646 = 1,DVD_CharSet_JIS_Roman_Kanji = 2,DVD_CharSet_ISO8859_1 = 3,
7709 DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
7710 };
7711 #define DVD_TITLE_MENU 0x000
7712 #define DVD_STREAM_DATA_CURRENT 0x800
7713 #define DVD_STREAM_DATA_VMGM 0x400
7714 #define DVD_STREAM_DATA_VTSM 0x401
7715 #define DVD_DEFAULT_AUDIO_STREAM 0x0f
7716
7717 typedef struct tagDVD_DECODER_CAPS {
7718 DWORD dwSize;
7719 DWORD dwAudioCaps;
7720 double dFwdMaxRateVideo;
7721 double dFwdMaxRateAudio;
7722 double dFwdMaxRateSP;
7723 double dBwdMaxRateVideo;
7724 double dBwdMaxRateAudio;
7725 double dBwdMaxRateSP;
7726 DWORD dwRes1;
7727 DWORD dwRes2;
7728 DWORD dwRes3;
7729 DWORD dwRes4;
7730 } DVD_DECODER_CAPS;
7731
7732 #define DVD_AUDIO_CAPS_AC3 0x00000001
7733 #define DVD_AUDIO_CAPS_MPEG2 0x00000002
7734 #define DVD_AUDIO_CAPS_LPCM 0x00000004
7735 #define DVD_AUDIO_CAPS_DTS 0x00000008
7736 #define DVD_AUDIO_CAPS_SDDS 0x00000010
7737
7738 extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
7739 extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
7740 #ifndef __IDvdInfo2_INTERFACE_DEFINED__
7741 #define __IDvdInfo2_INTERFACE_DEFINED__
7742 EXTERN_C const IID IID_IDvdInfo2;
7743 #if defined(__cplusplus) && !defined(CINTERFACE)
7744 struct IDvdInfo2 : public IUnknown {
7745 public:
7746 virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
7747 virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
7748 virtual HRESULT WINAPI GetTotalTitleTime(DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags) = 0;
7749 virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
7750 virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
7751 virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
7752 virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled) = 0;
7753 virtual HRESULT WINAPI GetCurrentUOPS(ULONG *pulUOPs) = 0;
7754 virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
7755 virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
7756 virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
7757 virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
7758 virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle) = 0;
7759 virtual HRESULT WINAPI GetVMGAttributes(DVD_MenuAttributes *pATR) = 0;
7760 virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoAttributes *pATR) = 0;
7761 virtual HRESULT WINAPI GetAudioAttributes(ULONG ulStream,DVD_AudioAttributes *pATR) = 0;
7762 virtual HRESULT WINAPI GetKaraokeAttributes(ULONG ulStream,DVD_KaraokeAttributes *pAttributes) = 0;
7763 virtual HRESULT WINAPI GetSubpictureAttributes(ULONG ulStream,DVD_SubpictureAttributes *pATR) = 0;
7764 virtual HRESULT WINAPI GetDVDVolumeInfo(ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
7765 virtual HRESULT WINAPI GetDVDTextNumberOfLanguages(ULONG *pulNumOfLangs) = 0;
7766 virtual HRESULT WINAPI GetDVDTextLanguageInfo(ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet) = 0;
7767 virtual HRESULT WINAPI GetDVDTextStringAsNative(ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
7768 virtual HRESULT WINAPI GetDVDTextStringAsUnicode(ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
7769 virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,BYTE pbCountryCode[2]) = 0;
7770 virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumOfChapters) = 0;
7771 virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
7772 virtual HRESULT WINAPI GetDVDDirectory(LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize) = 0;
7773 virtual HRESULT WINAPI IsAudioStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
7774 virtual HRESULT WINAPI GetDiscID(LPCWSTR pszwPath,ULONGLONG *pullDiscID) = 0;
7775 virtual HRESULT WINAPI GetState(IDvdState **pStateData) = 0;
7776 virtual HRESULT WINAPI GetMenuLanguages(LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages) = 0;
7777 virtual HRESULT WINAPI GetButtonAtPosition(POINT point,ULONG *pulButtonIndex) = 0;
7778 virtual HRESULT WINAPI GetCmdFromEvent(LONG_PTR lParam1,IDvdCmd **pCmdObj) = 0;
7779 virtual HRESULT WINAPI GetDefaultMenuLanguage(LCID *pLanguage) = 0;
7780 virtual HRESULT WINAPI GetDefaultAudioLanguage(LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
7781 virtual HRESULT WINAPI GetDefaultSubpictureLanguage(LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
7782 virtual HRESULT WINAPI GetDecoderCaps(DVD_DECODER_CAPS *pCaps) = 0;
7783 virtual HRESULT WINAPI GetButtonRect(ULONG ulButton,RECT *pRect) = 0;
7784 virtual HRESULT WINAPI IsSubpictureStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
7785 };
7786 #else
7787 typedef struct IDvdInfo2Vtbl {
7788 BEGIN_INTERFACE
7789 HRESULT (WINAPI *QueryInterface)(IDvdInfo2 *This,REFIID riid,void **ppvObject);
7790 ULONG (WINAPI *AddRef)(IDvdInfo2 *This);
7791 ULONG (WINAPI *Release)(IDvdInfo2 *This);
7792 HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
7793 HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
7794 HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
7795 HRESULT (WINAPI *GetCurrentButton)(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
7796 HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
7797 HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
7798 HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
7799 HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo2 *This,ULONG *pulUOPs);
7800 HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
7801 HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
7802 HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
7803 HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
7804 HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
7805 HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
7806 HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
7807 HRESULT (WINAPI *GetAudioAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
7808 HRESULT (WINAPI *GetKaraokeAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
7809 HRESULT (WINAPI *GetSubpictureAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
7810 HRESULT (WINAPI *GetDVDVolumeInfo)(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
7811 HRESULT (WINAPI *GetDVDTextNumberOfLanguages)(IDvdInfo2 *This,ULONG *pulNumOfLangs);
7812 HRESULT (WINAPI *GetDVDTextLanguageInfo)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
7813 HRESULT (WINAPI *GetDVDTextStringAsNative)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
7814 HRESULT (WINAPI *GetDVDTextStringAsUnicode)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
7815 HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
7816 HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
7817 HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
7818 HRESULT (WINAPI *GetDVDDirectory)(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
7819 HRESULT (WINAPI *IsAudioStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
7820 HRESULT (WINAPI *GetDiscID)(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
7821 HRESULT (WINAPI *GetState)(IDvdInfo2 *This,IDvdState **pStateData);
7822 HRESULT (WINAPI *GetMenuLanguages)(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
7823 HRESULT (WINAPI *GetButtonAtPosition)(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
7824 HRESULT (WINAPI *GetCmdFromEvent)(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
7825 HRESULT (WINAPI *GetDefaultMenuLanguage)(IDvdInfo2 *This,LCID *pLanguage);
7826 HRESULT (WINAPI *GetDefaultAudioLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
7827 HRESULT (WINAPI *GetDefaultSubpictureLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
7828 HRESULT (WINAPI *GetDecoderCaps)(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
7829 HRESULT (WINAPI *GetButtonRect)(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
7830 HRESULT (WINAPI *IsSubpictureStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
7831 END_INTERFACE
7832 } IDvdInfo2Vtbl;
7833 struct IDvdInfo2 {
7834 CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
7835 };
7836 #ifdef COBJMACROS
7837 #define IDvdInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7838 #define IDvdInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
7839 #define IDvdInfo2_Release(This) (This)->lpVtbl->Release(This)
7840 #define IDvdInfo2_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
7841 #define IDvdInfo2_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
7842 #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) (This)->lpVtbl->GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
7843 #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
7844 #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
7845 #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
7846 #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
7847 #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) (This)->lpVtbl->GetCurrentUOPS(This,pulUOPs)
7848 #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
7849 #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
7850 #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
7851 #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
7852 #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pMenu,pTitle)
7853 #define IDvdInfo2_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
7854 #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
7855 #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) (This)->lpVtbl->GetAudioAttributes(This,ulStream,pATR)
7856 #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) (This)->lpVtbl->GetKaraokeAttributes(This,ulStream,pAttributes)
7857 #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) (This)->lpVtbl->GetSubpictureAttributes(This,ulStream,pATR)
7858 #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) (This)->lpVtbl->GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
7859 #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) (This)->lpVtbl->GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
7860 #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) (This)->lpVtbl->GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
7861 #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
7862 #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
7863 #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
7864 #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
7865 #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
7866 #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) (This)->lpVtbl->GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
7867 #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
7868 #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) (This)->lpVtbl->GetDiscID(This,pszwPath,pullDiscID)
7869 #define IDvdInfo2_GetState(This,pStateData) (This)->lpVtbl->GetState(This,pStateData)
7870 #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) (This)->lpVtbl->GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
7871 #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) (This)->lpVtbl->GetButtonAtPosition(This,point,pulButtonIndex)
7872 #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) (This)->lpVtbl->GetCmdFromEvent(This,lParam1,pCmdObj)
7873 #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) (This)->lpVtbl->GetDefaultMenuLanguage(This,pLanguage)
7874 #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) (This)->lpVtbl->GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
7875 #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) (This)->lpVtbl->GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
7876 #define IDvdInfo2_GetDecoderCaps(This,pCaps) (This)->lpVtbl->GetDecoderCaps(This,pCaps)
7877 #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) (This)->lpVtbl->GetButtonRect(This,ulButton,pRect)
7878 #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
7879 #endif
7880 #endif
7881 HRESULT WINAPI IDvdInfo2_GetCurrentDomain_Proxy(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
7882 void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7883 HRESULT WINAPI IDvdInfo2_GetCurrentLocation_Proxy(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
7884 void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7885 HRESULT WINAPI IDvdInfo2_GetTotalTitleTime_Proxy(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
7886 void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7887 HRESULT WINAPI IDvdInfo2_GetCurrentButton_Proxy(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
7888 void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7889 HRESULT WINAPI IDvdInfo2_GetCurrentAngle_Proxy(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
7890 void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7891 HRESULT WINAPI IDvdInfo2_GetCurrentAudio_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
7892 void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7893 HRESULT WINAPI IDvdInfo2_GetCurrentSubpicture_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
7894 void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7895 HRESULT WINAPI IDvdInfo2_GetCurrentUOPS_Proxy(IDvdInfo2 *This,ULONG *pulUOPs);
7896 void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7897 HRESULT WINAPI IDvdInfo2_GetAllSPRMs_Proxy(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
7898 void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7899 HRESULT WINAPI IDvdInfo2_GetAllGPRMs_Proxy(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
7900 void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7901 HRESULT WINAPI IDvdInfo2_GetAudioLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
7902 void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7903 HRESULT WINAPI IDvdInfo2_GetSubpictureLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
7904 void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7905 HRESULT WINAPI IDvdInfo2_GetTitleAttributes_Proxy(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
7906 void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7907 HRESULT WINAPI IDvdInfo2_GetVMGAttributes_Proxy(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
7908 void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7909 HRESULT WINAPI IDvdInfo2_GetCurrentVideoAttributes_Proxy(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
7910 void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7911 HRESULT WINAPI IDvdInfo2_GetAudioAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
7912 void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7913 HRESULT WINAPI IDvdInfo2_GetKaraokeAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
7914 void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7915 HRESULT WINAPI IDvdInfo2_GetSubpictureAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
7916 void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7917 HRESULT WINAPI IDvdInfo2_GetDVDVolumeInfo_Proxy(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
7918 void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7919 HRESULT WINAPI IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(IDvdInfo2 *This,ULONG *pulNumOfLangs);
7920 void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7921 HRESULT WINAPI IDvdInfo2_GetDVDTextLanguageInfo_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
7922 void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7923 HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsNative_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
7924 void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7925 HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
7926 void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7927 HRESULT WINAPI IDvdInfo2_GetPlayerParentalLevel_Proxy(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
7928 void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7929 HRESULT WINAPI IDvdInfo2_GetNumberOfChapters_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
7930 void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7931 HRESULT WINAPI IDvdInfo2_GetTitleParentalLevels_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
7932 void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7933 HRESULT WINAPI IDvdInfo2_GetDVDDirectory_Proxy(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
7934 void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7935 HRESULT WINAPI IDvdInfo2_IsAudioStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
7936 void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7937 HRESULT WINAPI IDvdInfo2_GetDiscID_Proxy(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
7938 void __RPC_STUB IDvdInfo2_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7939 HRESULT WINAPI IDvdInfo2_GetState_Proxy(IDvdInfo2 *This,IDvdState **pStateData);
7940 void __RPC_STUB IDvdInfo2_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7941 HRESULT WINAPI IDvdInfo2_GetMenuLanguages_Proxy(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
7942 void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7943 HRESULT WINAPI IDvdInfo2_GetButtonAtPosition_Proxy(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
7944 void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7945 HRESULT WINAPI IDvdInfo2_GetCmdFromEvent_Proxy(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
7946 void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7947 HRESULT WINAPI IDvdInfo2_GetDefaultMenuLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage);
7948 void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7949 HRESULT WINAPI IDvdInfo2_GetDefaultAudioLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
7950 void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7951 HRESULT WINAPI IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
7952 void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7953 HRESULT WINAPI IDvdInfo2_GetDecoderCaps_Proxy(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
7954 void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7955 HRESULT WINAPI IDvdInfo2_GetButtonRect_Proxy(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
7956 void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7957 HRESULT WINAPI IDvdInfo2_IsSubpictureStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
7958 void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
7959 #endif
7960
7961 typedef enum _AM_DVD_GRAPH_FLAGS {
7962 AM_DVD_HWDEC_PREFER = 0x1,AM_DVD_HWDEC_ONLY = 0x2,AM_DVD_SWDEC_PREFER = 0x4,AM_DVD_SWDEC_ONLY = 0x8,AM_DVD_NOVPE = 0x100,
7963 AM_DVD_VMR9_ONLY = 0x800
7964 } AM_DVD_GRAPH_FLAGS;
7965
7966 typedef enum _AM_DVD_STREAM_FLAGS {
7967 AM_DVD_STREAM_VIDEO = 0x1,AM_DVD_STREAM_AUDIO = 0x2,AM_DVD_STREAM_SUBPIC = 0x4
7968 } AM_DVD_STREAM_FLAGS;
7969
7970 typedef struct __MIDL___MIDL_itf_strmif_0389_0001 {
7971 HRESULT hrVPEStatus;
7972 WINBOOL bDvdVolInvalid;
7973 WINBOOL bDvdVolUnknown;
7974 WINBOOL bNoLine21In;
7975 WINBOOL bNoLine21Out;
7976 int iNumStreams;
7977 int iNumStreamsFailed;
7978 DWORD dwFailedStreamsFlag;
7979 } AM_DVD_RENDERSTATUS;
7980
7981 extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec;
7982 extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec;
7983 #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
7984 #define __IDvdGraphBuilder_INTERFACE_DEFINED__
7985 EXTERN_C const IID IID_IDvdGraphBuilder;
7986 #if defined(__cplusplus) && !defined(CINTERFACE)
7987 struct IDvdGraphBuilder : public IUnknown {
7988 public:
7989 virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppGB) = 0;
7990 virtual HRESULT WINAPI GetDvdInterface(REFIID riid,void **ppvIF) = 0;
7991 virtual HRESULT WINAPI RenderDvdVideoVolume(LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus) = 0;
7992 };
7993 #else
7994 typedef struct IDvdGraphBuilderVtbl {
7995 BEGIN_INTERFACE
7996 HRESULT (WINAPI *QueryInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvObject);
7997 ULONG (WINAPI *AddRef)(IDvdGraphBuilder *This);
7998 ULONG (WINAPI *Release)(IDvdGraphBuilder *This);
7999 HRESULT (WINAPI *GetFiltergraph)(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
8000 HRESULT (WINAPI *GetDvdInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
8001 HRESULT (WINAPI *RenderDvdVideoVolume)(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
8002 END_INTERFACE
8003 } IDvdGraphBuilderVtbl;
8004 struct IDvdGraphBuilder {
8005 CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
8006 };
8007 #ifdef COBJMACROS
8008 #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8009 #define IDvdGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
8010 #define IDvdGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
8011 #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) (This)->lpVtbl->GetFiltergraph(This,ppGB)
8012 #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) (This)->lpVtbl->GetDvdInterface(This,riid,ppvIF)
8013 #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) (This)->lpVtbl->RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
8014 #endif
8015 #endif
8016 HRESULT WINAPI IDvdGraphBuilder_GetFiltergraph_Proxy(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
8017 void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8018 HRESULT WINAPI IDvdGraphBuilder_GetDvdInterface_Proxy(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
8019 void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8020 HRESULT WINAPI IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
8021 void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8022 #endif
8023
8024 #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
8025 #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
8026 EXTERN_C const IID IID_IDDrawExclModeVideo;
8027 #if defined(__cplusplus) && !defined(CINTERFACE)
8028 struct IDDrawExclModeVideo : public IUnknown {
8029 public:
8030 virtual HRESULT WINAPI SetDDrawObject(IDirectDraw *pDDrawObject) = 0;
8031 virtual HRESULT WINAPI GetDDrawObject(IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal) = 0;
8032 virtual HRESULT WINAPI SetDDrawSurface(IDirectDrawSurface *pDDrawSurface) = 0;
8033 virtual HRESULT WINAPI GetDDrawSurface(IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal) = 0;
8034 virtual HRESULT WINAPI SetDrawParameters(const RECT *prcSource,const RECT *prcTarget) = 0;
8035 virtual HRESULT WINAPI GetNativeVideoProps(DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY) = 0;
8036 virtual HRESULT WINAPI SetCallbackInterface(IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags) = 0;
8037 };
8038 #else
8039 typedef struct IDDrawExclModeVideoVtbl {
8040 BEGIN_INTERFACE
8041 HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideo *This,REFIID riid,void **ppvObject);
8042 ULONG (WINAPI *AddRef)(IDDrawExclModeVideo *This);
8043 ULONG (WINAPI *Release)(IDDrawExclModeVideo *This);
8044 HRESULT (WINAPI *SetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
8045 HRESULT (WINAPI *GetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
8046 HRESULT (WINAPI *SetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
8047 HRESULT (WINAPI *GetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
8048 HRESULT (WINAPI *SetDrawParameters)(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
8049 HRESULT (WINAPI *GetNativeVideoProps)(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
8050 HRESULT (WINAPI *SetCallbackInterface)(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
8051 END_INTERFACE
8052 } IDDrawExclModeVideoVtbl;
8053 struct IDDrawExclModeVideo {
8054 CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
8055 };
8056 #ifdef COBJMACROS
8057 #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8058 #define IDDrawExclModeVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
8059 #define IDDrawExclModeVideo_Release(This) (This)->lpVtbl->Release(This)
8060 #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) (This)->lpVtbl->SetDDrawObject(This,pDDrawObject)
8061 #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) (This)->lpVtbl->GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
8062 #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) (This)->lpVtbl->SetDDrawSurface(This,pDDrawSurface)
8063 #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) (This)->lpVtbl->GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
8064 #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) (This)->lpVtbl->SetDrawParameters(This,prcSource,prcTarget)
8065 #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) (This)->lpVtbl->GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
8066 #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) (This)->lpVtbl->SetCallbackInterface(This,pCallback,dwFlags)
8067 #endif
8068 #endif
8069 HRESULT WINAPI IDDrawExclModeVideo_SetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
8070 void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8071 HRESULT WINAPI IDDrawExclModeVideo_GetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
8072 void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8073 HRESULT WINAPI IDDrawExclModeVideo_SetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
8074 void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8075 HRESULT WINAPI IDDrawExclModeVideo_GetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
8076 void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8077 HRESULT WINAPI IDDrawExclModeVideo_SetDrawParameters_Proxy(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
8078 void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8079 HRESULT WINAPI IDDrawExclModeVideo_GetNativeVideoProps_Proxy(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
8080 void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8081 HRESULT WINAPI IDDrawExclModeVideo_SetCallbackInterface_Proxy(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
8082 void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8083 #endif
8084
8085 enum _AM_OVERLAY_NOTIFY_FLAGS {
8086 AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4
8087 };
8088
8089 extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
8090 extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
8091 #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
8092 #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
8093 EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
8094 #if defined(__cplusplus) && !defined(CINTERFACE)
8095 struct IDDrawExclModeVideoCallback : public IUnknown {
8096 public:
8097 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;
8098 virtual HRESULT WINAPI OnUpdateColorKey(const COLORKEY *pKey,DWORD dwColor) = 0;
8099 virtual HRESULT WINAPI OnUpdateSize(DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight) = 0;
8100 };
8101 #else
8102 typedef struct IDDrawExclModeVideoCallbackVtbl {
8103 BEGIN_INTERFACE
8104 HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideoCallback *This,REFIID riid,void **ppvObject);
8105 ULONG (WINAPI *AddRef)(IDDrawExclModeVideoCallback *This);
8106 ULONG (WINAPI *Release)(IDDrawExclModeVideoCallback *This);
8107 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);
8108 HRESULT (WINAPI *OnUpdateColorKey)(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
8109 HRESULT (WINAPI *OnUpdateSize)(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
8110 END_INTERFACE
8111 } IDDrawExclModeVideoCallbackVtbl;
8112 struct IDDrawExclModeVideoCallback {
8113 CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
8114 };
8115 #ifdef COBJMACROS
8116 #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8117 #define IDDrawExclModeVideoCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
8118 #define IDDrawExclModeVideoCallback_Release(This) (This)->lpVtbl->Release(This)
8119 #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) (This)->lpVtbl->OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
8120 #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) (This)->lpVtbl->OnUpdateColorKey(This,pKey,dwColor)
8121 #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) (This)->lpVtbl->OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
8122 #endif
8123 #endif
8124 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);
8125 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8126 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
8127 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8128 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
8129 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8130 #endif
8131
8132 extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_c_ifspec;
8133 extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_s_ifspec;
8134 #ifndef __IPinConnection_INTERFACE_DEFINED__
8135 #define __IPinConnection_INTERFACE_DEFINED__
8136 EXTERN_C const IID IID_IPinConnection;
8137 #if defined(__cplusplus) && !defined(CINTERFACE)
8138 struct IPinConnection : public IUnknown {
8139 public:
8140 virtual HRESULT WINAPI DynamicQueryAccept(const AM_MEDIA_TYPE *pmt) = 0;
8141 virtual HRESULT WINAPI NotifyEndOfStream(HANDLE hNotifyEvent) = 0;
8142 virtual HRESULT WINAPI IsEndPin(void) = 0;
8143 virtual HRESULT WINAPI DynamicDisconnect(void) = 0;
8144 };
8145 #else
8146 typedef struct IPinConnectionVtbl {
8147 BEGIN_INTERFACE
8148 HRESULT (WINAPI *QueryInterface)(IPinConnection *This,REFIID riid,void **ppvObject);
8149 ULONG (WINAPI *AddRef)(IPinConnection *This);
8150 ULONG (WINAPI *Release)(IPinConnection *This);
8151 HRESULT (WINAPI *DynamicQueryAccept)(IPinConnection *This,const AM_MEDIA_TYPE *pmt);
8152 HRESULT (WINAPI *NotifyEndOfStream)(IPinConnection *This,HANDLE hNotifyEvent);
8153 HRESULT (WINAPI *IsEndPin)(IPinConnection *This);
8154 HRESULT (WINAPI *DynamicDisconnect)(IPinConnection *This);
8155 END_INTERFACE
8156 } IPinConnectionVtbl;
8157 struct IPinConnection {
8158 CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
8159 };
8160 #ifdef COBJMACROS
8161 #define IPinConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8162 #define IPinConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
8163 #define IPinConnection_Release(This) (This)->lpVtbl->Release(This)
8164 #define IPinConnection_DynamicQueryAccept(This,pmt) (This)->lpVtbl->DynamicQueryAccept(This,pmt)
8165 #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) (This)->lpVtbl->NotifyEndOfStream(This,hNotifyEvent)
8166 #define IPinConnection_IsEndPin(This) (This)->lpVtbl->IsEndPin(This)
8167 #define IPinConnection_DynamicDisconnect(This) (This)->lpVtbl->DynamicDisconnect(This)
8168 #endif
8169 #endif
8170 HRESULT WINAPI IPinConnection_DynamicQueryAccept_Proxy(IPinConnection *This,const AM_MEDIA_TYPE *pmt);
8171 void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8172 HRESULT WINAPI IPinConnection_NotifyEndOfStream_Proxy(IPinConnection *This,HANDLE hNotifyEvent);
8173 void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8174 HRESULT WINAPI IPinConnection_IsEndPin_Proxy(IPinConnection *This);
8175 void __RPC_STUB IPinConnection_IsEndPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8176 HRESULT WINAPI IPinConnection_DynamicDisconnect_Proxy(IPinConnection *This);
8177 void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8178 #endif
8179
8180 #ifndef __IPinFlowControl_INTERFACE_DEFINED__
8181 #define __IPinFlowControl_INTERFACE_DEFINED__
8182 EXTERN_C const IID IID_IPinFlowControl;
8183 #if defined(__cplusplus) && !defined(CINTERFACE)
8184 struct IPinFlowControl : public IUnknown {
8185 public:
8186 virtual HRESULT WINAPI Block(DWORD dwBlockFlags,HANDLE hEvent) = 0;
8187 };
8188 #else
8189 typedef struct IPinFlowControlVtbl {
8190 BEGIN_INTERFACE
8191 HRESULT (WINAPI *QueryInterface)(IPinFlowControl *This,REFIID riid,void **ppvObject);
8192 ULONG (WINAPI *AddRef)(IPinFlowControl *This);
8193 ULONG (WINAPI *Release)(IPinFlowControl *This);
8194 HRESULT (WINAPI *Block)(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent);
8195 END_INTERFACE
8196 } IPinFlowControlVtbl;
8197 struct IPinFlowControl {
8198 CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
8199 };
8200 #ifdef COBJMACROS
8201 #define IPinFlowControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8202 #define IPinFlowControl_AddRef(This) (This)->lpVtbl->AddRef(This)
8203 #define IPinFlowControl_Release(This) (This)->lpVtbl->Release(This)
8204 #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) (This)->lpVtbl->Block(This,dwBlockFlags,hEvent)
8205 #endif
8206 #endif
8207 HRESULT WINAPI IPinFlowControl_Block_Proxy(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent);
8208 void __RPC_STUB IPinFlowControl_Block_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8209 #endif
8210
8211 enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
8212 AM_PIN_FLOW_CONTROL_BLOCK = 0x1
8213 };
8214 typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
8215 AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2,
8216 AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4
8217 } AM_GRAPH_CONFIG_RECONNECT_FLAGS;
8218
8219 enum _REM_FILTER_FLAGS {
8220 REMFILTERF_LEAVECONNECTED = 0x1
8221 };
8222
8223 typedef enum _AM_FILTER_FLAGS {
8224 AM_FILTER_FLAGS_REMOVABLE = 0x1
8225 } AM_FILTER_FLAGS;
8226
8227 extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec;
8228 extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec;
8229 #ifndef __IGraphConfig_INTERFACE_DEFINED__
8230 #define __IGraphConfig_INTERFACE_DEFINED__
8231 EXTERN_C const IID IID_IGraphConfig;
8232 #if defined(__cplusplus) && !defined(CINTERFACE)
8233 struct IGraphConfig : public IUnknown {
8234 public:
8235 virtual HRESULT WINAPI Reconnect(IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags) = 0;
8236 virtual HRESULT WINAPI Reconfigure(IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent) = 0;
8237 virtual HRESULT WINAPI AddFilterToCache(IBaseFilter *pFilter) = 0;
8238 virtual HRESULT WINAPI EnumCacheFilter(IEnumFilters **pEnum) = 0;
8239 virtual HRESULT WINAPI RemoveFilterFromCache(IBaseFilter *pFilter) = 0;
8240 virtual HRESULT WINAPI GetStartTime(REFERENCE_TIME *prtStart) = 0;
8241 virtual HRESULT WINAPI PushThroughData(IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort) = 0;
8242 virtual HRESULT WINAPI SetFilterFlags(IBaseFilter *pFilter,DWORD dwFlags) = 0;
8243 virtual HRESULT WINAPI GetFilterFlags(IBaseFilter *pFilter,DWORD *pdwFlags) = 0;
8244 virtual HRESULT WINAPI RemoveFilterEx(IBaseFilter *pFilter,DWORD Flags) = 0;
8245 };
8246 #else
8247 typedef struct IGraphConfigVtbl {
8248 BEGIN_INTERFACE
8249 HRESULT (WINAPI *QueryInterface)(IGraphConfig *This,REFIID riid,void **ppvObject);
8250 ULONG (WINAPI *AddRef)(IGraphConfig *This);
8251 ULONG (WINAPI *Release)(IGraphConfig *This);
8252 HRESULT (WINAPI *Reconnect)(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags);
8253 HRESULT (WINAPI *Reconfigure)(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent);
8254 HRESULT (WINAPI *AddFilterToCache)(IGraphConfig *This,IBaseFilter *pFilter);
8255 HRESULT (WINAPI *EnumCacheFilter)(IGraphConfig *This,IEnumFilters **pEnum);
8256 HRESULT (WINAPI *RemoveFilterFromCache)(IGraphConfig *This,IBaseFilter *pFilter);
8257 HRESULT (WINAPI *GetStartTime)(IGraphConfig *This,REFERENCE_TIME *prtStart);
8258 HRESULT (WINAPI *PushThroughData)(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort);
8259 HRESULT (WINAPI *SetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags);
8260 HRESULT (WINAPI *GetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags);
8261 HRESULT (WINAPI *RemoveFilterEx)(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags);
8262 END_INTERFACE
8263 } IGraphConfigVtbl;
8264 struct IGraphConfig {
8265 CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
8266 };
8267 #ifdef COBJMACROS
8268 #define IGraphConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8269 #define IGraphConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
8270 #define IGraphConfig_Release(This) (This)->lpVtbl->Release(This)
8271 #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) (This)->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
8272 #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) (This)->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
8273 #define IGraphConfig_AddFilterToCache(This,pFilter) (This)->lpVtbl->AddFilterToCache(This,pFilter)
8274 #define IGraphConfig_EnumCacheFilter(This,pEnum) (This)->lpVtbl->EnumCacheFilter(This,pEnum)
8275 #define IGraphConfig_RemoveFilterFromCache(This,pFilter) (This)->lpVtbl->RemoveFilterFromCache(This,pFilter)
8276 #define IGraphConfig_GetStartTime(This,prtStart) (This)->lpVtbl->GetStartTime(This,prtStart)
8277 #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) (This)->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort)
8278 #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) (This)->lpVtbl->SetFilterFlags(This,pFilter,dwFlags)
8279 #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) (This)->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags)
8280 #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) (This)->lpVtbl->RemoveFilterEx(This,pFilter,Flags)
8281 #endif
8282 #endif
8283 HRESULT WINAPI IGraphConfig_Reconnect_Proxy(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags);
8284 void __RPC_STUB IGraphConfig_Reconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8285 HRESULT WINAPI IGraphConfig_Reconfigure_Proxy(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent);
8286 void __RPC_STUB IGraphConfig_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8287 HRESULT WINAPI IGraphConfig_AddFilterToCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter);
8288 void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8289 HRESULT WINAPI IGraphConfig_EnumCacheFilter_Proxy(IGraphConfig *This,IEnumFilters **pEnum);
8290 void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8291 HRESULT WINAPI IGraphConfig_RemoveFilterFromCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter);
8292 void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8293 HRESULT WINAPI IGraphConfig_GetStartTime_Proxy(IGraphConfig *This,REFERENCE_TIME *prtStart);
8294 void __RPC_STUB IGraphConfig_GetStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8295 HRESULT WINAPI IGraphConfig_PushThroughData_Proxy(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort);
8296 void __RPC_STUB IGraphConfig_PushThroughData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8297 HRESULT WINAPI IGraphConfig_SetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags);
8298 void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8299 HRESULT WINAPI IGraphConfig_GetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags);
8300 void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8301 HRESULT WINAPI IGraphConfig_RemoveFilterEx_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags);
8302 void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8303 #endif
8304
8305 #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
8306 #define __IGraphConfigCallback_INTERFACE_DEFINED__
8307 EXTERN_C const IID IID_IGraphConfigCallback;
8308 #if defined(__cplusplus) && !defined(CINTERFACE)
8309 struct IGraphConfigCallback : public IUnknown {
8310 public:
8311 virtual HRESULT WINAPI Reconfigure(PVOID pvContext,DWORD dwFlags) = 0;
8312 };
8313 #else
8314 typedef struct IGraphConfigCallbackVtbl {
8315 BEGIN_INTERFACE
8316 HRESULT (WINAPI *QueryInterface)(IGraphConfigCallback *This,REFIID riid,void **ppvObject);
8317 ULONG (WINAPI *AddRef)(IGraphConfigCallback *This);
8318 ULONG (WINAPI *Release)(IGraphConfigCallback *This);
8319 HRESULT (WINAPI *Reconfigure)(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags);
8320 END_INTERFACE
8321 } IGraphConfigCallbackVtbl;
8322 struct IGraphConfigCallback {
8323 CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
8324 };
8325 #ifdef COBJMACROS
8326 #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8327 #define IGraphConfigCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
8328 #define IGraphConfigCallback_Release(This) (This)->lpVtbl->Release(This)
8329 #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) (This)->lpVtbl->Reconfigure(This,pvContext,dwFlags)
8330 #endif
8331 #endif
8332 HRESULT WINAPI IGraphConfigCallback_Reconfigure_Proxy(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags);
8333 void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8334 #endif
8335
8336 #ifndef __IFilterChain_INTERFACE_DEFINED__
8337 #define __IFilterChain_INTERFACE_DEFINED__
8338 EXTERN_C const IID IID_IFilterChain;
8339 #if defined(__cplusplus) && !defined(CINTERFACE)
8340 struct IFilterChain : public IUnknown {
8341 public:
8342 virtual HRESULT WINAPI StartChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
8343 virtual HRESULT WINAPI PauseChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
8344 virtual HRESULT WINAPI StopChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
8345 virtual HRESULT WINAPI RemoveChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
8346 };
8347 #else
8348 typedef struct IFilterChainVtbl {
8349 BEGIN_INTERFACE
8350 HRESULT (WINAPI *QueryInterface)(IFilterChain *This,REFIID riid,void **ppvObject);
8351 ULONG (WINAPI *AddRef)(IFilterChain *This);
8352 ULONG (WINAPI *Release)(IFilterChain *This);
8353 HRESULT (WINAPI *StartChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
8354 HRESULT (WINAPI *PauseChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
8355 HRESULT (WINAPI *StopChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
8356 HRESULT (WINAPI *RemoveChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
8357 END_INTERFACE
8358 } IFilterChainVtbl;
8359 struct IFilterChain {
8360 CONST_VTBL struct IFilterChainVtbl *lpVtbl;
8361 };
8362 #ifdef COBJMACROS
8363 #define IFilterChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8364 #define IFilterChain_AddRef(This) (This)->lpVtbl->AddRef(This)
8365 #define IFilterChain_Release(This) (This)->lpVtbl->Release(This)
8366 #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StartChain(This,pStartFilter,pEndFilter)
8367 #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->PauseChain(This,pStartFilter,pEndFilter)
8368 #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StopChain(This,pStartFilter,pEndFilter)
8369 #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter)
8370 #endif
8371 #endif
8372 HRESULT WINAPI IFilterChain_StartChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
8373 void __RPC_STUB IFilterChain_StartChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8374 HRESULT WINAPI IFilterChain_PauseChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
8375 void __RPC_STUB IFilterChain_PauseChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8376 HRESULT WINAPI IFilterChain_StopChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
8377 void __RPC_STUB IFilterChain_StopChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8378 HRESULT WINAPI IFilterChain_RemoveChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
8379 void __RPC_STUB IFilterChain_RemoveChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8380 #endif
8381
8382 #ifdef MINGW_HAS_DDRAW_H
8383 #include <ddraw.h>
8384 #endif
8385
8386 typedef enum __MIDL___MIDL_itf_strmif_0397_0002 {
8387 VMRSample_SyncPoint = 0x1,VMRSample_Preroll = 0x2,VMRSample_Discontinuity = 0x4,VMRSample_TimeValid = 0x8,VMRSample_SrcDstRectsValid = 0x10
8388 } VMRPresentationFlags;
8389
8390 typedef struct tagVMRPRESENTATIONINFO {
8391 DWORD dwFlags;
8392 LPDIRECTDRAWSURFACE7 lpSurf;
8393 REFERENCE_TIME rtStart;
8394 REFERENCE_TIME rtEnd;
8395 SIZE szAspectRatio;
8396 RECT rcSrc;
8397 RECT rcDst;
8398 DWORD dwTypeSpecificFlags;
8399 DWORD dwInterlaceFlags;
8400 } VMRPRESENTATIONINFO;
8401
8402 extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec;
8403 extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec;
8404 #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
8405 #define __IVMRImagePresenter_INTERFACE_DEFINED__
8406 EXTERN_C const IID IID_IVMRImagePresenter;
8407 #if defined(__cplusplus) && !defined(CINTERFACE)
8408 struct IVMRImagePresenter : public IUnknown {
8409 public:
8410 virtual HRESULT WINAPI StartPresenting(DWORD_PTR dwUserID) = 0;
8411 virtual HRESULT WINAPI StopPresenting(DWORD_PTR dwUserID) = 0;
8412 virtual HRESULT WINAPI PresentImage(DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo) = 0;
8413 };
8414 #else
8415 typedef struct IVMRImagePresenterVtbl {
8416 BEGIN_INTERFACE
8417 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenter *This,REFIID riid,void **ppvObject);
8418 ULONG (WINAPI *AddRef)(IVMRImagePresenter *This);
8419 ULONG (WINAPI *Release)(IVMRImagePresenter *This);
8420 HRESULT (WINAPI *StartPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
8421 HRESULT (WINAPI *StopPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
8422 HRESULT (WINAPI *PresentImage)(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
8423 END_INTERFACE
8424 } IVMRImagePresenterVtbl;
8425 struct IVMRImagePresenter {
8426 CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
8427 };
8428 #ifdef COBJMACROS
8429 #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8430 #define IVMRImagePresenter_AddRef(This) (This)->lpVtbl->AddRef(This)
8431 #define IVMRImagePresenter_Release(This) (This)->lpVtbl->Release(This)
8432 #define IVMRImagePresenter_StartPresenting(This,dwUserID) (This)->lpVtbl->StartPresenting(This,dwUserID)
8433 #define IVMRImagePresenter_StopPresenting(This,dwUserID) (This)->lpVtbl->StopPresenting(This,dwUserID)
8434 #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) (This)->lpVtbl->PresentImage(This,dwUserID,lpPresInfo)
8435 #endif
8436 #endif
8437 HRESULT WINAPI IVMRImagePresenter_StartPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
8438 void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8439 HRESULT WINAPI IVMRImagePresenter_StopPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
8440 void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8441 HRESULT WINAPI IVMRImagePresenter_PresentImage_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
8442 void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8443 #endif
8444
8445 typedef enum __MIDL___MIDL_itf_strmif_0398_0001 {
8446 AMAP_PIXELFORMAT_VALID = 0x1,AMAP_3D_TARGET = 0x2,AMAP_ALLOW_SYSMEM = 0x4,AMAP_FORCE_SYSMEM = 0x8,AMAP_DIRECTED_FLIP = 0x10,AMAP_DXVA_TARGET = 0x20
8447 } VMRSurfaceAllocationFlags;
8448
8449 typedef struct tagVMRALLOCATIONINFO {
8450 DWORD dwFlags;
8451 LPBITMAPINFOHEADER lpHdr;
8452 LPDDPIXELFORMAT lpPixFmt;
8453 SIZE szAspectRatio;
8454 DWORD dwMinBuffers;
8455 DWORD dwMaxBuffers;
8456 DWORD dwInterlaceFlags;
8457 SIZE szNativeSize;
8458 } VMRALLOCATIONINFO;
8459
8460 extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec;
8461 extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec;
8462 #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
8463 #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
8464 EXTERN_C const IID IID_IVMRSurfaceAllocator;
8465 #if defined(__cplusplus) && !defined(CINTERFACE)
8466 struct IVMRSurfaceAllocator : public IUnknown {
8467 public:
8468 virtual HRESULT WINAPI AllocateSurface(DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
8469 virtual HRESULT WINAPI FreeSurface(DWORD_PTR dwID) = 0;
8470 virtual HRESULT WINAPI PrepareSurface(DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags) = 0;
8471 virtual HRESULT WINAPI AdviseNotify(IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
8472 };
8473 #else
8474 typedef struct IVMRSurfaceAllocatorVtbl {
8475 BEGIN_INTERFACE
8476 HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocator *This,REFIID riid,void **ppvObject);
8477 ULONG (WINAPI *AddRef)(IVMRSurfaceAllocator *This);
8478 ULONG (WINAPI *Release)(IVMRSurfaceAllocator *This);
8479 HRESULT (WINAPI *AllocateSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
8480 HRESULT (WINAPI *FreeSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
8481 HRESULT (WINAPI *PrepareSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
8482 HRESULT (WINAPI *AdviseNotify)(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
8483 END_INTERFACE
8484 } IVMRSurfaceAllocatorVtbl;
8485 struct IVMRSurfaceAllocator {
8486 CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
8487 };
8488 #ifdef COBJMACROS
8489 #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8490 #define IVMRSurfaceAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
8491 #define IVMRSurfaceAllocator_Release(This) (This)->lpVtbl->Release(This)
8492 #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) (This)->lpVtbl->AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
8493 #define IVMRSurfaceAllocator_FreeSurface(This,dwID) (This)->lpVtbl->FreeSurface(This,dwID)
8494 #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) (This)->lpVtbl->PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
8495 #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) (This)->lpVtbl->AdviseNotify(This,lpIVMRSurfAllocNotify)
8496 #endif
8497 #endif
8498 HRESULT WINAPI IVMRSurfaceAllocator_AllocateSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
8499 void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8500 HRESULT WINAPI IVMRSurfaceAllocator_FreeSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
8501 void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8502 HRESULT WINAPI IVMRSurfaceAllocator_PrepareSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
8503 void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8504 HRESULT WINAPI IVMRSurfaceAllocator_AdviseNotify_Proxy(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
8505 void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8506 #endif
8507
8508 #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
8509 #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
8510 EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
8511 #if defined(__cplusplus) && !defined(CINTERFACE)
8512 struct IVMRSurfaceAllocatorNotify : public IUnknown {
8513 public:
8514 virtual HRESULT WINAPI AdviseSurfaceAllocator(DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
8515 virtual HRESULT WINAPI SetDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
8516 virtual HRESULT WINAPI ChangeDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
8517 virtual HRESULT WINAPI RestoreDDrawSurfaces(void) = 0;
8518 virtual HRESULT WINAPI NotifyEvent(LONG EventCode,LONG_PTR Param1,LONG_PTR Param2) = 0;
8519 virtual HRESULT WINAPI SetBorderColor(COLORREF clrBorder) = 0;
8520 };
8521 #else
8522 typedef struct IVMRSurfaceAllocatorNotifyVtbl {
8523 BEGIN_INTERFACE
8524 HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocatorNotify *This,REFIID riid,void **ppvObject);
8525 ULONG (WINAPI *AddRef)(IVMRSurfaceAllocatorNotify *This);
8526 ULONG (WINAPI *Release)(IVMRSurfaceAllocatorNotify *This);
8527 HRESULT (WINAPI *AdviseSurfaceAllocator)(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
8528 HRESULT (WINAPI *SetDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
8529 HRESULT (WINAPI *ChangeDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
8530 HRESULT (WINAPI *RestoreDDrawSurfaces)(IVMRSurfaceAllocatorNotify *This);
8531 HRESULT (WINAPI *NotifyEvent)(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
8532 HRESULT (WINAPI *SetBorderColor)(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
8533 END_INTERFACE
8534 } IVMRSurfaceAllocatorNotifyVtbl;
8535 struct IVMRSurfaceAllocatorNotify {
8536 CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
8537 };
8538 #ifdef COBJMACROS
8539 #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8540 #define IVMRSurfaceAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
8541 #define IVMRSurfaceAllocatorNotify_Release(This) (This)->lpVtbl->Release(This)
8542 #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) (This)->lpVtbl->AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
8543 #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->SetDDrawDevice(This,lpDDrawDevice,hMonitor)
8544 #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
8545 #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) (This)->lpVtbl->RestoreDDrawSurfaces(This)
8546 #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) (This)->lpVtbl->NotifyEvent(This,EventCode,Param1,Param2)
8547 #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) (This)->lpVtbl->SetBorderColor(This,clrBorder)
8548 #endif
8549 #endif
8550 HRESULT WINAPI IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
8551 void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8552 HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
8553 void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8554 HRESULT WINAPI IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
8555 void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8556 HRESULT WINAPI IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(IVMRSurfaceAllocatorNotify *This);
8557 void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8558 HRESULT WINAPI IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
8559 void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8560 HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
8561 void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8562 #endif
8563
8564 typedef enum __MIDL___MIDL_itf_strmif_0400_0001 {
8565 VMR_ARMODE_NONE = 0,VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1
8566 } VMR_ASPECT_RATIO_MODE;
8567
8568 extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec;
8569 extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec;
8570 #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
8571 #define __IVMRWindowlessControl_INTERFACE_DEFINED__
8572 EXTERN_C const IID IID_IVMRWindowlessControl;
8573 #if defined(__cplusplus) && !defined(CINTERFACE)
8574 struct IVMRWindowlessControl : public IUnknown {
8575 public:
8576 virtual HRESULT WINAPI GetNativeVideoSize(LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight) = 0;
8577 virtual HRESULT WINAPI GetMinIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
8578 virtual HRESULT WINAPI GetMaxIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
8579 virtual HRESULT WINAPI SetVideoPosition(const LPRECT lpSRCRect,const LPRECT lpDSTRect) = 0;
8580 virtual HRESULT WINAPI GetVideoPosition(LPRECT lpSRCRect,LPRECT lpDSTRect) = 0;
8581 virtual HRESULT WINAPI GetAspectRatioMode(DWORD *lpAspectRatioMode) = 0;
8582 virtual HRESULT WINAPI SetAspectRatioMode(DWORD AspectRatioMode) = 0;
8583 virtual HRESULT WINAPI SetVideoClippingWindow(HWND hwnd) = 0;
8584 virtual HRESULT WINAPI RepaintVideo(HWND hwnd,HDC hdc) = 0;
8585 virtual HRESULT WINAPI DisplayModeChanged(void) = 0;
8586 virtual HRESULT WINAPI GetCurrentImage(BYTE **lpDib) = 0;
8587 virtual HRESULT WINAPI SetBorderColor(COLORREF Clr) = 0;
8588 virtual HRESULT WINAPI GetBorderColor(COLORREF *lpClr) = 0;
8589 virtual HRESULT WINAPI SetColorKey(COLORREF Clr) = 0;
8590 virtual HRESULT WINAPI GetColorKey(COLORREF *lpClr) = 0;
8591 };
8592 #else
8593 typedef struct IVMRWindowlessControlVtbl {
8594 BEGIN_INTERFACE
8595 HRESULT (WINAPI *QueryInterface)(IVMRWindowlessControl *This,REFIID riid,void **ppvObject);
8596 ULONG (WINAPI *AddRef)(IVMRWindowlessControl *This);
8597 ULONG (WINAPI *Release)(IVMRWindowlessControl *This);
8598 HRESULT (WINAPI *GetNativeVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
8599 HRESULT (WINAPI *GetMinIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
8600 HRESULT (WINAPI *GetMaxIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
8601 HRESULT (WINAPI *SetVideoPosition)(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
8602 HRESULT (WINAPI *GetVideoPosition)(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
8603 HRESULT (WINAPI *GetAspectRatioMode)(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
8604 HRESULT (WINAPI *SetAspectRatioMode)(IVMRWindowlessControl *This,DWORD AspectRatioMode);
8605 HRESULT (WINAPI *SetVideoClippingWindow)(IVMRWindowlessControl *This,HWND hwnd);
8606 HRESULT (WINAPI *RepaintVideo)(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
8607 HRESULT (WINAPI *DisplayModeChanged)(IVMRWindowlessControl *This);
8608 HRESULT (WINAPI *GetCurrentImage)(IVMRWindowlessControl *This,BYTE **lpDib);
8609 HRESULT (WINAPI *SetBorderColor)(IVMRWindowlessControl *This,COLORREF Clr);
8610 HRESULT (WINAPI *GetBorderColor)(IVMRWindowlessControl *This,COLORREF *lpClr);
8611 HRESULT (WINAPI *SetColorKey)(IVMRWindowlessControl *This,COLORREF Clr);
8612 HRESULT (WINAPI *GetColorKey)(IVMRWindowlessControl *This,COLORREF *lpClr);
8613 END_INTERFACE
8614 } IVMRWindowlessControlVtbl;
8615 struct IVMRWindowlessControl {
8616 CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
8617 };
8618 #ifdef COBJMACROS
8619 #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8620 #define IVMRWindowlessControl_AddRef(This) (This)->lpVtbl->AddRef(This)
8621 #define IVMRWindowlessControl_Release(This) (This)->lpVtbl->Release(This)
8622 #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) (This)->lpVtbl->GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
8623 #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMinIdealVideoSize(This,lpWidth,lpHeight)
8624 #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMaxIdealVideoSize(This,lpWidth,lpHeight)
8625 #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->SetVideoPosition(This,lpSRCRect,lpDSTRect)
8626 #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->GetVideoPosition(This,lpSRCRect,lpDSTRect)
8627 #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,lpAspectRatioMode)
8628 #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,AspectRatioMode)
8629 #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd)
8630 #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc)
8631 #define IVMRWindowlessControl_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This)
8632 #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) (This)->lpVtbl->GetCurrentImage(This,lpDib)
8633 #define IVMRWindowlessControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr)
8634 #define IVMRWindowlessControl_GetBorderColor(This,lpClr) (This)->lpVtbl->GetBorderColor(This,lpClr)
8635 #define IVMRWindowlessControl_SetColorKey(This,Clr) (This)->lpVtbl->SetColorKey(This,Clr)
8636 #define IVMRWindowlessControl_GetColorKey(This,lpClr) (This)->lpVtbl->GetColorKey(This,lpClr)
8637 #endif
8638 #endif
8639 HRESULT WINAPI IVMRWindowlessControl_GetNativeVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
8640 void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8641 HRESULT WINAPI IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
8642 void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8643 HRESULT WINAPI IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
8644 void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8645 HRESULT WINAPI IVMRWindowlessControl_SetVideoPosition_Proxy(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
8646 void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8647 HRESULT WINAPI IVMRWindowlessControl_GetVideoPosition_Proxy(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
8648 void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8649 HRESULT WINAPI IVMRWindowlessControl_GetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
8650 void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8651 HRESULT WINAPI IVMRWindowlessControl_SetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD AspectRatioMode);
8652 void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8653 HRESULT WINAPI IVMRWindowlessControl_SetVideoClippingWindow_Proxy(IVMRWindowlessControl *This,HWND hwnd);
8654 void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8655 HRESULT WINAPI IVMRWindowlessControl_RepaintVideo_Proxy(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
8656 void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8657 HRESULT WINAPI IVMRWindowlessControl_DisplayModeChanged_Proxy(IVMRWindowlessControl *This);
8658 void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8659 HRESULT WINAPI IVMRWindowlessControl_GetCurrentImage_Proxy(IVMRWindowlessControl *This,BYTE **lpDib);
8660 void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8661 HRESULT WINAPI IVMRWindowlessControl_SetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
8662 void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8663 HRESULT WINAPI IVMRWindowlessControl_GetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
8664 void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8665 HRESULT WINAPI IVMRWindowlessControl_SetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
8666 void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8667 HRESULT WINAPI IVMRWindowlessControl_GetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
8668 void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8669 #endif
8670
8671 typedef enum __MIDL___MIDL_itf_strmif_0401_0001 {
8672 MixerPref_NoDecimation = 0x1,MixerPref_DecimateOutput = 0x2,MixerPref_ARAdjustXorY = 0x4,MixerPref_DecimationReserved = 0x8,
8673 MixerPref_DecimateMask = 0xf,MixerPref_BiLinearFiltering = 0x10,MixerPref_PointFiltering = 0x20,MixerPref_FilteringMask = 0xf0,
8674 MixerPref_RenderTargetRGB = 0x100,MixerPref_RenderTargetYUV = 0x1000,MixerPref_RenderTargetYUV420 = 0x200,MixerPref_RenderTargetYUV422 = 0x400,
8675 MixerPref_RenderTargetYUV444 = 0x800,MixerPref_RenderTargetReserved = 0xe000,MixerPref_RenderTargetMask = 0xff00,
8676 MixerPref_DynamicSwitchToBOB = 0x10000,MixerPref_DynamicDecimateBy2 = 0x20000,MixerPref_DynamicReserved = 0xc0000,
8677 MixerPref_DynamicMask = 0xf0000
8678 } VMRMixerPrefs;
8679
8680 typedef struct _NORMALIZEDRECT {
8681 float left;
8682 float top;
8683 float right;
8684 float bottom;
8685 } NORMALIZEDRECT;
8686
8687 typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
8688
8689 extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_c_ifspec;
8690 extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_s_ifspec;
8691 #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
8692 #define __IVMRMixerControl_INTERFACE_DEFINED__
8693 EXTERN_C const IID IID_IVMRMixerControl;
8694 #if defined(__cplusplus) && !defined(CINTERFACE)
8695 struct IVMRMixerControl : public IUnknown {
8696 public:
8697 virtual HRESULT WINAPI SetAlpha(DWORD dwStreamID,float Alpha) = 0;
8698 virtual HRESULT WINAPI GetAlpha(DWORD dwStreamID,float *pAlpha) = 0;
8699 virtual HRESULT WINAPI SetZOrder(DWORD dwStreamID,DWORD dwZ) = 0;
8700 virtual HRESULT WINAPI GetZOrder(DWORD dwStreamID,DWORD *pZ) = 0;
8701 virtual HRESULT WINAPI SetOutputRect(DWORD dwStreamID,const NORMALIZEDRECT *pRect) = 0;
8702 virtual HRESULT WINAPI GetOutputRect(DWORD dwStreamID,NORMALIZEDRECT *pRect) = 0;
8703 virtual HRESULT WINAPI SetBackgroundClr(COLORREF ClrBkg) = 0;
8704 virtual HRESULT WINAPI GetBackgroundClr(COLORREF *lpClrBkg) = 0;
8705 virtual HRESULT WINAPI SetMixingPrefs(DWORD dwMixerPrefs) = 0;
8706 virtual HRESULT WINAPI GetMixingPrefs(DWORD *pdwMixerPrefs) = 0;
8707 };
8708 #else
8709 typedef struct IVMRMixerControlVtbl {
8710 BEGIN_INTERFACE
8711 HRESULT (WINAPI *QueryInterface)(IVMRMixerControl *This,REFIID riid,void **ppvObject);
8712 ULONG (WINAPI *AddRef)(IVMRMixerControl *This);
8713 ULONG (WINAPI *Release)(IVMRMixerControl *This);
8714 HRESULT (WINAPI *SetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
8715 HRESULT (WINAPI *GetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
8716 HRESULT (WINAPI *SetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
8717 HRESULT (WINAPI *GetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
8718 HRESULT (WINAPI *SetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
8719 HRESULT (WINAPI *GetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
8720 HRESULT (WINAPI *SetBackgroundClr)(IVMRMixerControl *This,COLORREF ClrBkg);
8721 HRESULT (WINAPI *GetBackgroundClr)(IVMRMixerControl *This,COLORREF *lpClrBkg);
8722 HRESULT (WINAPI *SetMixingPrefs)(IVMRMixerControl *This,DWORD dwMixerPrefs);
8723 HRESULT (WINAPI *GetMixingPrefs)(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
8724 END_INTERFACE
8725 } IVMRMixerControlVtbl;
8726 struct IVMRMixerControl {
8727 CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
8728 };
8729 #ifdef COBJMACROS
8730 #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8731 #define IVMRMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
8732 #define IVMRMixerControl_Release(This) (This)->lpVtbl->Release(This)
8733 #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) (This)->lpVtbl->SetAlpha(This,dwStreamID,Alpha)
8734 #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) (This)->lpVtbl->GetAlpha(This,dwStreamID,pAlpha)
8735 #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetZOrder(This,dwStreamID,dwZ)
8736 #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) (This)->lpVtbl->GetZOrder(This,dwStreamID,pZ)
8737 #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->SetOutputRect(This,dwStreamID,pRect)
8738 #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->GetOutputRect(This,dwStreamID,pRect)
8739 #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) (This)->lpVtbl->SetBackgroundClr(This,ClrBkg)
8740 #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) (This)->lpVtbl->GetBackgroundClr(This,lpClrBkg)
8741 #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) (This)->lpVtbl->SetMixingPrefs(This,dwMixerPrefs)
8742 #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) (This)->lpVtbl->GetMixingPrefs(This,pdwMixerPrefs)
8743 #endif
8744 #endif
8745 HRESULT WINAPI IVMRMixerControl_SetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
8746 void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8747 HRESULT WINAPI IVMRMixerControl_GetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
8748 void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8749 HRESULT WINAPI IVMRMixerControl_SetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
8750 void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8751 HRESULT WINAPI IVMRMixerControl_GetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
8752 void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8753 HRESULT WINAPI IVMRMixerControl_SetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
8754 void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8755 HRESULT WINAPI IVMRMixerControl_GetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
8756 void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8757 HRESULT WINAPI IVMRMixerControl_SetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF ClrBkg);
8758 void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8759 HRESULT WINAPI IVMRMixerControl_GetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF *lpClrBkg);
8760 void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8761 HRESULT WINAPI IVMRMixerControl_SetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD dwMixerPrefs);
8762 void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8763 HRESULT WINAPI IVMRMixerControl_GetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
8764
8765 void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8766 #endif
8767
8768 #ifdef __cplusplus
8769 typedef struct tagVMRGUID {
8770 ::GUID *pGUID;
8771 ::GUID GUID;
8772 } VMRGUID;
8773 #else
8774 typedef struct tagVMRGUID {
8775 GUID *pGUID;
8776 GUID GUID;
8777 } VMRGUID;
8778 #endif
8779
8780 typedef struct tagVMRMONITORINFO {
8781 VMRGUID guid;
8782 RECT rcMonitor;
8783 HMONITOR hMon;
8784 DWORD dwFlags;
8785 wchar_t szDevice[32];
8786 wchar_t szDescription[256];
8787 LARGE_INTEGER liDriverVersion;
8788 DWORD dwVendorId;
8789 DWORD dwDeviceId;
8790 DWORD dwSubSysId;
8791 DWORD dwRevision;
8792 } VMRMONITORINFO;
8793
8794 extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_c_ifspec;
8795 extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_s_ifspec;
8796 #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
8797 #define __IVMRMonitorConfig_INTERFACE_DEFINED__
8798 EXTERN_C const IID IID_IVMRMonitorConfig;
8799 #if defined(__cplusplus) && !defined(CINTERFACE)
8800 struct IVMRMonitorConfig : public IUnknown {
8801 public:
8802 virtual HRESULT WINAPI SetMonitor(const VMRGUID *pGUID) = 0;
8803 virtual HRESULT WINAPI GetMonitor(VMRGUID *pGUID) = 0;
8804 virtual HRESULT WINAPI SetDefaultMonitor(const VMRGUID *pGUID) = 0;
8805 virtual HRESULT WINAPI GetDefaultMonitor(VMRGUID *pGUID) = 0;
8806 virtual HRESULT WINAPI GetAvailableMonitors(VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices) = 0;
8807 };
8808 #else
8809 typedef struct IVMRMonitorConfigVtbl {
8810 BEGIN_INTERFACE
8811 HRESULT (WINAPI *QueryInterface)(IVMRMonitorConfig *This,REFIID riid,void **ppvObject);
8812 ULONG (WINAPI *AddRef)(IVMRMonitorConfig *This);
8813 ULONG (WINAPI *Release)(IVMRMonitorConfig *This);
8814 HRESULT (WINAPI *SetMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
8815 HRESULT (WINAPI *GetMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
8816 HRESULT (WINAPI *SetDefaultMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
8817 HRESULT (WINAPI *GetDefaultMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
8818 HRESULT (WINAPI *GetAvailableMonitors)(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
8819 END_INTERFACE
8820 } IVMRMonitorConfigVtbl;
8821 struct IVMRMonitorConfig {
8822 CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
8823 };
8824 #ifdef COBJMACROS
8825 #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8826 #define IVMRMonitorConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
8827 #define IVMRMonitorConfig_Release(This) (This)->lpVtbl->Release(This)
8828 #define IVMRMonitorConfig_SetMonitor(This,pGUID) (This)->lpVtbl->SetMonitor(This,pGUID)
8829 #define IVMRMonitorConfig_GetMonitor(This,pGUID) (This)->lpVtbl->GetMonitor(This,pGUID)
8830 #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) (This)->lpVtbl->SetDefaultMonitor(This,pGUID)
8831 #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) (This)->lpVtbl->GetDefaultMonitor(This,pGUID)
8832 #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) (This)->lpVtbl->GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
8833 #endif
8834 #endif
8835 HRESULT WINAPI IVMRMonitorConfig_SetMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
8836 void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8837 HRESULT WINAPI IVMRMonitorConfig_GetMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
8838 void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8839 HRESULT WINAPI IVMRMonitorConfig_SetDefaultMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
8840 void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8841 HRESULT WINAPI IVMRMonitorConfig_GetDefaultMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
8842 void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8843 HRESULT WINAPI IVMRMonitorConfig_GetAvailableMonitors_Proxy(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
8844 void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8845 #endif
8846
8847 typedef enum __MIDL___MIDL_itf_strmif_0403_0001 {
8848 RenderPrefs_RestrictToInitialMonitor = 0,RenderPrefs_ForceOffscreen = 0x1,RenderPrefs_ForceOverlays = 0x2,RenderPrefs_AllowOverlays = 0,
8849 RenderPrefs_AllowOffscreen = 0,RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,RenderPrefs_Reserved = 0x10,RenderPrefs_PreferAGPMemWhenMixing = 0x20,
8850 RenderPrefs_Mask = 0x3f
8851 } VMRRenderPrefs;
8852
8853 typedef enum __MIDL___MIDL_itf_strmif_0403_0002 {
8854 VMRMode_Windowed = 0x1,VMRMode_Windowless = 0x2,VMRMode_Renderless = 0x4,VMRMode_Mask = 0x7
8855 } VMRMode;
8856
8857 enum __MIDL___MIDL_itf_strmif_0403_0003 {
8858 MAX_NUMBER_OF_STREAMS = 16
8859 };
8860
8861 extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec;
8862 extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec;
8863 #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
8864 #define __IVMRFilterConfig_INTERFACE_DEFINED__
8865 EXTERN_C const IID IID_IVMRFilterConfig;
8866 #if defined(__cplusplus) && !defined(CINTERFACE)
8867 struct IVMRFilterConfig : public IUnknown {
8868 public:
8869 virtual HRESULT WINAPI SetImageCompositor(IVMRImageCompositor *lpVMRImgCompositor) = 0;
8870 virtual HRESULT WINAPI SetNumberOfStreams(DWORD dwMaxStreams) = 0;
8871 virtual HRESULT WINAPI GetNumberOfStreams(DWORD *pdwMaxStreams) = 0;
8872 virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
8873 virtual HRESULT WINAPI GetRenderingPrefs(DWORD *pdwRenderFlags) = 0;
8874 virtual HRESULT WINAPI SetRenderingMode(DWORD Mode) = 0;
8875 virtual HRESULT WINAPI GetRenderingMode(DWORD *pMode) = 0;
8876 };
8877 #else
8878 typedef struct IVMRFilterConfigVtbl {
8879 BEGIN_INTERFACE
8880 HRESULT (WINAPI *QueryInterface)(IVMRFilterConfig *This,REFIID riid,void **ppvObject);
8881 ULONG (WINAPI *AddRef)(IVMRFilterConfig *This);
8882 ULONG (WINAPI *Release)(IVMRFilterConfig *This);
8883 HRESULT (WINAPI *SetImageCompositor)(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
8884 HRESULT (WINAPI *SetNumberOfStreams)(IVMRFilterConfig *This,DWORD dwMaxStreams);
8885 HRESULT (WINAPI *GetNumberOfStreams)(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
8886 HRESULT (WINAPI *SetRenderingPrefs)(IVMRFilterConfig *This,DWORD dwRenderFlags);
8887 HRESULT (WINAPI *GetRenderingPrefs)(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
8888 HRESULT (WINAPI *SetRenderingMode)(IVMRFilterConfig *This,DWORD Mode);
8889 HRESULT (WINAPI *GetRenderingMode)(IVMRFilterConfig *This,DWORD *pMode);
8890 END_INTERFACE
8891 } IVMRFilterConfigVtbl;
8892 struct IVMRFilterConfig {
8893 CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
8894 };
8895 #ifdef COBJMACROS
8896 #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8897 #define IVMRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
8898 #define IVMRFilterConfig_Release(This) (This)->lpVtbl->Release(This)
8899 #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) (This)->lpVtbl->SetImageCompositor(This,lpVMRImgCompositor)
8900 #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams)
8901 #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams)
8902 #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
8903 #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags)
8904 #define IVMRFilterConfig_SetRenderingMode(This,Mode) (This)->lpVtbl->SetRenderingMode(This,Mode)
8905 #define IVMRFilterConfig_GetRenderingMode(This,pMode) (This)->lpVtbl->GetRenderingMode(This,pMode)
8906 #endif
8907 #endif
8908 HRESULT WINAPI IVMRFilterConfig_SetImageCompositor_Proxy(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
8909 void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8910 HRESULT WINAPI IVMRFilterConfig_SetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD dwMaxStreams);
8911 void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8912 HRESULT WINAPI IVMRFilterConfig_GetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
8913 void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8914 HRESULT WINAPI IVMRFilterConfig_SetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD dwRenderFlags);
8915 void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8916 HRESULT WINAPI IVMRFilterConfig_GetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
8917 void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8918 HRESULT WINAPI IVMRFilterConfig_SetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD Mode);
8919 void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8920 HRESULT WINAPI IVMRFilterConfig_GetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD *pMode);
8921 void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8922 #endif
8923
8924 #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
8925 #define __IVMRAspectRatioControl_INTERFACE_DEFINED__
8926 EXTERN_C const IID IID_IVMRAspectRatioControl;
8927 #if defined(__cplusplus) && !defined(CINTERFACE)
8928 struct IVMRAspectRatioControl : public IUnknown {
8929 public:
8930 virtual HRESULT WINAPI GetAspectRatioMode(LPDWORD lpdwARMode) = 0;
8931 virtual HRESULT WINAPI SetAspectRatioMode(DWORD dwARMode) = 0;
8932 };
8933 #else
8934 typedef struct IVMRAspectRatioControlVtbl {
8935 BEGIN_INTERFACE
8936 HRESULT (WINAPI *QueryInterface)(IVMRAspectRatioControl *This,REFIID riid,void **ppvObject);
8937 ULONG (WINAPI *AddRef)(IVMRAspectRatioControl *This);
8938 ULONG (WINAPI *Release)(IVMRAspectRatioControl *This);
8939 HRESULT (WINAPI *GetAspectRatioMode)(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
8940 HRESULT (WINAPI *SetAspectRatioMode)(IVMRAspectRatioControl *This,DWORD dwARMode);
8941 END_INTERFACE
8942 } IVMRAspectRatioControlVtbl;
8943 struct IVMRAspectRatioControl {
8944 CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
8945 };
8946 #ifdef COBJMACROS
8947 #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8948 #define IVMRAspectRatioControl_AddRef(This) (This)->lpVtbl->AddRef(This)
8949 #define IVMRAspectRatioControl_Release(This) (This)->lpVtbl->Release(This)
8950 #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) (This)->lpVtbl->GetAspectRatioMode(This,lpdwARMode)
8951 #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) (This)->lpVtbl->SetAspectRatioMode(This,dwARMode)
8952 #endif
8953 #endif
8954 HRESULT WINAPI IVMRAspectRatioControl_GetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
8955 void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8956 HRESULT WINAPI IVMRAspectRatioControl_SetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,DWORD dwARMode);
8957 void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
8958 #endif
8959
8960 typedef enum __MIDL___MIDL_itf_strmif_0405_0001 {
8961 DeinterlacePref_NextBest = 0x1,DeinterlacePref_BOB = 0x2,DeinterlacePref_Weave = 0x4,DeinterlacePref_Mask = 0x7
8962 } VMRDeinterlacePrefs;
8963
8964 typedef enum __MIDL___MIDL_itf_strmif_0405_0002 {
8965 DeinterlaceTech_Unknown = 0,DeinterlaceTech_BOBLineReplicate = 0x1,DeinterlaceTech_BOBVerticalStretch = 0x2,DeinterlaceTech_MedianFiltering = 0x4,
8966 DeinterlaceTech_EdgeFiltering = 0x10,DeinterlaceTech_FieldAdaptive = 0x20,DeinterlaceTech_PixelAdaptive = 0x40,
8967 DeinterlaceTech_MotionVectorSteered = 0x80
8968 } VMRDeinterlaceTech;
8969
8970 typedef struct _VMRFrequency {
8971 DWORD dwNumerator;
8972 DWORD dwDenominator;
8973 } VMRFrequency;
8974
8975 typedef struct _VMRVideoDesc {
8976 DWORD dwSize;
8977 DWORD dwSampleWidth;
8978 DWORD dwSampleHeight;
8979 WINBOOL SingleFieldPerSample;
8980 DWORD dwFourCC;
8981 VMRFrequency InputSampleFreq;
8982 VMRFrequency OutputFrameFreq;
8983 } VMRVideoDesc;
8984
8985 typedef struct _VMRDeinterlaceCaps {
8986 DWORD dwSize;
8987 DWORD dwNumPreviousOutputFrames;
8988 DWORD dwNumForwardRefSamples;
8989 DWORD dwNumBackwardRefSamples;
8990 VMRDeinterlaceTech DeinterlaceTechnology;
8991 } VMRDeinterlaceCaps;
8992
8993 extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_c_ifspec;
8994 extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_s_ifspec;
8995 #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
8996 #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
8997 EXTERN_C const IID IID_IVMRDeinterlaceControl;
8998 #if defined(__cplusplus) && !defined(CINTERFACE)
8999 struct IVMRDeinterlaceControl : public IUnknown {
9000 public:
9001 virtual HRESULT WINAPI GetNumberOfDeinterlaceModes(VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes) = 0;
9002 virtual HRESULT WINAPI GetDeinterlaceModeCaps(LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
9003 virtual HRESULT WINAPI GetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
9004 virtual HRESULT WINAPI SetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
9005 virtual HRESULT WINAPI GetDeinterlacePrefs(LPDWORD lpdwDeinterlacePrefs) = 0;
9006 virtual HRESULT WINAPI SetDeinterlacePrefs(DWORD dwDeinterlacePrefs) = 0;
9007 virtual HRESULT WINAPI GetActualDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
9008 };
9009 #else
9010 typedef struct IVMRDeinterlaceControlVtbl {
9011 BEGIN_INTERFACE
9012 HRESULT (WINAPI *QueryInterface)(IVMRDeinterlaceControl *This,REFIID riid,void **ppvObject);
9013 ULONG (WINAPI *AddRef)(IVMRDeinterlaceControl *This);
9014 ULONG (WINAPI *Release)(IVMRDeinterlaceControl *This);
9015 HRESULT (WINAPI *GetNumberOfDeinterlaceModes)(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
9016 HRESULT (WINAPI *GetDeinterlaceModeCaps)(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
9017 HRESULT (WINAPI *GetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
9018 HRESULT (WINAPI *SetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
9019 HRESULT (WINAPI *GetDeinterlacePrefs)(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
9020 HRESULT (WINAPI *SetDeinterlacePrefs)(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
9021 HRESULT (WINAPI *GetActualDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
9022 END_INTERFACE
9023 } IVMRDeinterlaceControlVtbl;
9024 struct IVMRDeinterlaceControl {
9025 CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
9026 };
9027 #ifdef COBJMACROS
9028 #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9029 #define IVMRDeinterlaceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
9030 #define IVMRDeinterlaceControl_Release(This) (This)->lpVtbl->Release(This)
9031 #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
9032 #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
9033 #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
9034 #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
9035 #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) (This)->lpVtbl->GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
9036 #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) (This)->lpVtbl->SetDeinterlacePrefs(This,dwDeinterlacePrefs)
9037 #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
9038 #endif
9039 #endif
9040 HRESULT WINAPI IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
9041 void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9042 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
9043 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9044 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
9045 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9046 HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
9047 void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9048 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
9049 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9050 HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
9051 void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9052 HRESULT WINAPI IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
9053 void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9054 #endif
9055
9056 typedef struct _VMRALPHABITMAP {
9057 DWORD dwFlags;
9058 HDC hdc;
9059 LPDIRECTDRAWSURFACE7 pDDS;
9060 RECT rSrc;
9061 NORMALIZEDRECT rDest;
9062 FLOAT fAlpha;
9063 COLORREF clrSrcKey;
9064 } VMRALPHABITMAP;
9065
9066 typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
9067
9068 #define VMRBITMAP_DISABLE 0x00000001
9069 #define VMRBITMAP_HDC 0x00000002
9070 #define VMRBITMAP_ENTIREDDS 0x00000004
9071 #define VMRBITMAP_SRCCOLORKEY 0x00000008
9072 #define VMRBITMAP_SRCRECT 0x00000010
9073
9074 extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec;
9075 extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec;
9076 #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
9077 #define __IVMRMixerBitmap_INTERFACE_DEFINED__
9078 EXTERN_C const IID IID_IVMRMixerBitmap;
9079 #if defined(__cplusplus) && !defined(CINTERFACE)
9080 struct IVMRMixerBitmap : public IUnknown {
9081 public:
9082 virtual HRESULT WINAPI SetAlphaBitmap(const VMRALPHABITMAP *pBmpParms) = 0;
9083 virtual HRESULT WINAPI UpdateAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
9084 virtual HRESULT WINAPI GetAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
9085 };
9086 #else
9087 typedef struct IVMRMixerBitmapVtbl {
9088 BEGIN_INTERFACE
9089 HRESULT (WINAPI *QueryInterface)(IVMRMixerBitmap *This,REFIID riid,void **ppvObject);
9090 ULONG (WINAPI *AddRef)(IVMRMixerBitmap *This);
9091 ULONG (WINAPI *Release)(IVMRMixerBitmap *This);
9092 HRESULT (WINAPI *SetAlphaBitmap)(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
9093 HRESULT (WINAPI *UpdateAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
9094 HRESULT (WINAPI *GetAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
9095 END_INTERFACE
9096 } IVMRMixerBitmapVtbl;
9097 struct IVMRMixerBitmap {
9098 CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
9099 };
9100 #ifdef COBJMACROS
9101 #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9102 #define IVMRMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
9103 #define IVMRMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
9104 #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) (This)->lpVtbl->SetAlphaBitmap(This,pBmpParms)
9105 #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,pBmpParms)
9106 #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->GetAlphaBitmapParameters(This,pBmpParms)
9107 #endif
9108 #endif
9109 HRESULT WINAPI IVMRMixerBitmap_SetAlphaBitmap_Proxy(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
9110 void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9111 HRESULT WINAPI IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
9112 void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9113 HRESULT WINAPI IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
9114 void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9115 #endif
9116
9117 typedef struct _VMRVIDEOSTREAMINFO {
9118 LPDIRECTDRAWSURFACE7 pddsVideoSurface;
9119 DWORD dwWidth;
9120 DWORD dwHeight;
9121 DWORD dwStrmID;
9122 FLOAT fAlpha;
9123 DDCOLORKEY ddClrKey;
9124 NORMALIZEDRECT rNormal;
9125 } VMRVIDEOSTREAMINFO;
9126
9127 extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_c_ifspec;
9128 extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_s_ifspec;
9129 #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
9130 #define __IVMRImageCompositor_INTERFACE_DEFINED__
9131 EXTERN_C const IID IID_IVMRImageCompositor;
9132 #if defined(__cplusplus) && !defined(CINTERFACE)
9133 struct IVMRImageCompositor : public IUnknown {
9134 public:
9135 virtual HRESULT WINAPI InitCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
9136 virtual HRESULT WINAPI TermCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
9137 virtual HRESULT WINAPI SetStreamMediaType(DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture) = 0;
9138 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;
9139 };
9140 #else
9141 typedef struct IVMRImageCompositorVtbl {
9142 BEGIN_INTERFACE
9143 HRESULT (WINAPI *QueryInterface)(IVMRImageCompositor *This,REFIID riid,void **ppvObject);
9144 ULONG (WINAPI *AddRef)(IVMRImageCompositor *This);
9145 ULONG (WINAPI *Release)(IVMRImageCompositor *This);
9146 HRESULT (WINAPI *InitCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
9147 HRESULT (WINAPI *TermCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
9148 HRESULT (WINAPI *SetStreamMediaType)(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
9149 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);
9150 END_INTERFACE
9151 } IVMRImageCompositorVtbl;
9152 struct IVMRImageCompositor {
9153 CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
9154 };
9155 #ifdef COBJMACROS
9156 #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9157 #define IVMRImageCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
9158 #define IVMRImageCompositor_Release(This) (This)->lpVtbl->Release(This)
9159 #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
9160 #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
9161 #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) (This)->lpVtbl->SetStreamMediaType(This,dwStrmID,pmt,fTexture)
9162 #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) (This)->lpVtbl->CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
9163 #endif
9164 #endif
9165 HRESULT WINAPI IVMRImageCompositor_InitCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
9166 void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9167 HRESULT WINAPI IVMRImageCompositor_TermCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
9168 void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9169 HRESULT WINAPI IVMRImageCompositor_SetStreamMediaType_Proxy(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
9170 void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9171 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);
9172 void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9173 #endif
9174
9175 #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
9176 #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
9177 EXTERN_C const IID IID_IVMRVideoStreamControl;
9178 #if defined(__cplusplus) && !defined(CINTERFACE)
9179 struct IVMRVideoStreamControl : public IUnknown {
9180 public:
9181 virtual HRESULT WINAPI SetColorKey(LPDDCOLORKEY lpClrKey) = 0;
9182 virtual HRESULT WINAPI GetColorKey(LPDDCOLORKEY lpClrKey) = 0;
9183 virtual HRESULT WINAPI SetStreamActiveState(WINBOOL fActive) = 0;
9184 virtual HRESULT WINAPI GetStreamActiveState(WINBOOL *lpfActive) = 0;
9185 };
9186 #else
9187 typedef struct IVMRVideoStreamControlVtbl {
9188 BEGIN_INTERFACE
9189 HRESULT (WINAPI *QueryInterface)(IVMRVideoStreamControl *This,REFIID riid,void **ppvObject);
9190 ULONG (WINAPI *AddRef)(IVMRVideoStreamControl *This);
9191 ULONG (WINAPI *Release)(IVMRVideoStreamControl *This);
9192 HRESULT (WINAPI *SetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
9193 HRESULT (WINAPI *GetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
9194 HRESULT (WINAPI *SetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL fActive);
9195 HRESULT (WINAPI *GetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
9196 END_INTERFACE
9197 } IVMRVideoStreamControlVtbl;
9198 struct IVMRVideoStreamControl {
9199 CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
9200 };
9201 #ifdef COBJMACROS
9202 #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9203 #define IVMRVideoStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
9204 #define IVMRVideoStreamControl_Release(This) (This)->lpVtbl->Release(This)
9205 #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) (This)->lpVtbl->SetColorKey(This,lpClrKey)
9206 #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) (This)->lpVtbl->GetColorKey(This,lpClrKey)
9207 #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) (This)->lpVtbl->SetStreamActiveState(This,fActive)
9208 #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) (This)->lpVtbl->GetStreamActiveState(This,lpfActive)
9209 #endif
9210 #endif
9211 HRESULT WINAPI IVMRVideoStreamControl_SetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
9212 void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9213 HRESULT WINAPI IVMRVideoStreamControl_GetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
9214 void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9215 HRESULT WINAPI IVMRVideoStreamControl_SetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL fActive);
9216 void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9217 HRESULT WINAPI IVMRVideoStreamControl_GetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
9218 void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9219 #endif
9220
9221 #ifndef __IVMRSurface_INTERFACE_DEFINED__
9222 #define __IVMRSurface_INTERFACE_DEFINED__
9223 EXTERN_C const IID IID_IVMRSurface;
9224 #if defined(__cplusplus) && !defined(CINTERFACE)
9225 struct IVMRSurface : public IUnknown {
9226 public:
9227 virtual HRESULT WINAPI IsSurfaceLocked(void) = 0;
9228 virtual HRESULT WINAPI LockSurface(BYTE **lpSurface) = 0;
9229 virtual HRESULT WINAPI UnlockSurface(void) = 0;
9230 virtual HRESULT WINAPI GetSurface(LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
9231 };
9232 #else
9233 typedef struct IVMRSurfaceVtbl {
9234 BEGIN_INTERFACE
9235 HRESULT (WINAPI *QueryInterface)(IVMRSurface *This,REFIID riid,void **ppvObject);
9236 ULONG (WINAPI *AddRef)(IVMRSurface *This);
9237 ULONG (WINAPI *Release)(IVMRSurface *This);
9238 HRESULT (WINAPI *IsSurfaceLocked)(IVMRSurface *This);
9239 HRESULT (WINAPI *LockSurface)(IVMRSurface *This,BYTE **lpSurface);
9240 HRESULT (WINAPI *UnlockSurface)(IVMRSurface *This);
9241 HRESULT (WINAPI *GetSurface)(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
9242 END_INTERFACE
9243 } IVMRSurfaceVtbl;
9244 struct IVMRSurface {
9245 CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
9246 };
9247 #ifdef COBJMACROS
9248 #define IVMRSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9249 #define IVMRSurface_AddRef(This) (This)->lpVtbl->AddRef(This)
9250 #define IVMRSurface_Release(This) (This)->lpVtbl->Release(This)
9251 #define IVMRSurface_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This)
9252 #define IVMRSurface_LockSurface(This,lpSurface) (This)->lpVtbl->LockSurface(This,lpSurface)
9253 #define IVMRSurface_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This)
9254 #define IVMRSurface_GetSurface(This,lplpSurface) (This)->lpVtbl->GetSurface(This,lplpSurface)
9255 #endif
9256 #endif
9257 HRESULT WINAPI IVMRSurface_IsSurfaceLocked_Proxy(IVMRSurface *This);
9258 void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9259 HRESULT WINAPI IVMRSurface_LockSurface_Proxy(IVMRSurface *This,BYTE **lpSurface);
9260 void __RPC_STUB IVMRSurface_LockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9261 HRESULT WINAPI IVMRSurface_UnlockSurface_Proxy(IVMRSurface *This);
9262 void __RPC_STUB IVMRSurface_UnlockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9263 HRESULT WINAPI IVMRSurface_GetSurface_Proxy(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
9264 void __RPC_STUB IVMRSurface_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9265 #endif
9266
9267 #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
9268 #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
9269 EXTERN_C const IID IID_IVMRImagePresenterConfig;
9270
9271 #if defined(__cplusplus) && !defined(CINTERFACE)
9272 struct IVMRImagePresenterConfig : public IUnknown {
9273 public:
9274 virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
9275 virtual HRESULT WINAPI GetRenderingPrefs(DWORD *dwRenderFlags) = 0;
9276 };
9277 #else
9278 typedef struct IVMRImagePresenterConfigVtbl {
9279 BEGIN_INTERFACE
9280 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterConfig *This,REFIID riid,void **ppvObject);
9281 ULONG (WINAPI *AddRef)(IVMRImagePresenterConfig *This);
9282 ULONG (WINAPI *Release)(IVMRImagePresenterConfig *This);
9283 HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
9284 HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
9285 END_INTERFACE
9286 } IVMRImagePresenterConfigVtbl;
9287 struct IVMRImagePresenterConfig {
9288 CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
9289 };
9290 #ifdef COBJMACROS
9291 #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9292 #define IVMRImagePresenterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
9293 #define IVMRImagePresenterConfig_Release(This) (This)->lpVtbl->Release(This)
9294 #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
9295 #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
9296 #endif
9297 #endif
9298 HRESULT WINAPI IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
9299 void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9300 HRESULT WINAPI IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
9301 void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9302 #endif
9303
9304 #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
9305 #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
9306 EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
9307 #if defined(__cplusplus) && !defined(CINTERFACE)
9308 struct IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig {
9309 public:
9310 virtual HRESULT WINAPI SetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
9311 virtual HRESULT WINAPI GetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
9312 };
9313 #else
9314 typedef struct IVMRImagePresenterExclModeConfigVtbl {
9315 BEGIN_INTERFACE
9316 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterExclModeConfig *This,REFIID riid,void **ppvObject);
9317 ULONG (WINAPI *AddRef)(IVMRImagePresenterExclModeConfig *This);
9318 ULONG (WINAPI *Release)(IVMRImagePresenterExclModeConfig *This);
9319 HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD dwRenderFlags);
9320 HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD *dwRenderFlags);
9321 HRESULT (WINAPI *SetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
9322 HRESULT (WINAPI *GetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
9323 END_INTERFACE
9324 } IVMRImagePresenterExclModeConfigVtbl;
9325 struct IVMRImagePresenterExclModeConfig {
9326 CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
9327 };
9328 #ifdef COBJMACROS
9329 #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9330 #define IVMRImagePresenterExclModeConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
9331 #define IVMRImagePresenterExclModeConfig_Release(This) (This)->lpVtbl->Release(This)
9332 #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
9333 #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
9334 #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
9335 #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
9336 #endif
9337 #endif
9338 HRESULT WINAPI IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
9339 void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9340 HRESULT WINAPI IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
9341 void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9342 #endif
9343
9344 #ifndef __IVPManager_INTERFACE_DEFINED__
9345 #define __IVPManager_INTERFACE_DEFINED__
9346 EXTERN_C const IID IID_IVPManager;
9347 #if defined(__cplusplus) && !defined(CINTERFACE)
9348 struct IVPManager : public IUnknown {
9349 public:
9350 virtual HRESULT WINAPI SetVideoPortIndex(DWORD dwVideoPortIndex) = 0;
9351 virtual HRESULT WINAPI GetVideoPortIndex(DWORD *pdwVideoPortIndex) = 0;
9352 };
9353 #else
9354 typedef struct IVPManagerVtbl {
9355 BEGIN_INTERFACE
9356 HRESULT (WINAPI *QueryInterface)(IVPManager *This,REFIID riid,void **ppvObject);
9357 ULONG (WINAPI *AddRef)(IVPManager *This);
9358 ULONG (WINAPI *Release)(IVPManager *This);
9359 HRESULT (WINAPI *SetVideoPortIndex)(IVPManager *This,DWORD dwVideoPortIndex);
9360 HRESULT (WINAPI *GetVideoPortIndex)(IVPManager *This,DWORD *pdwVideoPortIndex);
9361 END_INTERFACE
9362 } IVPManagerVtbl;
9363 struct IVPManager {
9364 CONST_VTBL struct IVPManagerVtbl *lpVtbl;
9365 };
9366 #ifdef COBJMACROS
9367 #define IVPManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9368 #define IVPManager_AddRef(This) (This)->lpVtbl->AddRef(This)
9369 #define IVPManager_Release(This) (This)->lpVtbl->Release(This)
9370 #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) (This)->lpVtbl->SetVideoPortIndex(This,dwVideoPortIndex)
9371 #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) (This)->lpVtbl->GetVideoPortIndex(This,pdwVideoPortIndex)
9372 #endif
9373 #endif
9374 HRESULT WINAPI IVPManager_SetVideoPortIndex_Proxy(IVPManager *This,DWORD dwVideoPortIndex);
9375 void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9376 HRESULT WINAPI IVPManager_GetVideoPortIndex_Proxy(IVPManager *This,DWORD *pdwVideoPortIndex);
9377 void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
9378 #endif
9379
9380 extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec;
9381 extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec;
9382
9383 unsigned long __RPC_API VARIANT_UserSize(unsigned long *,unsigned long,VARIANT *);
9384 unsigned char *__RPC_API VARIANT_UserMarshal(unsigned long *,unsigned char *,VARIANT *);
9385 unsigned char *__RPC_API VARIANT_UserUnmarshal(unsigned long *,unsigned char *,VARIANT *);
9386 void __RPC_API VARIANT_UserFree(unsigned long *,VARIANT *);
9387
9388 HRESULT WINAPI ICaptureGraphBuilder_FindInterface_Proxy(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint);
9389 HRESULT WINAPI ICaptureGraphBuilder_FindInterface_Stub(ICaptureGraphBuilder *This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,IUnknown **ppint);
9390 HRESULT WINAPI ICaptureGraphBuilder2_FindInterface_Proxy(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint);
9391 HRESULT WINAPI ICaptureGraphBuilder2_FindInterface_Stub(ICaptureGraphBuilder2 *This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,IUnknown **ppint);
9392 HRESULT WINAPI IKsPropertySet_Set_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData);
9393 HRESULT WINAPI IKsPropertySet_Set_Stub(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,byte *pInstanceData,DWORD cbInstanceData,byte *pPropData,DWORD cbPropData);
9394 HRESULT WINAPI IKsPropertySet_Get_Proxy(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned);
9395 HRESULT WINAPI IKsPropertySet_Get_Stub(IKsPropertySet *This,REFGUID guidPropSet,DWORD dwPropID,byte *pInstanceData,DWORD cbInstanceData,byte *pPropData,DWORD cbPropData,DWORD *pcbReturned);
9396
9397 #ifdef __cplusplus
9398 }
9399 #endif
9400 #endif