strmif.h (746026B) - Raw
1 /*** Autogenerated by WIDL 10.4 from include/strmif.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __strmif_h__ 17 #define __strmif_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __ICreateDevEnum_FWD_DEFINED__ 22 #define __ICreateDevEnum_FWD_DEFINED__ 23 typedef interface ICreateDevEnum ICreateDevEnum; 24 #ifdef __cplusplus 25 interface ICreateDevEnum; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IPin_FWD_DEFINED__ 30 #define __IPin_FWD_DEFINED__ 31 typedef interface IPin IPin; 32 #ifdef __cplusplus 33 interface IPin; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IEnumPins_FWD_DEFINED__ 38 #define __IEnumPins_FWD_DEFINED__ 39 typedef interface IEnumPins IEnumPins; 40 #ifdef __cplusplus 41 interface IEnumPins; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IEnumMediaTypes_FWD_DEFINED__ 46 #define __IEnumMediaTypes_FWD_DEFINED__ 47 typedef interface IEnumMediaTypes IEnumMediaTypes; 48 #ifdef __cplusplus 49 interface IEnumMediaTypes; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IFilterGraph_FWD_DEFINED__ 54 #define __IFilterGraph_FWD_DEFINED__ 55 typedef interface IFilterGraph IFilterGraph; 56 #ifdef __cplusplus 57 interface IFilterGraph; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IEnumFilters_FWD_DEFINED__ 62 #define __IEnumFilters_FWD_DEFINED__ 63 typedef interface IEnumFilters IEnumFilters; 64 #ifdef __cplusplus 65 interface IEnumFilters; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IMediaFilter_FWD_DEFINED__ 70 #define __IMediaFilter_FWD_DEFINED__ 71 typedef interface IMediaFilter IMediaFilter; 72 #ifdef __cplusplus 73 interface IMediaFilter; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IBaseFilter_FWD_DEFINED__ 78 #define __IBaseFilter_FWD_DEFINED__ 79 typedef interface IBaseFilter IBaseFilter; 80 #ifdef __cplusplus 81 interface IBaseFilter; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IReferenceClock_FWD_DEFINED__ 86 #define __IReferenceClock_FWD_DEFINED__ 87 typedef interface IReferenceClock IReferenceClock; 88 #ifdef __cplusplus 89 interface IReferenceClock; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __IReferenceClockTimerControl_FWD_DEFINED__ 94 #define __IReferenceClockTimerControl_FWD_DEFINED__ 95 typedef interface IReferenceClockTimerControl IReferenceClockTimerControl; 96 #ifdef __cplusplus 97 interface IReferenceClockTimerControl; 98 #endif /* __cplusplus */ 99 #endif 100 101 #ifndef __IReferenceClock2_FWD_DEFINED__ 102 #define __IReferenceClock2_FWD_DEFINED__ 103 typedef interface IReferenceClock2 IReferenceClock2; 104 #ifdef __cplusplus 105 interface IReferenceClock2; 106 #endif /* __cplusplus */ 107 #endif 108 109 #ifndef __IMediaSample_FWD_DEFINED__ 110 #define __IMediaSample_FWD_DEFINED__ 111 typedef interface IMediaSample IMediaSample; 112 #ifdef __cplusplus 113 interface IMediaSample; 114 #endif /* __cplusplus */ 115 #endif 116 117 #ifndef __IMediaSample2_FWD_DEFINED__ 118 #define __IMediaSample2_FWD_DEFINED__ 119 typedef interface IMediaSample2 IMediaSample2; 120 #ifdef __cplusplus 121 interface IMediaSample2; 122 #endif /* __cplusplus */ 123 #endif 124 125 #ifndef __IMediaSample2Config_FWD_DEFINED__ 126 #define __IMediaSample2Config_FWD_DEFINED__ 127 typedef interface IMediaSample2Config IMediaSample2Config; 128 #ifdef __cplusplus 129 interface IMediaSample2Config; 130 #endif /* __cplusplus */ 131 #endif 132 133 #ifndef __IMemAllocator_FWD_DEFINED__ 134 #define __IMemAllocator_FWD_DEFINED__ 135 typedef interface IMemAllocator IMemAllocator; 136 #ifdef __cplusplus 137 interface IMemAllocator; 138 #endif /* __cplusplus */ 139 #endif 140 141 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ 142 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ 143 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; 144 #ifdef __cplusplus 145 interface IMemAllocatorCallbackTemp; 146 #endif /* __cplusplus */ 147 #endif 148 149 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 150 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 151 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; 152 #ifdef __cplusplus 153 interface IMemAllocatorNotifyCallbackTemp; 154 #endif /* __cplusplus */ 155 #endif 156 157 #ifndef __IMemInputPin_FWD_DEFINED__ 158 #define __IMemInputPin_FWD_DEFINED__ 159 typedef interface IMemInputPin IMemInputPin; 160 #ifdef __cplusplus 161 interface IMemInputPin; 162 #endif /* __cplusplus */ 163 #endif 164 165 #ifndef __IAMovieSetup_FWD_DEFINED__ 166 #define __IAMovieSetup_FWD_DEFINED__ 167 typedef interface IAMovieSetup IAMovieSetup; 168 #ifdef __cplusplus 169 interface IAMovieSetup; 170 #endif /* __cplusplus */ 171 #endif 172 173 #ifndef __IMediaSeeking_FWD_DEFINED__ 174 #define __IMediaSeeking_FWD_DEFINED__ 175 typedef interface IMediaSeeking IMediaSeeking; 176 #ifdef __cplusplus 177 interface IMediaSeeking; 178 #endif /* __cplusplus */ 179 #endif 180 181 #ifndef __IEnumRegFilters_FWD_DEFINED__ 182 #define __IEnumRegFilters_FWD_DEFINED__ 183 typedef interface IEnumRegFilters IEnumRegFilters; 184 #ifdef __cplusplus 185 interface IEnumRegFilters; 186 #endif /* __cplusplus */ 187 #endif 188 189 #ifndef __IFilterMapper_FWD_DEFINED__ 190 #define __IFilterMapper_FWD_DEFINED__ 191 typedef interface IFilterMapper IFilterMapper; 192 #ifdef __cplusplus 193 interface IFilterMapper; 194 #endif /* __cplusplus */ 195 #endif 196 197 #ifndef __IFilterMapper2_FWD_DEFINED__ 198 #define __IFilterMapper2_FWD_DEFINED__ 199 typedef interface IFilterMapper2 IFilterMapper2; 200 #ifdef __cplusplus 201 interface IFilterMapper2; 202 #endif /* __cplusplus */ 203 #endif 204 205 #ifndef __IFilterMapper3_FWD_DEFINED__ 206 #define __IFilterMapper3_FWD_DEFINED__ 207 typedef interface IFilterMapper3 IFilterMapper3; 208 #ifdef __cplusplus 209 interface IFilterMapper3; 210 #endif /* __cplusplus */ 211 #endif 212 213 #ifndef __IQualityControl_FWD_DEFINED__ 214 #define __IQualityControl_FWD_DEFINED__ 215 typedef interface IQualityControl IQualityControl; 216 #ifdef __cplusplus 217 interface IQualityControl; 218 #endif /* __cplusplus */ 219 #endif 220 221 #ifndef __IOverlayNotify_FWD_DEFINED__ 222 #define __IOverlayNotify_FWD_DEFINED__ 223 typedef interface IOverlayNotify IOverlayNotify; 224 #ifdef __cplusplus 225 interface IOverlayNotify; 226 #endif /* __cplusplus */ 227 #endif 228 229 #ifndef __IOverlayNotify2_FWD_DEFINED__ 230 #define __IOverlayNotify2_FWD_DEFINED__ 231 typedef interface IOverlayNotify2 IOverlayNotify2; 232 #ifdef __cplusplus 233 interface IOverlayNotify2; 234 #endif /* __cplusplus */ 235 #endif 236 237 #ifndef __IOverlay_FWD_DEFINED__ 238 #define __IOverlay_FWD_DEFINED__ 239 typedef interface IOverlay IOverlay; 240 #ifdef __cplusplus 241 interface IOverlay; 242 #endif /* __cplusplus */ 243 #endif 244 245 #ifndef __IMediaEventSink_FWD_DEFINED__ 246 #define __IMediaEventSink_FWD_DEFINED__ 247 typedef interface IMediaEventSink IMediaEventSink; 248 #ifdef __cplusplus 249 interface IMediaEventSink; 250 #endif /* __cplusplus */ 251 #endif 252 253 #ifndef __IFileSourceFilter_FWD_DEFINED__ 254 #define __IFileSourceFilter_FWD_DEFINED__ 255 typedef interface IFileSourceFilter IFileSourceFilter; 256 #ifdef __cplusplus 257 interface IFileSourceFilter; 258 #endif /* __cplusplus */ 259 #endif 260 261 #ifndef __IFileSinkFilter_FWD_DEFINED__ 262 #define __IFileSinkFilter_FWD_DEFINED__ 263 typedef interface IFileSinkFilter IFileSinkFilter; 264 #ifdef __cplusplus 265 interface IFileSinkFilter; 266 #endif /* __cplusplus */ 267 #endif 268 269 #ifndef __IFileSinkFilter2_FWD_DEFINED__ 270 #define __IFileSinkFilter2_FWD_DEFINED__ 271 typedef interface IFileSinkFilter2 IFileSinkFilter2; 272 #ifdef __cplusplus 273 interface IFileSinkFilter2; 274 #endif /* __cplusplus */ 275 #endif 276 277 #ifndef __IGraphBuilder_FWD_DEFINED__ 278 #define __IGraphBuilder_FWD_DEFINED__ 279 typedef interface IGraphBuilder IGraphBuilder; 280 #ifdef __cplusplus 281 interface IGraphBuilder; 282 #endif /* __cplusplus */ 283 #endif 284 285 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ 286 #define __ICaptureGraphBuilder_FWD_DEFINED__ 287 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; 288 #ifdef __cplusplus 289 interface ICaptureGraphBuilder; 290 #endif /* __cplusplus */ 291 #endif 292 293 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ 294 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ 295 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; 296 #ifdef __cplusplus 297 interface IAMCopyCaptureFileProgress; 298 #endif /* __cplusplus */ 299 #endif 300 301 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ 302 #define __ICaptureGraphBuilder2_FWD_DEFINED__ 303 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; 304 #ifdef __cplusplus 305 interface ICaptureGraphBuilder2; 306 #endif /* __cplusplus */ 307 #endif 308 309 #ifndef __IConfigAviMux_FWD_DEFINED__ 310 #define __IConfigAviMux_FWD_DEFINED__ 311 typedef interface IConfigAviMux IConfigAviMux; 312 #ifdef __cplusplus 313 interface IConfigAviMux; 314 #endif /* __cplusplus */ 315 #endif 316 317 #ifndef __IConfigInterleaving_FWD_DEFINED__ 318 #define __IConfigInterleaving_FWD_DEFINED__ 319 typedef interface IConfigInterleaving IConfigInterleaving; 320 #ifdef __cplusplus 321 interface IConfigInterleaving; 322 #endif /* __cplusplus */ 323 #endif 324 325 #ifndef __IAMClockSlave_FWD_DEFINED__ 326 #define __IAMClockSlave_FWD_DEFINED__ 327 typedef interface IAMClockSlave IAMClockSlave; 328 #ifdef __cplusplus 329 interface IAMClockSlave; 330 #endif /* __cplusplus */ 331 #endif 332 333 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__ 334 #define __IAMCertifiedOutputProtection_FWD_DEFINED__ 335 typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection; 336 #ifdef __cplusplus 337 interface IAMCertifiedOutputProtection; 338 #endif /* __cplusplus */ 339 #endif 340 341 #ifndef __IFilterGraph2_FWD_DEFINED__ 342 #define __IFilterGraph2_FWD_DEFINED__ 343 typedef interface IFilterGraph2 IFilterGraph2; 344 #ifdef __cplusplus 345 interface IFilterGraph2; 346 #endif /* __cplusplus */ 347 #endif 348 349 #ifndef __IStreamBuilder_FWD_DEFINED__ 350 #define __IStreamBuilder_FWD_DEFINED__ 351 typedef interface IStreamBuilder IStreamBuilder; 352 #ifdef __cplusplus 353 interface IStreamBuilder; 354 #endif /* __cplusplus */ 355 #endif 356 357 #ifndef __IAMStreamConfig_FWD_DEFINED__ 358 #define __IAMStreamConfig_FWD_DEFINED__ 359 typedef interface IAMStreamConfig IAMStreamConfig; 360 #ifdef __cplusplus 361 interface IAMStreamConfig; 362 #endif /* __cplusplus */ 363 #endif 364 365 #ifndef __IAMVideoProcAmp_FWD_DEFINED__ 366 #define __IAMVideoProcAmp_FWD_DEFINED__ 367 typedef interface IAMVideoProcAmp IAMVideoProcAmp; 368 #ifdef __cplusplus 369 interface IAMVideoProcAmp; 370 #endif /* __cplusplus */ 371 #endif 372 373 #ifndef __IAsyncReader_FWD_DEFINED__ 374 #define __IAsyncReader_FWD_DEFINED__ 375 typedef interface IAsyncReader IAsyncReader; 376 #ifdef __cplusplus 377 interface IAsyncReader; 378 #endif /* __cplusplus */ 379 #endif 380 381 #ifndef __IGraphVersion_FWD_DEFINED__ 382 #define __IGraphVersion_FWD_DEFINED__ 383 typedef interface IGraphVersion IGraphVersion; 384 #ifdef __cplusplus 385 interface IGraphVersion; 386 #endif /* __cplusplus */ 387 #endif 388 389 #ifndef __IResourceConsumer_FWD_DEFINED__ 390 #define __IResourceConsumer_FWD_DEFINED__ 391 typedef interface IResourceConsumer IResourceConsumer; 392 #ifdef __cplusplus 393 interface IResourceConsumer; 394 #endif /* __cplusplus */ 395 #endif 396 397 #ifndef __IResourceManager_FWD_DEFINED__ 398 #define __IResourceManager_FWD_DEFINED__ 399 typedef interface IResourceManager IResourceManager; 400 #ifdef __cplusplus 401 interface IResourceManager; 402 #endif /* __cplusplus */ 403 #endif 404 405 #ifndef __IAMStreamControl_FWD_DEFINED__ 406 #define __IAMStreamControl_FWD_DEFINED__ 407 typedef interface IAMStreamControl IAMStreamControl; 408 #ifdef __cplusplus 409 interface IAMStreamControl; 410 #endif /* __cplusplus */ 411 #endif 412 413 #ifndef __IKsPropertySet_FWD_DEFINED__ 414 #define __IKsPropertySet_FWD_DEFINED__ 415 typedef interface IKsPropertySet IKsPropertySet; 416 #ifdef __cplusplus 417 interface IKsPropertySet; 418 #endif /* __cplusplus */ 419 #endif 420 421 #ifndef __IMediaPropertyBag_FWD_DEFINED__ 422 #define __IMediaPropertyBag_FWD_DEFINED__ 423 typedef interface IMediaPropertyBag IMediaPropertyBag; 424 #ifdef __cplusplus 425 interface IMediaPropertyBag; 426 #endif /* __cplusplus */ 427 #endif 428 429 #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__ 430 #define __IPersistMediaPropertyBag_FWD_DEFINED__ 431 typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag; 432 #ifdef __cplusplus 433 interface IPersistMediaPropertyBag; 434 #endif /* __cplusplus */ 435 #endif 436 437 #ifndef __ISeekingPassThru_FWD_DEFINED__ 438 #define __ISeekingPassThru_FWD_DEFINED__ 439 typedef interface ISeekingPassThru ISeekingPassThru; 440 #ifdef __cplusplus 441 interface ISeekingPassThru; 442 #endif /* __cplusplus */ 443 #endif 444 445 #ifndef __IAMFilterMiscFlags_FWD_DEFINED__ 446 #define __IAMFilterMiscFlags_FWD_DEFINED__ 447 typedef interface IAMFilterMiscFlags IAMFilterMiscFlags; 448 #ifdef __cplusplus 449 interface IAMFilterMiscFlags; 450 #endif /* __cplusplus */ 451 #endif 452 453 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ 454 #define __IAMGraphBuilderCallback_FWD_DEFINED__ 455 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; 456 #ifdef __cplusplus 457 interface IAMGraphBuilderCallback; 458 #endif /* __cplusplus */ 459 #endif 460 461 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ 462 #define __IAMVfwCaptureDialogs_FWD_DEFINED__ 463 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; 464 #ifdef __cplusplus 465 interface IAMVfwCaptureDialogs; 466 #endif /* __cplusplus */ 467 #endif 468 469 #ifndef __IAMCameraControl_FWD_DEFINED__ 470 #define __IAMCameraControl_FWD_DEFINED__ 471 typedef interface IAMCameraControl IAMCameraControl; 472 #ifdef __cplusplus 473 interface IAMCameraControl; 474 #endif /* __cplusplus */ 475 #endif 476 477 #ifndef __IAMVideoControl_FWD_DEFINED__ 478 #define __IAMVideoControl_FWD_DEFINED__ 479 typedef interface IAMVideoControl IAMVideoControl; 480 #ifdef __cplusplus 481 interface IAMVideoControl; 482 #endif /* __cplusplus */ 483 #endif 484 485 #ifndef __IAMBufferNegotiation_FWD_DEFINED__ 486 #define __IAMBufferNegotiation_FWD_DEFINED__ 487 typedef interface IAMBufferNegotiation IAMBufferNegotiation; 488 #ifdef __cplusplus 489 interface IAMBufferNegotiation; 490 #endif /* __cplusplus */ 491 #endif 492 493 #ifndef __IAMDroppedFrames_FWD_DEFINED__ 494 #define __IAMDroppedFrames_FWD_DEFINED__ 495 typedef interface IAMDroppedFrames IAMDroppedFrames; 496 #ifdef __cplusplus 497 interface IAMDroppedFrames; 498 #endif /* __cplusplus */ 499 #endif 500 501 #ifndef __IAMLatency_FWD_DEFINED__ 502 #define __IAMLatency_FWD_DEFINED__ 503 typedef interface IAMLatency IAMLatency; 504 #ifdef __cplusplus 505 interface IAMLatency; 506 #endif /* __cplusplus */ 507 #endif 508 509 #ifndef __IAMPushSource_FWD_DEFINED__ 510 #define __IAMPushSource_FWD_DEFINED__ 511 typedef interface IAMPushSource IAMPushSource; 512 #ifdef __cplusplus 513 interface IAMPushSource; 514 #endif /* __cplusplus */ 515 #endif 516 517 #ifndef __IAMVideoCompression_FWD_DEFINED__ 518 #define __IAMVideoCompression_FWD_DEFINED__ 519 typedef interface IAMVideoCompression IAMVideoCompression; 520 #ifdef __cplusplus 521 interface IAMVideoCompression; 522 #endif /* __cplusplus */ 523 #endif 524 525 #ifndef __IAMCrossbar_FWD_DEFINED__ 526 #define __IAMCrossbar_FWD_DEFINED__ 527 typedef interface IAMCrossbar IAMCrossbar; 528 #ifdef __cplusplus 529 interface IAMCrossbar; 530 #endif /* __cplusplus */ 531 #endif 532 533 #ifndef __IAMTunerNotification_FWD_DEFINED__ 534 #define __IAMTunerNotification_FWD_DEFINED__ 535 typedef interface IAMTunerNotification IAMTunerNotification; 536 #ifdef __cplusplus 537 interface IAMTunerNotification; 538 #endif /* __cplusplus */ 539 #endif 540 541 #ifndef __IAMTuner_FWD_DEFINED__ 542 #define __IAMTuner_FWD_DEFINED__ 543 typedef interface IAMTuner IAMTuner; 544 #ifdef __cplusplus 545 interface IAMTuner; 546 #endif /* __cplusplus */ 547 #endif 548 549 #ifndef __IAMTVTuner_FWD_DEFINED__ 550 #define __IAMTVTuner_FWD_DEFINED__ 551 typedef interface IAMTVTuner IAMTVTuner; 552 #ifdef __cplusplus 553 interface IAMTVTuner; 554 #endif /* __cplusplus */ 555 #endif 556 557 #ifndef __IVideoFrameStep_FWD_DEFINED__ 558 #define __IVideoFrameStep_FWD_DEFINED__ 559 typedef interface IVideoFrameStep IVideoFrameStep; 560 #ifdef __cplusplus 561 interface IVideoFrameStep; 562 #endif /* __cplusplus */ 563 #endif 564 565 #ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ 566 #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ 567 typedef interface IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling; 568 #ifdef __cplusplus 569 interface IAMAsyncReaderTimestampScaling; 570 #endif /* __cplusplus */ 571 #endif 572 573 #ifndef __IAMPluginControl_FWD_DEFINED__ 574 #define __IAMPluginControl_FWD_DEFINED__ 575 typedef interface IAMPluginControl IAMPluginControl; 576 #ifdef __cplusplus 577 interface IAMPluginControl; 578 #endif /* __cplusplus */ 579 #endif 580 581 #ifndef __IPinConnection_FWD_DEFINED__ 582 #define __IPinConnection_FWD_DEFINED__ 583 typedef interface IPinConnection IPinConnection; 584 #ifdef __cplusplus 585 interface IPinConnection; 586 #endif /* __cplusplus */ 587 #endif 588 589 #ifndef __IPinFlowControl_FWD_DEFINED__ 590 #define __IPinFlowControl_FWD_DEFINED__ 591 typedef interface IPinFlowControl IPinFlowControl; 592 #ifdef __cplusplus 593 interface IPinFlowControl; 594 #endif /* __cplusplus */ 595 #endif 596 597 #ifndef __IGraphConfig_FWD_DEFINED__ 598 #define __IGraphConfig_FWD_DEFINED__ 599 typedef interface IGraphConfig IGraphConfig; 600 #ifdef __cplusplus 601 interface IGraphConfig; 602 #endif /* __cplusplus */ 603 #endif 604 605 #ifndef __IGraphConfigCallback_FWD_DEFINED__ 606 #define __IGraphConfigCallback_FWD_DEFINED__ 607 typedef interface IGraphConfigCallback IGraphConfigCallback; 608 #ifdef __cplusplus 609 interface IGraphConfigCallback; 610 #endif /* __cplusplus */ 611 #endif 612 613 #ifndef __IFilterChain_FWD_DEFINED__ 614 #define __IFilterChain_FWD_DEFINED__ 615 typedef interface IFilterChain IFilterChain; 616 #ifdef __cplusplus 617 interface IFilterChain; 618 #endif /* __cplusplus */ 619 #endif 620 621 /* Headers for imported files */ 622 623 #include <unknwn.h> 624 #include <objidl.h> 625 #include <oaidl.h> 626 627 #ifdef __cplusplus 628 extern "C" { 629 #endif 630 631 /** 632 * This file is part of the mingw-w64 runtime package. 633 * No warranty is given; refer to the file DISCLAIMER within this package. 634 */ 635 636 #include <winapifamily.h> 637 638 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 639 640 #define CDEF_CLASS_DEFAULT 0x1 641 #define CDEF_BYPASS_CLASS_MANAGER 0x2 642 #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x8 643 #define CDEF_DEVMON_CMGR_DEVICE 0x10 644 #define CDEF_DEVMON_DMO 0x20 645 #define CDEF_DEVMON_PNP_DEVICE 0x40 646 #define CDEF_DEVMON_FILTER 0x80 647 648 #define CDEF_DEVMON_SELECTIVE_MASK 0xf0 649 650 651 /***************************************************************************** 652 * ICreateDevEnum interface 653 */ 654 #ifndef __ICreateDevEnum_INTERFACE_DEFINED__ 655 #define __ICreateDevEnum_INTERFACE_DEFINED__ 656 657 DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86); 658 #if defined(__cplusplus) && !defined(CINTERFACE) 659 MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86") 660 ICreateDevEnum : public IUnknown 661 { 662 virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 663 REFCLSID clsidDeviceClass, 664 IEnumMoniker **ppEnumMoniker, 665 DWORD dwFlags) = 0; 666 667 }; 668 #ifdef __CRT_UUID_DECL 669 __CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86) 670 #endif 671 #else 672 typedef struct ICreateDevEnumVtbl { 673 BEGIN_INTERFACE 674 675 /*** IUnknown methods ***/ 676 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 677 ICreateDevEnum *This, 678 REFIID riid, 679 void **ppvObject); 680 681 ULONG (STDMETHODCALLTYPE *AddRef)( 682 ICreateDevEnum *This); 683 684 ULONG (STDMETHODCALLTYPE *Release)( 685 ICreateDevEnum *This); 686 687 /*** ICreateDevEnum methods ***/ 688 HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)( 689 ICreateDevEnum *This, 690 REFCLSID clsidDeviceClass, 691 IEnumMoniker **ppEnumMoniker, 692 DWORD dwFlags); 693 694 END_INTERFACE 695 } ICreateDevEnumVtbl; 696 697 interface ICreateDevEnum { 698 CONST_VTBL ICreateDevEnumVtbl* lpVtbl; 699 }; 700 701 #ifdef COBJMACROS 702 #ifndef WIDL_C_INLINE_WRAPPERS 703 /*** IUnknown methods ***/ 704 #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 705 #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This) 706 #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This) 707 /*** ICreateDevEnum methods ***/ 708 #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) 709 #else 710 /*** IUnknown methods ***/ 711 static inline HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) { 712 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 713 } 714 static inline ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) { 715 return This->lpVtbl->AddRef(This); 716 } 717 static inline ULONG ICreateDevEnum_Release(ICreateDevEnum* This) { 718 return This->lpVtbl->Release(This); 719 } 720 /*** ICreateDevEnum methods ***/ 721 static inline HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) { 722 return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags); 723 } 724 #endif 725 #endif 726 727 #endif 728 729 730 #endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */ 731 732 #endif 733 /** 734 * This file is part of the mingw-w64 runtime package. 735 * No warranty is given; refer to the file DISCLAIMER within this package. 736 */ 737 738 #include <winapifamily.h> 739 740 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 741 742 #define CHARS_IN_GUID 39 743 744 #ifdef WINE_NO_UNICODE_MACROS 745 #undef GetTimeFormat 746 #endif 747 748 typedef struct _AMMediaType { 749 GUID majortype; 750 GUID subtype; 751 WINBOOL bFixedSizeSamples; 752 WINBOOL bTemporalCompression; 753 ULONG lSampleSize; 754 GUID formattype; 755 IUnknown *pUnk; 756 ULONG cbFormat; 757 BYTE *pbFormat; 758 } AM_MEDIA_TYPE; 759 760 typedef enum _PinDirection { 761 PINDIR_INPUT = 0, 762 PINDIR_OUTPUT = 1 763 } PIN_DIRECTION; 764 765 #define MAX_PIN_NAME 128 766 #define MAX_FILTER_NAME 128 767 768 #ifndef REFERENCE_TIME_DEFINED 769 #define REFERENCE_TIME_DEFINED 770 typedef LONGLONG REFERENCE_TIME; 771 #endif 772 773 #ifndef REFTIME_DEFINED 774 #define REFTIME_DEFINED 775 typedef double REFTIME; 776 #endif 777 778 typedef DWORD_PTR HSEMAPHORE; 779 typedef DWORD_PTR HEVENT; 780 781 typedef struct _AllocatorProperties { 782 LONG cBuffers; 783 LONG cbBuffer; 784 LONG cbAlign; 785 LONG cbPrefix; 786 } ALLOCATOR_PROPERTIES; 787 788 #ifndef __IAMovieSetup_FWD_DEFINED__ 789 #define __IAMovieSetup_FWD_DEFINED__ 790 typedef interface IAMovieSetup IAMovieSetup; 791 #ifdef __cplusplus 792 interface IAMovieSetup; 793 #endif /* __cplusplus */ 794 #endif 795 796 #ifndef __IEnumFilters_FWD_DEFINED__ 797 #define __IEnumFilters_FWD_DEFINED__ 798 typedef interface IEnumFilters IEnumFilters; 799 #ifdef __cplusplus 800 interface IEnumFilters; 801 #endif /* __cplusplus */ 802 #endif 803 804 #ifndef __IEnumMediaTypes_FWD_DEFINED__ 805 #define __IEnumMediaTypes_FWD_DEFINED__ 806 typedef interface IEnumMediaTypes IEnumMediaTypes; 807 #ifdef __cplusplus 808 interface IEnumMediaTypes; 809 #endif /* __cplusplus */ 810 #endif 811 812 #ifndef __IEnumPins_FWD_DEFINED__ 813 #define __IEnumPins_FWD_DEFINED__ 814 typedef interface IEnumPins IEnumPins; 815 #ifdef __cplusplus 816 interface IEnumPins; 817 #endif /* __cplusplus */ 818 #endif 819 820 #ifndef __IBaseFilter_FWD_DEFINED__ 821 #define __IBaseFilter_FWD_DEFINED__ 822 typedef interface IBaseFilter IBaseFilter; 823 #ifdef __cplusplus 824 interface IBaseFilter; 825 #endif /* __cplusplus */ 826 #endif 827 828 #ifndef __IFilterGraph_FWD_DEFINED__ 829 #define __IFilterGraph_FWD_DEFINED__ 830 typedef interface IFilterGraph IFilterGraph; 831 #ifdef __cplusplus 832 interface IFilterGraph; 833 #endif /* __cplusplus */ 834 #endif 835 836 #ifndef __IMediaFilter_FWD_DEFINED__ 837 #define __IMediaFilter_FWD_DEFINED__ 838 typedef interface IMediaFilter IMediaFilter; 839 #ifdef __cplusplus 840 interface IMediaFilter; 841 #endif /* __cplusplus */ 842 #endif 843 844 #ifndef __IMediaSample_FWD_DEFINED__ 845 #define __IMediaSample_FWD_DEFINED__ 846 typedef interface IMediaSample IMediaSample; 847 #ifdef __cplusplus 848 interface IMediaSample; 849 #endif /* __cplusplus */ 850 #endif 851 852 #ifndef __IMemAllocator_FWD_DEFINED__ 853 #define __IMemAllocator_FWD_DEFINED__ 854 typedef interface IMemAllocator IMemAllocator; 855 #ifdef __cplusplus 856 interface IMemAllocator; 857 #endif /* __cplusplus */ 858 #endif 859 860 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ 861 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ 862 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; 863 #ifdef __cplusplus 864 interface IMemAllocatorCallbackTemp; 865 #endif /* __cplusplus */ 866 #endif 867 868 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 869 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 870 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; 871 #ifdef __cplusplus 872 interface IMemAllocatorNotifyCallbackTemp; 873 #endif /* __cplusplus */ 874 #endif 875 876 #ifndef __IMemInputPin_FWD_DEFINED__ 877 #define __IMemInputPin_FWD_DEFINED__ 878 typedef interface IMemInputPin IMemInputPin; 879 #ifdef __cplusplus 880 interface IMemInputPin; 881 #endif /* __cplusplus */ 882 #endif 883 884 #ifndef __IPin_FWD_DEFINED__ 885 #define __IPin_FWD_DEFINED__ 886 typedef interface IPin IPin; 887 #ifdef __cplusplus 888 interface IPin; 889 #endif /* __cplusplus */ 890 #endif 891 892 #ifndef __IReferenceClock_FWD_DEFINED__ 893 #define __IReferenceClock_FWD_DEFINED__ 894 typedef interface IReferenceClock IReferenceClock; 895 #ifdef __cplusplus 896 interface IReferenceClock; 897 #endif /* __cplusplus */ 898 #endif 899 900 901 /***************************************************************************** 902 * IPin interface 903 */ 904 #ifndef __IPin_INTERFACE_DEFINED__ 905 #define __IPin_INTERFACE_DEFINED__ 906 907 typedef struct _PinInfo { 908 IBaseFilter *pFilter; 909 PIN_DIRECTION dir; 910 WCHAR achName[128]; 911 } PIN_INFO; 912 913 DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 914 #if defined(__cplusplus) && !defined(CINTERFACE) 915 MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770") 916 IPin : public IUnknown 917 { 918 virtual HRESULT STDMETHODCALLTYPE Connect( 919 IPin *pReceivePin, 920 const AM_MEDIA_TYPE *pmt) = 0; 921 922 virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 923 IPin *pConnector, 924 const AM_MEDIA_TYPE *pmt) = 0; 925 926 virtual HRESULT STDMETHODCALLTYPE Disconnect( 927 ) = 0; 928 929 virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 930 IPin **pPin) = 0; 931 932 virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 933 AM_MEDIA_TYPE *pmt) = 0; 934 935 virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 936 PIN_INFO *pInfo) = 0; 937 938 virtual HRESULT STDMETHODCALLTYPE QueryDirection( 939 PIN_DIRECTION *pPinDir) = 0; 940 941 virtual HRESULT STDMETHODCALLTYPE QueryId( 942 LPWSTR *Id) = 0; 943 944 virtual HRESULT STDMETHODCALLTYPE QueryAccept( 945 const AM_MEDIA_TYPE *pmt) = 0; 946 947 virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 948 IEnumMediaTypes **ppEnum) = 0; 949 950 virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 951 IPin **apPin, 952 ULONG *nPin) = 0; 953 954 virtual HRESULT STDMETHODCALLTYPE EndOfStream( 955 ) = 0; 956 957 virtual HRESULT STDMETHODCALLTYPE BeginFlush( 958 ) = 0; 959 960 virtual HRESULT STDMETHODCALLTYPE EndFlush( 961 ) = 0; 962 963 virtual HRESULT STDMETHODCALLTYPE NewSegment( 964 REFERENCE_TIME tStart, 965 REFERENCE_TIME tStop, 966 double dRate) = 0; 967 968 }; 969 #ifdef __CRT_UUID_DECL 970 __CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 971 #endif 972 #else 973 typedef struct IPinVtbl { 974 BEGIN_INTERFACE 975 976 /*** IUnknown methods ***/ 977 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 978 IPin *This, 979 REFIID riid, 980 void **ppvObject); 981 982 ULONG (STDMETHODCALLTYPE *AddRef)( 983 IPin *This); 984 985 ULONG (STDMETHODCALLTYPE *Release)( 986 IPin *This); 987 988 /*** IPin methods ***/ 989 HRESULT (STDMETHODCALLTYPE *Connect)( 990 IPin *This, 991 IPin *pReceivePin, 992 const AM_MEDIA_TYPE *pmt); 993 994 HRESULT (STDMETHODCALLTYPE *ReceiveConnection)( 995 IPin *This, 996 IPin *pConnector, 997 const AM_MEDIA_TYPE *pmt); 998 999 HRESULT (STDMETHODCALLTYPE *Disconnect)( 1000 IPin *This); 1001 1002 HRESULT (STDMETHODCALLTYPE *ConnectedTo)( 1003 IPin *This, 1004 IPin **pPin); 1005 1006 HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)( 1007 IPin *This, 1008 AM_MEDIA_TYPE *pmt); 1009 1010 HRESULT (STDMETHODCALLTYPE *QueryPinInfo)( 1011 IPin *This, 1012 PIN_INFO *pInfo); 1013 1014 HRESULT (STDMETHODCALLTYPE *QueryDirection)( 1015 IPin *This, 1016 PIN_DIRECTION *pPinDir); 1017 1018 HRESULT (STDMETHODCALLTYPE *QueryId)( 1019 IPin *This, 1020 LPWSTR *Id); 1021 1022 HRESULT (STDMETHODCALLTYPE *QueryAccept)( 1023 IPin *This, 1024 const AM_MEDIA_TYPE *pmt); 1025 1026 HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)( 1027 IPin *This, 1028 IEnumMediaTypes **ppEnum); 1029 1030 HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)( 1031 IPin *This, 1032 IPin **apPin, 1033 ULONG *nPin); 1034 1035 HRESULT (STDMETHODCALLTYPE *EndOfStream)( 1036 IPin *This); 1037 1038 HRESULT (STDMETHODCALLTYPE *BeginFlush)( 1039 IPin *This); 1040 1041 HRESULT (STDMETHODCALLTYPE *EndFlush)( 1042 IPin *This); 1043 1044 HRESULT (STDMETHODCALLTYPE *NewSegment)( 1045 IPin *This, 1046 REFERENCE_TIME tStart, 1047 REFERENCE_TIME tStop, 1048 double dRate); 1049 1050 END_INTERFACE 1051 } IPinVtbl; 1052 1053 interface IPin { 1054 CONST_VTBL IPinVtbl* lpVtbl; 1055 }; 1056 1057 #ifdef COBJMACROS 1058 #ifndef WIDL_C_INLINE_WRAPPERS 1059 /*** IUnknown methods ***/ 1060 #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1061 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This) 1062 #define IPin_Release(This) (This)->lpVtbl->Release(This) 1063 /*** IPin methods ***/ 1064 #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt) 1065 #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt) 1066 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This) 1067 #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin) 1068 #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt) 1069 #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo) 1070 #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir) 1071 #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id) 1072 #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt) 1073 #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum) 1074 #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin) 1075 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) 1076 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) 1077 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This) 1078 #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate) 1079 #else 1080 /*** IUnknown methods ***/ 1081 static inline HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) { 1082 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1083 } 1084 static inline ULONG IPin_AddRef(IPin* This) { 1085 return This->lpVtbl->AddRef(This); 1086 } 1087 static inline ULONG IPin_Release(IPin* This) { 1088 return This->lpVtbl->Release(This); 1089 } 1090 /*** IPin methods ***/ 1091 static inline HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) { 1092 return This->lpVtbl->Connect(This,pReceivePin,pmt); 1093 } 1094 static inline HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) { 1095 return This->lpVtbl->ReceiveConnection(This,pConnector,pmt); 1096 } 1097 static inline HRESULT IPin_Disconnect(IPin* This) { 1098 return This->lpVtbl->Disconnect(This); 1099 } 1100 static inline HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) { 1101 return This->lpVtbl->ConnectedTo(This,pPin); 1102 } 1103 static inline HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) { 1104 return This->lpVtbl->ConnectionMediaType(This,pmt); 1105 } 1106 static inline HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) { 1107 return This->lpVtbl->QueryPinInfo(This,pInfo); 1108 } 1109 static inline HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) { 1110 return This->lpVtbl->QueryDirection(This,pPinDir); 1111 } 1112 static inline HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) { 1113 return This->lpVtbl->QueryId(This,Id); 1114 } 1115 static inline HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) { 1116 return This->lpVtbl->QueryAccept(This,pmt); 1117 } 1118 static inline HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) { 1119 return This->lpVtbl->EnumMediaTypes(This,ppEnum); 1120 } 1121 static inline HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) { 1122 return This->lpVtbl->QueryInternalConnections(This,apPin,nPin); 1123 } 1124 static inline HRESULT IPin_EndOfStream(IPin* This) { 1125 return This->lpVtbl->EndOfStream(This); 1126 } 1127 static inline HRESULT IPin_BeginFlush(IPin* This) { 1128 return This->lpVtbl->BeginFlush(This); 1129 } 1130 static inline HRESULT IPin_EndFlush(IPin* This) { 1131 return This->lpVtbl->EndFlush(This); 1132 } 1133 static inline HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) { 1134 return This->lpVtbl->NewSegment(This,tStart,tStop,dRate); 1135 } 1136 #endif 1137 #endif 1138 1139 #endif 1140 1141 1142 #endif /* __IPin_INTERFACE_DEFINED__ */ 1143 1144 typedef IPin *PPIN; 1145 1146 /***************************************************************************** 1147 * IEnumPins interface 1148 */ 1149 #ifndef __IEnumPins_INTERFACE_DEFINED__ 1150 #define __IEnumPins_INTERFACE_DEFINED__ 1151 1152 DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1153 #if defined(__cplusplus) && !defined(CINTERFACE) 1154 MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770") 1155 IEnumPins : public IUnknown 1156 { 1157 virtual HRESULT STDMETHODCALLTYPE Next( 1158 ULONG cPins, 1159 IPin **ppPins, 1160 ULONG *pcFetched) = 0; 1161 1162 virtual HRESULT STDMETHODCALLTYPE Skip( 1163 ULONG cPins) = 0; 1164 1165 virtual HRESULT STDMETHODCALLTYPE Reset( 1166 ) = 0; 1167 1168 virtual HRESULT STDMETHODCALLTYPE Clone( 1169 IEnumPins **ppEnum) = 0; 1170 1171 }; 1172 #ifdef __CRT_UUID_DECL 1173 __CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1174 #endif 1175 #else 1176 typedef struct IEnumPinsVtbl { 1177 BEGIN_INTERFACE 1178 1179 /*** IUnknown methods ***/ 1180 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1181 IEnumPins *This, 1182 REFIID riid, 1183 void **ppvObject); 1184 1185 ULONG (STDMETHODCALLTYPE *AddRef)( 1186 IEnumPins *This); 1187 1188 ULONG (STDMETHODCALLTYPE *Release)( 1189 IEnumPins *This); 1190 1191 /*** IEnumPins methods ***/ 1192 HRESULT (STDMETHODCALLTYPE *Next)( 1193 IEnumPins *This, 1194 ULONG cPins, 1195 IPin **ppPins, 1196 ULONG *pcFetched); 1197 1198 HRESULT (STDMETHODCALLTYPE *Skip)( 1199 IEnumPins *This, 1200 ULONG cPins); 1201 1202 HRESULT (STDMETHODCALLTYPE *Reset)( 1203 IEnumPins *This); 1204 1205 HRESULT (STDMETHODCALLTYPE *Clone)( 1206 IEnumPins *This, 1207 IEnumPins **ppEnum); 1208 1209 END_INTERFACE 1210 } IEnumPinsVtbl; 1211 1212 interface IEnumPins { 1213 CONST_VTBL IEnumPinsVtbl* lpVtbl; 1214 }; 1215 1216 #ifdef COBJMACROS 1217 #ifndef WIDL_C_INLINE_WRAPPERS 1218 /*** IUnknown methods ***/ 1219 #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1220 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This) 1221 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This) 1222 /*** IEnumPins methods ***/ 1223 #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched) 1224 #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins) 1225 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This) 1226 #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1227 #else 1228 /*** IUnknown methods ***/ 1229 static inline HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) { 1230 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1231 } 1232 static inline ULONG IEnumPins_AddRef(IEnumPins* This) { 1233 return This->lpVtbl->AddRef(This); 1234 } 1235 static inline ULONG IEnumPins_Release(IEnumPins* This) { 1236 return This->lpVtbl->Release(This); 1237 } 1238 /*** IEnumPins methods ***/ 1239 static inline HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) { 1240 return This->lpVtbl->Next(This,cPins,ppPins,pcFetched); 1241 } 1242 static inline HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) { 1243 return This->lpVtbl->Skip(This,cPins); 1244 } 1245 static inline HRESULT IEnumPins_Reset(IEnumPins* This) { 1246 return This->lpVtbl->Reset(This); 1247 } 1248 static inline HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) { 1249 return This->lpVtbl->Clone(This,ppEnum); 1250 } 1251 #endif 1252 #endif 1253 1254 #endif 1255 1256 1257 #endif /* __IEnumPins_INTERFACE_DEFINED__ */ 1258 1259 typedef IEnumPins *PENUMPINS; 1260 1261 /***************************************************************************** 1262 * IEnumMediaTypes interface 1263 */ 1264 #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__ 1265 #define __IEnumMediaTypes_INTERFACE_DEFINED__ 1266 1267 DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a); 1268 #if defined(__cplusplus) && !defined(CINTERFACE) 1269 MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a") 1270 IEnumMediaTypes : public IUnknown 1271 { 1272 virtual HRESULT STDMETHODCALLTYPE Next( 1273 ULONG cMediaTypes, 1274 AM_MEDIA_TYPE **ppMediaTypes, 1275 ULONG *pcFetched) = 0; 1276 1277 virtual HRESULT STDMETHODCALLTYPE Skip( 1278 ULONG cMediaTypes) = 0; 1279 1280 virtual HRESULT STDMETHODCALLTYPE Reset( 1281 ) = 0; 1282 1283 virtual HRESULT STDMETHODCALLTYPE Clone( 1284 IEnumMediaTypes **ppEnum) = 0; 1285 1286 }; 1287 #ifdef __CRT_UUID_DECL 1288 __CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a) 1289 #endif 1290 #else 1291 typedef struct IEnumMediaTypesVtbl { 1292 BEGIN_INTERFACE 1293 1294 /*** IUnknown methods ***/ 1295 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1296 IEnumMediaTypes *This, 1297 REFIID riid, 1298 void **ppvObject); 1299 1300 ULONG (STDMETHODCALLTYPE *AddRef)( 1301 IEnumMediaTypes *This); 1302 1303 ULONG (STDMETHODCALLTYPE *Release)( 1304 IEnumMediaTypes *This); 1305 1306 /*** IEnumMediaTypes methods ***/ 1307 HRESULT (STDMETHODCALLTYPE *Next)( 1308 IEnumMediaTypes *This, 1309 ULONG cMediaTypes, 1310 AM_MEDIA_TYPE **ppMediaTypes, 1311 ULONG *pcFetched); 1312 1313 HRESULT (STDMETHODCALLTYPE *Skip)( 1314 IEnumMediaTypes *This, 1315 ULONG cMediaTypes); 1316 1317 HRESULT (STDMETHODCALLTYPE *Reset)( 1318 IEnumMediaTypes *This); 1319 1320 HRESULT (STDMETHODCALLTYPE *Clone)( 1321 IEnumMediaTypes *This, 1322 IEnumMediaTypes **ppEnum); 1323 1324 END_INTERFACE 1325 } IEnumMediaTypesVtbl; 1326 1327 interface IEnumMediaTypes { 1328 CONST_VTBL IEnumMediaTypesVtbl* lpVtbl; 1329 }; 1330 1331 #ifdef COBJMACROS 1332 #ifndef WIDL_C_INLINE_WRAPPERS 1333 /*** IUnknown methods ***/ 1334 #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1335 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This) 1336 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This) 1337 /*** IEnumMediaTypes methods ***/ 1338 #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched) 1339 #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes) 1340 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This) 1341 #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1342 #else 1343 /*** IUnknown methods ***/ 1344 static inline HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) { 1345 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1346 } 1347 static inline ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) { 1348 return This->lpVtbl->AddRef(This); 1349 } 1350 static inline ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) { 1351 return This->lpVtbl->Release(This); 1352 } 1353 /*** IEnumMediaTypes methods ***/ 1354 static inline HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) { 1355 return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched); 1356 } 1357 static inline HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) { 1358 return This->lpVtbl->Skip(This,cMediaTypes); 1359 } 1360 static inline HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) { 1361 return This->lpVtbl->Reset(This); 1362 } 1363 static inline HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) { 1364 return This->lpVtbl->Clone(This,ppEnum); 1365 } 1366 #endif 1367 #endif 1368 1369 #endif 1370 1371 1372 #endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */ 1373 1374 typedef IEnumMediaTypes *PENUMMEDIATYPES; 1375 1376 /***************************************************************************** 1377 * IFilterGraph interface 1378 */ 1379 #ifndef __IFilterGraph_INTERFACE_DEFINED__ 1380 #define __IFilterGraph_INTERFACE_DEFINED__ 1381 1382 DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1383 #if defined(__cplusplus) && !defined(CINTERFACE) 1384 MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770") 1385 IFilterGraph : public IUnknown 1386 { 1387 virtual HRESULT STDMETHODCALLTYPE AddFilter( 1388 IBaseFilter *pFilter, 1389 LPCWSTR pName) = 0; 1390 1391 virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 1392 IBaseFilter *pFilter) = 0; 1393 1394 virtual HRESULT STDMETHODCALLTYPE EnumFilters( 1395 IEnumFilters **ppEnum) = 0; 1396 1397 virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 1398 LPCWSTR pName, 1399 IBaseFilter **ppFilter) = 0; 1400 1401 virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 1402 IPin *ppinOut, 1403 IPin *ppinIn, 1404 const AM_MEDIA_TYPE *pmt) = 0; 1405 1406 virtual HRESULT STDMETHODCALLTYPE Reconnect( 1407 IPin *ppin) = 0; 1408 1409 virtual HRESULT STDMETHODCALLTYPE Disconnect( 1410 IPin *ppin) = 0; 1411 1412 virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( 1413 ) = 0; 1414 1415 }; 1416 #ifdef __CRT_UUID_DECL 1417 __CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1418 #endif 1419 #else 1420 typedef struct IFilterGraphVtbl { 1421 BEGIN_INTERFACE 1422 1423 /*** IUnknown methods ***/ 1424 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1425 IFilterGraph *This, 1426 REFIID riid, 1427 void **ppvObject); 1428 1429 ULONG (STDMETHODCALLTYPE *AddRef)( 1430 IFilterGraph *This); 1431 1432 ULONG (STDMETHODCALLTYPE *Release)( 1433 IFilterGraph *This); 1434 1435 /*** IFilterGraph methods ***/ 1436 HRESULT (STDMETHODCALLTYPE *AddFilter)( 1437 IFilterGraph *This, 1438 IBaseFilter *pFilter, 1439 LPCWSTR pName); 1440 1441 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 1442 IFilterGraph *This, 1443 IBaseFilter *pFilter); 1444 1445 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 1446 IFilterGraph *This, 1447 IEnumFilters **ppEnum); 1448 1449 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 1450 IFilterGraph *This, 1451 LPCWSTR pName, 1452 IBaseFilter **ppFilter); 1453 1454 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 1455 IFilterGraph *This, 1456 IPin *ppinOut, 1457 IPin *ppinIn, 1458 const AM_MEDIA_TYPE *pmt); 1459 1460 HRESULT (STDMETHODCALLTYPE *Reconnect)( 1461 IFilterGraph *This, 1462 IPin *ppin); 1463 1464 HRESULT (STDMETHODCALLTYPE *Disconnect)( 1465 IFilterGraph *This, 1466 IPin *ppin); 1467 1468 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 1469 IFilterGraph *This); 1470 1471 END_INTERFACE 1472 } IFilterGraphVtbl; 1473 1474 interface IFilterGraph { 1475 CONST_VTBL IFilterGraphVtbl* lpVtbl; 1476 }; 1477 1478 #ifdef COBJMACROS 1479 #ifndef WIDL_C_INLINE_WRAPPERS 1480 /*** IUnknown methods ***/ 1481 #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1482 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This) 1483 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This) 1484 /*** IFilterGraph methods ***/ 1485 #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 1486 #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 1487 #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 1488 #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 1489 #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 1490 #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 1491 #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 1492 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 1493 #else 1494 /*** IUnknown methods ***/ 1495 static inline HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) { 1496 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1497 } 1498 static inline ULONG IFilterGraph_AddRef(IFilterGraph* This) { 1499 return This->lpVtbl->AddRef(This); 1500 } 1501 static inline ULONG IFilterGraph_Release(IFilterGraph* This) { 1502 return This->lpVtbl->Release(This); 1503 } 1504 /*** IFilterGraph methods ***/ 1505 static inline HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) { 1506 return This->lpVtbl->AddFilter(This,pFilter,pName); 1507 } 1508 static inline HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) { 1509 return This->lpVtbl->RemoveFilter(This,pFilter); 1510 } 1511 static inline HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) { 1512 return This->lpVtbl->EnumFilters(This,ppEnum); 1513 } 1514 static inline HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) { 1515 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 1516 } 1517 static inline HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 1518 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 1519 } 1520 static inline HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) { 1521 return This->lpVtbl->Reconnect(This,ppin); 1522 } 1523 static inline HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) { 1524 return This->lpVtbl->Disconnect(This,ppin); 1525 } 1526 static inline HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) { 1527 return This->lpVtbl->SetDefaultSyncSource(This); 1528 } 1529 #endif 1530 #endif 1531 1532 #endif 1533 1534 1535 #endif /* __IFilterGraph_INTERFACE_DEFINED__ */ 1536 1537 typedef IFilterGraph *PFILTERGRAPH; 1538 1539 /***************************************************************************** 1540 * IEnumFilters interface 1541 */ 1542 #ifndef __IEnumFilters_INTERFACE_DEFINED__ 1543 #define __IEnumFilters_INTERFACE_DEFINED__ 1544 1545 DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1546 #if defined(__cplusplus) && !defined(CINTERFACE) 1547 MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770") 1548 IEnumFilters : public IUnknown 1549 { 1550 virtual HRESULT STDMETHODCALLTYPE Next( 1551 ULONG cFilters, 1552 IBaseFilter **ppFilter, 1553 ULONG *pcFetched) = 0; 1554 1555 virtual HRESULT STDMETHODCALLTYPE Skip( 1556 ULONG cFilters) = 0; 1557 1558 virtual HRESULT STDMETHODCALLTYPE Reset( 1559 ) = 0; 1560 1561 virtual HRESULT STDMETHODCALLTYPE Clone( 1562 IEnumFilters **ppEnum) = 0; 1563 1564 }; 1565 #ifdef __CRT_UUID_DECL 1566 __CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1567 #endif 1568 #else 1569 typedef struct IEnumFiltersVtbl { 1570 BEGIN_INTERFACE 1571 1572 /*** IUnknown methods ***/ 1573 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1574 IEnumFilters *This, 1575 REFIID riid, 1576 void **ppvObject); 1577 1578 ULONG (STDMETHODCALLTYPE *AddRef)( 1579 IEnumFilters *This); 1580 1581 ULONG (STDMETHODCALLTYPE *Release)( 1582 IEnumFilters *This); 1583 1584 /*** IEnumFilters methods ***/ 1585 HRESULT (STDMETHODCALLTYPE *Next)( 1586 IEnumFilters *This, 1587 ULONG cFilters, 1588 IBaseFilter **ppFilter, 1589 ULONG *pcFetched); 1590 1591 HRESULT (STDMETHODCALLTYPE *Skip)( 1592 IEnumFilters *This, 1593 ULONG cFilters); 1594 1595 HRESULT (STDMETHODCALLTYPE *Reset)( 1596 IEnumFilters *This); 1597 1598 HRESULT (STDMETHODCALLTYPE *Clone)( 1599 IEnumFilters *This, 1600 IEnumFilters **ppEnum); 1601 1602 END_INTERFACE 1603 } IEnumFiltersVtbl; 1604 1605 interface IEnumFilters { 1606 CONST_VTBL IEnumFiltersVtbl* lpVtbl; 1607 }; 1608 1609 #ifdef COBJMACROS 1610 #ifndef WIDL_C_INLINE_WRAPPERS 1611 /*** IUnknown methods ***/ 1612 #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1613 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This) 1614 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This) 1615 /*** IEnumFilters methods ***/ 1616 #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched) 1617 #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) 1618 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This) 1619 #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1620 #else 1621 /*** IUnknown methods ***/ 1622 static inline HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) { 1623 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1624 } 1625 static inline ULONG IEnumFilters_AddRef(IEnumFilters* This) { 1626 return This->lpVtbl->AddRef(This); 1627 } 1628 static inline ULONG IEnumFilters_Release(IEnumFilters* This) { 1629 return This->lpVtbl->Release(This); 1630 } 1631 /*** IEnumFilters methods ***/ 1632 static inline HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) { 1633 return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched); 1634 } 1635 static inline HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) { 1636 return This->lpVtbl->Skip(This,cFilters); 1637 } 1638 static inline HRESULT IEnumFilters_Reset(IEnumFilters* This) { 1639 return This->lpVtbl->Reset(This); 1640 } 1641 static inline HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) { 1642 return This->lpVtbl->Clone(This,ppEnum); 1643 } 1644 #endif 1645 #endif 1646 1647 #endif 1648 1649 1650 #endif /* __IEnumFilters_INTERFACE_DEFINED__ */ 1651 1652 typedef IEnumFilters *PENUMFILTERS; 1653 1654 /***************************************************************************** 1655 * IMediaFilter interface 1656 */ 1657 #ifndef __IMediaFilter_INTERFACE_DEFINED__ 1658 #define __IMediaFilter_INTERFACE_DEFINED__ 1659 1660 typedef enum _FilterState { 1661 State_Stopped = 0, 1662 State_Paused = 1, 1663 State_Running = 2 1664 } FILTER_STATE; 1665 1666 DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1667 #if defined(__cplusplus) && !defined(CINTERFACE) 1668 MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770") 1669 IMediaFilter : public IPersist 1670 { 1671 virtual HRESULT STDMETHODCALLTYPE Stop( 1672 ) = 0; 1673 1674 virtual HRESULT STDMETHODCALLTYPE Pause( 1675 ) = 0; 1676 1677 virtual HRESULT STDMETHODCALLTYPE Run( 1678 REFERENCE_TIME tStart) = 0; 1679 1680 virtual HRESULT STDMETHODCALLTYPE GetState( 1681 DWORD dwMilliSecsTimeout, 1682 FILTER_STATE *State) = 0; 1683 1684 virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 1685 IReferenceClock *pClock) = 0; 1686 1687 virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 1688 IReferenceClock **pClock) = 0; 1689 1690 }; 1691 #ifdef __CRT_UUID_DECL 1692 __CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1693 #endif 1694 #else 1695 typedef struct IMediaFilterVtbl { 1696 BEGIN_INTERFACE 1697 1698 /*** IUnknown methods ***/ 1699 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1700 IMediaFilter *This, 1701 REFIID riid, 1702 void **ppvObject); 1703 1704 ULONG (STDMETHODCALLTYPE *AddRef)( 1705 IMediaFilter *This); 1706 1707 ULONG (STDMETHODCALLTYPE *Release)( 1708 IMediaFilter *This); 1709 1710 /*** IPersist methods ***/ 1711 HRESULT (STDMETHODCALLTYPE *GetClassID)( 1712 IMediaFilter *This, 1713 CLSID *pClassID); 1714 1715 /*** IMediaFilter methods ***/ 1716 HRESULT (STDMETHODCALLTYPE *Stop)( 1717 IMediaFilter *This); 1718 1719 HRESULT (STDMETHODCALLTYPE *Pause)( 1720 IMediaFilter *This); 1721 1722 HRESULT (STDMETHODCALLTYPE *Run)( 1723 IMediaFilter *This, 1724 REFERENCE_TIME tStart); 1725 1726 HRESULT (STDMETHODCALLTYPE *GetState)( 1727 IMediaFilter *This, 1728 DWORD dwMilliSecsTimeout, 1729 FILTER_STATE *State); 1730 1731 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 1732 IMediaFilter *This, 1733 IReferenceClock *pClock); 1734 1735 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 1736 IMediaFilter *This, 1737 IReferenceClock **pClock); 1738 1739 END_INTERFACE 1740 } IMediaFilterVtbl; 1741 1742 interface IMediaFilter { 1743 CONST_VTBL IMediaFilterVtbl* lpVtbl; 1744 }; 1745 1746 #ifdef COBJMACROS 1747 #ifndef WIDL_C_INLINE_WRAPPERS 1748 /*** IUnknown methods ***/ 1749 #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1750 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1751 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This) 1752 /*** IPersist methods ***/ 1753 #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1754 /*** IMediaFilter methods ***/ 1755 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This) 1756 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This) 1757 #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1758 #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1759 #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1760 #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1761 #else 1762 /*** IUnknown methods ***/ 1763 static inline HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) { 1764 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1765 } 1766 static inline ULONG IMediaFilter_AddRef(IMediaFilter* This) { 1767 return This->lpVtbl->AddRef(This); 1768 } 1769 static inline ULONG IMediaFilter_Release(IMediaFilter* This) { 1770 return This->lpVtbl->Release(This); 1771 } 1772 /*** IPersist methods ***/ 1773 static inline HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) { 1774 return This->lpVtbl->GetClassID(This,pClassID); 1775 } 1776 /*** IMediaFilter methods ***/ 1777 static inline HRESULT IMediaFilter_Stop(IMediaFilter* This) { 1778 return This->lpVtbl->Stop(This); 1779 } 1780 static inline HRESULT IMediaFilter_Pause(IMediaFilter* This) { 1781 return This->lpVtbl->Pause(This); 1782 } 1783 static inline HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) { 1784 return This->lpVtbl->Run(This,tStart); 1785 } 1786 static inline HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1787 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1788 } 1789 static inline HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) { 1790 return This->lpVtbl->SetSyncSource(This,pClock); 1791 } 1792 static inline HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) { 1793 return This->lpVtbl->GetSyncSource(This,pClock); 1794 } 1795 #endif 1796 #endif 1797 1798 #endif 1799 1800 1801 #endif /* __IMediaFilter_INTERFACE_DEFINED__ */ 1802 1803 typedef IMediaFilter *PMEDIAFILTER; 1804 1805 /***************************************************************************** 1806 * IBaseFilter interface 1807 */ 1808 #ifndef __IBaseFilter_INTERFACE_DEFINED__ 1809 #define __IBaseFilter_INTERFACE_DEFINED__ 1810 1811 typedef struct _FilterInfo { 1812 WCHAR achName[128]; 1813 IFilterGraph *pGraph; 1814 } FILTER_INFO; 1815 1816 DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1817 #if defined(__cplusplus) && !defined(CINTERFACE) 1818 MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770") 1819 IBaseFilter : public IMediaFilter 1820 { 1821 virtual HRESULT STDMETHODCALLTYPE EnumPins( 1822 IEnumPins **ppEnum) = 0; 1823 1824 virtual HRESULT STDMETHODCALLTYPE FindPin( 1825 LPCWSTR Id, 1826 IPin **ppPin) = 0; 1827 1828 virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 1829 FILTER_INFO *pInfo) = 0; 1830 1831 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 1832 IFilterGraph *pGraph, 1833 LPCWSTR pName) = 0; 1834 1835 virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 1836 LPWSTR *pVendorInfo) = 0; 1837 1838 }; 1839 #ifdef __CRT_UUID_DECL 1840 __CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1841 #endif 1842 #else 1843 typedef struct IBaseFilterVtbl { 1844 BEGIN_INTERFACE 1845 1846 /*** IUnknown methods ***/ 1847 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1848 IBaseFilter *This, 1849 REFIID riid, 1850 void **ppvObject); 1851 1852 ULONG (STDMETHODCALLTYPE *AddRef)( 1853 IBaseFilter *This); 1854 1855 ULONG (STDMETHODCALLTYPE *Release)( 1856 IBaseFilter *This); 1857 1858 /*** IPersist methods ***/ 1859 HRESULT (STDMETHODCALLTYPE *GetClassID)( 1860 IBaseFilter *This, 1861 CLSID *pClassID); 1862 1863 /*** IMediaFilter methods ***/ 1864 HRESULT (STDMETHODCALLTYPE *Stop)( 1865 IBaseFilter *This); 1866 1867 HRESULT (STDMETHODCALLTYPE *Pause)( 1868 IBaseFilter *This); 1869 1870 HRESULT (STDMETHODCALLTYPE *Run)( 1871 IBaseFilter *This, 1872 REFERENCE_TIME tStart); 1873 1874 HRESULT (STDMETHODCALLTYPE *GetState)( 1875 IBaseFilter *This, 1876 DWORD dwMilliSecsTimeout, 1877 FILTER_STATE *State); 1878 1879 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 1880 IBaseFilter *This, 1881 IReferenceClock *pClock); 1882 1883 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 1884 IBaseFilter *This, 1885 IReferenceClock **pClock); 1886 1887 /*** IBaseFilter methods ***/ 1888 HRESULT (STDMETHODCALLTYPE *EnumPins)( 1889 IBaseFilter *This, 1890 IEnumPins **ppEnum); 1891 1892 HRESULT (STDMETHODCALLTYPE *FindPin)( 1893 IBaseFilter *This, 1894 LPCWSTR Id, 1895 IPin **ppPin); 1896 1897 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( 1898 IBaseFilter *This, 1899 FILTER_INFO *pInfo); 1900 1901 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( 1902 IBaseFilter *This, 1903 IFilterGraph *pGraph, 1904 LPCWSTR pName); 1905 1906 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( 1907 IBaseFilter *This, 1908 LPWSTR *pVendorInfo); 1909 1910 END_INTERFACE 1911 } IBaseFilterVtbl; 1912 1913 interface IBaseFilter { 1914 CONST_VTBL IBaseFilterVtbl* lpVtbl; 1915 }; 1916 1917 #ifdef COBJMACROS 1918 #ifndef WIDL_C_INLINE_WRAPPERS 1919 /*** IUnknown methods ***/ 1920 #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1921 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1922 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This) 1923 /*** IPersist methods ***/ 1924 #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1925 /*** IMediaFilter methods ***/ 1926 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This) 1927 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This) 1928 #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1929 #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1930 #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1931 #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1932 /*** IBaseFilter methods ***/ 1933 #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) 1934 #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) 1935 #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) 1936 #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) 1937 #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) 1938 #else 1939 /*** IUnknown methods ***/ 1940 static inline HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) { 1941 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1942 } 1943 static inline ULONG IBaseFilter_AddRef(IBaseFilter* This) { 1944 return This->lpVtbl->AddRef(This); 1945 } 1946 static inline ULONG IBaseFilter_Release(IBaseFilter* This) { 1947 return This->lpVtbl->Release(This); 1948 } 1949 /*** IPersist methods ***/ 1950 static inline HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) { 1951 return This->lpVtbl->GetClassID(This,pClassID); 1952 } 1953 /*** IMediaFilter methods ***/ 1954 static inline HRESULT IBaseFilter_Stop(IBaseFilter* This) { 1955 return This->lpVtbl->Stop(This); 1956 } 1957 static inline HRESULT IBaseFilter_Pause(IBaseFilter* This) { 1958 return This->lpVtbl->Pause(This); 1959 } 1960 static inline HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) { 1961 return This->lpVtbl->Run(This,tStart); 1962 } 1963 static inline HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1964 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1965 } 1966 static inline HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) { 1967 return This->lpVtbl->SetSyncSource(This,pClock); 1968 } 1969 static inline HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) { 1970 return This->lpVtbl->GetSyncSource(This,pClock); 1971 } 1972 /*** IBaseFilter methods ***/ 1973 static inline HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) { 1974 return This->lpVtbl->EnumPins(This,ppEnum); 1975 } 1976 static inline HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) { 1977 return This->lpVtbl->FindPin(This,Id,ppPin); 1978 } 1979 static inline HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) { 1980 return This->lpVtbl->QueryFilterInfo(This,pInfo); 1981 } 1982 static inline HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { 1983 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); 1984 } 1985 static inline HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) { 1986 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); 1987 } 1988 #endif 1989 #endif 1990 1991 #endif 1992 1993 1994 #endif /* __IBaseFilter_INTERFACE_DEFINED__ */ 1995 1996 typedef IBaseFilter *PFILTER; 1997 1998 /***************************************************************************** 1999 * IReferenceClock interface 2000 */ 2001 #ifndef __IReferenceClock_INTERFACE_DEFINED__ 2002 #define __IReferenceClock_INTERFACE_DEFINED__ 2003 2004 DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2005 #if defined(__cplusplus) && !defined(CINTERFACE) 2006 MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770") 2007 IReferenceClock : public IUnknown 2008 { 2009 virtual HRESULT STDMETHODCALLTYPE GetTime( 2010 REFERENCE_TIME *pTime) = 0; 2011 2012 virtual HRESULT STDMETHODCALLTYPE AdviseTime( 2013 REFERENCE_TIME baseTime, 2014 REFERENCE_TIME streamTime, 2015 HEVENT hEvent, 2016 DWORD_PTR *pdwAdviseCookie) = 0; 2017 2018 virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 2019 REFERENCE_TIME startTime, 2020 REFERENCE_TIME periodTime, 2021 HSEMAPHORE hSemaphore, 2022 DWORD_PTR *pdwAdviseCookie) = 0; 2023 2024 virtual HRESULT STDMETHODCALLTYPE Unadvise( 2025 DWORD_PTR dwAdviseCookie) = 0; 2026 2027 }; 2028 #ifdef __CRT_UUID_DECL 2029 __CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2030 #endif 2031 #else 2032 typedef struct IReferenceClockVtbl { 2033 BEGIN_INTERFACE 2034 2035 /*** IUnknown methods ***/ 2036 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2037 IReferenceClock *This, 2038 REFIID riid, 2039 void **ppvObject); 2040 2041 ULONG (STDMETHODCALLTYPE *AddRef)( 2042 IReferenceClock *This); 2043 2044 ULONG (STDMETHODCALLTYPE *Release)( 2045 IReferenceClock *This); 2046 2047 /*** IReferenceClock methods ***/ 2048 HRESULT (STDMETHODCALLTYPE *GetTime)( 2049 IReferenceClock *This, 2050 REFERENCE_TIME *pTime); 2051 2052 HRESULT (STDMETHODCALLTYPE *AdviseTime)( 2053 IReferenceClock *This, 2054 REFERENCE_TIME baseTime, 2055 REFERENCE_TIME streamTime, 2056 HEVENT hEvent, 2057 DWORD_PTR *pdwAdviseCookie); 2058 2059 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( 2060 IReferenceClock *This, 2061 REFERENCE_TIME startTime, 2062 REFERENCE_TIME periodTime, 2063 HSEMAPHORE hSemaphore, 2064 DWORD_PTR *pdwAdviseCookie); 2065 2066 HRESULT (STDMETHODCALLTYPE *Unadvise)( 2067 IReferenceClock *This, 2068 DWORD_PTR dwAdviseCookie); 2069 2070 END_INTERFACE 2071 } IReferenceClockVtbl; 2072 2073 interface IReferenceClock { 2074 CONST_VTBL IReferenceClockVtbl* lpVtbl; 2075 }; 2076 2077 #ifdef COBJMACROS 2078 #ifndef WIDL_C_INLINE_WRAPPERS 2079 /*** IUnknown methods ***/ 2080 #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2081 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This) 2082 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This) 2083 /*** IReferenceClock methods ***/ 2084 #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 2085 #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 2086 #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 2087 #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 2088 #else 2089 /*** IUnknown methods ***/ 2090 static inline HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) { 2091 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2092 } 2093 static inline ULONG IReferenceClock_AddRef(IReferenceClock* This) { 2094 return This->lpVtbl->AddRef(This); 2095 } 2096 static inline ULONG IReferenceClock_Release(IReferenceClock* This) { 2097 return This->lpVtbl->Release(This); 2098 } 2099 /*** IReferenceClock methods ***/ 2100 static inline HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) { 2101 return This->lpVtbl->GetTime(This,pTime); 2102 } 2103 static inline HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { 2104 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); 2105 } 2106 static inline HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { 2107 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); 2108 } 2109 static inline HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) { 2110 return This->lpVtbl->Unadvise(This,dwAdviseCookie); 2111 } 2112 #endif 2113 #endif 2114 2115 #endif 2116 2117 2118 #endif /* __IReferenceClock_INTERFACE_DEFINED__ */ 2119 2120 typedef IReferenceClock *PREFERENCECLOCK; 2121 2122 /***************************************************************************** 2123 * IReferenceClockTimerControl interface 2124 */ 2125 #ifndef __IReferenceClockTimerControl_INTERFACE_DEFINED__ 2126 #define __IReferenceClockTimerControl_INTERFACE_DEFINED__ 2127 2128 DEFINE_GUID(IID_IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8); 2129 #if defined(__cplusplus) && !defined(CINTERFACE) 2130 MIDL_INTERFACE("ebec459c-2eca-4d42-a8af-30df557614b8") 2131 IReferenceClockTimerControl : public IUnknown 2132 { 2133 virtual HRESULT STDMETHODCALLTYPE SetDefaultTimerResolution( 2134 REFERENCE_TIME timerResolution) = 0; 2135 2136 virtual HRESULT STDMETHODCALLTYPE GetDefaultTimerResolution( 2137 REFERENCE_TIME *pTimerResolution) = 0; 2138 2139 }; 2140 #ifdef __CRT_UUID_DECL 2141 __CRT_UUID_DECL(IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8) 2142 #endif 2143 #else 2144 typedef struct IReferenceClockTimerControlVtbl { 2145 BEGIN_INTERFACE 2146 2147 /*** IUnknown methods ***/ 2148 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2149 IReferenceClockTimerControl *This, 2150 REFIID riid, 2151 void **ppvObject); 2152 2153 ULONG (STDMETHODCALLTYPE *AddRef)( 2154 IReferenceClockTimerControl *This); 2155 2156 ULONG (STDMETHODCALLTYPE *Release)( 2157 IReferenceClockTimerControl *This); 2158 2159 /*** IReferenceClockTimerControl methods ***/ 2160 HRESULT (STDMETHODCALLTYPE *SetDefaultTimerResolution)( 2161 IReferenceClockTimerControl *This, 2162 REFERENCE_TIME timerResolution); 2163 2164 HRESULT (STDMETHODCALLTYPE *GetDefaultTimerResolution)( 2165 IReferenceClockTimerControl *This, 2166 REFERENCE_TIME *pTimerResolution); 2167 2168 END_INTERFACE 2169 } IReferenceClockTimerControlVtbl; 2170 2171 interface IReferenceClockTimerControl { 2172 CONST_VTBL IReferenceClockTimerControlVtbl* lpVtbl; 2173 }; 2174 2175 #ifdef COBJMACROS 2176 #ifndef WIDL_C_INLINE_WRAPPERS 2177 /*** IUnknown methods ***/ 2178 #define IReferenceClockTimerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2179 #define IReferenceClockTimerControl_AddRef(This) (This)->lpVtbl->AddRef(This) 2180 #define IReferenceClockTimerControl_Release(This) (This)->lpVtbl->Release(This) 2181 /*** IReferenceClockTimerControl methods ***/ 2182 #define IReferenceClockTimerControl_SetDefaultTimerResolution(This,timerResolution) (This)->lpVtbl->SetDefaultTimerResolution(This,timerResolution) 2183 #define IReferenceClockTimerControl_GetDefaultTimerResolution(This,pTimerResolution) (This)->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution) 2184 #else 2185 /*** IUnknown methods ***/ 2186 static inline HRESULT IReferenceClockTimerControl_QueryInterface(IReferenceClockTimerControl* This,REFIID riid,void **ppvObject) { 2187 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2188 } 2189 static inline ULONG IReferenceClockTimerControl_AddRef(IReferenceClockTimerControl* This) { 2190 return This->lpVtbl->AddRef(This); 2191 } 2192 static inline ULONG IReferenceClockTimerControl_Release(IReferenceClockTimerControl* This) { 2193 return This->lpVtbl->Release(This); 2194 } 2195 /*** IReferenceClockTimerControl methods ***/ 2196 static inline HRESULT IReferenceClockTimerControl_SetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME timerResolution) { 2197 return This->lpVtbl->SetDefaultTimerResolution(This,timerResolution); 2198 } 2199 static inline HRESULT IReferenceClockTimerControl_GetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME *pTimerResolution) { 2200 return This->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution); 2201 } 2202 #endif 2203 #endif 2204 2205 #endif 2206 2207 2208 #endif /* __IReferenceClockTimerControl_INTERFACE_DEFINED__ */ 2209 2210 2211 /***************************************************************************** 2212 * IReferenceClock2 interface 2213 */ 2214 #ifndef __IReferenceClock2_INTERFACE_DEFINED__ 2215 #define __IReferenceClock2_INTERFACE_DEFINED__ 2216 2217 DEFINE_GUID(IID_IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 2218 #if defined(__cplusplus) && !defined(CINTERFACE) 2219 MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60") 2220 IReferenceClock2 : public IReferenceClock 2221 { 2222 }; 2223 #ifdef __CRT_UUID_DECL 2224 __CRT_UUID_DECL(IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 2225 #endif 2226 #else 2227 typedef struct IReferenceClock2Vtbl { 2228 BEGIN_INTERFACE 2229 2230 /*** IUnknown methods ***/ 2231 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2232 IReferenceClock2 *This, 2233 REFIID riid, 2234 void **ppvObject); 2235 2236 ULONG (STDMETHODCALLTYPE *AddRef)( 2237 IReferenceClock2 *This); 2238 2239 ULONG (STDMETHODCALLTYPE *Release)( 2240 IReferenceClock2 *This); 2241 2242 /*** IReferenceClock methods ***/ 2243 HRESULT (STDMETHODCALLTYPE *GetTime)( 2244 IReferenceClock2 *This, 2245 REFERENCE_TIME *pTime); 2246 2247 HRESULT (STDMETHODCALLTYPE *AdviseTime)( 2248 IReferenceClock2 *This, 2249 REFERENCE_TIME baseTime, 2250 REFERENCE_TIME streamTime, 2251 HEVENT hEvent, 2252 DWORD_PTR *pdwAdviseCookie); 2253 2254 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( 2255 IReferenceClock2 *This, 2256 REFERENCE_TIME startTime, 2257 REFERENCE_TIME periodTime, 2258 HSEMAPHORE hSemaphore, 2259 DWORD_PTR *pdwAdviseCookie); 2260 2261 HRESULT (STDMETHODCALLTYPE *Unadvise)( 2262 IReferenceClock2 *This, 2263 DWORD_PTR dwAdviseCookie); 2264 2265 END_INTERFACE 2266 } IReferenceClock2Vtbl; 2267 2268 interface IReferenceClock2 { 2269 CONST_VTBL IReferenceClock2Vtbl* lpVtbl; 2270 }; 2271 2272 #ifdef COBJMACROS 2273 #ifndef WIDL_C_INLINE_WRAPPERS 2274 /*** IUnknown methods ***/ 2275 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2276 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This) 2277 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This) 2278 /*** IReferenceClock methods ***/ 2279 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 2280 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 2281 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 2282 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 2283 #else 2284 /*** IUnknown methods ***/ 2285 static inline HRESULT IReferenceClock2_QueryInterface(IReferenceClock2* This,REFIID riid,void **ppvObject) { 2286 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2287 } 2288 static inline ULONG IReferenceClock2_AddRef(IReferenceClock2* This) { 2289 return This->lpVtbl->AddRef(This); 2290 } 2291 static inline ULONG IReferenceClock2_Release(IReferenceClock2* This) { 2292 return This->lpVtbl->Release(This); 2293 } 2294 /*** IReferenceClock methods ***/ 2295 static inline HRESULT IReferenceClock2_GetTime(IReferenceClock2* This,REFERENCE_TIME *pTime) { 2296 return This->lpVtbl->GetTime(This,pTime); 2297 } 2298 static inline HRESULT IReferenceClock2_AdviseTime(IReferenceClock2* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { 2299 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); 2300 } 2301 static inline HRESULT IReferenceClock2_AdvisePeriodic(IReferenceClock2* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { 2302 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); 2303 } 2304 static inline HRESULT IReferenceClock2_Unadvise(IReferenceClock2* This,DWORD_PTR dwAdviseCookie) { 2305 return This->lpVtbl->Unadvise(This,dwAdviseCookie); 2306 } 2307 #endif 2308 #endif 2309 2310 #endif 2311 2312 2313 #endif /* __IReferenceClock2_INTERFACE_DEFINED__ */ 2314 2315 typedef IReferenceClock2 *PREFERENCECLOCK2; 2316 2317 /***************************************************************************** 2318 * IMediaSample interface 2319 */ 2320 #ifndef __IMediaSample_INTERFACE_DEFINED__ 2321 #define __IMediaSample_INTERFACE_DEFINED__ 2322 2323 DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2324 #if defined(__cplusplus) && !defined(CINTERFACE) 2325 MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770") 2326 IMediaSample : public IUnknown 2327 { 2328 virtual HRESULT STDMETHODCALLTYPE GetPointer( 2329 BYTE **ppBuffer) = 0; 2330 2331 virtual LONG STDMETHODCALLTYPE GetSize( 2332 ) = 0; 2333 2334 virtual HRESULT STDMETHODCALLTYPE GetTime( 2335 REFERENCE_TIME *pTimeStart, 2336 REFERENCE_TIME *pTimeEnd) = 0; 2337 2338 virtual HRESULT STDMETHODCALLTYPE SetTime( 2339 REFERENCE_TIME *pTimeStart, 2340 REFERENCE_TIME *pTimeEnd) = 0; 2341 2342 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( 2343 ) = 0; 2344 2345 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 2346 WINBOOL bIsSyncPoint) = 0; 2347 2348 virtual HRESULT STDMETHODCALLTYPE IsPreroll( 2349 ) = 0; 2350 2351 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 2352 WINBOOL bIsPreroll) = 0; 2353 2354 virtual LONG STDMETHODCALLTYPE GetActualDataLength( 2355 ) = 0; 2356 2357 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 2358 LONG a) = 0; 2359 2360 virtual HRESULT STDMETHODCALLTYPE GetMediaType( 2361 AM_MEDIA_TYPE **ppMediaType) = 0; 2362 2363 virtual HRESULT STDMETHODCALLTYPE SetMediaType( 2364 AM_MEDIA_TYPE *pMediaType) = 0; 2365 2366 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( 2367 ) = 0; 2368 2369 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 2370 WINBOOL bDiscontinuity) = 0; 2371 2372 virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 2373 LONGLONG *pTimeStart, 2374 LONGLONG *pTimeEnd) = 0; 2375 2376 virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 2377 LONGLONG *pTimeStart, 2378 LONGLONG *pTimeEnd) = 0; 2379 2380 }; 2381 #ifdef __CRT_UUID_DECL 2382 __CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2383 #endif 2384 #else 2385 typedef struct IMediaSampleVtbl { 2386 BEGIN_INTERFACE 2387 2388 /*** IUnknown methods ***/ 2389 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2390 IMediaSample *This, 2391 REFIID riid, 2392 void **ppvObject); 2393 2394 ULONG (STDMETHODCALLTYPE *AddRef)( 2395 IMediaSample *This); 2396 2397 ULONG (STDMETHODCALLTYPE *Release)( 2398 IMediaSample *This); 2399 2400 /*** IMediaSample methods ***/ 2401 HRESULT (STDMETHODCALLTYPE *GetPointer)( 2402 IMediaSample *This, 2403 BYTE **ppBuffer); 2404 2405 LONG (STDMETHODCALLTYPE *GetSize)( 2406 IMediaSample *This); 2407 2408 HRESULT (STDMETHODCALLTYPE *GetTime)( 2409 IMediaSample *This, 2410 REFERENCE_TIME *pTimeStart, 2411 REFERENCE_TIME *pTimeEnd); 2412 2413 HRESULT (STDMETHODCALLTYPE *SetTime)( 2414 IMediaSample *This, 2415 REFERENCE_TIME *pTimeStart, 2416 REFERENCE_TIME *pTimeEnd); 2417 2418 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 2419 IMediaSample *This); 2420 2421 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 2422 IMediaSample *This, 2423 WINBOOL bIsSyncPoint); 2424 2425 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 2426 IMediaSample *This); 2427 2428 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 2429 IMediaSample *This, 2430 WINBOOL bIsPreroll); 2431 2432 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 2433 IMediaSample *This); 2434 2435 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 2436 IMediaSample *This, 2437 LONG a); 2438 2439 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 2440 IMediaSample *This, 2441 AM_MEDIA_TYPE **ppMediaType); 2442 2443 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 2444 IMediaSample *This, 2445 AM_MEDIA_TYPE *pMediaType); 2446 2447 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 2448 IMediaSample *This); 2449 2450 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 2451 IMediaSample *This, 2452 WINBOOL bDiscontinuity); 2453 2454 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 2455 IMediaSample *This, 2456 LONGLONG *pTimeStart, 2457 LONGLONG *pTimeEnd); 2458 2459 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 2460 IMediaSample *This, 2461 LONGLONG *pTimeStart, 2462 LONGLONG *pTimeEnd); 2463 2464 END_INTERFACE 2465 } IMediaSampleVtbl; 2466 2467 interface IMediaSample { 2468 CONST_VTBL IMediaSampleVtbl* lpVtbl; 2469 }; 2470 2471 #ifdef COBJMACROS 2472 #ifndef WIDL_C_INLINE_WRAPPERS 2473 /*** IUnknown methods ***/ 2474 #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2475 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) 2476 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This) 2477 /*** IMediaSample methods ***/ 2478 #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 2479 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This) 2480 #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 2481 #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 2482 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 2483 #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 2484 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 2485 #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 2486 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 2487 #define IMediaSample_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) 2488 #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 2489 #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 2490 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 2491 #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 2492 #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 2493 #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 2494 #else 2495 /*** IUnknown methods ***/ 2496 static inline HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) { 2497 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2498 } 2499 static inline ULONG IMediaSample_AddRef(IMediaSample* This) { 2500 return This->lpVtbl->AddRef(This); 2501 } 2502 static inline ULONG IMediaSample_Release(IMediaSample* This) { 2503 return This->lpVtbl->Release(This); 2504 } 2505 /*** IMediaSample methods ***/ 2506 static inline HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) { 2507 return This->lpVtbl->GetPointer(This,ppBuffer); 2508 } 2509 static inline LONG IMediaSample_GetSize(IMediaSample* This) { 2510 return This->lpVtbl->GetSize(This); 2511 } 2512 static inline HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2513 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 2514 } 2515 static inline HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2516 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 2517 } 2518 static inline HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) { 2519 return This->lpVtbl->IsSyncPoint(This); 2520 } 2521 static inline HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) { 2522 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 2523 } 2524 static inline HRESULT IMediaSample_IsPreroll(IMediaSample* This) { 2525 return This->lpVtbl->IsPreroll(This); 2526 } 2527 static inline HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) { 2528 return This->lpVtbl->SetPreroll(This,bIsPreroll); 2529 } 2530 static inline LONG IMediaSample_GetActualDataLength(IMediaSample* This) { 2531 return This->lpVtbl->GetActualDataLength(This); 2532 } 2533 static inline HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG a) { 2534 return This->lpVtbl->SetActualDataLength(This,a); 2535 } 2536 static inline HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) { 2537 return This->lpVtbl->GetMediaType(This,ppMediaType); 2538 } 2539 static inline HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) { 2540 return This->lpVtbl->SetMediaType(This,pMediaType); 2541 } 2542 static inline HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) { 2543 return This->lpVtbl->IsDiscontinuity(This); 2544 } 2545 static inline HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) { 2546 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 2547 } 2548 static inline HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2549 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 2550 } 2551 static inline HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2552 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 2553 } 2554 #endif 2555 #endif 2556 2557 #endif 2558 2559 2560 #endif /* __IMediaSample_INTERFACE_DEFINED__ */ 2561 2562 typedef IMediaSample *PMEDIASAMPLE; 2563 2564 enum tagAM_SAMPLE_PROPERTY_FLAGS { 2565 AM_SAMPLE_SPLICEPOINT = 0x1, 2566 AM_SAMPLE_PREROLL = 0x2, 2567 AM_SAMPLE_DATADISCONTINUITY = 0x4, 2568 AM_SAMPLE_TYPECHANGED = 0x8, 2569 AM_SAMPLE_TIMEVALID = 0x10, 2570 AM_SAMPLE_TIMEDISCONTINUITY = 0x40, 2571 AM_SAMPLE_FLUSH_ON_PAUSE = 0x80, 2572 AM_SAMPLE_STOPVALID = 0x100, 2573 AM_SAMPLE_ENDOFSTREAM = 0x200, 2574 AM_STREAM_MEDIA = 0, 2575 AM_STREAM_CONTROL = 1 2576 }; 2577 2578 typedef struct tagAM_SAMPLE2_PROPERTIES { 2579 DWORD cbData; 2580 DWORD dwTypeSpecificFlags; 2581 DWORD dwSampleFlags; 2582 LONG lActual; 2583 REFERENCE_TIME tStart; 2584 REFERENCE_TIME tStop; 2585 DWORD dwStreamId; 2586 AM_MEDIA_TYPE *pMediaType; 2587 BYTE *pbBuffer; 2588 LONG cbBuffer; 2589 } AM_SAMPLE2_PROPERTIES; 2590 2591 /***************************************************************************** 2592 * IMediaSample2 interface 2593 */ 2594 #ifndef __IMediaSample2_INTERFACE_DEFINED__ 2595 #define __IMediaSample2_INTERFACE_DEFINED__ 2596 2597 DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 2598 #if defined(__cplusplus) && !defined(CINTERFACE) 2599 MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60") 2600 IMediaSample2 : public IMediaSample 2601 { 2602 virtual HRESULT STDMETHODCALLTYPE GetProperties( 2603 DWORD cbProperties, 2604 BYTE *pbProperties) = 0; 2605 2606 virtual HRESULT STDMETHODCALLTYPE SetProperties( 2607 DWORD cbProperties, 2608 const BYTE *pbProperties) = 0; 2609 2610 }; 2611 #ifdef __CRT_UUID_DECL 2612 __CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 2613 #endif 2614 #else 2615 typedef struct IMediaSample2Vtbl { 2616 BEGIN_INTERFACE 2617 2618 /*** IUnknown methods ***/ 2619 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2620 IMediaSample2 *This, 2621 REFIID riid, 2622 void **ppvObject); 2623 2624 ULONG (STDMETHODCALLTYPE *AddRef)( 2625 IMediaSample2 *This); 2626 2627 ULONG (STDMETHODCALLTYPE *Release)( 2628 IMediaSample2 *This); 2629 2630 /*** IMediaSample methods ***/ 2631 HRESULT (STDMETHODCALLTYPE *GetPointer)( 2632 IMediaSample2 *This, 2633 BYTE **ppBuffer); 2634 2635 LONG (STDMETHODCALLTYPE *GetSize)( 2636 IMediaSample2 *This); 2637 2638 HRESULT (STDMETHODCALLTYPE *GetTime)( 2639 IMediaSample2 *This, 2640 REFERENCE_TIME *pTimeStart, 2641 REFERENCE_TIME *pTimeEnd); 2642 2643 HRESULT (STDMETHODCALLTYPE *SetTime)( 2644 IMediaSample2 *This, 2645 REFERENCE_TIME *pTimeStart, 2646 REFERENCE_TIME *pTimeEnd); 2647 2648 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 2649 IMediaSample2 *This); 2650 2651 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 2652 IMediaSample2 *This, 2653 WINBOOL bIsSyncPoint); 2654 2655 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 2656 IMediaSample2 *This); 2657 2658 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 2659 IMediaSample2 *This, 2660 WINBOOL bIsPreroll); 2661 2662 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 2663 IMediaSample2 *This); 2664 2665 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 2666 IMediaSample2 *This, 2667 LONG a); 2668 2669 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 2670 IMediaSample2 *This, 2671 AM_MEDIA_TYPE **ppMediaType); 2672 2673 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 2674 IMediaSample2 *This, 2675 AM_MEDIA_TYPE *pMediaType); 2676 2677 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 2678 IMediaSample2 *This); 2679 2680 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 2681 IMediaSample2 *This, 2682 WINBOOL bDiscontinuity); 2683 2684 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 2685 IMediaSample2 *This, 2686 LONGLONG *pTimeStart, 2687 LONGLONG *pTimeEnd); 2688 2689 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 2690 IMediaSample2 *This, 2691 LONGLONG *pTimeStart, 2692 LONGLONG *pTimeEnd); 2693 2694 /*** IMediaSample2 methods ***/ 2695 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2696 IMediaSample2 *This, 2697 DWORD cbProperties, 2698 BYTE *pbProperties); 2699 2700 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2701 IMediaSample2 *This, 2702 DWORD cbProperties, 2703 const BYTE *pbProperties); 2704 2705 END_INTERFACE 2706 } IMediaSample2Vtbl; 2707 2708 interface IMediaSample2 { 2709 CONST_VTBL IMediaSample2Vtbl* lpVtbl; 2710 }; 2711 2712 #ifdef COBJMACROS 2713 #ifndef WIDL_C_INLINE_WRAPPERS 2714 /*** IUnknown methods ***/ 2715 #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2716 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This) 2717 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This) 2718 /*** IMediaSample methods ***/ 2719 #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 2720 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This) 2721 #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 2722 #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 2723 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 2724 #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 2725 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 2726 #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 2727 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 2728 #define IMediaSample2_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) 2729 #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 2730 #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 2731 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 2732 #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 2733 #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 2734 #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 2735 /*** IMediaSample2 methods ***/ 2736 #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties) 2737 #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties) 2738 #else 2739 /*** IUnknown methods ***/ 2740 static inline HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) { 2741 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2742 } 2743 static inline ULONG IMediaSample2_AddRef(IMediaSample2* This) { 2744 return This->lpVtbl->AddRef(This); 2745 } 2746 static inline ULONG IMediaSample2_Release(IMediaSample2* This) { 2747 return This->lpVtbl->Release(This); 2748 } 2749 /*** IMediaSample methods ***/ 2750 static inline HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) { 2751 return This->lpVtbl->GetPointer(This,ppBuffer); 2752 } 2753 static inline LONG IMediaSample2_GetSize(IMediaSample2* This) { 2754 return This->lpVtbl->GetSize(This); 2755 } 2756 static inline HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2757 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 2758 } 2759 static inline HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2760 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 2761 } 2762 static inline HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) { 2763 return This->lpVtbl->IsSyncPoint(This); 2764 } 2765 static inline HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) { 2766 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 2767 } 2768 static inline HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) { 2769 return This->lpVtbl->IsPreroll(This); 2770 } 2771 static inline HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) { 2772 return This->lpVtbl->SetPreroll(This,bIsPreroll); 2773 } 2774 static inline LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) { 2775 return This->lpVtbl->GetActualDataLength(This); 2776 } 2777 static inline HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG a) { 2778 return This->lpVtbl->SetActualDataLength(This,a); 2779 } 2780 static inline HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) { 2781 return This->lpVtbl->GetMediaType(This,ppMediaType); 2782 } 2783 static inline HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) { 2784 return This->lpVtbl->SetMediaType(This,pMediaType); 2785 } 2786 static inline HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) { 2787 return This->lpVtbl->IsDiscontinuity(This); 2788 } 2789 static inline HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) { 2790 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 2791 } 2792 static inline HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2793 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 2794 } 2795 static inline HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2796 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 2797 } 2798 /*** IMediaSample2 methods ***/ 2799 static inline HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) { 2800 return This->lpVtbl->GetProperties(This,cbProperties,pbProperties); 2801 } 2802 static inline HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) { 2803 return This->lpVtbl->SetProperties(This,cbProperties,pbProperties); 2804 } 2805 #endif 2806 #endif 2807 2808 #endif 2809 2810 2811 #endif /* __IMediaSample2_INTERFACE_DEFINED__ */ 2812 2813 typedef IMediaSample2 *PMEDIASAMPLE2; 2814 2815 /***************************************************************************** 2816 * IMediaSample2Config interface 2817 */ 2818 #ifndef __IMediaSample2Config_INTERFACE_DEFINED__ 2819 #define __IMediaSample2Config_INTERFACE_DEFINED__ 2820 2821 DEFINE_GUID(IID_IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3); 2822 #if defined(__cplusplus) && !defined(CINTERFACE) 2823 MIDL_INTERFACE("68961e68-832b-41ea-bc91-63593f3e70e3") 2824 IMediaSample2Config : public IUnknown 2825 { 2826 virtual HRESULT STDMETHODCALLTYPE GetSurface( 2827 IUnknown **ppDirect3DSurface9) = 0; 2828 2829 }; 2830 #ifdef __CRT_UUID_DECL 2831 __CRT_UUID_DECL(IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3) 2832 #endif 2833 #else 2834 typedef struct IMediaSample2ConfigVtbl { 2835 BEGIN_INTERFACE 2836 2837 /*** IUnknown methods ***/ 2838 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2839 IMediaSample2Config *This, 2840 REFIID riid, 2841 void **ppvObject); 2842 2843 ULONG (STDMETHODCALLTYPE *AddRef)( 2844 IMediaSample2Config *This); 2845 2846 ULONG (STDMETHODCALLTYPE *Release)( 2847 IMediaSample2Config *This); 2848 2849 /*** IMediaSample2Config methods ***/ 2850 HRESULT (STDMETHODCALLTYPE *GetSurface)( 2851 IMediaSample2Config *This, 2852 IUnknown **ppDirect3DSurface9); 2853 2854 END_INTERFACE 2855 } IMediaSample2ConfigVtbl; 2856 2857 interface IMediaSample2Config { 2858 CONST_VTBL IMediaSample2ConfigVtbl* lpVtbl; 2859 }; 2860 2861 #ifdef COBJMACROS 2862 #ifndef WIDL_C_INLINE_WRAPPERS 2863 /*** IUnknown methods ***/ 2864 #define IMediaSample2Config_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2865 #define IMediaSample2Config_AddRef(This) (This)->lpVtbl->AddRef(This) 2866 #define IMediaSample2Config_Release(This) (This)->lpVtbl->Release(This) 2867 /*** IMediaSample2Config methods ***/ 2868 #define IMediaSample2Config_GetSurface(This,ppDirect3DSurface9) (This)->lpVtbl->GetSurface(This,ppDirect3DSurface9) 2869 #else 2870 /*** IUnknown methods ***/ 2871 static inline HRESULT IMediaSample2Config_QueryInterface(IMediaSample2Config* This,REFIID riid,void **ppvObject) { 2872 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2873 } 2874 static inline ULONG IMediaSample2Config_AddRef(IMediaSample2Config* This) { 2875 return This->lpVtbl->AddRef(This); 2876 } 2877 static inline ULONG IMediaSample2Config_Release(IMediaSample2Config* This) { 2878 return This->lpVtbl->Release(This); 2879 } 2880 /*** IMediaSample2Config methods ***/ 2881 static inline HRESULT IMediaSample2Config_GetSurface(IMediaSample2Config* This,IUnknown **ppDirect3DSurface9) { 2882 return This->lpVtbl->GetSurface(This,ppDirect3DSurface9); 2883 } 2884 #endif 2885 #endif 2886 2887 #endif 2888 2889 2890 #endif /* __IMediaSample2Config_INTERFACE_DEFINED__ */ 2891 2892 2893 #define AM_GBF_PREVFRAMESKIPPED 1 2894 #define AM_GBF_NOTASYNCPOINT 2 2895 #define AM_GBF_NOWAIT 4 2896 #define AM_GBF_NODDSURFACELOCK 8 2897 2898 /***************************************************************************** 2899 * IMemAllocator interface 2900 */ 2901 #ifndef __IMemAllocator_INTERFACE_DEFINED__ 2902 #define __IMemAllocator_INTERFACE_DEFINED__ 2903 2904 DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2905 #if defined(__cplusplus) && !defined(CINTERFACE) 2906 MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770") 2907 IMemAllocator : public IUnknown 2908 { 2909 virtual HRESULT STDMETHODCALLTYPE SetProperties( 2910 ALLOCATOR_PROPERTIES *pRequest, 2911 ALLOCATOR_PROPERTIES *pActual) = 0; 2912 2913 virtual HRESULT STDMETHODCALLTYPE GetProperties( 2914 ALLOCATOR_PROPERTIES *pProps) = 0; 2915 2916 virtual HRESULT STDMETHODCALLTYPE Commit( 2917 ) = 0; 2918 2919 virtual HRESULT STDMETHODCALLTYPE Decommit( 2920 ) = 0; 2921 2922 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 2923 IMediaSample **ppBuffer, 2924 REFERENCE_TIME *pStartTime, 2925 REFERENCE_TIME *pEndTime, 2926 DWORD dwFlags) = 0; 2927 2928 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 2929 IMediaSample *pBuffer) = 0; 2930 2931 }; 2932 #ifdef __CRT_UUID_DECL 2933 __CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2934 #endif 2935 #else 2936 typedef struct IMemAllocatorVtbl { 2937 BEGIN_INTERFACE 2938 2939 /*** IUnknown methods ***/ 2940 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2941 IMemAllocator *This, 2942 REFIID riid, 2943 void **ppvObject); 2944 2945 ULONG (STDMETHODCALLTYPE *AddRef)( 2946 IMemAllocator *This); 2947 2948 ULONG (STDMETHODCALLTYPE *Release)( 2949 IMemAllocator *This); 2950 2951 /*** IMemAllocator methods ***/ 2952 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2953 IMemAllocator *This, 2954 ALLOCATOR_PROPERTIES *pRequest, 2955 ALLOCATOR_PROPERTIES *pActual); 2956 2957 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2958 IMemAllocator *This, 2959 ALLOCATOR_PROPERTIES *pProps); 2960 2961 HRESULT (STDMETHODCALLTYPE *Commit)( 2962 IMemAllocator *This); 2963 2964 HRESULT (STDMETHODCALLTYPE *Decommit)( 2965 IMemAllocator *This); 2966 2967 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2968 IMemAllocator *This, 2969 IMediaSample **ppBuffer, 2970 REFERENCE_TIME *pStartTime, 2971 REFERENCE_TIME *pEndTime, 2972 DWORD dwFlags); 2973 2974 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 2975 IMemAllocator *This, 2976 IMediaSample *pBuffer); 2977 2978 END_INTERFACE 2979 } IMemAllocatorVtbl; 2980 2981 interface IMemAllocator { 2982 CONST_VTBL IMemAllocatorVtbl* lpVtbl; 2983 }; 2984 2985 #ifdef COBJMACROS 2986 #ifndef WIDL_C_INLINE_WRAPPERS 2987 /*** IUnknown methods ***/ 2988 #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2989 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 2990 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This) 2991 /*** IMemAllocator methods ***/ 2992 #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) 2993 #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) 2994 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This) 2995 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This) 2996 #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) 2997 #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) 2998 #else 2999 /*** IUnknown methods ***/ 3000 static inline HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) { 3001 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3002 } 3003 static inline ULONG IMemAllocator_AddRef(IMemAllocator* This) { 3004 return This->lpVtbl->AddRef(This); 3005 } 3006 static inline ULONG IMemAllocator_Release(IMemAllocator* This) { 3007 return This->lpVtbl->Release(This); 3008 } 3009 /*** IMemAllocator methods ***/ 3010 static inline HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { 3011 return This->lpVtbl->SetProperties(This,pRequest,pActual); 3012 } 3013 static inline HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) { 3014 return This->lpVtbl->GetProperties(This,pProps); 3015 } 3016 static inline HRESULT IMemAllocator_Commit(IMemAllocator* This) { 3017 return This->lpVtbl->Commit(This); 3018 } 3019 static inline HRESULT IMemAllocator_Decommit(IMemAllocator* This) { 3020 return This->lpVtbl->Decommit(This); 3021 } 3022 static inline HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { 3023 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); 3024 } 3025 static inline HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) { 3026 return This->lpVtbl->ReleaseBuffer(This,pBuffer); 3027 } 3028 #endif 3029 #endif 3030 3031 #endif 3032 3033 3034 #endif /* __IMemAllocator_INTERFACE_DEFINED__ */ 3035 3036 typedef IMemAllocator *PMEMALLOCATOR; 3037 3038 /***************************************************************************** 3039 * IMemAllocatorCallbackTemp interface 3040 */ 3041 #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ 3042 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ 3043 3044 DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 3045 #if defined(__cplusplus) && !defined(CINTERFACE) 3046 MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375") 3047 IMemAllocatorCallbackTemp : public IMemAllocator 3048 { 3049 virtual HRESULT STDMETHODCALLTYPE SetNotify( 3050 IMemAllocatorNotifyCallbackTemp *pNotify) = 0; 3051 3052 virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 3053 LONG *plBuffersFree) = 0; 3054 3055 }; 3056 #ifdef __CRT_UUID_DECL 3057 __CRT_UUID_DECL(IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 3058 #endif 3059 #else 3060 typedef struct IMemAllocatorCallbackTempVtbl { 3061 BEGIN_INTERFACE 3062 3063 /*** IUnknown methods ***/ 3064 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3065 IMemAllocatorCallbackTemp *This, 3066 REFIID riid, 3067 void **ppvObject); 3068 3069 ULONG (STDMETHODCALLTYPE *AddRef)( 3070 IMemAllocatorCallbackTemp *This); 3071 3072 ULONG (STDMETHODCALLTYPE *Release)( 3073 IMemAllocatorCallbackTemp *This); 3074 3075 /*** IMemAllocator methods ***/ 3076 HRESULT (STDMETHODCALLTYPE *SetProperties)( 3077 IMemAllocatorCallbackTemp *This, 3078 ALLOCATOR_PROPERTIES *pRequest, 3079 ALLOCATOR_PROPERTIES *pActual); 3080 3081 HRESULT (STDMETHODCALLTYPE *GetProperties)( 3082 IMemAllocatorCallbackTemp *This, 3083 ALLOCATOR_PROPERTIES *pProps); 3084 3085 HRESULT (STDMETHODCALLTYPE *Commit)( 3086 IMemAllocatorCallbackTemp *This); 3087 3088 HRESULT (STDMETHODCALLTYPE *Decommit)( 3089 IMemAllocatorCallbackTemp *This); 3090 3091 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 3092 IMemAllocatorCallbackTemp *This, 3093 IMediaSample **ppBuffer, 3094 REFERENCE_TIME *pStartTime, 3095 REFERENCE_TIME *pEndTime, 3096 DWORD dwFlags); 3097 3098 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 3099 IMemAllocatorCallbackTemp *This, 3100 IMediaSample *pBuffer); 3101 3102 /*** IMemAllocatorCallbackTemp methods ***/ 3103 HRESULT (STDMETHODCALLTYPE *SetNotify)( 3104 IMemAllocatorCallbackTemp *This, 3105 IMemAllocatorNotifyCallbackTemp *pNotify); 3106 3107 HRESULT (STDMETHODCALLTYPE *GetFreeCount)( 3108 IMemAllocatorCallbackTemp *This, 3109 LONG *plBuffersFree); 3110 3111 END_INTERFACE 3112 } IMemAllocatorCallbackTempVtbl; 3113 3114 interface IMemAllocatorCallbackTemp { 3115 CONST_VTBL IMemAllocatorCallbackTempVtbl* lpVtbl; 3116 }; 3117 3118 #ifdef COBJMACROS 3119 #ifndef WIDL_C_INLINE_WRAPPERS 3120 /*** IUnknown methods ***/ 3121 #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3122 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) 3123 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This) 3124 /*** IMemAllocator methods ***/ 3125 #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) 3126 #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) 3127 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This) 3128 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This) 3129 #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) 3130 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) 3131 /*** IMemAllocatorCallbackTemp methods ***/ 3132 #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify) 3133 #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree) 3134 #else 3135 /*** IUnknown methods ***/ 3136 static inline HRESULT IMemAllocatorCallbackTemp_QueryInterface(IMemAllocatorCallbackTemp* This,REFIID riid,void **ppvObject) { 3137 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3138 } 3139 static inline ULONG IMemAllocatorCallbackTemp_AddRef(IMemAllocatorCallbackTemp* This) { 3140 return This->lpVtbl->AddRef(This); 3141 } 3142 static inline ULONG IMemAllocatorCallbackTemp_Release(IMemAllocatorCallbackTemp* This) { 3143 return This->lpVtbl->Release(This); 3144 } 3145 /*** IMemAllocator methods ***/ 3146 static inline HRESULT IMemAllocatorCallbackTemp_SetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { 3147 return This->lpVtbl->SetProperties(This,pRequest,pActual); 3148 } 3149 static inline HRESULT IMemAllocatorCallbackTemp_GetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pProps) { 3150 return This->lpVtbl->GetProperties(This,pProps); 3151 } 3152 static inline HRESULT IMemAllocatorCallbackTemp_Commit(IMemAllocatorCallbackTemp* This) { 3153 return This->lpVtbl->Commit(This); 3154 } 3155 static inline HRESULT IMemAllocatorCallbackTemp_Decommit(IMemAllocatorCallbackTemp* This) { 3156 return This->lpVtbl->Decommit(This); 3157 } 3158 static inline HRESULT IMemAllocatorCallbackTemp_GetBuffer(IMemAllocatorCallbackTemp* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { 3159 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); 3160 } 3161 static inline HRESULT IMemAllocatorCallbackTemp_ReleaseBuffer(IMemAllocatorCallbackTemp* This,IMediaSample *pBuffer) { 3162 return This->lpVtbl->ReleaseBuffer(This,pBuffer); 3163 } 3164 /*** IMemAllocatorCallbackTemp methods ***/ 3165 static inline HRESULT IMemAllocatorCallbackTemp_SetNotify(IMemAllocatorCallbackTemp* This,IMemAllocatorNotifyCallbackTemp *pNotify) { 3166 return This->lpVtbl->SetNotify(This,pNotify); 3167 } 3168 static inline HRESULT IMemAllocatorCallbackTemp_GetFreeCount(IMemAllocatorCallbackTemp* This,LONG *plBuffersFree) { 3169 return This->lpVtbl->GetFreeCount(This,plBuffersFree); 3170 } 3171 #endif 3172 #endif 3173 3174 #endif 3175 3176 3177 #endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */ 3178 3179 3180 /***************************************************************************** 3181 * IMemAllocatorNotifyCallbackTemp interface 3182 */ 3183 #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ 3184 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ 3185 3186 DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 3187 #if defined(__cplusplus) && !defined(CINTERFACE) 3188 MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375") 3189 IMemAllocatorNotifyCallbackTemp : public IUnknown 3190 { 3191 virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 3192 ) = 0; 3193 3194 }; 3195 #ifdef __CRT_UUID_DECL 3196 __CRT_UUID_DECL(IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 3197 #endif 3198 #else 3199 typedef struct IMemAllocatorNotifyCallbackTempVtbl { 3200 BEGIN_INTERFACE 3201 3202 /*** IUnknown methods ***/ 3203 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3204 IMemAllocatorNotifyCallbackTemp *This, 3205 REFIID riid, 3206 void **ppvObject); 3207 3208 ULONG (STDMETHODCALLTYPE *AddRef)( 3209 IMemAllocatorNotifyCallbackTemp *This); 3210 3211 ULONG (STDMETHODCALLTYPE *Release)( 3212 IMemAllocatorNotifyCallbackTemp *This); 3213 3214 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3215 HRESULT (STDMETHODCALLTYPE *NotifyRelease)( 3216 IMemAllocatorNotifyCallbackTemp *This); 3217 3218 END_INTERFACE 3219 } IMemAllocatorNotifyCallbackTempVtbl; 3220 3221 interface IMemAllocatorNotifyCallbackTemp { 3222 CONST_VTBL IMemAllocatorNotifyCallbackTempVtbl* lpVtbl; 3223 }; 3224 3225 #ifdef COBJMACROS 3226 #ifndef WIDL_C_INLINE_WRAPPERS 3227 /*** IUnknown methods ***/ 3228 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3229 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) 3230 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This) 3231 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3232 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This) 3233 #else 3234 /*** IUnknown methods ***/ 3235 static inline HRESULT IMemAllocatorNotifyCallbackTemp_QueryInterface(IMemAllocatorNotifyCallbackTemp* This,REFIID riid,void **ppvObject) { 3236 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3237 } 3238 static inline ULONG IMemAllocatorNotifyCallbackTemp_AddRef(IMemAllocatorNotifyCallbackTemp* This) { 3239 return This->lpVtbl->AddRef(This); 3240 } 3241 static inline ULONG IMemAllocatorNotifyCallbackTemp_Release(IMemAllocatorNotifyCallbackTemp* This) { 3242 return This->lpVtbl->Release(This); 3243 } 3244 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3245 static inline HRESULT IMemAllocatorNotifyCallbackTemp_NotifyRelease(IMemAllocatorNotifyCallbackTemp* This) { 3246 return This->lpVtbl->NotifyRelease(This); 3247 } 3248 #endif 3249 #endif 3250 3251 #endif 3252 3253 3254 #endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */ 3255 3256 3257 /***************************************************************************** 3258 * IMemInputPin interface 3259 */ 3260 #ifndef __IMemInputPin_INTERFACE_DEFINED__ 3261 #define __IMemInputPin_INTERFACE_DEFINED__ 3262 3263 DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 3264 #if defined(__cplusplus) && !defined(CINTERFACE) 3265 MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770") 3266 IMemInputPin : public IUnknown 3267 { 3268 virtual HRESULT STDMETHODCALLTYPE GetAllocator( 3269 IMemAllocator **ppAllocator) = 0; 3270 3271 virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 3272 IMemAllocator *pAllocator, 3273 WINBOOL bReadOnly) = 0; 3274 3275 virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 3276 ALLOCATOR_PROPERTIES *pProps) = 0; 3277 3278 virtual HRESULT STDMETHODCALLTYPE Receive( 3279 IMediaSample *pSample) = 0; 3280 3281 virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 3282 IMediaSample **pSamples, 3283 LONG nSamples, 3284 LONG *nSamplesProcessed) = 0; 3285 3286 virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( 3287 ) = 0; 3288 3289 }; 3290 #ifdef __CRT_UUID_DECL 3291 __CRT_UUID_DECL(IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 3292 #endif 3293 #else 3294 typedef struct IMemInputPinVtbl { 3295 BEGIN_INTERFACE 3296 3297 /*** IUnknown methods ***/ 3298 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3299 IMemInputPin *This, 3300 REFIID riid, 3301 void **ppvObject); 3302 3303 ULONG (STDMETHODCALLTYPE *AddRef)( 3304 IMemInputPin *This); 3305 3306 ULONG (STDMETHODCALLTYPE *Release)( 3307 IMemInputPin *This); 3308 3309 /*** IMemInputPin methods ***/ 3310 HRESULT (STDMETHODCALLTYPE *GetAllocator)( 3311 IMemInputPin *This, 3312 IMemAllocator **ppAllocator); 3313 3314 HRESULT (STDMETHODCALLTYPE *NotifyAllocator)( 3315 IMemInputPin *This, 3316 IMemAllocator *pAllocator, 3317 WINBOOL bReadOnly); 3318 3319 HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)( 3320 IMemInputPin *This, 3321 ALLOCATOR_PROPERTIES *pProps); 3322 3323 HRESULT (STDMETHODCALLTYPE *Receive)( 3324 IMemInputPin *This, 3325 IMediaSample *pSample); 3326 3327 HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)( 3328 IMemInputPin *This, 3329 IMediaSample **pSamples, 3330 LONG nSamples, 3331 LONG *nSamplesProcessed); 3332 3333 HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)( 3334 IMemInputPin *This); 3335 3336 END_INTERFACE 3337 } IMemInputPinVtbl; 3338 3339 interface IMemInputPin { 3340 CONST_VTBL IMemInputPinVtbl* lpVtbl; 3341 }; 3342 3343 #ifdef COBJMACROS 3344 #ifndef WIDL_C_INLINE_WRAPPERS 3345 /*** IUnknown methods ***/ 3346 #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3347 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This) 3348 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This) 3349 /*** IMemInputPin methods ***/ 3350 #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator) 3351 #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly) 3352 #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps) 3353 #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample) 3354 #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) 3355 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This) 3356 #else 3357 /*** IUnknown methods ***/ 3358 static inline HRESULT IMemInputPin_QueryInterface(IMemInputPin* This,REFIID riid,void **ppvObject) { 3359 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3360 } 3361 static inline ULONG IMemInputPin_AddRef(IMemInputPin* This) { 3362 return This->lpVtbl->AddRef(This); 3363 } 3364 static inline ULONG IMemInputPin_Release(IMemInputPin* This) { 3365 return This->lpVtbl->Release(This); 3366 } 3367 /*** IMemInputPin methods ***/ 3368 static inline HRESULT IMemInputPin_GetAllocator(IMemInputPin* This,IMemAllocator **ppAllocator) { 3369 return This->lpVtbl->GetAllocator(This,ppAllocator); 3370 } 3371 static inline HRESULT IMemInputPin_NotifyAllocator(IMemInputPin* This,IMemAllocator *pAllocator,WINBOOL bReadOnly) { 3372 return This->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly); 3373 } 3374 static inline HRESULT IMemInputPin_GetAllocatorRequirements(IMemInputPin* This,ALLOCATOR_PROPERTIES *pProps) { 3375 return This->lpVtbl->GetAllocatorRequirements(This,pProps); 3376 } 3377 static inline HRESULT IMemInputPin_Receive(IMemInputPin* This,IMediaSample *pSample) { 3378 return This->lpVtbl->Receive(This,pSample); 3379 } 3380 static inline HRESULT IMemInputPin_ReceiveMultiple(IMemInputPin* This,IMediaSample **pSamples,LONG nSamples,LONG *nSamplesProcessed) { 3381 return This->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed); 3382 } 3383 static inline HRESULT IMemInputPin_ReceiveCanBlock(IMemInputPin* This) { 3384 return This->lpVtbl->ReceiveCanBlock(This); 3385 } 3386 #endif 3387 #endif 3388 3389 #endif 3390 3391 3392 #endif /* __IMemInputPin_INTERFACE_DEFINED__ */ 3393 3394 typedef IMemInputPin *PMEMINPUTPIN; 3395 3396 /***************************************************************************** 3397 * IAMovieSetup interface 3398 */ 3399 #ifndef __IAMovieSetup_INTERFACE_DEFINED__ 3400 #define __IAMovieSetup_INTERFACE_DEFINED__ 3401 3402 DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20); 3403 #if defined(__cplusplus) && !defined(CINTERFACE) 3404 MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20") 3405 IAMovieSetup : public IUnknown 3406 { 3407 virtual HRESULT STDMETHODCALLTYPE Register( 3408 ) = 0; 3409 3410 virtual HRESULT STDMETHODCALLTYPE Unregister( 3411 ) = 0; 3412 3413 }; 3414 #ifdef __CRT_UUID_DECL 3415 __CRT_UUID_DECL(IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20) 3416 #endif 3417 #else 3418 typedef struct IAMovieSetupVtbl { 3419 BEGIN_INTERFACE 3420 3421 /*** IUnknown methods ***/ 3422 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3423 IAMovieSetup *This, 3424 REFIID riid, 3425 void **ppvObject); 3426 3427 ULONG (STDMETHODCALLTYPE *AddRef)( 3428 IAMovieSetup *This); 3429 3430 ULONG (STDMETHODCALLTYPE *Release)( 3431 IAMovieSetup *This); 3432 3433 /*** IAMovieSetup methods ***/ 3434 HRESULT (STDMETHODCALLTYPE *Register)( 3435 IAMovieSetup *This); 3436 3437 HRESULT (STDMETHODCALLTYPE *Unregister)( 3438 IAMovieSetup *This); 3439 3440 END_INTERFACE 3441 } IAMovieSetupVtbl; 3442 3443 interface IAMovieSetup { 3444 CONST_VTBL IAMovieSetupVtbl* lpVtbl; 3445 }; 3446 3447 #ifdef COBJMACROS 3448 #ifndef WIDL_C_INLINE_WRAPPERS 3449 /*** IUnknown methods ***/ 3450 #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3451 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This) 3452 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This) 3453 /*** IAMovieSetup methods ***/ 3454 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This) 3455 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This) 3456 #else 3457 /*** IUnknown methods ***/ 3458 static inline HRESULT IAMovieSetup_QueryInterface(IAMovieSetup* This,REFIID riid,void **ppvObject) { 3459 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3460 } 3461 static inline ULONG IAMovieSetup_AddRef(IAMovieSetup* This) { 3462 return This->lpVtbl->AddRef(This); 3463 } 3464 static inline ULONG IAMovieSetup_Release(IAMovieSetup* This) { 3465 return This->lpVtbl->Release(This); 3466 } 3467 /*** IAMovieSetup methods ***/ 3468 static inline HRESULT IAMovieSetup_Register(IAMovieSetup* This) { 3469 return This->lpVtbl->Register(This); 3470 } 3471 static inline HRESULT IAMovieSetup_Unregister(IAMovieSetup* This) { 3472 return This->lpVtbl->Unregister(This); 3473 } 3474 #endif 3475 #endif 3476 3477 #endif 3478 3479 3480 #endif /* __IAMovieSetup_INTERFACE_DEFINED__ */ 3481 3482 typedef IAMovieSetup *PAMOVIESETUP; 3483 3484 typedef enum AM_SEEKING_SeekingFlags { 3485 AM_SEEKING_NoPositioning = 0x0, 3486 AM_SEEKING_AbsolutePositioning = 0x1, 3487 AM_SEEKING_RelativePositioning = 0x2, 3488 AM_SEEKING_IncrementalPositioning = 0x3, 3489 AM_SEEKING_PositioningBitsMask = 0x3, 3490 AM_SEEKING_SeekToKeyFrame = 0x4, 3491 AM_SEEKING_ReturnTime = 0x8, 3492 AM_SEEKING_Segment = 0x10, 3493 AM_SEEKING_NoFlush = 0x20 3494 } AM_SEEKING_SEEKING_FLAGS; 3495 3496 typedef enum AM_SEEKING_SeekingCapabilities { 3497 AM_SEEKING_CanSeekAbsolute = 0x1, 3498 AM_SEEKING_CanSeekForwards = 0x2, 3499 AM_SEEKING_CanSeekBackwards = 0x4, 3500 AM_SEEKING_CanGetCurrentPos = 0x8, 3501 AM_SEEKING_CanGetStopPos = 0x10, 3502 AM_SEEKING_CanGetDuration = 0x20, 3503 AM_SEEKING_CanPlayBackwards = 0x40, 3504 AM_SEEKING_CanDoSegments = 0x80, 3505 AM_SEEKING_Source = 0x100 3506 } AM_SEEKING_SEEKING_CAPABILITIES; 3507 3508 /***************************************************************************** 3509 * IMediaSeeking interface 3510 */ 3511 #ifndef __IMediaSeeking_INTERFACE_DEFINED__ 3512 #define __IMediaSeeking_INTERFACE_DEFINED__ 3513 3514 DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 3515 #if defined(__cplusplus) && !defined(CINTERFACE) 3516 MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60") 3517 IMediaSeeking : public IUnknown 3518 { 3519 virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 3520 DWORD *pCapabilities) = 0; 3521 3522 virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 3523 DWORD *pCapabilities) = 0; 3524 3525 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 3526 const GUID *pFormat) = 0; 3527 3528 virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 3529 GUID *pFormat) = 0; 3530 3531 virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 3532 GUID *pFormat) = 0; 3533 3534 virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 3535 const GUID *pFormat) = 0; 3536 3537 virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 3538 const GUID *pFormat) = 0; 3539 3540 virtual HRESULT STDMETHODCALLTYPE GetDuration( 3541 LONGLONG *pDuration) = 0; 3542 3543 virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 3544 LONGLONG *pStop) = 0; 3545 3546 virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 3547 LONGLONG *pCurrent) = 0; 3548 3549 virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 3550 LONGLONG *pTarget, 3551 const GUID *pTargetFormat, 3552 LONGLONG Source, 3553 const GUID *pSourceFormat) = 0; 3554 3555 virtual HRESULT STDMETHODCALLTYPE SetPositions( 3556 LONGLONG *pCurrent, 3557 DWORD dwCurrentFlags, 3558 LONGLONG *pStop, 3559 DWORD dwStopFlags) = 0; 3560 3561 virtual HRESULT STDMETHODCALLTYPE GetPositions( 3562 LONGLONG *pCurrent, 3563 LONGLONG *pStop) = 0; 3564 3565 virtual HRESULT STDMETHODCALLTYPE GetAvailable( 3566 LONGLONG *pEarliest, 3567 LONGLONG *pLatest) = 0; 3568 3569 virtual HRESULT STDMETHODCALLTYPE SetRate( 3570 double dRate) = 0; 3571 3572 virtual HRESULT STDMETHODCALLTYPE GetRate( 3573 double *pdRate) = 0; 3574 3575 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 3576 LONGLONG *pllPreroll) = 0; 3577 3578 }; 3579 #ifdef __CRT_UUID_DECL 3580 __CRT_UUID_DECL(IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 3581 #endif 3582 #else 3583 typedef struct IMediaSeekingVtbl { 3584 BEGIN_INTERFACE 3585 3586 /*** IUnknown methods ***/ 3587 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3588 IMediaSeeking *This, 3589 REFIID riid, 3590 void **ppvObject); 3591 3592 ULONG (STDMETHODCALLTYPE *AddRef)( 3593 IMediaSeeking *This); 3594 3595 ULONG (STDMETHODCALLTYPE *Release)( 3596 IMediaSeeking *This); 3597 3598 /*** IMediaSeeking methods ***/ 3599 HRESULT (STDMETHODCALLTYPE *GetCapabilities)( 3600 IMediaSeeking *This, 3601 DWORD *pCapabilities); 3602 3603 HRESULT (STDMETHODCALLTYPE *CheckCapabilities)( 3604 IMediaSeeking *This, 3605 DWORD *pCapabilities); 3606 3607 HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( 3608 IMediaSeeking *This, 3609 const GUID *pFormat); 3610 3611 HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)( 3612 IMediaSeeking *This, 3613 GUID *pFormat); 3614 3615 HRESULT (STDMETHODCALLTYPE *GetTimeFormat)( 3616 IMediaSeeking *This, 3617 GUID *pFormat); 3618 3619 HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)( 3620 IMediaSeeking *This, 3621 const GUID *pFormat); 3622 3623 HRESULT (STDMETHODCALLTYPE *SetTimeFormat)( 3624 IMediaSeeking *This, 3625 const GUID *pFormat); 3626 3627 HRESULT (STDMETHODCALLTYPE *GetDuration)( 3628 IMediaSeeking *This, 3629 LONGLONG *pDuration); 3630 3631 HRESULT (STDMETHODCALLTYPE *GetStopPosition)( 3632 IMediaSeeking *This, 3633 LONGLONG *pStop); 3634 3635 HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( 3636 IMediaSeeking *This, 3637 LONGLONG *pCurrent); 3638 3639 HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)( 3640 IMediaSeeking *This, 3641 LONGLONG *pTarget, 3642 const GUID *pTargetFormat, 3643 LONGLONG Source, 3644 const GUID *pSourceFormat); 3645 3646 HRESULT (STDMETHODCALLTYPE *SetPositions)( 3647 IMediaSeeking *This, 3648 LONGLONG *pCurrent, 3649 DWORD dwCurrentFlags, 3650 LONGLONG *pStop, 3651 DWORD dwStopFlags); 3652 3653 HRESULT (STDMETHODCALLTYPE *GetPositions)( 3654 IMediaSeeking *This, 3655 LONGLONG *pCurrent, 3656 LONGLONG *pStop); 3657 3658 HRESULT (STDMETHODCALLTYPE *GetAvailable)( 3659 IMediaSeeking *This, 3660 LONGLONG *pEarliest, 3661 LONGLONG *pLatest); 3662 3663 HRESULT (STDMETHODCALLTYPE *SetRate)( 3664 IMediaSeeking *This, 3665 double dRate); 3666 3667 HRESULT (STDMETHODCALLTYPE *GetRate)( 3668 IMediaSeeking *This, 3669 double *pdRate); 3670 3671 HRESULT (STDMETHODCALLTYPE *GetPreroll)( 3672 IMediaSeeking *This, 3673 LONGLONG *pllPreroll); 3674 3675 END_INTERFACE 3676 } IMediaSeekingVtbl; 3677 3678 interface IMediaSeeking { 3679 CONST_VTBL IMediaSeekingVtbl* lpVtbl; 3680 }; 3681 3682 #ifdef COBJMACROS 3683 #ifndef WIDL_C_INLINE_WRAPPERS 3684 /*** IUnknown methods ***/ 3685 #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3686 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This) 3687 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This) 3688 /*** IMediaSeeking methods ***/ 3689 #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities) 3690 #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities) 3691 #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat) 3692 #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat) 3693 #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat) 3694 #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat) 3695 #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat) 3696 #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) 3697 #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop) 3698 #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent) 3699 #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) 3700 #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) 3701 #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop) 3702 #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest) 3703 #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate) 3704 #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate) 3705 #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll) 3706 #else 3707 /*** IUnknown methods ***/ 3708 static inline HRESULT IMediaSeeking_QueryInterface(IMediaSeeking* This,REFIID riid,void **ppvObject) { 3709 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3710 } 3711 static inline ULONG IMediaSeeking_AddRef(IMediaSeeking* This) { 3712 return This->lpVtbl->AddRef(This); 3713 } 3714 static inline ULONG IMediaSeeking_Release(IMediaSeeking* This) { 3715 return This->lpVtbl->Release(This); 3716 } 3717 /*** IMediaSeeking methods ***/ 3718 static inline HRESULT IMediaSeeking_GetCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { 3719 return This->lpVtbl->GetCapabilities(This,pCapabilities); 3720 } 3721 static inline HRESULT IMediaSeeking_CheckCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { 3722 return This->lpVtbl->CheckCapabilities(This,pCapabilities); 3723 } 3724 static inline HRESULT IMediaSeeking_IsFormatSupported(IMediaSeeking* This,const GUID *pFormat) { 3725 return This->lpVtbl->IsFormatSupported(This,pFormat); 3726 } 3727 static inline HRESULT IMediaSeeking_QueryPreferredFormat(IMediaSeeking* This,GUID *pFormat) { 3728 return This->lpVtbl->QueryPreferredFormat(This,pFormat); 3729 } 3730 static inline HRESULT IMediaSeeking_GetTimeFormat(IMediaSeeking* This,GUID *pFormat) { 3731 return This->lpVtbl->GetTimeFormat(This,pFormat); 3732 } 3733 static inline HRESULT IMediaSeeking_IsUsingTimeFormat(IMediaSeeking* This,const GUID *pFormat) { 3734 return This->lpVtbl->IsUsingTimeFormat(This,pFormat); 3735 } 3736 static inline HRESULT IMediaSeeking_SetTimeFormat(IMediaSeeking* This,const GUID *pFormat) { 3737 return This->lpVtbl->SetTimeFormat(This,pFormat); 3738 } 3739 static inline HRESULT IMediaSeeking_GetDuration(IMediaSeeking* This,LONGLONG *pDuration) { 3740 return This->lpVtbl->GetDuration(This,pDuration); 3741 } 3742 static inline HRESULT IMediaSeeking_GetStopPosition(IMediaSeeking* This,LONGLONG *pStop) { 3743 return This->lpVtbl->GetStopPosition(This,pStop); 3744 } 3745 static inline HRESULT IMediaSeeking_GetCurrentPosition(IMediaSeeking* This,LONGLONG *pCurrent) { 3746 return This->lpVtbl->GetCurrentPosition(This,pCurrent); 3747 } 3748 static inline HRESULT IMediaSeeking_ConvertTimeFormat(IMediaSeeking* This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) { 3749 return This->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat); 3750 } 3751 static inline HRESULT IMediaSeeking_SetPositions(IMediaSeeking* This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) { 3752 return This->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags); 3753 } 3754 static inline HRESULT IMediaSeeking_GetPositions(IMediaSeeking* This,LONGLONG *pCurrent,LONGLONG *pStop) { 3755 return This->lpVtbl->GetPositions(This,pCurrent,pStop); 3756 } 3757 static inline HRESULT IMediaSeeking_GetAvailable(IMediaSeeking* This,LONGLONG *pEarliest,LONGLONG *pLatest) { 3758 return This->lpVtbl->GetAvailable(This,pEarliest,pLatest); 3759 } 3760 static inline HRESULT IMediaSeeking_SetRate(IMediaSeeking* This,double dRate) { 3761 return This->lpVtbl->SetRate(This,dRate); 3762 } 3763 static inline HRESULT IMediaSeeking_GetRate(IMediaSeeking* This,double *pdRate) { 3764 return This->lpVtbl->GetRate(This,pdRate); 3765 } 3766 static inline HRESULT IMediaSeeking_GetPreroll(IMediaSeeking* This,LONGLONG *pllPreroll) { 3767 return This->lpVtbl->GetPreroll(This,pllPreroll); 3768 } 3769 #endif 3770 #endif 3771 3772 #endif 3773 3774 3775 #endif /* __IMediaSeeking_INTERFACE_DEFINED__ */ 3776 3777 typedef IMediaSeeking *PMEDIASEEKING; 3778 3779 enum tagAM_MEDIAEVENT_FLAGS { 3780 AM_MEDIAEVENT_NONOTIFY = 0x1 3781 }; 3782 3783 #endif 3784 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ 3785 #define __IAMAnalogVideoDecoder_FWD_DEFINED__ 3786 typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder; 3787 #ifdef __cplusplus 3788 interface IAMAnalogVideoDecoder; 3789 #endif /* __cplusplus */ 3790 #endif 3791 3792 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ 3793 #define __IAMAnalogVideoEncoder_FWD_DEFINED__ 3794 typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder; 3795 #ifdef __cplusplus 3796 interface IAMAnalogVideoEncoder; 3797 #endif /* __cplusplus */ 3798 #endif 3799 3800 #ifndef __IAMAudioInputMixer_FWD_DEFINED__ 3801 #define __IAMAudioInputMixer_FWD_DEFINED__ 3802 typedef interface IAMAudioInputMixer IAMAudioInputMixer; 3803 #ifdef __cplusplus 3804 interface IAMAudioInputMixer; 3805 #endif /* __cplusplus */ 3806 #endif 3807 3808 #ifndef __IAMAudioRendererStats_FWD_DEFINED__ 3809 #define __IAMAudioRendererStats_FWD_DEFINED__ 3810 typedef interface IAMAudioRendererStats IAMAudioRendererStats; 3811 #ifdef __cplusplus 3812 interface IAMAudioRendererStats; 3813 #endif /* __cplusplus */ 3814 #endif 3815 3816 #ifndef __IAMBufferNegotiation_FWD_DEFINED__ 3817 #define __IAMBufferNegotiation_FWD_DEFINED__ 3818 typedef interface IAMBufferNegotiation IAMBufferNegotiation; 3819 #ifdef __cplusplus 3820 interface IAMBufferNegotiation; 3821 #endif /* __cplusplus */ 3822 #endif 3823 3824 #ifndef __IAMCameraControl_FWD_DEFINED__ 3825 #define __IAMCameraControl_FWD_DEFINED__ 3826 typedef interface IAMCameraControl IAMCameraControl; 3827 #ifdef __cplusplus 3828 interface IAMCameraControl; 3829 #endif /* __cplusplus */ 3830 #endif 3831 3832 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__ 3833 #define __IAMCertifiedOutputProtection_FWD_DEFINED__ 3834 typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection; 3835 #ifdef __cplusplus 3836 interface IAMCertifiedOutputProtection; 3837 #endif /* __cplusplus */ 3838 #endif 3839 3840 #ifndef __IAMClockSlave_FWD_DEFINED__ 3841 #define __IAMClockSlave_FWD_DEFINED__ 3842 typedef interface IAMClockSlave IAMClockSlave; 3843 #ifdef __cplusplus 3844 interface IAMClockSlave; 3845 #endif /* __cplusplus */ 3846 #endif 3847 3848 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ 3849 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ 3850 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; 3851 #ifdef __cplusplus 3852 interface IAMCopyCaptureFileProgress; 3853 #endif /* __cplusplus */ 3854 #endif 3855 3856 #ifndef __IAMCrossbar_FWD_DEFINED__ 3857 #define __IAMCrossbar_FWD_DEFINED__ 3858 typedef interface IAMCrossbar IAMCrossbar; 3859 #ifdef __cplusplus 3860 interface IAMCrossbar; 3861 #endif /* __cplusplus */ 3862 #endif 3863 3864 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ 3865 #define __IAMDevMemoryAllocator_FWD_DEFINED__ 3866 typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator; 3867 #ifdef __cplusplus 3868 interface IAMDevMemoryAllocator; 3869 #endif /* __cplusplus */ 3870 #endif 3871 3872 #ifndef __IAMDevMemoryControl_FWD_DEFINED__ 3873 #define __IAMDevMemoryControl_FWD_DEFINED__ 3874 typedef interface IAMDevMemoryControl IAMDevMemoryControl; 3875 #ifdef __cplusplus 3876 interface IAMDevMemoryControl; 3877 #endif /* __cplusplus */ 3878 #endif 3879 3880 #ifndef __IAMDroppedFrames_FWD_DEFINED__ 3881 #define __IAMDroppedFrames_FWD_DEFINED__ 3882 typedef interface IAMDroppedFrames IAMDroppedFrames; 3883 #ifdef __cplusplus 3884 interface IAMDroppedFrames; 3885 #endif /* __cplusplus */ 3886 #endif 3887 3888 #ifndef __IAMExtDevice_FWD_DEFINED__ 3889 #define __IAMExtDevice_FWD_DEFINED__ 3890 typedef interface IAMExtDevice IAMExtDevice; 3891 #ifdef __cplusplus 3892 interface IAMExtDevice; 3893 #endif /* __cplusplus */ 3894 #endif 3895 3896 #ifndef __IAMExtTransport_FWD_DEFINED__ 3897 #define __IAMExtTransport_FWD_DEFINED__ 3898 typedef interface IAMExtTransport IAMExtTransport; 3899 #ifdef __cplusplus 3900 interface IAMExtTransport; 3901 #endif /* __cplusplus */ 3902 #endif 3903 3904 #ifndef __IAMGraphStreams_FWD_DEFINED__ 3905 #define __IAMGraphStreams_FWD_DEFINED__ 3906 typedef interface IAMGraphStreams IAMGraphStreams; 3907 #ifdef __cplusplus 3908 interface IAMGraphStreams; 3909 #endif /* __cplusplus */ 3910 #endif 3911 3912 #ifndef __IAMLatency_FWD_DEFINED__ 3913 #define __IAMLatency_FWD_DEFINED__ 3914 typedef interface IAMLatency IAMLatency; 3915 #ifdef __cplusplus 3916 interface IAMLatency; 3917 #endif /* __cplusplus */ 3918 #endif 3919 3920 #ifndef __IAMOpenProgress_FWD_DEFINED__ 3921 #define __IAMOpenProgress_FWD_DEFINED__ 3922 typedef interface IAMOpenProgress IAMOpenProgress; 3923 #ifdef __cplusplus 3924 interface IAMOpenProgress; 3925 #endif /* __cplusplus */ 3926 #endif 3927 3928 #ifndef __IAMOverlayFX_FWD_DEFINED__ 3929 #define __IAMOverlayFX_FWD_DEFINED__ 3930 typedef interface IAMOverlayFX IAMOverlayFX; 3931 #ifdef __cplusplus 3932 interface IAMOverlayFX; 3933 #endif /* __cplusplus */ 3934 #endif 3935 3936 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ 3937 #define __IAMPhysicalPinInfo_FWD_DEFINED__ 3938 typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo; 3939 #ifdef __cplusplus 3940 interface IAMPhysicalPinInfo; 3941 #endif /* __cplusplus */ 3942 #endif 3943 3944 #ifndef __IAMPushSource_FWD_DEFINED__ 3945 #define __IAMPushSource_FWD_DEFINED__ 3946 typedef interface IAMPushSource IAMPushSource; 3947 #ifdef __cplusplus 3948 interface IAMPushSource; 3949 #endif /* __cplusplus */ 3950 #endif 3951 3952 #ifndef __IAMStreamConfig_FWD_DEFINED__ 3953 #define __IAMStreamConfig_FWD_DEFINED__ 3954 typedef interface IAMStreamConfig IAMStreamConfig; 3955 #ifdef __cplusplus 3956 interface IAMStreamConfig; 3957 #endif /* __cplusplus */ 3958 #endif 3959 3960 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ 3961 #define __IAMTimecodeDisplay_FWD_DEFINED__ 3962 typedef interface IAMTimecodeDisplay IAMTimecodeDisplay; 3963 #ifdef __cplusplus 3964 interface IAMTimecodeDisplay; 3965 #endif /* __cplusplus */ 3966 #endif 3967 3968 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ 3969 #define __IAMTimecodeGenerator_FWD_DEFINED__ 3970 typedef interface IAMTimecodeGenerator IAMTimecodeGenerator; 3971 #ifdef __cplusplus 3972 interface IAMTimecodeGenerator; 3973 #endif /* __cplusplus */ 3974 #endif 3975 3976 #ifndef __IAMTimecodeReader_FWD_DEFINED__ 3977 #define __IAMTimecodeReader_FWD_DEFINED__ 3978 typedef interface IAMTimecodeReader IAMTimecodeReader; 3979 #ifdef __cplusplus 3980 interface IAMTimecodeReader; 3981 #endif /* __cplusplus */ 3982 #endif 3983 3984 #ifndef __IAMTVTuner_FWD_DEFINED__ 3985 #define __IAMTVTuner_FWD_DEFINED__ 3986 typedef interface IAMTVTuner IAMTVTuner; 3987 #ifdef __cplusplus 3988 interface IAMTVTuner; 3989 #endif /* __cplusplus */ 3990 #endif 3991 3992 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ 3993 #define __IAMVfwCaptureDialogs_FWD_DEFINED__ 3994 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; 3995 #ifdef __cplusplus 3996 interface IAMVfwCaptureDialogs; 3997 #endif /* __cplusplus */ 3998 #endif 3999 4000 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ 4001 #define __IAMVfwCompressDialogs_FWD_DEFINED__ 4002 typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs; 4003 #ifdef __cplusplus 4004 interface IAMVfwCompressDialogs; 4005 #endif /* __cplusplus */ 4006 #endif 4007 4008 #ifndef __IAMVideoCompression_FWD_DEFINED__ 4009 #define __IAMVideoCompression_FWD_DEFINED__ 4010 typedef interface IAMVideoCompression IAMVideoCompression; 4011 #ifdef __cplusplus 4012 interface IAMVideoCompression; 4013 #endif /* __cplusplus */ 4014 #endif 4015 4016 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ 4017 #define __IAMVideoDecimationProperties_FWD_DEFINED__ 4018 typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties; 4019 #ifdef __cplusplus 4020 interface IAMVideoDecimationProperties; 4021 #endif /* __cplusplus */ 4022 #endif 4023 4024 #ifndef __IAMVideoProcAmp_FWD_DEFINED__ 4025 #define __IAMVideoProcAmp_FWD_DEFINED__ 4026 typedef interface IAMVideoProcAmp IAMVideoProcAmp; 4027 #ifdef __cplusplus 4028 interface IAMVideoProcAmp; 4029 #endif /* __cplusplus */ 4030 #endif 4031 4032 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ 4033 #define __IAMGraphBuilderCallback_FWD_DEFINED__ 4034 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; 4035 #ifdef __cplusplus 4036 interface IAMGraphBuilderCallback; 4037 #endif /* __cplusplus */ 4038 #endif 4039 4040 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ 4041 #define __ICaptureGraphBuilder_FWD_DEFINED__ 4042 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; 4043 #ifdef __cplusplus 4044 interface ICaptureGraphBuilder; 4045 #endif /* __cplusplus */ 4046 #endif 4047 4048 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ 4049 #define __ICaptureGraphBuilder2_FWD_DEFINED__ 4050 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; 4051 #ifdef __cplusplus 4052 interface ICaptureGraphBuilder2; 4053 #endif /* __cplusplus */ 4054 #endif 4055 4056 #ifndef __IConfigAviMux_FWD_DEFINED__ 4057 #define __IConfigAviMux_FWD_DEFINED__ 4058 typedef interface IConfigAviMux IConfigAviMux; 4059 #ifdef __cplusplus 4060 interface IConfigAviMux; 4061 #endif /* __cplusplus */ 4062 #endif 4063 4064 #ifndef __IConfigInterleaving_FWD_DEFINED__ 4065 #define __IConfigInterleaving_FWD_DEFINED__ 4066 typedef interface IConfigInterleaving IConfigInterleaving; 4067 #ifdef __cplusplus 4068 interface IConfigInterleaving; 4069 #endif /* __cplusplus */ 4070 #endif 4071 4072 #ifndef __IDecimateVideoImage_FWD_DEFINED__ 4073 #define __IDecimateVideoImage_FWD_DEFINED__ 4074 typedef interface IDecimateVideoImage IDecimateVideoImage; 4075 #ifdef __cplusplus 4076 interface IDecimateVideoImage; 4077 #endif /* __cplusplus */ 4078 #endif 4079 4080 #ifndef __IDrawVideoImage_FWD_DEFINED__ 4081 #define __IDrawVideoImage_FWD_DEFINED__ 4082 typedef interface IDrawVideoImage IDrawVideoImage; 4083 #ifdef __cplusplus 4084 interface IDrawVideoImage; 4085 #endif /* __cplusplus */ 4086 #endif 4087 4088 #ifndef __IEnumRegFilters_FWD_DEFINED__ 4089 #define __IEnumRegFilters_FWD_DEFINED__ 4090 typedef interface IEnumRegFilters IEnumRegFilters; 4091 #ifdef __cplusplus 4092 interface IEnumRegFilters; 4093 #endif /* __cplusplus */ 4094 #endif 4095 4096 #ifndef __IEnumStreamIdMap_FWD_DEFINED__ 4097 #define __IEnumStreamIdMap_FWD_DEFINED__ 4098 typedef interface IEnumStreamIdMap IEnumStreamIdMap; 4099 #ifdef __cplusplus 4100 interface IEnumStreamIdMap; 4101 #endif /* __cplusplus */ 4102 #endif 4103 4104 #ifndef __IFileSourceFilter_FWD_DEFINED__ 4105 #define __IFileSourceFilter_FWD_DEFINED__ 4106 typedef interface IFileSourceFilter IFileSourceFilter; 4107 #ifdef __cplusplus 4108 interface IFileSourceFilter; 4109 #endif /* __cplusplus */ 4110 #endif 4111 4112 #ifndef __IFileSinkFilter_FWD_DEFINED__ 4113 #define __IFileSinkFilter_FWD_DEFINED__ 4114 typedef interface IFileSinkFilter IFileSinkFilter; 4115 #ifdef __cplusplus 4116 interface IFileSinkFilter; 4117 #endif /* __cplusplus */ 4118 #endif 4119 4120 #ifndef __IFileSinkFilter2_FWD_DEFINED__ 4121 #define __IFileSinkFilter2_FWD_DEFINED__ 4122 typedef interface IFileSinkFilter2 IFileSinkFilter2; 4123 #ifdef __cplusplus 4124 interface IFileSinkFilter2; 4125 #endif /* __cplusplus */ 4126 #endif 4127 4128 #ifndef __IFilterMapper_FWD_DEFINED__ 4129 #define __IFilterMapper_FWD_DEFINED__ 4130 typedef interface IFilterMapper IFilterMapper; 4131 #ifdef __cplusplus 4132 interface IFilterMapper; 4133 #endif /* __cplusplus */ 4134 #endif 4135 4136 #ifndef __IFilterMapper2_FWD_DEFINED__ 4137 #define __IFilterMapper2_FWD_DEFINED__ 4138 typedef interface IFilterMapper2 IFilterMapper2; 4139 #ifdef __cplusplus 4140 interface IFilterMapper2; 4141 #endif /* __cplusplus */ 4142 #endif 4143 4144 #ifndef __IGraphBuilder_FWD_DEFINED__ 4145 #define __IGraphBuilder_FWD_DEFINED__ 4146 typedef interface IGraphBuilder IGraphBuilder; 4147 #ifdef __cplusplus 4148 interface IGraphBuilder; 4149 #endif /* __cplusplus */ 4150 #endif 4151 4152 #ifndef __IKsPropertySet_FWD_DEFINED__ 4153 #define __IKsPropertySet_FWD_DEFINED__ 4154 typedef interface IKsPropertySet IKsPropertySet; 4155 #ifdef __cplusplus 4156 interface IKsPropertySet; 4157 #endif /* __cplusplus */ 4158 #endif 4159 4160 #ifndef __IMediaEventSink_FWD_DEFINED__ 4161 #define __IMediaEventSink_FWD_DEFINED__ 4162 typedef interface IMediaEventSink IMediaEventSink; 4163 #ifdef __cplusplus 4164 interface IMediaEventSink; 4165 #endif /* __cplusplus */ 4166 #endif 4167 4168 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ 4169 #define __IMpeg2Demultiplexer_FWD_DEFINED__ 4170 typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer; 4171 #ifdef __cplusplus 4172 interface IMpeg2Demultiplexer; 4173 #endif /* __cplusplus */ 4174 #endif 4175 4176 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ 4177 #define __IMPEG2StreamIdMap_FWD_DEFINED__ 4178 typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap; 4179 #ifdef __cplusplus 4180 interface IMPEG2StreamIdMap; 4181 #endif /* __cplusplus */ 4182 #endif 4183 4184 #ifndef __IOverlay_FWD_DEFINED__ 4185 #define __IOverlay_FWD_DEFINED__ 4186 typedef interface IOverlay IOverlay; 4187 #ifdef __cplusplus 4188 interface IOverlay; 4189 #endif /* __cplusplus */ 4190 #endif 4191 4192 #ifndef __IOverlayNotify_FWD_DEFINED__ 4193 #define __IOverlayNotify_FWD_DEFINED__ 4194 typedef interface IOverlayNotify IOverlayNotify; 4195 #ifdef __cplusplus 4196 interface IOverlayNotify; 4197 #endif /* __cplusplus */ 4198 #endif 4199 4200 #ifndef __IOverlayNotify2_FWD_DEFINED__ 4201 #define __IOverlayNotify2_FWD_DEFINED__ 4202 typedef interface IOverlayNotify2 IOverlayNotify2; 4203 #ifdef __cplusplus 4204 interface IOverlayNotify2; 4205 #endif /* __cplusplus */ 4206 #endif 4207 4208 #ifndef __IQualityControl_FWD_DEFINED__ 4209 #define __IQualityControl_FWD_DEFINED__ 4210 typedef interface IQualityControl IQualityControl; 4211 #ifdef __cplusplus 4212 interface IQualityControl; 4213 #endif /* __cplusplus */ 4214 #endif 4215 4216 #ifndef __ISeekingPassThru_FWD_DEFINED__ 4217 #define __ISeekingPassThru_FWD_DEFINED__ 4218 typedef interface ISeekingPassThru ISeekingPassThru; 4219 #ifdef __cplusplus 4220 interface ISeekingPassThru; 4221 #endif /* __cplusplus */ 4222 #endif 4223 4224 typedef enum tagAnalogVideoStandard { 4225 AnalogVideo_None = 0x0, 4226 AnalogVideo_NTSC_M = 0x1, 4227 AnalogVideo_NTSC_M_J = 0x2, 4228 AnalogVideo_NTSC_433 = 0x4, 4229 AnalogVideo_PAL_B = 0x10, 4230 AnalogVideo_PAL_D = 0x20, 4231 AnalogVideo_PAL_G = 0x40, 4232 AnalogVideo_PAL_H = 0x80, 4233 AnalogVideo_PAL_I = 0x100, 4234 AnalogVideo_PAL_M = 0x200, 4235 AnalogVideo_PAL_N = 0x400, 4236 AnalogVideo_PAL_60 = 0x800, 4237 AnalogVideo_SECAM_B = 0x1000, 4238 AnalogVideo_SECAM_D = 0x2000, 4239 AnalogVideo_SECAM_G = 0x4000, 4240 AnalogVideo_SECAM_H = 0x8000, 4241 AnalogVideo_SECAM_K = 0x10000, 4242 AnalogVideo_SECAM_K1 = 0x20000, 4243 AnalogVideo_SECAM_L = 0x40000, 4244 AnalogVideo_SECAM_L1 = 0x80000, 4245 AnalogVideo_PAL_N_COMBO = 0x100000, 4246 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, 4247 AnalogVideoMask_MCE_PAL = (((AnalogVideo_PAL_B | AnalogVideo_PAL_D) | AnalogVideo_PAL_G) | AnalogVideo_PAL_H) | AnalogVideo_PAL_I, 4248 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 4249 } AnalogVideoStandard; 4250 typedef enum tagTunerInputType { 4251 TunerInputCable = 0, 4252 TunerInputAntenna = 1 4253 } TunerInputType; 4254 typedef struct __WIDL_strmif_generated_name_0000000F { 4255 CLSID Clsid; 4256 LPWSTR Name; 4257 } REGFILTER; 4258 typedef enum tagTVAudioMode { 4259 AMTVAUDIO_MODE_MONO = 0x1, 4260 AMTVAUDIO_MODE_STEREO = 0x2, 4261 AMTVAUDIO_MODE_LANG_A = 0x10, 4262 AMTVAUDIO_MODE_LANG_B = 0x20, 4263 AMTVAUDIO_MODE_LANG_C = 0x40, 4264 AMTVAUDIO_PRESET_STEREO = 0x200, 4265 AMTVAUDIO_PRESET_LANG_A = 0x1000, 4266 AMTVAUDIO_PRESET_LANG_B = 0x2000, 4267 AMTVAUDIO_PRESET_LANG_C = 0x4000 4268 } TVAudioMode; 4269 /***************************************************************************** 4270 * IEnumRegFilters interface 4271 */ 4272 #ifndef __IEnumRegFilters_INTERFACE_DEFINED__ 4273 #define __IEnumRegFilters_INTERFACE_DEFINED__ 4274 4275 DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4276 #if defined(__cplusplus) && !defined(CINTERFACE) 4277 MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770") 4278 IEnumRegFilters : public IUnknown 4279 { 4280 virtual HRESULT STDMETHODCALLTYPE Next( 4281 ULONG cFilters, 4282 REGFILTER **apRegFilter, 4283 ULONG *pcFetched) = 0; 4284 4285 virtual HRESULT STDMETHODCALLTYPE Skip( 4286 ULONG cFilters) = 0; 4287 4288 virtual HRESULT STDMETHODCALLTYPE Reset( 4289 ) = 0; 4290 4291 virtual HRESULT STDMETHODCALLTYPE Clone( 4292 IEnumRegFilters **ppEnum) = 0; 4293 4294 }; 4295 #ifdef __CRT_UUID_DECL 4296 __CRT_UUID_DECL(IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4297 #endif 4298 #else 4299 typedef struct IEnumRegFiltersVtbl { 4300 BEGIN_INTERFACE 4301 4302 /*** IUnknown methods ***/ 4303 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4304 IEnumRegFilters *This, 4305 REFIID riid, 4306 void **ppvObject); 4307 4308 ULONG (STDMETHODCALLTYPE *AddRef)( 4309 IEnumRegFilters *This); 4310 4311 ULONG (STDMETHODCALLTYPE *Release)( 4312 IEnumRegFilters *This); 4313 4314 /*** IEnumRegFilters methods ***/ 4315 HRESULT (STDMETHODCALLTYPE *Next)( 4316 IEnumRegFilters *This, 4317 ULONG cFilters, 4318 REGFILTER **apRegFilter, 4319 ULONG *pcFetched); 4320 4321 HRESULT (STDMETHODCALLTYPE *Skip)( 4322 IEnumRegFilters *This, 4323 ULONG cFilters); 4324 4325 HRESULT (STDMETHODCALLTYPE *Reset)( 4326 IEnumRegFilters *This); 4327 4328 HRESULT (STDMETHODCALLTYPE *Clone)( 4329 IEnumRegFilters *This, 4330 IEnumRegFilters **ppEnum); 4331 4332 END_INTERFACE 4333 } IEnumRegFiltersVtbl; 4334 4335 interface IEnumRegFilters { 4336 CONST_VTBL IEnumRegFiltersVtbl* lpVtbl; 4337 }; 4338 4339 #ifdef COBJMACROS 4340 #ifndef WIDL_C_INLINE_WRAPPERS 4341 /*** IUnknown methods ***/ 4342 #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4343 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This) 4344 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This) 4345 /*** IEnumRegFilters methods ***/ 4346 #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched) 4347 #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) 4348 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This) 4349 #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 4350 #else 4351 /*** IUnknown methods ***/ 4352 static inline HRESULT IEnumRegFilters_QueryInterface(IEnumRegFilters* This,REFIID riid,void **ppvObject) { 4353 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4354 } 4355 static inline ULONG IEnumRegFilters_AddRef(IEnumRegFilters* This) { 4356 return This->lpVtbl->AddRef(This); 4357 } 4358 static inline ULONG IEnumRegFilters_Release(IEnumRegFilters* This) { 4359 return This->lpVtbl->Release(This); 4360 } 4361 /*** IEnumRegFilters methods ***/ 4362 static inline HRESULT IEnumRegFilters_Next(IEnumRegFilters* This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) { 4363 return This->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched); 4364 } 4365 static inline HRESULT IEnumRegFilters_Skip(IEnumRegFilters* This,ULONG cFilters) { 4366 return This->lpVtbl->Skip(This,cFilters); 4367 } 4368 static inline HRESULT IEnumRegFilters_Reset(IEnumRegFilters* This) { 4369 return This->lpVtbl->Reset(This); 4370 } 4371 static inline HRESULT IEnumRegFilters_Clone(IEnumRegFilters* This,IEnumRegFilters **ppEnum) { 4372 return This->lpVtbl->Clone(This,ppEnum); 4373 } 4374 #endif 4375 #endif 4376 4377 #endif 4378 4379 4380 #endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */ 4381 4382 typedef IEnumRegFilters *PENUMREGFILTERS; 4383 /***************************************************************************** 4384 * IFilterMapper interface 4385 */ 4386 #ifndef __IFilterMapper_INTERFACE_DEFINED__ 4387 #define __IFilterMapper_INTERFACE_DEFINED__ 4388 4389 enum { 4390 MERIT_PREFERRED = 0x800000, 4391 MERIT_NORMAL = 0x600000, 4392 MERIT_UNLIKELY = 0x400000, 4393 MERIT_DO_NOT_USE = 0x200000, 4394 MERIT_SW_COMPRESSOR = 0x100000, 4395 MERIT_HW_COMPRESSOR = 0x100050 4396 }; 4397 DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4398 #if defined(__cplusplus) && !defined(CINTERFACE) 4399 MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770") 4400 IFilterMapper : public IUnknown 4401 { 4402 virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 4403 CLSID clsid, 4404 LPCWSTR Name, 4405 DWORD dwMerit) = 0; 4406 4407 virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 4408 CLSID clsid, 4409 LPCWSTR Name, 4410 CLSID *MRId) = 0; 4411 4412 virtual HRESULT STDMETHODCALLTYPE RegisterPin( 4413 CLSID Filter, 4414 LPCWSTR Name, 4415 WINBOOL bRendered, 4416 WINBOOL bOutput, 4417 WINBOOL bZero, 4418 WINBOOL bMany, 4419 CLSID ConnectsToFilter, 4420 LPCWSTR ConnectsToPin) = 0; 4421 4422 virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 4423 CLSID clsFilter, 4424 LPCWSTR strName, 4425 CLSID clsMajorType, 4426 CLSID clsSubType) = 0; 4427 4428 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 4429 CLSID Filter) = 0; 4430 4431 virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 4432 CLSID MRId) = 0; 4433 4434 virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 4435 CLSID Filter, 4436 LPCWSTR Name) = 0; 4437 4438 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 4439 IEnumRegFilters **ppEnum, 4440 DWORD dwMerit, 4441 WINBOOL bInputNeeded, 4442 CLSID clsInMaj, 4443 CLSID clsInSub, 4444 WINBOOL bRender, 4445 WINBOOL bOutputNeeded, 4446 CLSID clsOutMaj, 4447 CLSID clsOutSub) = 0; 4448 4449 }; 4450 #ifdef __CRT_UUID_DECL 4451 __CRT_UUID_DECL(IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4452 #endif 4453 #else 4454 typedef struct IFilterMapperVtbl { 4455 BEGIN_INTERFACE 4456 4457 /*** IUnknown methods ***/ 4458 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4459 IFilterMapper *This, 4460 REFIID riid, 4461 void **ppvObject); 4462 4463 ULONG (STDMETHODCALLTYPE *AddRef)( 4464 IFilterMapper *This); 4465 4466 ULONG (STDMETHODCALLTYPE *Release)( 4467 IFilterMapper *This); 4468 4469 /*** IFilterMapper methods ***/ 4470 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4471 IFilterMapper *This, 4472 CLSID clsid, 4473 LPCWSTR Name, 4474 DWORD dwMerit); 4475 4476 HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)( 4477 IFilterMapper *This, 4478 CLSID clsid, 4479 LPCWSTR Name, 4480 CLSID *MRId); 4481 4482 HRESULT (STDMETHODCALLTYPE *RegisterPin)( 4483 IFilterMapper *This, 4484 CLSID Filter, 4485 LPCWSTR Name, 4486 WINBOOL bRendered, 4487 WINBOOL bOutput, 4488 WINBOOL bZero, 4489 WINBOOL bMany, 4490 CLSID ConnectsToFilter, 4491 LPCWSTR ConnectsToPin); 4492 4493 HRESULT (STDMETHODCALLTYPE *RegisterPinType)( 4494 IFilterMapper *This, 4495 CLSID clsFilter, 4496 LPCWSTR strName, 4497 CLSID clsMajorType, 4498 CLSID clsSubType); 4499 4500 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4501 IFilterMapper *This, 4502 CLSID Filter); 4503 4504 HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)( 4505 IFilterMapper *This, 4506 CLSID MRId); 4507 4508 HRESULT (STDMETHODCALLTYPE *UnregisterPin)( 4509 IFilterMapper *This, 4510 CLSID Filter, 4511 LPCWSTR Name); 4512 4513 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4514 IFilterMapper *This, 4515 IEnumRegFilters **ppEnum, 4516 DWORD dwMerit, 4517 WINBOOL bInputNeeded, 4518 CLSID clsInMaj, 4519 CLSID clsInSub, 4520 WINBOOL bRender, 4521 WINBOOL bOutputNeeded, 4522 CLSID clsOutMaj, 4523 CLSID clsOutSub); 4524 4525 END_INTERFACE 4526 } IFilterMapperVtbl; 4527 4528 interface IFilterMapper { 4529 CONST_VTBL IFilterMapperVtbl* lpVtbl; 4530 }; 4531 4532 #ifdef COBJMACROS 4533 #ifndef WIDL_C_INLINE_WRAPPERS 4534 /*** IUnknown methods ***/ 4535 #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4536 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This) 4537 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This) 4538 /*** IFilterMapper methods ***/ 4539 #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit) 4540 #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId) 4541 #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) 4542 #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) 4543 #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter) 4544 #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId) 4545 #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name) 4546 #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOutputNeeded,clsOutMaj,clsOutSub) (This)->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOutputNeeded,clsOutMaj,clsOutSub) 4547 #else 4548 /*** IUnknown methods ***/ 4549 static inline HRESULT IFilterMapper_QueryInterface(IFilterMapper* This,REFIID riid,void **ppvObject) { 4550 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4551 } 4552 static inline ULONG IFilterMapper_AddRef(IFilterMapper* This) { 4553 return This->lpVtbl->AddRef(This); 4554 } 4555 static inline ULONG IFilterMapper_Release(IFilterMapper* This) { 4556 return This->lpVtbl->Release(This); 4557 } 4558 /*** IFilterMapper methods ***/ 4559 static inline HRESULT IFilterMapper_RegisterFilter(IFilterMapper* This,CLSID clsid,LPCWSTR Name,DWORD dwMerit) { 4560 return This->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit); 4561 } 4562 static inline HRESULT IFilterMapper_RegisterFilterInstance(IFilterMapper* This,CLSID clsid,LPCWSTR Name,CLSID *MRId) { 4563 return This->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId); 4564 } 4565 static inline HRESULT IFilterMapper_RegisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) { 4566 return This->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin); 4567 } 4568 static inline HRESULT IFilterMapper_RegisterPinType(IFilterMapper* This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) { 4569 return This->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType); 4570 } 4571 static inline HRESULT IFilterMapper_UnregisterFilter(IFilterMapper* This,CLSID Filter) { 4572 return This->lpVtbl->UnregisterFilter(This,Filter); 4573 } 4574 static inline HRESULT IFilterMapper_UnregisterFilterInstance(IFilterMapper* This,CLSID MRId) { 4575 return This->lpVtbl->UnregisterFilterInstance(This,MRId); 4576 } 4577 static inline HRESULT IFilterMapper_UnregisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name) { 4578 return This->lpVtbl->UnregisterPin(This,Filter,Name); 4579 } 4580 static inline HRESULT IFilterMapper_EnumMatchingFilters(IFilterMapper* This,IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOutputNeeded,CLSID clsOutMaj,CLSID clsOutSub) { 4581 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOutputNeeded,clsOutMaj,clsOutSub); 4582 } 4583 #endif 4584 #endif 4585 4586 #endif 4587 4588 4589 #endif /* __IFilterMapper_INTERFACE_DEFINED__ */ 4590 4591 typedef struct __WIDL_strmif_generated_name_00000010 { 4592 const CLSID *clsMajorType; 4593 const CLSID *clsMinorType; 4594 } REGPINTYPES; 4595 typedef struct __WIDL_strmif_generated_name_00000011 { 4596 LPWSTR strName; 4597 WINBOOL bRendered; 4598 WINBOOL bOutput; 4599 WINBOOL bZero; 4600 WINBOOL bMany; 4601 const CLSID *clsConnectsToFilter; 4602 const WCHAR *strConnectsToPin; 4603 UINT nMediaTypes; 4604 const REGPINTYPES *lpMediaType; 4605 } REGFILTERPINS; 4606 typedef struct __WIDL_strmif_generated_name_00000012 { 4607 CLSID clsMedium; 4608 DWORD dw1; 4609 DWORD dw2; 4610 } REGPINMEDIUM; 4611 enum { 4612 REG_PINFLAG_B_ZERO = 0x1, 4613 REG_PINFLAG_B_RENDERER = 0x2, 4614 REG_PINFLAG_B_MANY = 0x4, 4615 REG_PINFLAG_B_OUTPUT = 0x8 4616 }; 4617 typedef struct __WIDL_strmif_generated_name_00000013 { 4618 DWORD dwFlags; 4619 UINT cInstances; 4620 UINT nMediaTypes; 4621 const REGPINTYPES *lpMediaType; 4622 UINT nMediums; 4623 const REGPINMEDIUM *lpMedium; 4624 const CLSID *clsPinCategory; 4625 } REGFILTERPINS2; 4626 typedef struct __WIDL_strmif_generated_name_00000014 { 4627 DWORD dwVersion; 4628 DWORD dwMerit; 4629 __C89_NAMELESS union { 4630 __C89_NAMELESS struct { 4631 ULONG cPins; 4632 const REGFILTERPINS *rgPins; 4633 } __C89_NAMELESSSTRUCTNAME1; 4634 __C89_NAMELESS struct { 4635 ULONG cPins2; 4636 const REGFILTERPINS2 *rgPins2; 4637 } __C89_NAMELESSSTRUCTNAME2; 4638 } __C89_NAMELESSUNIONNAME; 4639 } REGFILTER2; 4640 /***************************************************************************** 4641 * IFilterMapper2 interface 4642 */ 4643 #ifndef __IFilterMapper2_INTERFACE_DEFINED__ 4644 #define __IFilterMapper2_INTERFACE_DEFINED__ 4645 4646 DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 4647 #if defined(__cplusplus) && !defined(CINTERFACE) 4648 MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375") 4649 IFilterMapper2 : public IUnknown 4650 { 4651 virtual HRESULT STDMETHODCALLTYPE CreateCategory( 4652 REFCLSID clsidCategory, 4653 DWORD dwCategoryMerit, 4654 LPCWSTR Description) = 0; 4655 4656 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 4657 const CLSID *pclsidCategory, 4658 LPCOLESTR szInstance, 4659 REFCLSID Filter) = 0; 4660 4661 virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 4662 REFCLSID clsidFilter, 4663 LPCWSTR Name, 4664 IMoniker **ppMoniker, 4665 const CLSID *pclsidCategory, 4666 LPCOLESTR szInstance, 4667 const REGFILTER2 *prf2) = 0; 4668 4669 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 4670 IEnumMoniker **ppEnum, 4671 DWORD dwFlags, 4672 WINBOOL bExactMatch, 4673 DWORD dwMerit, 4674 WINBOOL bInputNeeded, 4675 DWORD cInputTypes, 4676 const GUID *pInputTypes, 4677 const REGPINMEDIUM *pMedIn, 4678 const CLSID *pPinCategoryIn, 4679 WINBOOL bRender, 4680 WINBOOL bOutputNeeded, 4681 DWORD cOutputTypes, 4682 const GUID *pOutputTypes, 4683 const REGPINMEDIUM *pMedOut, 4684 const CLSID *pPinCategoryOut) = 0; 4685 4686 }; 4687 #ifdef __CRT_UUID_DECL 4688 __CRT_UUID_DECL(IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 4689 #endif 4690 #else 4691 typedef struct IFilterMapper2Vtbl { 4692 BEGIN_INTERFACE 4693 4694 /*** IUnknown methods ***/ 4695 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4696 IFilterMapper2 *This, 4697 REFIID riid, 4698 void **ppvObject); 4699 4700 ULONG (STDMETHODCALLTYPE *AddRef)( 4701 IFilterMapper2 *This); 4702 4703 ULONG (STDMETHODCALLTYPE *Release)( 4704 IFilterMapper2 *This); 4705 4706 /*** IFilterMapper2 methods ***/ 4707 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 4708 IFilterMapper2 *This, 4709 REFCLSID clsidCategory, 4710 DWORD dwCategoryMerit, 4711 LPCWSTR Description); 4712 4713 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4714 IFilterMapper2 *This, 4715 const CLSID *pclsidCategory, 4716 LPCOLESTR szInstance, 4717 REFCLSID Filter); 4718 4719 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4720 IFilterMapper2 *This, 4721 REFCLSID clsidFilter, 4722 LPCWSTR Name, 4723 IMoniker **ppMoniker, 4724 const CLSID *pclsidCategory, 4725 LPCOLESTR szInstance, 4726 const REGFILTER2 *prf2); 4727 4728 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4729 IFilterMapper2 *This, 4730 IEnumMoniker **ppEnum, 4731 DWORD dwFlags, 4732 WINBOOL bExactMatch, 4733 DWORD dwMerit, 4734 WINBOOL bInputNeeded, 4735 DWORD cInputTypes, 4736 const GUID *pInputTypes, 4737 const REGPINMEDIUM *pMedIn, 4738 const CLSID *pPinCategoryIn, 4739 WINBOOL bRender, 4740 WINBOOL bOutputNeeded, 4741 DWORD cOutputTypes, 4742 const GUID *pOutputTypes, 4743 const REGPINMEDIUM *pMedOut, 4744 const CLSID *pPinCategoryOut); 4745 4746 END_INTERFACE 4747 } IFilterMapper2Vtbl; 4748 4749 interface IFilterMapper2 { 4750 CONST_VTBL IFilterMapper2Vtbl* lpVtbl; 4751 }; 4752 4753 #ifdef COBJMACROS 4754 #ifndef WIDL_C_INLINE_WRAPPERS 4755 /*** IUnknown methods ***/ 4756 #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4757 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This) 4758 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This) 4759 /*** IFilterMapper2 methods ***/ 4760 #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) 4761 #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) 4762 #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) 4763 #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) 4764 #else 4765 /*** IUnknown methods ***/ 4766 static inline HRESULT IFilterMapper2_QueryInterface(IFilterMapper2* This,REFIID riid,void **ppvObject) { 4767 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4768 } 4769 static inline ULONG IFilterMapper2_AddRef(IFilterMapper2* This) { 4770 return This->lpVtbl->AddRef(This); 4771 } 4772 static inline ULONG IFilterMapper2_Release(IFilterMapper2* This) { 4773 return This->lpVtbl->Release(This); 4774 } 4775 /*** IFilterMapper2 methods ***/ 4776 static inline HRESULT IFilterMapper2_CreateCategory(IFilterMapper2* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { 4777 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); 4778 } 4779 static inline HRESULT IFilterMapper2_UnregisterFilter(IFilterMapper2* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { 4780 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); 4781 } 4782 static inline HRESULT IFilterMapper2_RegisterFilter(IFilterMapper2* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { 4783 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); 4784 } 4785 static inline HRESULT IFilterMapper2_EnumMatchingFilters(IFilterMapper2* This,IEnumMoniker **ppEnum,DWORD dwFlags,WINBOOL bExactMatch,DWORD dwMerit,WINBOOL bInputNeeded,DWORD cInputTypes,const GUID *pInputTypes,const REGPINMEDIUM *pMedIn,const CLSID *pPinCategoryIn,WINBOOL bRender,WINBOOL bOutputNeeded,DWORD cOutputTypes,const GUID *pOutputTypes,const REGPINMEDIUM *pMedOut,const CLSID *pPinCategoryOut) { 4786 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); 4787 } 4788 #endif 4789 #endif 4790 4791 #endif 4792 4793 4794 #endif /* __IFilterMapper2_INTERFACE_DEFINED__ */ 4795 4796 /***************************************************************************** 4797 * IFilterMapper3 interface 4798 */ 4799 #ifndef __IFilterMapper3_INTERFACE_DEFINED__ 4800 #define __IFilterMapper3_INTERFACE_DEFINED__ 4801 4802 DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 4803 #if defined(__cplusplus) && !defined(CINTERFACE) 4804 MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375") 4805 IFilterMapper3 : public IFilterMapper2 4806 { 4807 virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( 4808 ICreateDevEnum **ppEnum) = 0; 4809 4810 }; 4811 #ifdef __CRT_UUID_DECL 4812 __CRT_UUID_DECL(IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 4813 #endif 4814 #else 4815 typedef struct IFilterMapper3Vtbl { 4816 BEGIN_INTERFACE 4817 4818 /*** IUnknown methods ***/ 4819 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4820 IFilterMapper3 *This, 4821 REFIID riid, 4822 void **ppvObject); 4823 4824 ULONG (STDMETHODCALLTYPE *AddRef)( 4825 IFilterMapper3 *This); 4826 4827 ULONG (STDMETHODCALLTYPE *Release)( 4828 IFilterMapper3 *This); 4829 4830 /*** IFilterMapper2 methods ***/ 4831 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 4832 IFilterMapper3 *This, 4833 REFCLSID clsidCategory, 4834 DWORD dwCategoryMerit, 4835 LPCWSTR Description); 4836 4837 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4838 IFilterMapper3 *This, 4839 const CLSID *pclsidCategory, 4840 LPCOLESTR szInstance, 4841 REFCLSID Filter); 4842 4843 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4844 IFilterMapper3 *This, 4845 REFCLSID clsidFilter, 4846 LPCWSTR Name, 4847 IMoniker **ppMoniker, 4848 const CLSID *pclsidCategory, 4849 LPCOLESTR szInstance, 4850 const REGFILTER2 *prf2); 4851 4852 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4853 IFilterMapper3 *This, 4854 IEnumMoniker **ppEnum, 4855 DWORD dwFlags, 4856 WINBOOL bExactMatch, 4857 DWORD dwMerit, 4858 WINBOOL bInputNeeded, 4859 DWORD cInputTypes, 4860 const GUID *pInputTypes, 4861 const REGPINMEDIUM *pMedIn, 4862 const CLSID *pPinCategoryIn, 4863 WINBOOL bRender, 4864 WINBOOL bOutputNeeded, 4865 DWORD cOutputTypes, 4866 const GUID *pOutputTypes, 4867 const REGPINMEDIUM *pMedOut, 4868 const CLSID *pPinCategoryOut); 4869 4870 /*** IFilterMapper3 methods ***/ 4871 HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)( 4872 IFilterMapper3 *This, 4873 ICreateDevEnum **ppEnum); 4874 4875 END_INTERFACE 4876 } IFilterMapper3Vtbl; 4877 4878 interface IFilterMapper3 { 4879 CONST_VTBL IFilterMapper3Vtbl* lpVtbl; 4880 }; 4881 4882 #ifdef COBJMACROS 4883 #ifndef WIDL_C_INLINE_WRAPPERS 4884 /*** IUnknown methods ***/ 4885 #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4886 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This) 4887 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This) 4888 /*** IFilterMapper2 methods ***/ 4889 #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) 4890 #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) 4891 #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) 4892 #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) 4893 /*** IFilterMapper3 methods ***/ 4894 #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum) 4895 #else 4896 /*** IUnknown methods ***/ 4897 static inline HRESULT IFilterMapper3_QueryInterface(IFilterMapper3* This,REFIID riid,void **ppvObject) { 4898 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4899 } 4900 static inline ULONG IFilterMapper3_AddRef(IFilterMapper3* This) { 4901 return This->lpVtbl->AddRef(This); 4902 } 4903 static inline ULONG IFilterMapper3_Release(IFilterMapper3* This) { 4904 return This->lpVtbl->Release(This); 4905 } 4906 /*** IFilterMapper2 methods ***/ 4907 static inline HRESULT IFilterMapper3_CreateCategory(IFilterMapper3* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { 4908 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); 4909 } 4910 static inline HRESULT IFilterMapper3_UnregisterFilter(IFilterMapper3* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { 4911 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); 4912 } 4913 static inline HRESULT IFilterMapper3_RegisterFilter(IFilterMapper3* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { 4914 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); 4915 } 4916 static inline HRESULT IFilterMapper3_EnumMatchingFilters(IFilterMapper3* This,IEnumMoniker **ppEnum,DWORD dwFlags,WINBOOL bExactMatch,DWORD dwMerit,WINBOOL bInputNeeded,DWORD cInputTypes,const GUID *pInputTypes,const REGPINMEDIUM *pMedIn,const CLSID *pPinCategoryIn,WINBOOL bRender,WINBOOL bOutputNeeded,DWORD cOutputTypes,const GUID *pOutputTypes,const REGPINMEDIUM *pMedOut,const CLSID *pPinCategoryOut) { 4917 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); 4918 } 4919 /*** IFilterMapper3 methods ***/ 4920 static inline HRESULT IFilterMapper3_GetICreateDevEnum(IFilterMapper3* This,ICreateDevEnum **ppEnum) { 4921 return This->lpVtbl->GetICreateDevEnum(This,ppEnum); 4922 } 4923 #endif 4924 #endif 4925 4926 #endif 4927 4928 4929 #endif /* __IFilterMapper3_INTERFACE_DEFINED__ */ 4930 4931 typedef enum tagQualityMessageType { 4932 Famine = 0, 4933 Flood = 1 4934 } QualityMessageType; 4935 typedef struct tagQuality { 4936 QualityMessageType Type; 4937 LONG Proportion; 4938 REFERENCE_TIME Late; 4939 REFERENCE_TIME TimeStamp; 4940 } Quality; 4941 typedef IQualityControl *PQUALITYCONTROL; 4942 /***************************************************************************** 4943 * IQualityControl interface 4944 */ 4945 #ifndef __IQualityControl_INTERFACE_DEFINED__ 4946 #define __IQualityControl_INTERFACE_DEFINED__ 4947 4948 DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4949 #if defined(__cplusplus) && !defined(CINTERFACE) 4950 MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770") 4951 IQualityControl : public IUnknown 4952 { 4953 virtual HRESULT STDMETHODCALLTYPE Notify( 4954 IBaseFilter *pSelf, 4955 Quality q) = 0; 4956 4957 virtual HRESULT STDMETHODCALLTYPE SetSink( 4958 IQualityControl *piqc) = 0; 4959 4960 }; 4961 #ifdef __CRT_UUID_DECL 4962 __CRT_UUID_DECL(IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4963 #endif 4964 #else 4965 typedef struct IQualityControlVtbl { 4966 BEGIN_INTERFACE 4967 4968 /*** IUnknown methods ***/ 4969 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4970 IQualityControl *This, 4971 REFIID riid, 4972 void **ppvObject); 4973 4974 ULONG (STDMETHODCALLTYPE *AddRef)( 4975 IQualityControl *This); 4976 4977 ULONG (STDMETHODCALLTYPE *Release)( 4978 IQualityControl *This); 4979 4980 /*** IQualityControl methods ***/ 4981 HRESULT (STDMETHODCALLTYPE *Notify)( 4982 IQualityControl *This, 4983 IBaseFilter *pSelf, 4984 Quality q); 4985 4986 HRESULT (STDMETHODCALLTYPE *SetSink)( 4987 IQualityControl *This, 4988 IQualityControl *piqc); 4989 4990 END_INTERFACE 4991 } IQualityControlVtbl; 4992 4993 interface IQualityControl { 4994 CONST_VTBL IQualityControlVtbl* lpVtbl; 4995 }; 4996 4997 #ifdef COBJMACROS 4998 #ifndef WIDL_C_INLINE_WRAPPERS 4999 /*** IUnknown methods ***/ 5000 #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5001 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This) 5002 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This) 5003 /*** IQualityControl methods ***/ 5004 #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q) 5005 #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc) 5006 #else 5007 /*** IUnknown methods ***/ 5008 static inline HRESULT IQualityControl_QueryInterface(IQualityControl* This,REFIID riid,void **ppvObject) { 5009 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5010 } 5011 static inline ULONG IQualityControl_AddRef(IQualityControl* This) { 5012 return This->lpVtbl->AddRef(This); 5013 } 5014 static inline ULONG IQualityControl_Release(IQualityControl* This) { 5015 return This->lpVtbl->Release(This); 5016 } 5017 /*** IQualityControl methods ***/ 5018 static inline HRESULT IQualityControl_Notify(IQualityControl* This,IBaseFilter *pSelf,Quality q) { 5019 return This->lpVtbl->Notify(This,pSelf,q); 5020 } 5021 static inline HRESULT IQualityControl_SetSink(IQualityControl* This,IQualityControl *piqc) { 5022 return This->lpVtbl->SetSink(This,piqc); 5023 } 5024 #endif 5025 #endif 5026 5027 #endif 5028 5029 5030 #endif /* __IQualityControl_INTERFACE_DEFINED__ */ 5031 5032 enum { 5033 CK_NOCOLORKEY = 0x0, 5034 CK_INDEX = 0x1, 5035 CK_RGB = 0x2 5036 }; 5037 typedef struct tagCOLORKEY { 5038 DWORD KeyType; 5039 DWORD PaletteIndex; 5040 COLORREF LowColorValue; 5041 COLORREF HighColorValue; 5042 } COLORKEY; 5043 enum { 5044 ADVISE_NONE = 0x0, 5045 ADVISE_CLIPPING = 0x1, 5046 ADVISE_PALETTE = 0x2, 5047 ADVISE_COLORKEY = 0x4, 5048 ADVISE_POSITION = 0x8, 5049 ADVISE_DISPLAY_CHANGE = 0x10 5050 }; 5051 #define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION) 5052 5053 #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE) 5054 5055 #ifndef _WINGDI_ 5056 typedef struct _RGNDATAHEADER { 5057 DWORD dwSize; 5058 DWORD iType; 5059 DWORD nCount; 5060 DWORD nRgnSize; 5061 RECT rcBound; 5062 } RGNDATAHEADER; 5063 typedef struct _RGNDATA { 5064 RGNDATAHEADER rdh; 5065 char Buffer[1]; 5066 } RGNDATA; 5067 #endif /* _WINGDI_ */ 5068 /***************************************************************************** 5069 * IOverlayNotify interface 5070 */ 5071 #ifndef __IOverlayNotify_INTERFACE_DEFINED__ 5072 #define __IOverlayNotify_INTERFACE_DEFINED__ 5073 5074 DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5075 #if defined(__cplusplus) && !defined(CINTERFACE) 5076 MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770") 5077 IOverlayNotify : public IUnknown 5078 { 5079 virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 5080 DWORD dwColors, 5081 const PALETTEENTRY *pPalette) = 0; 5082 5083 virtual HRESULT STDMETHODCALLTYPE OnClipChange( 5084 const RECT *pSourceRect, 5085 const RECT *pDestinationRect, 5086 const RGNDATA *pRgnData) = 0; 5087 5088 virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 5089 const COLORKEY *pColorKey) = 0; 5090 5091 virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 5092 const RECT *pSourceRect, 5093 const RECT *pDestinationRect) = 0; 5094 5095 }; 5096 #ifdef __CRT_UUID_DECL 5097 __CRT_UUID_DECL(IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5098 #endif 5099 #else 5100 typedef struct IOverlayNotifyVtbl { 5101 BEGIN_INTERFACE 5102 5103 /*** IUnknown methods ***/ 5104 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5105 IOverlayNotify *This, 5106 REFIID riid, 5107 void **ppvObject); 5108 5109 ULONG (STDMETHODCALLTYPE *AddRef)( 5110 IOverlayNotify *This); 5111 5112 ULONG (STDMETHODCALLTYPE *Release)( 5113 IOverlayNotify *This); 5114 5115 /*** IOverlayNotify methods ***/ 5116 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( 5117 IOverlayNotify *This, 5118 DWORD dwColors, 5119 const PALETTEENTRY *pPalette); 5120 5121 HRESULT (STDMETHODCALLTYPE *OnClipChange)( 5122 IOverlayNotify *This, 5123 const RECT *pSourceRect, 5124 const RECT *pDestinationRect, 5125 const RGNDATA *pRgnData); 5126 5127 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( 5128 IOverlayNotify *This, 5129 const COLORKEY *pColorKey); 5130 5131 HRESULT (STDMETHODCALLTYPE *OnPositionChange)( 5132 IOverlayNotify *This, 5133 const RECT *pSourceRect, 5134 const RECT *pDestinationRect); 5135 5136 END_INTERFACE 5137 } IOverlayNotifyVtbl; 5138 5139 interface IOverlayNotify { 5140 CONST_VTBL IOverlayNotifyVtbl* lpVtbl; 5141 }; 5142 5143 #ifdef COBJMACROS 5144 #ifndef WIDL_C_INLINE_WRAPPERS 5145 /*** IUnknown methods ***/ 5146 #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5147 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 5148 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This) 5149 /*** IOverlayNotify methods ***/ 5150 #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) 5151 #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) 5152 #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) 5153 #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) 5154 #else 5155 /*** IUnknown methods ***/ 5156 static inline HRESULT IOverlayNotify_QueryInterface(IOverlayNotify* This,REFIID riid,void **ppvObject) { 5157 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5158 } 5159 static inline ULONG IOverlayNotify_AddRef(IOverlayNotify* This) { 5160 return This->lpVtbl->AddRef(This); 5161 } 5162 static inline ULONG IOverlayNotify_Release(IOverlayNotify* This) { 5163 return This->lpVtbl->Release(This); 5164 } 5165 /*** IOverlayNotify methods ***/ 5166 static inline HRESULT IOverlayNotify_OnPaletteChange(IOverlayNotify* This,DWORD dwColors,const PALETTEENTRY *pPalette) { 5167 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); 5168 } 5169 static inline HRESULT IOverlayNotify_OnClipChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { 5170 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); 5171 } 5172 static inline HRESULT IOverlayNotify_OnColorKeyChange(IOverlayNotify* This,const COLORKEY *pColorKey) { 5173 return This->lpVtbl->OnColorKeyChange(This,pColorKey); 5174 } 5175 static inline HRESULT IOverlayNotify_OnPositionChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect) { 5176 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); 5177 } 5178 #endif 5179 #endif 5180 5181 #endif 5182 5183 5184 #endif /* __IOverlayNotify_INTERFACE_DEFINED__ */ 5185 5186 typedef IOverlayNotify *POVERLAYNOTIFY; 5187 #if 0 5188 typedef HANDLE HMONITOR; 5189 #endif /* 0 */ 5190 /***************************************************************************** 5191 * IOverlayNotify2 interface 5192 */ 5193 #ifndef __IOverlayNotify2_INTERFACE_DEFINED__ 5194 #define __IOverlayNotify2_INTERFACE_DEFINED__ 5195 5196 DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96); 5197 #if defined(__cplusplus) && !defined(CINTERFACE) 5198 MIDL_INTERFACE("680efa10-d535-11d1-87c8-00a0c9223196") 5199 IOverlayNotify2 : public IOverlayNotify 5200 { 5201 virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 5202 HMONITOR hMonitor) = 0; 5203 5204 }; 5205 #ifdef __CRT_UUID_DECL 5206 __CRT_UUID_DECL(IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96) 5207 #endif 5208 #else 5209 typedef struct IOverlayNotify2Vtbl { 5210 BEGIN_INTERFACE 5211 5212 /*** IUnknown methods ***/ 5213 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5214 IOverlayNotify2 *This, 5215 REFIID riid, 5216 void **ppvObject); 5217 5218 ULONG (STDMETHODCALLTYPE *AddRef)( 5219 IOverlayNotify2 *This); 5220 5221 ULONG (STDMETHODCALLTYPE *Release)( 5222 IOverlayNotify2 *This); 5223 5224 /*** IOverlayNotify methods ***/ 5225 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( 5226 IOverlayNotify2 *This, 5227 DWORD dwColors, 5228 const PALETTEENTRY *pPalette); 5229 5230 HRESULT (STDMETHODCALLTYPE *OnClipChange)( 5231 IOverlayNotify2 *This, 5232 const RECT *pSourceRect, 5233 const RECT *pDestinationRect, 5234 const RGNDATA *pRgnData); 5235 5236 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( 5237 IOverlayNotify2 *This, 5238 const COLORKEY *pColorKey); 5239 5240 HRESULT (STDMETHODCALLTYPE *OnPositionChange)( 5241 IOverlayNotify2 *This, 5242 const RECT *pSourceRect, 5243 const RECT *pDestinationRect); 5244 5245 /*** IOverlayNotify2 methods ***/ 5246 HRESULT (STDMETHODCALLTYPE *OnDisplayChange)( 5247 IOverlayNotify2 *This, 5248 HMONITOR hMonitor); 5249 5250 END_INTERFACE 5251 } IOverlayNotify2Vtbl; 5252 5253 interface IOverlayNotify2 { 5254 CONST_VTBL IOverlayNotify2Vtbl* lpVtbl; 5255 }; 5256 5257 #ifdef COBJMACROS 5258 #ifndef WIDL_C_INLINE_WRAPPERS 5259 /*** IUnknown methods ***/ 5260 #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5261 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This) 5262 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This) 5263 /*** IOverlayNotify methods ***/ 5264 #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) 5265 #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) 5266 #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) 5267 #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) 5268 /*** IOverlayNotify2 methods ***/ 5269 #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor) 5270 #else 5271 /*** IUnknown methods ***/ 5272 static inline HRESULT IOverlayNotify2_QueryInterface(IOverlayNotify2* This,REFIID riid,void **ppvObject) { 5273 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5274 } 5275 static inline ULONG IOverlayNotify2_AddRef(IOverlayNotify2* This) { 5276 return This->lpVtbl->AddRef(This); 5277 } 5278 static inline ULONG IOverlayNotify2_Release(IOverlayNotify2* This) { 5279 return This->lpVtbl->Release(This); 5280 } 5281 /*** IOverlayNotify methods ***/ 5282 static inline HRESULT IOverlayNotify2_OnPaletteChange(IOverlayNotify2* This,DWORD dwColors,const PALETTEENTRY *pPalette) { 5283 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); 5284 } 5285 static inline HRESULT IOverlayNotify2_OnClipChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { 5286 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); 5287 } 5288 static inline HRESULT IOverlayNotify2_OnColorKeyChange(IOverlayNotify2* This,const COLORKEY *pColorKey) { 5289 return This->lpVtbl->OnColorKeyChange(This,pColorKey); 5290 } 5291 static inline HRESULT IOverlayNotify2_OnPositionChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect) { 5292 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); 5293 } 5294 /*** IOverlayNotify2 methods ***/ 5295 static inline HRESULT IOverlayNotify2_OnDisplayChange(IOverlayNotify2* This,HMONITOR hMonitor) { 5296 return This->lpVtbl->OnDisplayChange(This,hMonitor); 5297 } 5298 #endif 5299 #endif 5300 5301 #endif 5302 5303 5304 #endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */ 5305 5306 typedef IOverlayNotify2 *POVERLAYNOTIFY2; 5307 /***************************************************************************** 5308 * IOverlay interface 5309 */ 5310 #ifndef __IOverlay_INTERFACE_DEFINED__ 5311 #define __IOverlay_INTERFACE_DEFINED__ 5312 5313 DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5314 #if defined(__cplusplus) && !defined(CINTERFACE) 5315 MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770") 5316 IOverlay : public IUnknown 5317 { 5318 virtual HRESULT STDMETHODCALLTYPE GetPalette( 5319 DWORD *pdwColors, 5320 PALETTEENTRY **ppPalette) = 0; 5321 5322 virtual HRESULT STDMETHODCALLTYPE SetPalette( 5323 DWORD dwColors, 5324 PALETTEENTRY *pPalette) = 0; 5325 5326 virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 5327 COLORKEY *pColorKey) = 0; 5328 5329 virtual HRESULT STDMETHODCALLTYPE GetColorKey( 5330 COLORKEY *pColorKey) = 0; 5331 5332 virtual HRESULT STDMETHODCALLTYPE SetColorKey( 5333 COLORKEY *pColorKey) = 0; 5334 5335 virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 5336 HWND *pHwnd) = 0; 5337 5338 virtual HRESULT STDMETHODCALLTYPE GetClipList( 5339 RECT *pSourceRect, 5340 RECT *pDestinationRect, 5341 RGNDATA **ppRgnData) = 0; 5342 5343 virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 5344 RECT *pSourceRect, 5345 RECT *pDestinationRect) = 0; 5346 5347 virtual HRESULT STDMETHODCALLTYPE Advise( 5348 IOverlayNotify *pOverlayNotify, 5349 DWORD dwInterests) = 0; 5350 5351 virtual HRESULT STDMETHODCALLTYPE Unadvise( 5352 ) = 0; 5353 5354 }; 5355 #ifdef __CRT_UUID_DECL 5356 __CRT_UUID_DECL(IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5357 #endif 5358 #else 5359 typedef struct IOverlayVtbl { 5360 BEGIN_INTERFACE 5361 5362 /*** IUnknown methods ***/ 5363 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5364 IOverlay *This, 5365 REFIID riid, 5366 void **ppvObject); 5367 5368 ULONG (STDMETHODCALLTYPE *AddRef)( 5369 IOverlay *This); 5370 5371 ULONG (STDMETHODCALLTYPE *Release)( 5372 IOverlay *This); 5373 5374 /*** IOverlay methods ***/ 5375 HRESULT (STDMETHODCALLTYPE *GetPalette)( 5376 IOverlay *This, 5377 DWORD *pdwColors, 5378 PALETTEENTRY **ppPalette); 5379 5380 HRESULT (STDMETHODCALLTYPE *SetPalette)( 5381 IOverlay *This, 5382 DWORD dwColors, 5383 PALETTEENTRY *pPalette); 5384 5385 HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)( 5386 IOverlay *This, 5387 COLORKEY *pColorKey); 5388 5389 HRESULT (STDMETHODCALLTYPE *GetColorKey)( 5390 IOverlay *This, 5391 COLORKEY *pColorKey); 5392 5393 HRESULT (STDMETHODCALLTYPE *SetColorKey)( 5394 IOverlay *This, 5395 COLORKEY *pColorKey); 5396 5397 HRESULT (STDMETHODCALLTYPE *GetWindowHandle)( 5398 IOverlay *This, 5399 HWND *pHwnd); 5400 5401 HRESULT (STDMETHODCALLTYPE *GetClipList)( 5402 IOverlay *This, 5403 RECT *pSourceRect, 5404 RECT *pDestinationRect, 5405 RGNDATA **ppRgnData); 5406 5407 HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( 5408 IOverlay *This, 5409 RECT *pSourceRect, 5410 RECT *pDestinationRect); 5411 5412 HRESULT (STDMETHODCALLTYPE *Advise)( 5413 IOverlay *This, 5414 IOverlayNotify *pOverlayNotify, 5415 DWORD dwInterests); 5416 5417 HRESULT (STDMETHODCALLTYPE *Unadvise)( 5418 IOverlay *This); 5419 5420 END_INTERFACE 5421 } IOverlayVtbl; 5422 5423 interface IOverlay { 5424 CONST_VTBL IOverlayVtbl* lpVtbl; 5425 }; 5426 5427 #ifdef COBJMACROS 5428 #ifndef WIDL_C_INLINE_WRAPPERS 5429 /*** IUnknown methods ***/ 5430 #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5431 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This) 5432 #define IOverlay_Release(This) (This)->lpVtbl->Release(This) 5433 /*** IOverlay methods ***/ 5434 #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette) 5435 #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette) 5436 #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey) 5437 #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey) 5438 #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey) 5439 #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd) 5440 #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) 5441 #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect) 5442 #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests) 5443 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This) 5444 #else 5445 /*** IUnknown methods ***/ 5446 static inline HRESULT IOverlay_QueryInterface(IOverlay* This,REFIID riid,void **ppvObject) { 5447 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5448 } 5449 static inline ULONG IOverlay_AddRef(IOverlay* This) { 5450 return This->lpVtbl->AddRef(This); 5451 } 5452 static inline ULONG IOverlay_Release(IOverlay* This) { 5453 return This->lpVtbl->Release(This); 5454 } 5455 /*** IOverlay methods ***/ 5456 static inline HRESULT IOverlay_GetPalette(IOverlay* This,DWORD *pdwColors,PALETTEENTRY **ppPalette) { 5457 return This->lpVtbl->GetPalette(This,pdwColors,ppPalette); 5458 } 5459 static inline HRESULT IOverlay_SetPalette(IOverlay* This,DWORD dwColors,PALETTEENTRY *pPalette) { 5460 return This->lpVtbl->SetPalette(This,dwColors,pPalette); 5461 } 5462 static inline HRESULT IOverlay_GetDefaultColorKey(IOverlay* This,COLORKEY *pColorKey) { 5463 return This->lpVtbl->GetDefaultColorKey(This,pColorKey); 5464 } 5465 static inline HRESULT IOverlay_GetColorKey(IOverlay* This,COLORKEY *pColorKey) { 5466 return This->lpVtbl->GetColorKey(This,pColorKey); 5467 } 5468 static inline HRESULT IOverlay_SetColorKey(IOverlay* This,COLORKEY *pColorKey) { 5469 return This->lpVtbl->SetColorKey(This,pColorKey); 5470 } 5471 static inline HRESULT IOverlay_GetWindowHandle(IOverlay* This,HWND *pHwnd) { 5472 return This->lpVtbl->GetWindowHandle(This,pHwnd); 5473 } 5474 static inline HRESULT IOverlay_GetClipList(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) { 5475 return This->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData); 5476 } 5477 static inline HRESULT IOverlay_GetVideoPosition(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect) { 5478 return This->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect); 5479 } 5480 static inline HRESULT IOverlay_Advise(IOverlay* This,IOverlayNotify *pOverlayNotify,DWORD dwInterests) { 5481 return This->lpVtbl->Advise(This,pOverlayNotify,dwInterests); 5482 } 5483 static inline HRESULT IOverlay_Unadvise(IOverlay* This) { 5484 return This->lpVtbl->Unadvise(This); 5485 } 5486 #endif 5487 #endif 5488 5489 #endif 5490 5491 5492 #endif /* __IOverlay_INTERFACE_DEFINED__ */ 5493 5494 typedef IOverlay *POVERLAY; 5495 /***************************************************************************** 5496 * IMediaEventSink interface 5497 */ 5498 #ifndef __IMediaEventSink_INTERFACE_DEFINED__ 5499 #define __IMediaEventSink_INTERFACE_DEFINED__ 5500 5501 DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5502 #if defined(__cplusplus) && !defined(CINTERFACE) 5503 MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770") 5504 IMediaEventSink : public IUnknown 5505 { 5506 virtual HRESULT STDMETHODCALLTYPE Notify( 5507 LONG EventCode, 5508 LONG_PTR EventParam1, 5509 LONG_PTR EventParam2) = 0; 5510 5511 }; 5512 #ifdef __CRT_UUID_DECL 5513 __CRT_UUID_DECL(IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5514 #endif 5515 #else 5516 typedef struct IMediaEventSinkVtbl { 5517 BEGIN_INTERFACE 5518 5519 /*** IUnknown methods ***/ 5520 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5521 IMediaEventSink *This, 5522 REFIID riid, 5523 void **ppvObject); 5524 5525 ULONG (STDMETHODCALLTYPE *AddRef)( 5526 IMediaEventSink *This); 5527 5528 ULONG (STDMETHODCALLTYPE *Release)( 5529 IMediaEventSink *This); 5530 5531 /*** IMediaEventSink methods ***/ 5532 HRESULT (STDMETHODCALLTYPE *Notify)( 5533 IMediaEventSink *This, 5534 LONG EventCode, 5535 LONG_PTR EventParam1, 5536 LONG_PTR EventParam2); 5537 5538 END_INTERFACE 5539 } IMediaEventSinkVtbl; 5540 5541 interface IMediaEventSink { 5542 CONST_VTBL IMediaEventSinkVtbl* lpVtbl; 5543 }; 5544 5545 #ifdef COBJMACROS 5546 #ifndef WIDL_C_INLINE_WRAPPERS 5547 /*** IUnknown methods ***/ 5548 #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5549 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) 5550 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This) 5551 /*** IMediaEventSink methods ***/ 5552 #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2) 5553 #else 5554 /*** IUnknown methods ***/ 5555 static inline HRESULT IMediaEventSink_QueryInterface(IMediaEventSink* This,REFIID riid,void **ppvObject) { 5556 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5557 } 5558 static inline ULONG IMediaEventSink_AddRef(IMediaEventSink* This) { 5559 return This->lpVtbl->AddRef(This); 5560 } 5561 static inline ULONG IMediaEventSink_Release(IMediaEventSink* This) { 5562 return This->lpVtbl->Release(This); 5563 } 5564 /*** IMediaEventSink methods ***/ 5565 static inline HRESULT IMediaEventSink_Notify(IMediaEventSink* This,LONG EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) { 5566 return This->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2); 5567 } 5568 #endif 5569 #endif 5570 5571 #endif 5572 5573 5574 #endif /* __IMediaEventSink_INTERFACE_DEFINED__ */ 5575 5576 typedef IMediaEventSink *PMEDIAEVENTSINK; 5577 /***************************************************************************** 5578 * IFileSourceFilter interface 5579 */ 5580 #ifndef __IFileSourceFilter_INTERFACE_DEFINED__ 5581 #define __IFileSourceFilter_INTERFACE_DEFINED__ 5582 5583 DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5584 #if defined(__cplusplus) && !defined(CINTERFACE) 5585 MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770") 5586 IFileSourceFilter : public IUnknown 5587 { 5588 virtual HRESULT STDMETHODCALLTYPE Load( 5589 LPCOLESTR pszFileName, 5590 const AM_MEDIA_TYPE *pmt) = 0; 5591 5592 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 5593 LPOLESTR *ppszFileName, 5594 AM_MEDIA_TYPE *pmt) = 0; 5595 5596 }; 5597 #ifdef __CRT_UUID_DECL 5598 __CRT_UUID_DECL(IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5599 #endif 5600 #else 5601 typedef struct IFileSourceFilterVtbl { 5602 BEGIN_INTERFACE 5603 5604 /*** IUnknown methods ***/ 5605 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5606 IFileSourceFilter *This, 5607 REFIID riid, 5608 void **ppvObject); 5609 5610 ULONG (STDMETHODCALLTYPE *AddRef)( 5611 IFileSourceFilter *This); 5612 5613 ULONG (STDMETHODCALLTYPE *Release)( 5614 IFileSourceFilter *This); 5615 5616 /*** IFileSourceFilter methods ***/ 5617 HRESULT (STDMETHODCALLTYPE *Load)( 5618 IFileSourceFilter *This, 5619 LPCOLESTR pszFileName, 5620 const AM_MEDIA_TYPE *pmt); 5621 5622 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 5623 IFileSourceFilter *This, 5624 LPOLESTR *ppszFileName, 5625 AM_MEDIA_TYPE *pmt); 5626 5627 END_INTERFACE 5628 } IFileSourceFilterVtbl; 5629 5630 interface IFileSourceFilter { 5631 CONST_VTBL IFileSourceFilterVtbl* lpVtbl; 5632 }; 5633 5634 #ifdef COBJMACROS 5635 #ifndef WIDL_C_INLINE_WRAPPERS 5636 /*** IUnknown methods ***/ 5637 #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5638 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 5639 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This) 5640 /*** IFileSourceFilter methods ***/ 5641 #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt) 5642 #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 5643 #else 5644 /*** IUnknown methods ***/ 5645 static inline HRESULT IFileSourceFilter_QueryInterface(IFileSourceFilter* This,REFIID riid,void **ppvObject) { 5646 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5647 } 5648 static inline ULONG IFileSourceFilter_AddRef(IFileSourceFilter* This) { 5649 return This->lpVtbl->AddRef(This); 5650 } 5651 static inline ULONG IFileSourceFilter_Release(IFileSourceFilter* This) { 5652 return This->lpVtbl->Release(This); 5653 } 5654 /*** IFileSourceFilter methods ***/ 5655 static inline HRESULT IFileSourceFilter_Load(IFileSourceFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 5656 return This->lpVtbl->Load(This,pszFileName,pmt); 5657 } 5658 static inline HRESULT IFileSourceFilter_GetCurFile(IFileSourceFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 5659 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 5660 } 5661 #endif 5662 #endif 5663 5664 #endif 5665 5666 5667 #endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */ 5668 5669 typedef IFileSourceFilter *PFILTERFILESOURCE; 5670 /***************************************************************************** 5671 * IFileSinkFilter interface 5672 */ 5673 #ifndef __IFileSinkFilter_INTERFACE_DEFINED__ 5674 #define __IFileSinkFilter_INTERFACE_DEFINED__ 5675 5676 DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); 5677 #if defined(__cplusplus) && !defined(CINTERFACE) 5678 MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6") 5679 IFileSinkFilter : public IUnknown 5680 { 5681 virtual HRESULT STDMETHODCALLTYPE SetFileName( 5682 LPCOLESTR pszFileName, 5683 const AM_MEDIA_TYPE *pmt) = 0; 5684 5685 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 5686 LPOLESTR *ppszFileName, 5687 AM_MEDIA_TYPE *pmt) = 0; 5688 5689 }; 5690 #ifdef __CRT_UUID_DECL 5691 __CRT_UUID_DECL(IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) 5692 #endif 5693 #else 5694 typedef struct IFileSinkFilterVtbl { 5695 BEGIN_INTERFACE 5696 5697 /*** IUnknown methods ***/ 5698 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5699 IFileSinkFilter *This, 5700 REFIID riid, 5701 void **ppvObject); 5702 5703 ULONG (STDMETHODCALLTYPE *AddRef)( 5704 IFileSinkFilter *This); 5705 5706 ULONG (STDMETHODCALLTYPE *Release)( 5707 IFileSinkFilter *This); 5708 5709 /*** IFileSinkFilter methods ***/ 5710 HRESULT (STDMETHODCALLTYPE *SetFileName)( 5711 IFileSinkFilter *This, 5712 LPCOLESTR pszFileName, 5713 const AM_MEDIA_TYPE *pmt); 5714 5715 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 5716 IFileSinkFilter *This, 5717 LPOLESTR *ppszFileName, 5718 AM_MEDIA_TYPE *pmt); 5719 5720 END_INTERFACE 5721 } IFileSinkFilterVtbl; 5722 5723 interface IFileSinkFilter { 5724 CONST_VTBL IFileSinkFilterVtbl* lpVtbl; 5725 }; 5726 5727 #ifdef COBJMACROS 5728 #ifndef WIDL_C_INLINE_WRAPPERS 5729 /*** IUnknown methods ***/ 5730 #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5731 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 5732 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This) 5733 /*** IFileSinkFilter methods ***/ 5734 #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) 5735 #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 5736 #else 5737 /*** IUnknown methods ***/ 5738 static inline HRESULT IFileSinkFilter_QueryInterface(IFileSinkFilter* This,REFIID riid,void **ppvObject) { 5739 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5740 } 5741 static inline ULONG IFileSinkFilter_AddRef(IFileSinkFilter* This) { 5742 return This->lpVtbl->AddRef(This); 5743 } 5744 static inline ULONG IFileSinkFilter_Release(IFileSinkFilter* This) { 5745 return This->lpVtbl->Release(This); 5746 } 5747 /*** IFileSinkFilter methods ***/ 5748 static inline HRESULT IFileSinkFilter_SetFileName(IFileSinkFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 5749 return This->lpVtbl->SetFileName(This,pszFileName,pmt); 5750 } 5751 static inline HRESULT IFileSinkFilter_GetCurFile(IFileSinkFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 5752 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 5753 } 5754 #endif 5755 #endif 5756 5757 #endif 5758 5759 5760 #endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */ 5761 5762 typedef IFileSinkFilter *PFILTERFILESINK; 5763 /***************************************************************************** 5764 * IFileSinkFilter2 interface 5765 */ 5766 #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__ 5767 #define __IFileSinkFilter2_INTERFACE_DEFINED__ 5768 5769 DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86); 5770 #if defined(__cplusplus) && !defined(CINTERFACE) 5771 MIDL_INTERFACE("00855b90-ce1b-11d0-bd4f-00a0c911ce86") 5772 IFileSinkFilter2 : public IFileSinkFilter 5773 { 5774 virtual HRESULT STDMETHODCALLTYPE SetMode( 5775 DWORD dwFlags) = 0; 5776 5777 virtual HRESULT STDMETHODCALLTYPE GetMode( 5778 DWORD *pdwFlags) = 0; 5779 5780 }; 5781 #ifdef __CRT_UUID_DECL 5782 __CRT_UUID_DECL(IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86) 5783 #endif 5784 #else 5785 typedef struct IFileSinkFilter2Vtbl { 5786 BEGIN_INTERFACE 5787 5788 /*** IUnknown methods ***/ 5789 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5790 IFileSinkFilter2 *This, 5791 REFIID riid, 5792 void **ppvObject); 5793 5794 ULONG (STDMETHODCALLTYPE *AddRef)( 5795 IFileSinkFilter2 *This); 5796 5797 ULONG (STDMETHODCALLTYPE *Release)( 5798 IFileSinkFilter2 *This); 5799 5800 /*** IFileSinkFilter methods ***/ 5801 HRESULT (STDMETHODCALLTYPE *SetFileName)( 5802 IFileSinkFilter2 *This, 5803 LPCOLESTR pszFileName, 5804 const AM_MEDIA_TYPE *pmt); 5805 5806 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 5807 IFileSinkFilter2 *This, 5808 LPOLESTR *ppszFileName, 5809 AM_MEDIA_TYPE *pmt); 5810 5811 /*** IFileSinkFilter2 methods ***/ 5812 HRESULT (STDMETHODCALLTYPE *SetMode)( 5813 IFileSinkFilter2 *This, 5814 DWORD dwFlags); 5815 5816 HRESULT (STDMETHODCALLTYPE *GetMode)( 5817 IFileSinkFilter2 *This, 5818 DWORD *pdwFlags); 5819 5820 END_INTERFACE 5821 } IFileSinkFilter2Vtbl; 5822 5823 interface IFileSinkFilter2 { 5824 CONST_VTBL IFileSinkFilter2Vtbl* lpVtbl; 5825 }; 5826 5827 #ifdef COBJMACROS 5828 #ifndef WIDL_C_INLINE_WRAPPERS 5829 /*** IUnknown methods ***/ 5830 #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5831 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This) 5832 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This) 5833 /*** IFileSinkFilter methods ***/ 5834 #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) 5835 #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 5836 /*** IFileSinkFilter2 methods ***/ 5837 #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags) 5838 #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags) 5839 #else 5840 /*** IUnknown methods ***/ 5841 static inline HRESULT IFileSinkFilter2_QueryInterface(IFileSinkFilter2* This,REFIID riid,void **ppvObject) { 5842 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5843 } 5844 static inline ULONG IFileSinkFilter2_AddRef(IFileSinkFilter2* This) { 5845 return This->lpVtbl->AddRef(This); 5846 } 5847 static inline ULONG IFileSinkFilter2_Release(IFileSinkFilter2* This) { 5848 return This->lpVtbl->Release(This); 5849 } 5850 /*** IFileSinkFilter methods ***/ 5851 static inline HRESULT IFileSinkFilter2_SetFileName(IFileSinkFilter2* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 5852 return This->lpVtbl->SetFileName(This,pszFileName,pmt); 5853 } 5854 static inline HRESULT IFileSinkFilter2_GetCurFile(IFileSinkFilter2* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 5855 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 5856 } 5857 /*** IFileSinkFilter2 methods ***/ 5858 static inline HRESULT IFileSinkFilter2_SetMode(IFileSinkFilter2* This,DWORD dwFlags) { 5859 return This->lpVtbl->SetMode(This,dwFlags); 5860 } 5861 static inline HRESULT IFileSinkFilter2_GetMode(IFileSinkFilter2* This,DWORD *pdwFlags) { 5862 return This->lpVtbl->GetMode(This,pdwFlags); 5863 } 5864 #endif 5865 #endif 5866 5867 #endif 5868 5869 5870 #endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */ 5871 5872 typedef IFileSinkFilter2 *PFILESINKFILTER2; 5873 typedef enum __WIDL_strmif_generated_name_00000015 { 5874 AM_FILE_OVERWRITE = 0x1 5875 } AM_FILESINK_FLAGS; 5876 /***************************************************************************** 5877 * IGraphBuilder interface 5878 */ 5879 #ifndef __IGraphBuilder_INTERFACE_DEFINED__ 5880 #define __IGraphBuilder_INTERFACE_DEFINED__ 5881 5882 DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5883 #if defined(__cplusplus) && !defined(CINTERFACE) 5884 MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770") 5885 IGraphBuilder : public IFilterGraph 5886 { 5887 virtual HRESULT STDMETHODCALLTYPE Connect( 5888 IPin *ppinOut, 5889 IPin *ppinIn) = 0; 5890 5891 virtual HRESULT STDMETHODCALLTYPE Render( 5892 IPin *ppinOut) = 0; 5893 5894 virtual HRESULT STDMETHODCALLTYPE RenderFile( 5895 LPCWSTR lpcwstrFile, 5896 LPCWSTR lpcwstrPlayList) = 0; 5897 5898 virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 5899 LPCWSTR lpcwstrFileName, 5900 LPCWSTR lpcwstrFilterName, 5901 IBaseFilter **ppFilter) = 0; 5902 5903 virtual HRESULT STDMETHODCALLTYPE SetLogFile( 5904 DWORD_PTR hFile) = 0; 5905 5906 virtual HRESULT STDMETHODCALLTYPE Abort( 5907 ) = 0; 5908 5909 virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( 5910 ) = 0; 5911 5912 }; 5913 #ifdef __CRT_UUID_DECL 5914 __CRT_UUID_DECL(IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5915 #endif 5916 #else 5917 typedef struct IGraphBuilderVtbl { 5918 BEGIN_INTERFACE 5919 5920 /*** IUnknown methods ***/ 5921 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5922 IGraphBuilder *This, 5923 REFIID riid, 5924 void **ppvObject); 5925 5926 ULONG (STDMETHODCALLTYPE *AddRef)( 5927 IGraphBuilder *This); 5928 5929 ULONG (STDMETHODCALLTYPE *Release)( 5930 IGraphBuilder *This); 5931 5932 /*** IFilterGraph methods ***/ 5933 HRESULT (STDMETHODCALLTYPE *AddFilter)( 5934 IGraphBuilder *This, 5935 IBaseFilter *pFilter, 5936 LPCWSTR pName); 5937 5938 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 5939 IGraphBuilder *This, 5940 IBaseFilter *pFilter); 5941 5942 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 5943 IGraphBuilder *This, 5944 IEnumFilters **ppEnum); 5945 5946 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 5947 IGraphBuilder *This, 5948 LPCWSTR pName, 5949 IBaseFilter **ppFilter); 5950 5951 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 5952 IGraphBuilder *This, 5953 IPin *ppinOut, 5954 IPin *ppinIn, 5955 const AM_MEDIA_TYPE *pmt); 5956 5957 HRESULT (STDMETHODCALLTYPE *Reconnect)( 5958 IGraphBuilder *This, 5959 IPin *ppin); 5960 5961 HRESULT (STDMETHODCALLTYPE *Disconnect)( 5962 IGraphBuilder *This, 5963 IPin *ppin); 5964 5965 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 5966 IGraphBuilder *This); 5967 5968 /*** IGraphBuilder methods ***/ 5969 HRESULT (STDMETHODCALLTYPE *Connect)( 5970 IGraphBuilder *This, 5971 IPin *ppinOut, 5972 IPin *ppinIn); 5973 5974 HRESULT (STDMETHODCALLTYPE *Render)( 5975 IGraphBuilder *This, 5976 IPin *ppinOut); 5977 5978 HRESULT (STDMETHODCALLTYPE *RenderFile)( 5979 IGraphBuilder *This, 5980 LPCWSTR lpcwstrFile, 5981 LPCWSTR lpcwstrPlayList); 5982 5983 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( 5984 IGraphBuilder *This, 5985 LPCWSTR lpcwstrFileName, 5986 LPCWSTR lpcwstrFilterName, 5987 IBaseFilter **ppFilter); 5988 5989 HRESULT (STDMETHODCALLTYPE *SetLogFile)( 5990 IGraphBuilder *This, 5991 DWORD_PTR hFile); 5992 5993 HRESULT (STDMETHODCALLTYPE *Abort)( 5994 IGraphBuilder *This); 5995 5996 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( 5997 IGraphBuilder *This); 5998 5999 END_INTERFACE 6000 } IGraphBuilderVtbl; 6001 6002 interface IGraphBuilder { 6003 CONST_VTBL IGraphBuilderVtbl* lpVtbl; 6004 }; 6005 6006 #ifdef COBJMACROS 6007 #ifndef WIDL_C_INLINE_WRAPPERS 6008 /*** IUnknown methods ***/ 6009 #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6010 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 6011 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 6012 /*** IFilterGraph methods ***/ 6013 #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 6014 #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 6015 #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 6016 #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 6017 #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 6018 #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 6019 #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 6020 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 6021 /*** IGraphBuilder methods ***/ 6022 #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) 6023 #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) 6024 #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) 6025 #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) 6026 #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) 6027 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This) 6028 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) 6029 #else 6030 /*** IUnknown methods ***/ 6031 static inline HRESULT IGraphBuilder_QueryInterface(IGraphBuilder* This,REFIID riid,void **ppvObject) { 6032 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6033 } 6034 static inline ULONG IGraphBuilder_AddRef(IGraphBuilder* This) { 6035 return This->lpVtbl->AddRef(This); 6036 } 6037 static inline ULONG IGraphBuilder_Release(IGraphBuilder* This) { 6038 return This->lpVtbl->Release(This); 6039 } 6040 /*** IFilterGraph methods ***/ 6041 static inline HRESULT IGraphBuilder_AddFilter(IGraphBuilder* This,IBaseFilter *pFilter,LPCWSTR pName) { 6042 return This->lpVtbl->AddFilter(This,pFilter,pName); 6043 } 6044 static inline HRESULT IGraphBuilder_RemoveFilter(IGraphBuilder* This,IBaseFilter *pFilter) { 6045 return This->lpVtbl->RemoveFilter(This,pFilter); 6046 } 6047 static inline HRESULT IGraphBuilder_EnumFilters(IGraphBuilder* This,IEnumFilters **ppEnum) { 6048 return This->lpVtbl->EnumFilters(This,ppEnum); 6049 } 6050 static inline HRESULT IGraphBuilder_FindFilterByName(IGraphBuilder* This,LPCWSTR pName,IBaseFilter **ppFilter) { 6051 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 6052 } 6053 static inline HRESULT IGraphBuilder_ConnectDirect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 6054 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 6055 } 6056 static inline HRESULT IGraphBuilder_Reconnect(IGraphBuilder* This,IPin *ppin) { 6057 return This->lpVtbl->Reconnect(This,ppin); 6058 } 6059 static inline HRESULT IGraphBuilder_Disconnect(IGraphBuilder* This,IPin *ppin) { 6060 return This->lpVtbl->Disconnect(This,ppin); 6061 } 6062 static inline HRESULT IGraphBuilder_SetDefaultSyncSource(IGraphBuilder* This) { 6063 return This->lpVtbl->SetDefaultSyncSource(This); 6064 } 6065 /*** IGraphBuilder methods ***/ 6066 static inline HRESULT IGraphBuilder_Connect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn) { 6067 return This->lpVtbl->Connect(This,ppinOut,ppinIn); 6068 } 6069 static inline HRESULT IGraphBuilder_Render(IGraphBuilder* This,IPin *ppinOut) { 6070 return This->lpVtbl->Render(This,ppinOut); 6071 } 6072 static inline HRESULT IGraphBuilder_RenderFile(IGraphBuilder* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { 6073 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); 6074 } 6075 static inline HRESULT IGraphBuilder_AddSourceFilter(IGraphBuilder* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 6076 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); 6077 } 6078 static inline HRESULT IGraphBuilder_SetLogFile(IGraphBuilder* This,DWORD_PTR hFile) { 6079 return This->lpVtbl->SetLogFile(This,hFile); 6080 } 6081 static inline HRESULT IGraphBuilder_Abort(IGraphBuilder* This) { 6082 return This->lpVtbl->Abort(This); 6083 } 6084 static inline HRESULT IGraphBuilder_ShouldOperationContinue(IGraphBuilder* This) { 6085 return This->lpVtbl->ShouldOperationContinue(This); 6086 } 6087 #endif 6088 #endif 6089 6090 #endif 6091 6092 6093 #endif /* __IGraphBuilder_INTERFACE_DEFINED__ */ 6094 6095 /***************************************************************************** 6096 * ICaptureGraphBuilder interface 6097 */ 6098 #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__ 6099 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__ 6100 6101 DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 6102 #if defined(__cplusplus) && !defined(CINTERFACE) 6103 MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5") 6104 ICaptureGraphBuilder : public IUnknown 6105 { 6106 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 6107 IGraphBuilder *pfg) = 0; 6108 6109 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 6110 IGraphBuilder **ppfg) = 0; 6111 6112 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 6113 const GUID *pType, 6114 LPCOLESTR lpstrFile, 6115 IBaseFilter **ppf, 6116 IFileSinkFilter **ppSink) = 0; 6117 6118 virtual HRESULT STDMETHODCALLTYPE FindInterface( 6119 const GUID *pCategory, 6120 IBaseFilter *pf, 6121 REFIID riid, 6122 void **ppint) = 0; 6123 6124 virtual HRESULT STDMETHODCALLTYPE RenderStream( 6125 const GUID *pCategory, 6126 IUnknown *pSource, 6127 IBaseFilter *pfCompressor, 6128 IBaseFilter *pfRenderer) = 0; 6129 6130 virtual HRESULT STDMETHODCALLTYPE ControlStream( 6131 const GUID *pCategory, 6132 IBaseFilter *pFilter, 6133 REFERENCE_TIME *pstart, 6134 REFERENCE_TIME *pstop, 6135 WORD wStartCookie, 6136 WORD wStopCookie) = 0; 6137 6138 virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 6139 LPCOLESTR lpstr, 6140 DWORDLONG dwlSize) = 0; 6141 6142 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 6143 LPOLESTR lpwstrOld, 6144 LPOLESTR lpwstrNew, 6145 int fAllowEscAbort, 6146 IAMCopyCaptureFileProgress *pCallback) = 0; 6147 6148 }; 6149 #ifdef __CRT_UUID_DECL 6150 __CRT_UUID_DECL(ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 6151 #endif 6152 #else 6153 typedef struct ICaptureGraphBuilderVtbl { 6154 BEGIN_INTERFACE 6155 6156 /*** IUnknown methods ***/ 6157 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6158 ICaptureGraphBuilder *This, 6159 REFIID riid, 6160 void **ppvObject); 6161 6162 ULONG (STDMETHODCALLTYPE *AddRef)( 6163 ICaptureGraphBuilder *This); 6164 6165 ULONG (STDMETHODCALLTYPE *Release)( 6166 ICaptureGraphBuilder *This); 6167 6168 /*** ICaptureGraphBuilder methods ***/ 6169 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( 6170 ICaptureGraphBuilder *This, 6171 IGraphBuilder *pfg); 6172 6173 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( 6174 ICaptureGraphBuilder *This, 6175 IGraphBuilder **ppfg); 6176 6177 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( 6178 ICaptureGraphBuilder *This, 6179 const GUID *pType, 6180 LPCOLESTR lpstrFile, 6181 IBaseFilter **ppf, 6182 IFileSinkFilter **ppSink); 6183 6184 HRESULT (STDMETHODCALLTYPE *FindInterface)( 6185 ICaptureGraphBuilder *This, 6186 const GUID *pCategory, 6187 IBaseFilter *pf, 6188 REFIID riid, 6189 void **ppint); 6190 6191 HRESULT (STDMETHODCALLTYPE *RenderStream)( 6192 ICaptureGraphBuilder *This, 6193 const GUID *pCategory, 6194 IUnknown *pSource, 6195 IBaseFilter *pfCompressor, 6196 IBaseFilter *pfRenderer); 6197 6198 HRESULT (STDMETHODCALLTYPE *ControlStream)( 6199 ICaptureGraphBuilder *This, 6200 const GUID *pCategory, 6201 IBaseFilter *pFilter, 6202 REFERENCE_TIME *pstart, 6203 REFERENCE_TIME *pstop, 6204 WORD wStartCookie, 6205 WORD wStopCookie); 6206 6207 HRESULT (STDMETHODCALLTYPE *AllocCapFile)( 6208 ICaptureGraphBuilder *This, 6209 LPCOLESTR lpstr, 6210 DWORDLONG dwlSize); 6211 6212 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( 6213 ICaptureGraphBuilder *This, 6214 LPOLESTR lpwstrOld, 6215 LPOLESTR lpwstrNew, 6216 int fAllowEscAbort, 6217 IAMCopyCaptureFileProgress *pCallback); 6218 6219 END_INTERFACE 6220 } ICaptureGraphBuilderVtbl; 6221 6222 interface ICaptureGraphBuilder { 6223 CONST_VTBL ICaptureGraphBuilderVtbl* lpVtbl; 6224 }; 6225 6226 #ifdef COBJMACROS 6227 #ifndef WIDL_C_INLINE_WRAPPERS 6228 /*** IUnknown methods ***/ 6229 #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6230 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 6231 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 6232 /*** ICaptureGraphBuilder methods ***/ 6233 #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) 6234 #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) 6235 #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) 6236 #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint) 6237 #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) 6238 #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) 6239 #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) 6240 #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) 6241 #else 6242 /*** IUnknown methods ***/ 6243 static inline HRESULT ICaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder* This,REFIID riid,void **ppvObject) { 6244 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6245 } 6246 static inline ULONG ICaptureGraphBuilder_AddRef(ICaptureGraphBuilder* This) { 6247 return This->lpVtbl->AddRef(This); 6248 } 6249 static inline ULONG ICaptureGraphBuilder_Release(ICaptureGraphBuilder* This) { 6250 return This->lpVtbl->Release(This); 6251 } 6252 /*** ICaptureGraphBuilder methods ***/ 6253 static inline HRESULT ICaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder *pfg) { 6254 return This->lpVtbl->SetFiltergraph(This,pfg); 6255 } 6256 static inline HRESULT ICaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder **ppfg) { 6257 return This->lpVtbl->GetFiltergraph(This,ppfg); 6258 } 6259 static inline HRESULT ICaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { 6260 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); 6261 } 6262 static inline HRESULT ICaptureGraphBuilder_FindInterface(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) { 6263 return This->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint); 6264 } 6265 static inline HRESULT ICaptureGraphBuilder_RenderStream(ICaptureGraphBuilder* This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { 6266 return This->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer); 6267 } 6268 static inline HRESULT ICaptureGraphBuilder_ControlStream(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) { 6269 return This->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie); 6270 } 6271 static inline HRESULT ICaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { 6272 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); 6273 } 6274 static inline HRESULT ICaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { 6275 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); 6276 } 6277 #endif 6278 #endif 6279 6280 #endif 6281 6282 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( 6283 ICaptureGraphBuilder* This, 6284 const GUID *pCategory, 6285 IBaseFilter *pf, 6286 REFIID riid, 6287 IUnknown **ppint); 6288 void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub( 6289 IRpcStubBuffer* This, 6290 IRpcChannelBuffer* pRpcChannelBuffer, 6291 PRPC_MESSAGE pRpcMessage, 6292 DWORD* pdwStubPhase); 6293 HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy( 6294 ICaptureGraphBuilder* This, 6295 const GUID *pCategory, 6296 IBaseFilter *pf, 6297 REFIID riid, 6298 void **ppint); 6299 HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub( 6300 ICaptureGraphBuilder* This, 6301 const GUID *pCategory, 6302 IBaseFilter *pf, 6303 REFIID riid, 6304 IUnknown **ppint); 6305 6306 #endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */ 6307 6308 /***************************************************************************** 6309 * IAMCopyCaptureFileProgress interface 6310 */ 6311 #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ 6312 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ 6313 6314 DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 6315 #if defined(__cplusplus) && !defined(CINTERFACE) 6316 MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5") 6317 IAMCopyCaptureFileProgress : public IUnknown 6318 { 6319 virtual HRESULT STDMETHODCALLTYPE Progress( 6320 int iProgress) = 0; 6321 6322 }; 6323 #ifdef __CRT_UUID_DECL 6324 __CRT_UUID_DECL(IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 6325 #endif 6326 #else 6327 typedef struct IAMCopyCaptureFileProgressVtbl { 6328 BEGIN_INTERFACE 6329 6330 /*** IUnknown methods ***/ 6331 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6332 IAMCopyCaptureFileProgress *This, 6333 REFIID riid, 6334 void **ppvObject); 6335 6336 ULONG (STDMETHODCALLTYPE *AddRef)( 6337 IAMCopyCaptureFileProgress *This); 6338 6339 ULONG (STDMETHODCALLTYPE *Release)( 6340 IAMCopyCaptureFileProgress *This); 6341 6342 /*** IAMCopyCaptureFileProgress methods ***/ 6343 HRESULT (STDMETHODCALLTYPE *Progress)( 6344 IAMCopyCaptureFileProgress *This, 6345 int iProgress); 6346 6347 END_INTERFACE 6348 } IAMCopyCaptureFileProgressVtbl; 6349 6350 interface IAMCopyCaptureFileProgress { 6351 CONST_VTBL IAMCopyCaptureFileProgressVtbl* lpVtbl; 6352 }; 6353 6354 #ifdef COBJMACROS 6355 #ifndef WIDL_C_INLINE_WRAPPERS 6356 /*** IUnknown methods ***/ 6357 #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6358 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This) 6359 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This) 6360 /*** IAMCopyCaptureFileProgress methods ***/ 6361 #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress) 6362 #else 6363 /*** IUnknown methods ***/ 6364 static inline HRESULT IAMCopyCaptureFileProgress_QueryInterface(IAMCopyCaptureFileProgress* This,REFIID riid,void **ppvObject) { 6365 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6366 } 6367 static inline ULONG IAMCopyCaptureFileProgress_AddRef(IAMCopyCaptureFileProgress* This) { 6368 return This->lpVtbl->AddRef(This); 6369 } 6370 static inline ULONG IAMCopyCaptureFileProgress_Release(IAMCopyCaptureFileProgress* This) { 6371 return This->lpVtbl->Release(This); 6372 } 6373 /*** IAMCopyCaptureFileProgress methods ***/ 6374 static inline HRESULT IAMCopyCaptureFileProgress_Progress(IAMCopyCaptureFileProgress* This,int iProgress) { 6375 return This->lpVtbl->Progress(This,iProgress); 6376 } 6377 #endif 6378 #endif 6379 6380 #endif 6381 6382 6383 #endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */ 6384 6385 /***************************************************************************** 6386 * ICaptureGraphBuilder2 interface 6387 */ 6388 #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__ 6389 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__ 6390 6391 DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d); 6392 #if defined(__cplusplus) && !defined(CINTERFACE) 6393 MIDL_INTERFACE("93e5a4e0-2d50-11d2-abfa-00a0c9c6e38d") 6394 ICaptureGraphBuilder2 : public IUnknown 6395 { 6396 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 6397 IGraphBuilder *pfg) = 0; 6398 6399 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 6400 IGraphBuilder **ppfg) = 0; 6401 6402 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 6403 const GUID *pType, 6404 LPCOLESTR lpstrFile, 6405 IBaseFilter **ppf, 6406 IFileSinkFilter **ppSink) = 0; 6407 6408 virtual HRESULT STDMETHODCALLTYPE FindInterface( 6409 const GUID *pCategory, 6410 const GUID *pType, 6411 IBaseFilter *pf, 6412 REFIID riid, 6413 void **ppint) = 0; 6414 6415 virtual HRESULT STDMETHODCALLTYPE RenderStream( 6416 const GUID *pCategory, 6417 const GUID *pType, 6418 IUnknown *pSource, 6419 IBaseFilter *pfCompressor, 6420 IBaseFilter *pfRenderer) = 0; 6421 6422 virtual HRESULT STDMETHODCALLTYPE ControlStream( 6423 const GUID *pCategory, 6424 const GUID *pType, 6425 IBaseFilter *pFilter, 6426 REFERENCE_TIME *pstart, 6427 REFERENCE_TIME *pstop, 6428 WORD wStartCookie, 6429 WORD wStopCookie) = 0; 6430 6431 virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 6432 LPCOLESTR lpstr, 6433 DWORDLONG dwlSize) = 0; 6434 6435 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 6436 LPOLESTR lpwstrOld, 6437 LPOLESTR lpwstrNew, 6438 int fAllowEscAbort, 6439 IAMCopyCaptureFileProgress *pCallback) = 0; 6440 6441 virtual HRESULT STDMETHODCALLTYPE FindPin( 6442 IUnknown *pSource, 6443 PIN_DIRECTION pindir, 6444 const GUID *pCategory, 6445 const GUID *pType, 6446 WINBOOL fUnconnected, 6447 int num, 6448 IPin **ppPin) = 0; 6449 6450 }; 6451 #ifdef __CRT_UUID_DECL 6452 __CRT_UUID_DECL(ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d) 6453 #endif 6454 #else 6455 typedef struct ICaptureGraphBuilder2Vtbl { 6456 BEGIN_INTERFACE 6457 6458 /*** IUnknown methods ***/ 6459 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6460 ICaptureGraphBuilder2 *This, 6461 REFIID riid, 6462 void **ppvObject); 6463 6464 ULONG (STDMETHODCALLTYPE *AddRef)( 6465 ICaptureGraphBuilder2 *This); 6466 6467 ULONG (STDMETHODCALLTYPE *Release)( 6468 ICaptureGraphBuilder2 *This); 6469 6470 /*** ICaptureGraphBuilder2 methods ***/ 6471 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( 6472 ICaptureGraphBuilder2 *This, 6473 IGraphBuilder *pfg); 6474 6475 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( 6476 ICaptureGraphBuilder2 *This, 6477 IGraphBuilder **ppfg); 6478 6479 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( 6480 ICaptureGraphBuilder2 *This, 6481 const GUID *pType, 6482 LPCOLESTR lpstrFile, 6483 IBaseFilter **ppf, 6484 IFileSinkFilter **ppSink); 6485 6486 HRESULT (STDMETHODCALLTYPE *FindInterface)( 6487 ICaptureGraphBuilder2 *This, 6488 const GUID *pCategory, 6489 const GUID *pType, 6490 IBaseFilter *pf, 6491 REFIID riid, 6492 void **ppint); 6493 6494 HRESULT (STDMETHODCALLTYPE *RenderStream)( 6495 ICaptureGraphBuilder2 *This, 6496 const GUID *pCategory, 6497 const GUID *pType, 6498 IUnknown *pSource, 6499 IBaseFilter *pfCompressor, 6500 IBaseFilter *pfRenderer); 6501 6502 HRESULT (STDMETHODCALLTYPE *ControlStream)( 6503 ICaptureGraphBuilder2 *This, 6504 const GUID *pCategory, 6505 const GUID *pType, 6506 IBaseFilter *pFilter, 6507 REFERENCE_TIME *pstart, 6508 REFERENCE_TIME *pstop, 6509 WORD wStartCookie, 6510 WORD wStopCookie); 6511 6512 HRESULT (STDMETHODCALLTYPE *AllocCapFile)( 6513 ICaptureGraphBuilder2 *This, 6514 LPCOLESTR lpstr, 6515 DWORDLONG dwlSize); 6516 6517 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( 6518 ICaptureGraphBuilder2 *This, 6519 LPOLESTR lpwstrOld, 6520 LPOLESTR lpwstrNew, 6521 int fAllowEscAbort, 6522 IAMCopyCaptureFileProgress *pCallback); 6523 6524 HRESULT (STDMETHODCALLTYPE *FindPin)( 6525 ICaptureGraphBuilder2 *This, 6526 IUnknown *pSource, 6527 PIN_DIRECTION pindir, 6528 const GUID *pCategory, 6529 const GUID *pType, 6530 WINBOOL fUnconnected, 6531 int num, 6532 IPin **ppPin); 6533 6534 END_INTERFACE 6535 } ICaptureGraphBuilder2Vtbl; 6536 6537 interface ICaptureGraphBuilder2 { 6538 CONST_VTBL ICaptureGraphBuilder2Vtbl* lpVtbl; 6539 }; 6540 6541 #ifdef COBJMACROS 6542 #ifndef WIDL_C_INLINE_WRAPPERS 6543 /*** IUnknown methods ***/ 6544 #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6545 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) 6546 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This) 6547 /*** ICaptureGraphBuilder2 methods ***/ 6548 #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) 6549 #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) 6550 #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) 6551 #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint) 6552 #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) 6553 #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) 6554 #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) 6555 #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) 6556 #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) 6557 #else 6558 /*** IUnknown methods ***/ 6559 static inline HRESULT ICaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2* This,REFIID riid,void **ppvObject) { 6560 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6561 } 6562 static inline ULONG ICaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2* This) { 6563 return This->lpVtbl->AddRef(This); 6564 } 6565 static inline ULONG ICaptureGraphBuilder2_Release(ICaptureGraphBuilder2* This) { 6566 return This->lpVtbl->Release(This); 6567 } 6568 /*** ICaptureGraphBuilder2 methods ***/ 6569 static inline HRESULT ICaptureGraphBuilder2_SetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder *pfg) { 6570 return This->lpVtbl->SetFiltergraph(This,pfg); 6571 } 6572 static inline HRESULT ICaptureGraphBuilder2_GetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder **ppfg) { 6573 return This->lpVtbl->GetFiltergraph(This,ppfg); 6574 } 6575 static inline HRESULT ICaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { 6576 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); 6577 } 6578 static inline HRESULT ICaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) { 6579 return This->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint); 6580 } 6581 static inline HRESULT ICaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { 6582 return This->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer); 6583 } 6584 static inline HRESULT ICaptureGraphBuilder2_ControlStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) { 6585 return This->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie); 6586 } 6587 static inline HRESULT ICaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { 6588 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); 6589 } 6590 static inline HRESULT ICaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { 6591 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); 6592 } 6593 static inline HRESULT ICaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2* This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) { 6594 return This->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin); 6595 } 6596 #endif 6597 #endif 6598 6599 #endif 6600 6601 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( 6602 ICaptureGraphBuilder2* This, 6603 const GUID *pCategory, 6604 const GUID *pType, 6605 IBaseFilter *pf, 6606 REFIID riid, 6607 IUnknown **ppint); 6608 void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub( 6609 IRpcStubBuffer* This, 6610 IRpcChannelBuffer* pRpcChannelBuffer, 6611 PRPC_MESSAGE pRpcMessage, 6612 DWORD* pdwStubPhase); 6613 HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy( 6614 ICaptureGraphBuilder2* This, 6615 const GUID *pCategory, 6616 const GUID *pType, 6617 IBaseFilter *pf, 6618 REFIID riid, 6619 void **ppint); 6620 HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub( 6621 ICaptureGraphBuilder2* This, 6622 const GUID *pCategory, 6623 const GUID *pType, 6624 IBaseFilter *pf, 6625 REFIID riid, 6626 IUnknown **ppint); 6627 6628 #endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */ 6629 6630 /***************************************************************************** 6631 * IConfigAviMux interface 6632 */ 6633 #ifndef __IConfigAviMux_INTERFACE_DEFINED__ 6634 #define __IConfigAviMux_INTERFACE_DEFINED__ 6635 6636 DEFINE_GUID(IID_IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); 6637 #if defined(__cplusplus) && !defined(CINTERFACE) 6638 MIDL_INTERFACE("5acd6aa0-f482-11ce-8b67-00aa00a3f1a6") 6639 IConfigAviMux : public IUnknown 6640 { 6641 virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 6642 LONG iStream) = 0; 6643 6644 virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 6645 LONG *pStream) = 0; 6646 6647 virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 6648 WINBOOL fOldIndex) = 0; 6649 6650 virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 6651 WINBOOL *pfOldIndex) = 0; 6652 6653 }; 6654 #ifdef __CRT_UUID_DECL 6655 __CRT_UUID_DECL(IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) 6656 #endif 6657 #else 6658 typedef struct IConfigAviMuxVtbl { 6659 BEGIN_INTERFACE 6660 6661 /*** IUnknown methods ***/ 6662 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6663 IConfigAviMux *This, 6664 REFIID riid, 6665 void **ppvObject); 6666 6667 ULONG (STDMETHODCALLTYPE *AddRef)( 6668 IConfigAviMux *This); 6669 6670 ULONG (STDMETHODCALLTYPE *Release)( 6671 IConfigAviMux *This); 6672 6673 /*** IConfigAviMux methods ***/ 6674 HRESULT (STDMETHODCALLTYPE *SetMasterStream)( 6675 IConfigAviMux *This, 6676 LONG iStream); 6677 6678 HRESULT (STDMETHODCALLTYPE *GetMasterStream)( 6679 IConfigAviMux *This, 6680 LONG *pStream); 6681 6682 HRESULT (STDMETHODCALLTYPE *SetOutputCompatibilityIndex)( 6683 IConfigAviMux *This, 6684 WINBOOL fOldIndex); 6685 6686 HRESULT (STDMETHODCALLTYPE *GetOutputCompatibilityIndex)( 6687 IConfigAviMux *This, 6688 WINBOOL *pfOldIndex); 6689 6690 END_INTERFACE 6691 } IConfigAviMuxVtbl; 6692 6693 interface IConfigAviMux { 6694 CONST_VTBL IConfigAviMuxVtbl* lpVtbl; 6695 }; 6696 6697 #ifdef COBJMACROS 6698 #ifndef WIDL_C_INLINE_WRAPPERS 6699 /*** IUnknown methods ***/ 6700 #define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6701 #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This) 6702 #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This) 6703 /*** IConfigAviMux methods ***/ 6704 #define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream) 6705 #define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream) 6706 #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex) 6707 #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex) 6708 #else 6709 /*** IUnknown methods ***/ 6710 static inline HRESULT IConfigAviMux_QueryInterface(IConfigAviMux* This,REFIID riid,void **ppvObject) { 6711 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6712 } 6713 static inline ULONG IConfigAviMux_AddRef(IConfigAviMux* This) { 6714 return This->lpVtbl->AddRef(This); 6715 } 6716 static inline ULONG IConfigAviMux_Release(IConfigAviMux* This) { 6717 return This->lpVtbl->Release(This); 6718 } 6719 /*** IConfigAviMux methods ***/ 6720 static inline HRESULT IConfigAviMux_SetMasterStream(IConfigAviMux* This,LONG iStream) { 6721 return This->lpVtbl->SetMasterStream(This,iStream); 6722 } 6723 static inline HRESULT IConfigAviMux_GetMasterStream(IConfigAviMux* This,LONG *pStream) { 6724 return This->lpVtbl->GetMasterStream(This,pStream); 6725 } 6726 static inline HRESULT IConfigAviMux_SetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL fOldIndex) { 6727 return This->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex); 6728 } 6729 static inline HRESULT IConfigAviMux_GetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL *pfOldIndex) { 6730 return This->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex); 6731 } 6732 #endif 6733 #endif 6734 6735 #endif 6736 6737 6738 #endif /* __IConfigAviMux_INTERFACE_DEFINED__ */ 6739 6740 /***************************************************************************** 6741 * IConfigInterleaving interface 6742 */ 6743 #ifndef __IConfigInterleaving_INTERFACE_DEFINED__ 6744 #define __IConfigInterleaving_INTERFACE_DEFINED__ 6745 6746 typedef enum InterleavingMode { 6747 INTERLEAVE_NONE = 0, 6748 INTERLEAVE_CAPTURE = 1, 6749 INTERLEAVE_FULL = 2, 6750 INTERLEAVE_NONE_BUFFERED = 3 6751 } InterleavingMode; 6752 DEFINE_GUID(IID_IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86); 6753 #if defined(__cplusplus) && !defined(CINTERFACE) 6754 MIDL_INTERFACE("bee3d220-157b-11d0-bd23-00a0c911ce86") 6755 IConfigInterleaving : public IUnknown 6756 { 6757 virtual HRESULT STDMETHODCALLTYPE put_Mode( 6758 InterleavingMode mode) = 0; 6759 6760 virtual HRESULT STDMETHODCALLTYPE get_Mode( 6761 InterleavingMode *pMode) = 0; 6762 6763 virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 6764 const REFERENCE_TIME *prtInterleave, 6765 const REFERENCE_TIME *prtPreroll) = 0; 6766 6767 virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 6768 REFERENCE_TIME *prtInterleave, 6769 REFERENCE_TIME *prtPreroll) = 0; 6770 6771 }; 6772 #ifdef __CRT_UUID_DECL 6773 __CRT_UUID_DECL(IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86) 6774 #endif 6775 #else 6776 typedef struct IConfigInterleavingVtbl { 6777 BEGIN_INTERFACE 6778 6779 /*** IUnknown methods ***/ 6780 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6781 IConfigInterleaving *This, 6782 REFIID riid, 6783 void **ppvObject); 6784 6785 ULONG (STDMETHODCALLTYPE *AddRef)( 6786 IConfigInterleaving *This); 6787 6788 ULONG (STDMETHODCALLTYPE *Release)( 6789 IConfigInterleaving *This); 6790 6791 /*** IConfigInterleaving methods ***/ 6792 HRESULT (STDMETHODCALLTYPE *put_Mode)( 6793 IConfigInterleaving *This, 6794 InterleavingMode mode); 6795 6796 HRESULT (STDMETHODCALLTYPE *get_Mode)( 6797 IConfigInterleaving *This, 6798 InterleavingMode *pMode); 6799 6800 HRESULT (STDMETHODCALLTYPE *put_Interleaving)( 6801 IConfigInterleaving *This, 6802 const REFERENCE_TIME *prtInterleave, 6803 const REFERENCE_TIME *prtPreroll); 6804 6805 HRESULT (STDMETHODCALLTYPE *get_Interleaving)( 6806 IConfigInterleaving *This, 6807 REFERENCE_TIME *prtInterleave, 6808 REFERENCE_TIME *prtPreroll); 6809 6810 END_INTERFACE 6811 } IConfigInterleavingVtbl; 6812 6813 interface IConfigInterleaving { 6814 CONST_VTBL IConfigInterleavingVtbl* lpVtbl; 6815 }; 6816 6817 #ifdef COBJMACROS 6818 #ifndef WIDL_C_INLINE_WRAPPERS 6819 /*** IUnknown methods ***/ 6820 #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6821 #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This) 6822 #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This) 6823 /*** IConfigInterleaving methods ***/ 6824 #define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) 6825 #define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode) 6826 #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll) 6827 #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll) 6828 #else 6829 /*** IUnknown methods ***/ 6830 static inline HRESULT IConfigInterleaving_QueryInterface(IConfigInterleaving* This,REFIID riid,void **ppvObject) { 6831 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6832 } 6833 static inline ULONG IConfigInterleaving_AddRef(IConfigInterleaving* This) { 6834 return This->lpVtbl->AddRef(This); 6835 } 6836 static inline ULONG IConfigInterleaving_Release(IConfigInterleaving* This) { 6837 return This->lpVtbl->Release(This); 6838 } 6839 /*** IConfigInterleaving methods ***/ 6840 static inline HRESULT IConfigInterleaving_put_Mode(IConfigInterleaving* This,InterleavingMode mode) { 6841 return This->lpVtbl->put_Mode(This,mode); 6842 } 6843 static inline HRESULT IConfigInterleaving_get_Mode(IConfigInterleaving* This,InterleavingMode *pMode) { 6844 return This->lpVtbl->get_Mode(This,pMode); 6845 } 6846 static inline HRESULT IConfigInterleaving_put_Interleaving(IConfigInterleaving* This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) { 6847 return This->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll); 6848 } 6849 static inline HRESULT IConfigInterleaving_get_Interleaving(IConfigInterleaving* This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) { 6850 return This->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll); 6851 } 6852 #endif 6853 #endif 6854 6855 #endif 6856 6857 6858 #endif /* __IConfigInterleaving_INTERFACE_DEFINED__ */ 6859 6860 /***************************************************************************** 6861 * IAMClockSlave interface 6862 */ 6863 #ifndef __IAMClockSlave_INTERFACE_DEFINED__ 6864 #define __IAMClockSlave_INTERFACE_DEFINED__ 6865 6866 DEFINE_GUID(IID_IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe); 6867 #if defined(__cplusplus) && !defined(CINTERFACE) 6868 MIDL_INTERFACE("9fd52741-176d-4b36-8f51-ca8f933223be") 6869 IAMClockSlave : public IUnknown 6870 { 6871 virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance( 6872 DWORD dwTolerance) = 0; 6873 6874 virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance( 6875 DWORD *pdwTolerance) = 0; 6876 6877 }; 6878 #ifdef __CRT_UUID_DECL 6879 __CRT_UUID_DECL(IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe) 6880 #endif 6881 #else 6882 typedef struct IAMClockSlaveVtbl { 6883 BEGIN_INTERFACE 6884 6885 /*** IUnknown methods ***/ 6886 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6887 IAMClockSlave *This, 6888 REFIID riid, 6889 void **ppvObject); 6890 6891 ULONG (STDMETHODCALLTYPE *AddRef)( 6892 IAMClockSlave *This); 6893 6894 ULONG (STDMETHODCALLTYPE *Release)( 6895 IAMClockSlave *This); 6896 6897 /*** IAMClockSlave methods ***/ 6898 HRESULT (STDMETHODCALLTYPE *SetErrorTolerance)( 6899 IAMClockSlave *This, 6900 DWORD dwTolerance); 6901 6902 HRESULT (STDMETHODCALLTYPE *GetErrorTolerance)( 6903 IAMClockSlave *This, 6904 DWORD *pdwTolerance); 6905 6906 END_INTERFACE 6907 } IAMClockSlaveVtbl; 6908 6909 interface IAMClockSlave { 6910 CONST_VTBL IAMClockSlaveVtbl* lpVtbl; 6911 }; 6912 6913 #ifdef COBJMACROS 6914 #ifndef WIDL_C_INLINE_WRAPPERS 6915 /*** IUnknown methods ***/ 6916 #define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6917 #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This) 6918 #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This) 6919 /*** IAMClockSlave methods ***/ 6920 #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance) 6921 #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance) 6922 #else 6923 /*** IUnknown methods ***/ 6924 static inline HRESULT IAMClockSlave_QueryInterface(IAMClockSlave* This,REFIID riid,void **ppvObject) { 6925 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6926 } 6927 static inline ULONG IAMClockSlave_AddRef(IAMClockSlave* This) { 6928 return This->lpVtbl->AddRef(This); 6929 } 6930 static inline ULONG IAMClockSlave_Release(IAMClockSlave* This) { 6931 return This->lpVtbl->Release(This); 6932 } 6933 /*** IAMClockSlave methods ***/ 6934 static inline HRESULT IAMClockSlave_SetErrorTolerance(IAMClockSlave* This,DWORD dwTolerance) { 6935 return This->lpVtbl->SetErrorTolerance(This,dwTolerance); 6936 } 6937 static inline HRESULT IAMClockSlave_GetErrorTolerance(IAMClockSlave* This,DWORD *pdwTolerance) { 6938 return This->lpVtbl->GetErrorTolerance(This,pdwTolerance); 6939 } 6940 #endif 6941 #endif 6942 6943 #endif 6944 6945 6946 #endif /* __IAMClockSlave_INTERFACE_DEFINED__ */ 6947 6948 typedef struct _AMCOPPSignature { 6949 BYTE Signature[256]; 6950 } AMCOPPSignature; 6951 typedef struct _AMCOPPCommand { 6952 GUID macKDI; 6953 GUID guidCommandID; 6954 DWORD dwSequence; 6955 DWORD bSizeData; 6956 BYTE CommandData[4056]; 6957 } AMCOPPCommand; 6958 typedef struct _AMCOPPCommand *LPAMCOPPCommand; 6959 typedef struct _AMCOPPStatusInput { 6960 GUID rApp; 6961 GUID guidStatusRequestID; 6962 DWORD dwSequence; 6963 DWORD cbSizeData; 6964 BYTE StatusData[4056]; 6965 } AMCOPPStatusInput; 6966 typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput; 6967 typedef struct _AMCOPPStatusOutput { 6968 GUID macKDI; 6969 DWORD cbSizeData; 6970 BYTE COPPStatus[4076]; 6971 } AMCOPPStatusOutput; 6972 typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput; 6973 /***************************************************************************** 6974 * IAMCertifiedOutputProtection interface 6975 */ 6976 #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ 6977 #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ 6978 6979 DEFINE_GUID(IID_IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15); 6980 #if defined(__cplusplus) && !defined(CINTERFACE) 6981 MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515") 6982 IAMCertifiedOutputProtection : public IUnknown 6983 { 6984 virtual HRESULT STDMETHODCALLTYPE KeyExchange( 6985 GUID *pRandom, 6986 BYTE **VarLenCertGH, 6987 DWORD *pdwLengthCertGH) = 0; 6988 6989 virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart( 6990 AMCOPPSignature *pSig) = 0; 6991 6992 virtual HRESULT STDMETHODCALLTYPE ProtectionCommand( 6993 const AMCOPPCommand *cmd) = 0; 6994 6995 virtual HRESULT STDMETHODCALLTYPE ProtectionStatus( 6996 const AMCOPPStatusInput *pStatusInput, 6997 AMCOPPStatusOutput *pStatusOutput) = 0; 6998 6999 }; 7000 #ifdef __CRT_UUID_DECL 7001 __CRT_UUID_DECL(IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15) 7002 #endif 7003 #else 7004 typedef struct IAMCertifiedOutputProtectionVtbl { 7005 BEGIN_INTERFACE 7006 7007 /*** IUnknown methods ***/ 7008 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7009 IAMCertifiedOutputProtection *This, 7010 REFIID riid, 7011 void **ppvObject); 7012 7013 ULONG (STDMETHODCALLTYPE *AddRef)( 7014 IAMCertifiedOutputProtection *This); 7015 7016 ULONG (STDMETHODCALLTYPE *Release)( 7017 IAMCertifiedOutputProtection *This); 7018 7019 /*** IAMCertifiedOutputProtection methods ***/ 7020 HRESULT (STDMETHODCALLTYPE *KeyExchange)( 7021 IAMCertifiedOutputProtection *This, 7022 GUID *pRandom, 7023 BYTE **VarLenCertGH, 7024 DWORD *pdwLengthCertGH); 7025 7026 HRESULT (STDMETHODCALLTYPE *SessionSequenceStart)( 7027 IAMCertifiedOutputProtection *This, 7028 AMCOPPSignature *pSig); 7029 7030 HRESULT (STDMETHODCALLTYPE *ProtectionCommand)( 7031 IAMCertifiedOutputProtection *This, 7032 const AMCOPPCommand *cmd); 7033 7034 HRESULT (STDMETHODCALLTYPE *ProtectionStatus)( 7035 IAMCertifiedOutputProtection *This, 7036 const AMCOPPStatusInput *pStatusInput, 7037 AMCOPPStatusOutput *pStatusOutput); 7038 7039 END_INTERFACE 7040 } IAMCertifiedOutputProtectionVtbl; 7041 7042 interface IAMCertifiedOutputProtection { 7043 CONST_VTBL IAMCertifiedOutputProtectionVtbl* lpVtbl; 7044 }; 7045 7046 #ifdef COBJMACROS 7047 #ifndef WIDL_C_INLINE_WRAPPERS 7048 /*** IUnknown methods ***/ 7049 #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7050 #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This) 7051 #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This) 7052 /*** IAMCertifiedOutputProtection methods ***/ 7053 #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) 7054 #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig) 7055 #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd) 7056 #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput) 7057 #else 7058 /*** IUnknown methods ***/ 7059 static inline HRESULT IAMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection* This,REFIID riid,void **ppvObject) { 7060 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7061 } 7062 static inline ULONG IAMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection* This) { 7063 return This->lpVtbl->AddRef(This); 7064 } 7065 static inline ULONG IAMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection* This) { 7066 return This->lpVtbl->Release(This); 7067 } 7068 /*** IAMCertifiedOutputProtection methods ***/ 7069 static inline HRESULT IAMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection* This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) { 7070 return This->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH); 7071 } 7072 static inline HRESULT IAMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection* This,AMCOPPSignature *pSig) { 7073 return This->lpVtbl->SessionSequenceStart(This,pSig); 7074 } 7075 static inline HRESULT IAMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection* This,const AMCOPPCommand *cmd) { 7076 return This->lpVtbl->ProtectionCommand(This,cmd); 7077 } 7078 static inline HRESULT IAMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection* This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) { 7079 return This->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput); 7080 } 7081 #endif 7082 #endif 7083 7084 #endif 7085 7086 7087 #endif /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */ 7088 7089 enum _AM_RENSDEREXFLAGS { 7090 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1 7091 }; 7092 /***************************************************************************** 7093 * IFilterGraph2 interface 7094 */ 7095 #ifndef __IFilterGraph2_INTERFACE_DEFINED__ 7096 #define __IFilterGraph2_INTERFACE_DEFINED__ 7097 7098 DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 7099 #if defined(__cplusplus) && !defined(CINTERFACE) 7100 MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60") 7101 IFilterGraph2 : public IGraphBuilder 7102 { 7103 virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 7104 IMoniker *pMoniker, 7105 IBindCtx *pCtx, 7106 LPCWSTR lpcwstrFilterName, 7107 IBaseFilter **ppFilter) = 0; 7108 7109 virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 7110 IPin *ppin, 7111 const AM_MEDIA_TYPE *pmt) = 0; 7112 7113 virtual HRESULT STDMETHODCALLTYPE RenderEx( 7114 IPin *pPinOut, 7115 DWORD dwFlags, 7116 DWORD *pvContext) = 0; 7117 7118 }; 7119 #ifdef __CRT_UUID_DECL 7120 __CRT_UUID_DECL(IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 7121 #endif 7122 #else 7123 typedef struct IFilterGraph2Vtbl { 7124 BEGIN_INTERFACE 7125 7126 /*** IUnknown methods ***/ 7127 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7128 IFilterGraph2 *This, 7129 REFIID riid, 7130 void **ppvObject); 7131 7132 ULONG (STDMETHODCALLTYPE *AddRef)( 7133 IFilterGraph2 *This); 7134 7135 ULONG (STDMETHODCALLTYPE *Release)( 7136 IFilterGraph2 *This); 7137 7138 /*** IFilterGraph methods ***/ 7139 HRESULT (STDMETHODCALLTYPE *AddFilter)( 7140 IFilterGraph2 *This, 7141 IBaseFilter *pFilter, 7142 LPCWSTR pName); 7143 7144 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 7145 IFilterGraph2 *This, 7146 IBaseFilter *pFilter); 7147 7148 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 7149 IFilterGraph2 *This, 7150 IEnumFilters **ppEnum); 7151 7152 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 7153 IFilterGraph2 *This, 7154 LPCWSTR pName, 7155 IBaseFilter **ppFilter); 7156 7157 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 7158 IFilterGraph2 *This, 7159 IPin *ppinOut, 7160 IPin *ppinIn, 7161 const AM_MEDIA_TYPE *pmt); 7162 7163 HRESULT (STDMETHODCALLTYPE *Reconnect)( 7164 IFilterGraph2 *This, 7165 IPin *ppin); 7166 7167 HRESULT (STDMETHODCALLTYPE *Disconnect)( 7168 IFilterGraph2 *This, 7169 IPin *ppin); 7170 7171 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 7172 IFilterGraph2 *This); 7173 7174 /*** IGraphBuilder methods ***/ 7175 HRESULT (STDMETHODCALLTYPE *Connect)( 7176 IFilterGraph2 *This, 7177 IPin *ppinOut, 7178 IPin *ppinIn); 7179 7180 HRESULT (STDMETHODCALLTYPE *Render)( 7181 IFilterGraph2 *This, 7182 IPin *ppinOut); 7183 7184 HRESULT (STDMETHODCALLTYPE *RenderFile)( 7185 IFilterGraph2 *This, 7186 LPCWSTR lpcwstrFile, 7187 LPCWSTR lpcwstrPlayList); 7188 7189 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( 7190 IFilterGraph2 *This, 7191 LPCWSTR lpcwstrFileName, 7192 LPCWSTR lpcwstrFilterName, 7193 IBaseFilter **ppFilter); 7194 7195 HRESULT (STDMETHODCALLTYPE *SetLogFile)( 7196 IFilterGraph2 *This, 7197 DWORD_PTR hFile); 7198 7199 HRESULT (STDMETHODCALLTYPE *Abort)( 7200 IFilterGraph2 *This); 7201 7202 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( 7203 IFilterGraph2 *This); 7204 7205 /*** IFilterGraph2 methods ***/ 7206 HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)( 7207 IFilterGraph2 *This, 7208 IMoniker *pMoniker, 7209 IBindCtx *pCtx, 7210 LPCWSTR lpcwstrFilterName, 7211 IBaseFilter **ppFilter); 7212 7213 HRESULT (STDMETHODCALLTYPE *ReconnectEx)( 7214 IFilterGraph2 *This, 7215 IPin *ppin, 7216 const AM_MEDIA_TYPE *pmt); 7217 7218 HRESULT (STDMETHODCALLTYPE *RenderEx)( 7219 IFilterGraph2 *This, 7220 IPin *pPinOut, 7221 DWORD dwFlags, 7222 DWORD *pvContext); 7223 7224 END_INTERFACE 7225 } IFilterGraph2Vtbl; 7226 7227 interface IFilterGraph2 { 7228 CONST_VTBL IFilterGraph2Vtbl* lpVtbl; 7229 }; 7230 7231 #ifdef COBJMACROS 7232 #ifndef WIDL_C_INLINE_WRAPPERS 7233 /*** IUnknown methods ***/ 7234 #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7235 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This) 7236 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This) 7237 /*** IFilterGraph methods ***/ 7238 #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 7239 #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 7240 #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 7241 #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 7242 #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 7243 #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 7244 #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 7245 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 7246 /*** IGraphBuilder methods ***/ 7247 #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) 7248 #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) 7249 #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) 7250 #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) 7251 #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) 7252 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This) 7253 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) 7254 /*** IFilterGraph2 methods ***/ 7255 #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) 7256 #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt) 7257 #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext) 7258 #else 7259 /*** IUnknown methods ***/ 7260 static inline HRESULT IFilterGraph2_QueryInterface(IFilterGraph2* This,REFIID riid,void **ppvObject) { 7261 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7262 } 7263 static inline ULONG IFilterGraph2_AddRef(IFilterGraph2* This) { 7264 return This->lpVtbl->AddRef(This); 7265 } 7266 static inline ULONG IFilterGraph2_Release(IFilterGraph2* This) { 7267 return This->lpVtbl->Release(This); 7268 } 7269 /*** IFilterGraph methods ***/ 7270 static inline HRESULT IFilterGraph2_AddFilter(IFilterGraph2* This,IBaseFilter *pFilter,LPCWSTR pName) { 7271 return This->lpVtbl->AddFilter(This,pFilter,pName); 7272 } 7273 static inline HRESULT IFilterGraph2_RemoveFilter(IFilterGraph2* This,IBaseFilter *pFilter) { 7274 return This->lpVtbl->RemoveFilter(This,pFilter); 7275 } 7276 static inline HRESULT IFilterGraph2_EnumFilters(IFilterGraph2* This,IEnumFilters **ppEnum) { 7277 return This->lpVtbl->EnumFilters(This,ppEnum); 7278 } 7279 static inline HRESULT IFilterGraph2_FindFilterByName(IFilterGraph2* This,LPCWSTR pName,IBaseFilter **ppFilter) { 7280 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 7281 } 7282 static inline HRESULT IFilterGraph2_ConnectDirect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 7283 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 7284 } 7285 static inline HRESULT IFilterGraph2_Reconnect(IFilterGraph2* This,IPin *ppin) { 7286 return This->lpVtbl->Reconnect(This,ppin); 7287 } 7288 static inline HRESULT IFilterGraph2_Disconnect(IFilterGraph2* This,IPin *ppin) { 7289 return This->lpVtbl->Disconnect(This,ppin); 7290 } 7291 static inline HRESULT IFilterGraph2_SetDefaultSyncSource(IFilterGraph2* This) { 7292 return This->lpVtbl->SetDefaultSyncSource(This); 7293 } 7294 /*** IGraphBuilder methods ***/ 7295 static inline HRESULT IFilterGraph2_Connect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn) { 7296 return This->lpVtbl->Connect(This,ppinOut,ppinIn); 7297 } 7298 static inline HRESULT IFilterGraph2_Render(IFilterGraph2* This,IPin *ppinOut) { 7299 return This->lpVtbl->Render(This,ppinOut); 7300 } 7301 static inline HRESULT IFilterGraph2_RenderFile(IFilterGraph2* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { 7302 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); 7303 } 7304 static inline HRESULT IFilterGraph2_AddSourceFilter(IFilterGraph2* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 7305 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); 7306 } 7307 static inline HRESULT IFilterGraph2_SetLogFile(IFilterGraph2* This,DWORD_PTR hFile) { 7308 return This->lpVtbl->SetLogFile(This,hFile); 7309 } 7310 static inline HRESULT IFilterGraph2_Abort(IFilterGraph2* This) { 7311 return This->lpVtbl->Abort(This); 7312 } 7313 static inline HRESULT IFilterGraph2_ShouldOperationContinue(IFilterGraph2* This) { 7314 return This->lpVtbl->ShouldOperationContinue(This); 7315 } 7316 /*** IFilterGraph2 methods ***/ 7317 static inline HRESULT IFilterGraph2_AddSourceFilterForMoniker(IFilterGraph2* This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 7318 return This->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter); 7319 } 7320 static inline HRESULT IFilterGraph2_ReconnectEx(IFilterGraph2* This,IPin *ppin,const AM_MEDIA_TYPE *pmt) { 7321 return This->lpVtbl->ReconnectEx(This,ppin,pmt); 7322 } 7323 static inline HRESULT IFilterGraph2_RenderEx(IFilterGraph2* This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) { 7324 return This->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext); 7325 } 7326 #endif 7327 #endif 7328 7329 #endif 7330 7331 7332 #endif /* __IFilterGraph2_INTERFACE_DEFINED__ */ 7333 7334 /***************************************************************************** 7335 * IStreamBuilder interface 7336 */ 7337 #ifndef __IStreamBuilder_INTERFACE_DEFINED__ 7338 #define __IStreamBuilder_INTERFACE_DEFINED__ 7339 7340 DEFINE_GUID(IID_IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7341 #if defined(__cplusplus) && !defined(CINTERFACE) 7342 MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770") 7343 IStreamBuilder : public IUnknown 7344 { 7345 virtual HRESULT STDMETHODCALLTYPE Render( 7346 IPin *ppinOut, 7347 IGraphBuilder *pGraph) = 0; 7348 7349 virtual HRESULT STDMETHODCALLTYPE Backout( 7350 IPin *ppinOut, 7351 IGraphBuilder *pGraph) = 0; 7352 7353 }; 7354 #ifdef __CRT_UUID_DECL 7355 __CRT_UUID_DECL(IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7356 #endif 7357 #else 7358 typedef struct IStreamBuilderVtbl { 7359 BEGIN_INTERFACE 7360 7361 /*** IUnknown methods ***/ 7362 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7363 IStreamBuilder *This, 7364 REFIID riid, 7365 void **ppvObject); 7366 7367 ULONG (STDMETHODCALLTYPE *AddRef)( 7368 IStreamBuilder *This); 7369 7370 ULONG (STDMETHODCALLTYPE *Release)( 7371 IStreamBuilder *This); 7372 7373 /*** IStreamBuilder methods ***/ 7374 HRESULT (STDMETHODCALLTYPE *Render)( 7375 IStreamBuilder *This, 7376 IPin *ppinOut, 7377 IGraphBuilder *pGraph); 7378 7379 HRESULT (STDMETHODCALLTYPE *Backout)( 7380 IStreamBuilder *This, 7381 IPin *ppinOut, 7382 IGraphBuilder *pGraph); 7383 7384 END_INTERFACE 7385 } IStreamBuilderVtbl; 7386 7387 interface IStreamBuilder { 7388 CONST_VTBL IStreamBuilderVtbl* lpVtbl; 7389 }; 7390 7391 #ifdef COBJMACROS 7392 #ifndef WIDL_C_INLINE_WRAPPERS 7393 /*** IUnknown methods ***/ 7394 #define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7395 #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 7396 #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This) 7397 /*** IStreamBuilder methods ***/ 7398 #define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph) 7399 #define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph) 7400 #else 7401 /*** IUnknown methods ***/ 7402 static inline HRESULT IStreamBuilder_QueryInterface(IStreamBuilder* This,REFIID riid,void **ppvObject) { 7403 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7404 } 7405 static inline ULONG IStreamBuilder_AddRef(IStreamBuilder* This) { 7406 return This->lpVtbl->AddRef(This); 7407 } 7408 static inline ULONG IStreamBuilder_Release(IStreamBuilder* This) { 7409 return This->lpVtbl->Release(This); 7410 } 7411 /*** IStreamBuilder methods ***/ 7412 static inline HRESULT IStreamBuilder_Render(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) { 7413 return This->lpVtbl->Render(This,ppinOut,pGraph); 7414 } 7415 static inline HRESULT IStreamBuilder_Backout(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) { 7416 return This->lpVtbl->Backout(This,ppinOut,pGraph); 7417 } 7418 #endif 7419 #endif 7420 7421 #endif 7422 7423 7424 #endif /* __IStreamBuilder_INTERFACE_DEFINED__ */ 7425 7426 /***************************************************************************** 7427 * IAMStreamConfig interface 7428 */ 7429 #ifndef __IAMStreamConfig_INTERFACE_DEFINED__ 7430 #define __IAMStreamConfig_INTERFACE_DEFINED__ 7431 7432 typedef struct _VIDEO_STREAM_CONFIG_CAPS { 7433 GUID guid; 7434 ULONG VideoStandard; 7435 SIZE InputSize; 7436 SIZE MinCroppingSize; 7437 SIZE MaxCroppingSize; 7438 int CropGranularityX; 7439 int CropGranularityY; 7440 int CropAlignX; 7441 int CropAlignY; 7442 SIZE MinOutputSize; 7443 SIZE MaxOutputSize; 7444 int OutputGranularityX; 7445 int OutputGranularityY; 7446 int StretchTapsX; 7447 int StretchTapsY; 7448 int ShrinkTapsX; 7449 int ShrinkTapsY; 7450 LONGLONG MinFrameInterval; 7451 LONGLONG MaxFrameInterval; 7452 LONG MinBitsPerSecond; 7453 LONG MaxBitsPerSecond; 7454 } VIDEO_STREAM_CONFIG_CAPS; 7455 typedef struct _AUDIO_STREAM_CONFIG_CAPS { 7456 GUID guid; 7457 ULONG MinimumChannels; 7458 ULONG MaximumChannels; 7459 ULONG ChannelsGranularity; 7460 ULONG MinimumBitsPerSample; 7461 ULONG MaximumBitsPerSample; 7462 ULONG BitsPerSampleGranularity; 7463 ULONG MinimumSampleFrequency; 7464 ULONG MaximumSampleFrequency; 7465 ULONG SampleFrequencyGranularity; 7466 } AUDIO_STREAM_CONFIG_CAPS; 7467 DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 7468 #if defined(__cplusplus) && !defined(CINTERFACE) 7469 MIDL_INTERFACE("c6e13340-30ac-11d0-a18c-00a0c9118956") 7470 IAMStreamConfig : public IUnknown 7471 { 7472 virtual HRESULT STDMETHODCALLTYPE SetFormat( 7473 AM_MEDIA_TYPE *pmt) = 0; 7474 7475 virtual HRESULT STDMETHODCALLTYPE GetFormat( 7476 AM_MEDIA_TYPE **pmt) = 0; 7477 7478 virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 7479 int *piCount, 7480 int *piSize) = 0; 7481 7482 virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 7483 int iIndex, 7484 AM_MEDIA_TYPE **pmt, 7485 BYTE *pSCC) = 0; 7486 7487 }; 7488 #ifdef __CRT_UUID_DECL 7489 __CRT_UUID_DECL(IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 7490 #endif 7491 #else 7492 typedef struct IAMStreamConfigVtbl { 7493 BEGIN_INTERFACE 7494 7495 /*** IUnknown methods ***/ 7496 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7497 IAMStreamConfig *This, 7498 REFIID riid, 7499 void **ppvObject); 7500 7501 ULONG (STDMETHODCALLTYPE *AddRef)( 7502 IAMStreamConfig *This); 7503 7504 ULONG (STDMETHODCALLTYPE *Release)( 7505 IAMStreamConfig *This); 7506 7507 /*** IAMStreamConfig methods ***/ 7508 HRESULT (STDMETHODCALLTYPE *SetFormat)( 7509 IAMStreamConfig *This, 7510 AM_MEDIA_TYPE *pmt); 7511 7512 HRESULT (STDMETHODCALLTYPE *GetFormat)( 7513 IAMStreamConfig *This, 7514 AM_MEDIA_TYPE **pmt); 7515 7516 HRESULT (STDMETHODCALLTYPE *GetNumberOfCapabilities)( 7517 IAMStreamConfig *This, 7518 int *piCount, 7519 int *piSize); 7520 7521 HRESULT (STDMETHODCALLTYPE *GetStreamCaps)( 7522 IAMStreamConfig *This, 7523 int iIndex, 7524 AM_MEDIA_TYPE **pmt, 7525 BYTE *pSCC); 7526 7527 END_INTERFACE 7528 } IAMStreamConfigVtbl; 7529 7530 interface IAMStreamConfig { 7531 CONST_VTBL IAMStreamConfigVtbl* lpVtbl; 7532 }; 7533 7534 #ifdef COBJMACROS 7535 #ifndef WIDL_C_INLINE_WRAPPERS 7536 /*** IUnknown methods ***/ 7537 #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7538 #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 7539 #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This) 7540 /*** IAMStreamConfig methods ***/ 7541 #define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt) 7542 #define IAMStreamConfig_GetFormat(This,pmt) (This)->lpVtbl->GetFormat(This,pmt) 7543 #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize) 7544 #define IAMStreamConfig_GetStreamCaps(This,iIndex,pmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC) 7545 #else 7546 /*** IUnknown methods ***/ 7547 static inline HRESULT IAMStreamConfig_QueryInterface(IAMStreamConfig* This,REFIID riid,void **ppvObject) { 7548 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7549 } 7550 static inline ULONG IAMStreamConfig_AddRef(IAMStreamConfig* This) { 7551 return This->lpVtbl->AddRef(This); 7552 } 7553 static inline ULONG IAMStreamConfig_Release(IAMStreamConfig* This) { 7554 return This->lpVtbl->Release(This); 7555 } 7556 /*** IAMStreamConfig methods ***/ 7557 static inline HRESULT IAMStreamConfig_SetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE *pmt) { 7558 return This->lpVtbl->SetFormat(This,pmt); 7559 } 7560 static inline HRESULT IAMStreamConfig_GetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE **pmt) { 7561 return This->lpVtbl->GetFormat(This,pmt); 7562 } 7563 static inline HRESULT IAMStreamConfig_GetNumberOfCapabilities(IAMStreamConfig* This,int *piCount,int *piSize) { 7564 return This->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize); 7565 } 7566 static inline HRESULT IAMStreamConfig_GetStreamCaps(IAMStreamConfig* This,int iIndex,AM_MEDIA_TYPE **pmt,BYTE *pSCC) { 7567 return This->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC); 7568 } 7569 #endif 7570 #endif 7571 7572 #endif 7573 7574 7575 #endif /* __IAMStreamConfig_INTERFACE_DEFINED__ */ 7576 7577 typedef enum tagVideoProcAmpProperty { 7578 VideoProcAmp_Brightness = 0, 7579 VideoProcAmp_Contrast = 1, 7580 VideoProcAmp_Hue = 2, 7581 VideoProcAmp_Saturation = 3, 7582 VideoProcAmp_Sharpness = 4, 7583 VideoProcAmp_Gamma = 5, 7584 VideoProcAmp_ColorEnable = 6, 7585 VideoProcAmp_WhiteBalance = 7, 7586 VideoProcAmp_BacklightCompensation = 8, 7587 VideoProcAmp_Gain = 9 7588 } VideoProcAmpProperty; 7589 typedef enum tagVideoProcAmpFlags { 7590 VideoProcAmp_Flags_Auto = 0x1, 7591 VideoProcAmp_Flags_Manual = 0x2 7592 } VideoProcAmpFlags; 7593 /***************************************************************************** 7594 * IAMVideoProcAmp interface 7595 */ 7596 #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__ 7597 #define __IAMVideoProcAmp_INTERFACE_DEFINED__ 7598 7599 DEFINE_GUID(IID_IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 7600 #if defined(__cplusplus) && !defined(CINTERFACE) 7601 MIDL_INTERFACE("c6e13360-30ac-11d0-a18c-00a0c9118956") 7602 IAMVideoProcAmp : public IUnknown 7603 { 7604 virtual HRESULT STDMETHODCALLTYPE GetRange( 7605 LONG Property, 7606 LONG *pMin, 7607 LONG *pMax, 7608 LONG *pSteppingDelta, 7609 LONG *pDefault, 7610 LONG *pCapsFlags) = 0; 7611 7612 virtual HRESULT STDMETHODCALLTYPE Set( 7613 LONG Property, 7614 LONG lValue, 7615 LONG Flags) = 0; 7616 7617 virtual HRESULT STDMETHODCALLTYPE Get( 7618 LONG Property, 7619 LONG *lValue, 7620 LONG *Flags) = 0; 7621 7622 }; 7623 #ifdef __CRT_UUID_DECL 7624 __CRT_UUID_DECL(IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 7625 #endif 7626 #else 7627 typedef struct IAMVideoProcAmpVtbl { 7628 BEGIN_INTERFACE 7629 7630 /*** IUnknown methods ***/ 7631 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7632 IAMVideoProcAmp *This, 7633 REFIID riid, 7634 void **ppvObject); 7635 7636 ULONG (STDMETHODCALLTYPE *AddRef)( 7637 IAMVideoProcAmp *This); 7638 7639 ULONG (STDMETHODCALLTYPE *Release)( 7640 IAMVideoProcAmp *This); 7641 7642 /*** IAMVideoProcAmp methods ***/ 7643 HRESULT (STDMETHODCALLTYPE *GetRange)( 7644 IAMVideoProcAmp *This, 7645 LONG Property, 7646 LONG *pMin, 7647 LONG *pMax, 7648 LONG *pSteppingDelta, 7649 LONG *pDefault, 7650 LONG *pCapsFlags); 7651 7652 HRESULT (STDMETHODCALLTYPE *Set)( 7653 IAMVideoProcAmp *This, 7654 LONG Property, 7655 LONG lValue, 7656 LONG Flags); 7657 7658 HRESULT (STDMETHODCALLTYPE *Get)( 7659 IAMVideoProcAmp *This, 7660 LONG Property, 7661 LONG *lValue, 7662 LONG *Flags); 7663 7664 END_INTERFACE 7665 } IAMVideoProcAmpVtbl; 7666 7667 interface IAMVideoProcAmp { 7668 CONST_VTBL IAMVideoProcAmpVtbl* lpVtbl; 7669 }; 7670 7671 #ifdef COBJMACROS 7672 #ifndef WIDL_C_INLINE_WRAPPERS 7673 /*** IUnknown methods ***/ 7674 #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7675 #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This) 7676 #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This) 7677 /*** IAMVideoProcAmp methods ***/ 7678 #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) 7679 #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags) 7680 #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags) 7681 #else 7682 /*** IUnknown methods ***/ 7683 static inline HRESULT IAMVideoProcAmp_QueryInterface(IAMVideoProcAmp* This,REFIID riid,void **ppvObject) { 7684 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7685 } 7686 static inline ULONG IAMVideoProcAmp_AddRef(IAMVideoProcAmp* This) { 7687 return This->lpVtbl->AddRef(This); 7688 } 7689 static inline ULONG IAMVideoProcAmp_Release(IAMVideoProcAmp* This) { 7690 return This->lpVtbl->Release(This); 7691 } 7692 /*** IAMVideoProcAmp methods ***/ 7693 static inline HRESULT IAMVideoProcAmp_GetRange(IAMVideoProcAmp* This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) { 7694 return This->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags); 7695 } 7696 static inline HRESULT IAMVideoProcAmp_Set(IAMVideoProcAmp* This,LONG Property,LONG lValue,LONG Flags) { 7697 return This->lpVtbl->Set(This,Property,lValue,Flags); 7698 } 7699 static inline HRESULT IAMVideoProcAmp_Get(IAMVideoProcAmp* This,LONG Property,LONG *lValue,LONG *Flags) { 7700 return This->lpVtbl->Get(This,Property,lValue,Flags); 7701 } 7702 #endif 7703 #endif 7704 7705 #endif 7706 7707 7708 #endif /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */ 7709 7710 /***************************************************************************** 7711 * IAsyncReader interface 7712 */ 7713 #ifndef __IAsyncReader_INTERFACE_DEFINED__ 7714 #define __IAsyncReader_INTERFACE_DEFINED__ 7715 7716 DEFINE_GUID(IID_IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7717 #if defined(__cplusplus) && !defined(CINTERFACE) 7718 MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770") 7719 IAsyncReader : public IUnknown 7720 { 7721 virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 7722 IMemAllocator *pPreferred, 7723 ALLOCATOR_PROPERTIES *pProps, 7724 IMemAllocator **ppActual) = 0; 7725 7726 virtual HRESULT STDMETHODCALLTYPE Request( 7727 IMediaSample *pSample, 7728 DWORD_PTR dwUser) = 0; 7729 7730 virtual HRESULT STDMETHODCALLTYPE WaitForNext( 7731 DWORD dwTimeout, 7732 IMediaSample **ppSample, 7733 DWORD_PTR *pdwUser) = 0; 7734 7735 virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 7736 IMediaSample *pSample) = 0; 7737 7738 virtual HRESULT STDMETHODCALLTYPE SyncRead( 7739 LONGLONG llPosition, 7740 LONG lLength, 7741 BYTE *pBuffer) = 0; 7742 7743 virtual HRESULT STDMETHODCALLTYPE Length( 7744 LONGLONG *pTotal, 7745 LONGLONG *pAvailable) = 0; 7746 7747 virtual HRESULT STDMETHODCALLTYPE BeginFlush( 7748 ) = 0; 7749 7750 virtual HRESULT STDMETHODCALLTYPE EndFlush( 7751 ) = 0; 7752 7753 }; 7754 #ifdef __CRT_UUID_DECL 7755 __CRT_UUID_DECL(IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7756 #endif 7757 #else 7758 typedef struct IAsyncReaderVtbl { 7759 BEGIN_INTERFACE 7760 7761 /*** IUnknown methods ***/ 7762 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7763 IAsyncReader *This, 7764 REFIID riid, 7765 void **ppvObject); 7766 7767 ULONG (STDMETHODCALLTYPE *AddRef)( 7768 IAsyncReader *This); 7769 7770 ULONG (STDMETHODCALLTYPE *Release)( 7771 IAsyncReader *This); 7772 7773 /*** IAsyncReader methods ***/ 7774 HRESULT (STDMETHODCALLTYPE *RequestAllocator)( 7775 IAsyncReader *This, 7776 IMemAllocator *pPreferred, 7777 ALLOCATOR_PROPERTIES *pProps, 7778 IMemAllocator **ppActual); 7779 7780 HRESULT (STDMETHODCALLTYPE *Request)( 7781 IAsyncReader *This, 7782 IMediaSample *pSample, 7783 DWORD_PTR dwUser); 7784 7785 HRESULT (STDMETHODCALLTYPE *WaitForNext)( 7786 IAsyncReader *This, 7787 DWORD dwTimeout, 7788 IMediaSample **ppSample, 7789 DWORD_PTR *pdwUser); 7790 7791 HRESULT (STDMETHODCALLTYPE *SyncReadAligned)( 7792 IAsyncReader *This, 7793 IMediaSample *pSample); 7794 7795 HRESULT (STDMETHODCALLTYPE *SyncRead)( 7796 IAsyncReader *This, 7797 LONGLONG llPosition, 7798 LONG lLength, 7799 BYTE *pBuffer); 7800 7801 HRESULT (STDMETHODCALLTYPE *Length)( 7802 IAsyncReader *This, 7803 LONGLONG *pTotal, 7804 LONGLONG *pAvailable); 7805 7806 HRESULT (STDMETHODCALLTYPE *BeginFlush)( 7807 IAsyncReader *This); 7808 7809 HRESULT (STDMETHODCALLTYPE *EndFlush)( 7810 IAsyncReader *This); 7811 7812 END_INTERFACE 7813 } IAsyncReaderVtbl; 7814 7815 interface IAsyncReader { 7816 CONST_VTBL IAsyncReaderVtbl* lpVtbl; 7817 }; 7818 7819 #ifdef COBJMACROS 7820 #ifndef WIDL_C_INLINE_WRAPPERS 7821 /*** IUnknown methods ***/ 7822 #define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7823 #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This) 7824 #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This) 7825 /*** IAsyncReader methods ***/ 7826 #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual) 7827 #define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser) 7828 #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser) 7829 #define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample) 7830 #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer) 7831 #define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable) 7832 #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) 7833 #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This) 7834 #else 7835 /*** IUnknown methods ***/ 7836 static inline HRESULT IAsyncReader_QueryInterface(IAsyncReader* This,REFIID riid,void **ppvObject) { 7837 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7838 } 7839 static inline ULONG IAsyncReader_AddRef(IAsyncReader* This) { 7840 return This->lpVtbl->AddRef(This); 7841 } 7842 static inline ULONG IAsyncReader_Release(IAsyncReader* This) { 7843 return This->lpVtbl->Release(This); 7844 } 7845 /*** IAsyncReader methods ***/ 7846 static inline HRESULT IAsyncReader_RequestAllocator(IAsyncReader* This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) { 7847 return This->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual); 7848 } 7849 static inline HRESULT IAsyncReader_Request(IAsyncReader* This,IMediaSample *pSample,DWORD_PTR dwUser) { 7850 return This->lpVtbl->Request(This,pSample,dwUser); 7851 } 7852 static inline HRESULT IAsyncReader_WaitForNext(IAsyncReader* This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) { 7853 return This->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser); 7854 } 7855 static inline HRESULT IAsyncReader_SyncReadAligned(IAsyncReader* This,IMediaSample *pSample) { 7856 return This->lpVtbl->SyncReadAligned(This,pSample); 7857 } 7858 static inline HRESULT IAsyncReader_SyncRead(IAsyncReader* This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer) { 7859 return This->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer); 7860 } 7861 static inline HRESULT IAsyncReader_Length(IAsyncReader* This,LONGLONG *pTotal,LONGLONG *pAvailable) { 7862 return This->lpVtbl->Length(This,pTotal,pAvailable); 7863 } 7864 static inline HRESULT IAsyncReader_BeginFlush(IAsyncReader* This) { 7865 return This->lpVtbl->BeginFlush(This); 7866 } 7867 static inline HRESULT IAsyncReader_EndFlush(IAsyncReader* This) { 7868 return This->lpVtbl->EndFlush(This); 7869 } 7870 #endif 7871 #endif 7872 7873 #endif 7874 7875 7876 #endif /* __IAsyncReader_INTERFACE_DEFINED__ */ 7877 7878 /***************************************************************************** 7879 * IGraphVersion interface 7880 */ 7881 #ifndef __IGraphVersion_INTERFACE_DEFINED__ 7882 #define __IGraphVersion_INTERFACE_DEFINED__ 7883 7884 DEFINE_GUID(IID_IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7885 #if defined(__cplusplus) && !defined(CINTERFACE) 7886 MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770") 7887 IGraphVersion : public IUnknown 7888 { 7889 virtual HRESULT STDMETHODCALLTYPE QueryVersion( 7890 LONG *pVersion) = 0; 7891 7892 }; 7893 #ifdef __CRT_UUID_DECL 7894 __CRT_UUID_DECL(IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7895 #endif 7896 #else 7897 typedef struct IGraphVersionVtbl { 7898 BEGIN_INTERFACE 7899 7900 /*** IUnknown methods ***/ 7901 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7902 IGraphVersion *This, 7903 REFIID riid, 7904 void **ppvObject); 7905 7906 ULONG (STDMETHODCALLTYPE *AddRef)( 7907 IGraphVersion *This); 7908 7909 ULONG (STDMETHODCALLTYPE *Release)( 7910 IGraphVersion *This); 7911 7912 /*** IGraphVersion methods ***/ 7913 HRESULT (STDMETHODCALLTYPE *QueryVersion)( 7914 IGraphVersion *This, 7915 LONG *pVersion); 7916 7917 END_INTERFACE 7918 } IGraphVersionVtbl; 7919 7920 interface IGraphVersion { 7921 CONST_VTBL IGraphVersionVtbl* lpVtbl; 7922 }; 7923 7924 #ifdef COBJMACROS 7925 #ifndef WIDL_C_INLINE_WRAPPERS 7926 /*** IUnknown methods ***/ 7927 #define IGraphVersion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7928 #define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This) 7929 #define IGraphVersion_Release(This) (This)->lpVtbl->Release(This) 7930 /*** IGraphVersion methods ***/ 7931 #define IGraphVersion_QueryVersion(This,pVersion) (This)->lpVtbl->QueryVersion(This,pVersion) 7932 #else 7933 /*** IUnknown methods ***/ 7934 static inline HRESULT IGraphVersion_QueryInterface(IGraphVersion* This,REFIID riid,void **ppvObject) { 7935 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7936 } 7937 static inline ULONG IGraphVersion_AddRef(IGraphVersion* This) { 7938 return This->lpVtbl->AddRef(This); 7939 } 7940 static inline ULONG IGraphVersion_Release(IGraphVersion* This) { 7941 return This->lpVtbl->Release(This); 7942 } 7943 /*** IGraphVersion methods ***/ 7944 static inline HRESULT IGraphVersion_QueryVersion(IGraphVersion* This,LONG *pVersion) { 7945 return This->lpVtbl->QueryVersion(This,pVersion); 7946 } 7947 #endif 7948 #endif 7949 7950 #endif 7951 7952 7953 #endif /* __IGraphVersion_INTERFACE_DEFINED__ */ 7954 7955 /***************************************************************************** 7956 * IResourceConsumer interface 7957 */ 7958 #ifndef __IResourceConsumer_INTERFACE_DEFINED__ 7959 #define __IResourceConsumer_INTERFACE_DEFINED__ 7960 7961 DEFINE_GUID(IID_IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7962 #if defined(__cplusplus) && !defined(CINTERFACE) 7963 MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770") 7964 IResourceConsumer : public IUnknown 7965 { 7966 virtual HRESULT STDMETHODCALLTYPE AcquireResource( 7967 LONG idResource) = 0; 7968 7969 virtual HRESULT STDMETHODCALLTYPE ReleaseResource( 7970 LONG idResource) = 0; 7971 7972 }; 7973 #ifdef __CRT_UUID_DECL 7974 __CRT_UUID_DECL(IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7975 #endif 7976 #else 7977 typedef struct IResourceConsumerVtbl { 7978 BEGIN_INTERFACE 7979 7980 /*** IUnknown methods ***/ 7981 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7982 IResourceConsumer *This, 7983 REFIID riid, 7984 void **ppvObject); 7985 7986 ULONG (STDMETHODCALLTYPE *AddRef)( 7987 IResourceConsumer *This); 7988 7989 ULONG (STDMETHODCALLTYPE *Release)( 7990 IResourceConsumer *This); 7991 7992 /*** IResourceConsumer methods ***/ 7993 HRESULT (STDMETHODCALLTYPE *AcquireResource)( 7994 IResourceConsumer *This, 7995 LONG idResource); 7996 7997 HRESULT (STDMETHODCALLTYPE *ReleaseResource)( 7998 IResourceConsumer *This, 7999 LONG idResource); 8000 8001 END_INTERFACE 8002 } IResourceConsumerVtbl; 8003 8004 interface IResourceConsumer { 8005 CONST_VTBL IResourceConsumerVtbl* lpVtbl; 8006 }; 8007 8008 #ifdef COBJMACROS 8009 #ifndef WIDL_C_INLINE_WRAPPERS 8010 /*** IUnknown methods ***/ 8011 #define IResourceConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8012 #define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This) 8013 #define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This) 8014 /*** IResourceConsumer methods ***/ 8015 #define IResourceConsumer_AcquireResource(This,idResource) (This)->lpVtbl->AcquireResource(This,idResource) 8016 #define IResourceConsumer_ReleaseResource(This,idResource) (This)->lpVtbl->ReleaseResource(This,idResource) 8017 #else 8018 /*** IUnknown methods ***/ 8019 static inline HRESULT IResourceConsumer_QueryInterface(IResourceConsumer* This,REFIID riid,void **ppvObject) { 8020 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8021 } 8022 static inline ULONG IResourceConsumer_AddRef(IResourceConsumer* This) { 8023 return This->lpVtbl->AddRef(This); 8024 } 8025 static inline ULONG IResourceConsumer_Release(IResourceConsumer* This) { 8026 return This->lpVtbl->Release(This); 8027 } 8028 /*** IResourceConsumer methods ***/ 8029 static inline HRESULT IResourceConsumer_AcquireResource(IResourceConsumer* This,LONG idResource) { 8030 return This->lpVtbl->AcquireResource(This,idResource); 8031 } 8032 static inline HRESULT IResourceConsumer_ReleaseResource(IResourceConsumer* This,LONG idResource) { 8033 return This->lpVtbl->ReleaseResource(This,idResource); 8034 } 8035 #endif 8036 #endif 8037 8038 #endif 8039 8040 8041 #endif /* __IResourceConsumer_INTERFACE_DEFINED__ */ 8042 8043 /***************************************************************************** 8044 * IResourceManager interface 8045 */ 8046 #ifndef __IResourceManager_INTERFACE_DEFINED__ 8047 #define __IResourceManager_INTERFACE_DEFINED__ 8048 8049 DEFINE_GUID(IID_IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 8050 #if defined(__cplusplus) && !defined(CINTERFACE) 8051 MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770") 8052 IResourceManager : public IUnknown 8053 { 8054 virtual HRESULT STDMETHODCALLTYPE Register( 8055 LPCWSTR pName, 8056 LONG cResource, 8057 LONG *plToken) = 0; 8058 8059 virtual HRESULT STDMETHODCALLTYPE RegisterGroup( 8060 LPCWSTR pName, 8061 LONG cResource, 8062 LONG *palTokens, 8063 LONG *plToken) = 0; 8064 8065 virtual HRESULT STDMETHODCALLTYPE RequestResource( 8066 LONG idResource, 8067 IUnknown *pFocusObject, 8068 IResourceConsumer *pConsumer) = 0; 8069 8070 virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( 8071 LONG idResource, 8072 IResourceConsumer *pConsumer, 8073 HRESULT hr) = 0; 8074 8075 virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 8076 LONG idResource, 8077 IResourceConsumer *pConsumer, 8078 WINBOOL bStillWant) = 0; 8079 8080 virtual HRESULT STDMETHODCALLTYPE CancelRequest( 8081 LONG idResource, 8082 IResourceConsumer *pConsumer) = 0; 8083 8084 virtual HRESULT STDMETHODCALLTYPE SetFocus( 8085 IUnknown *pFocusObject) = 0; 8086 8087 virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( 8088 IUnknown *pFocusObject) = 0; 8089 8090 }; 8091 #ifdef __CRT_UUID_DECL 8092 __CRT_UUID_DECL(IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 8093 #endif 8094 #else 8095 typedef struct IResourceManagerVtbl { 8096 BEGIN_INTERFACE 8097 8098 /*** IUnknown methods ***/ 8099 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8100 IResourceManager *This, 8101 REFIID riid, 8102 void **ppvObject); 8103 8104 ULONG (STDMETHODCALLTYPE *AddRef)( 8105 IResourceManager *This); 8106 8107 ULONG (STDMETHODCALLTYPE *Release)( 8108 IResourceManager *This); 8109 8110 /*** IResourceManager methods ***/ 8111 HRESULT (STDMETHODCALLTYPE *Register)( 8112 IResourceManager *This, 8113 LPCWSTR pName, 8114 LONG cResource, 8115 LONG *plToken); 8116 8117 HRESULT (STDMETHODCALLTYPE *RegisterGroup)( 8118 IResourceManager *This, 8119 LPCWSTR pName, 8120 LONG cResource, 8121 LONG *palTokens, 8122 LONG *plToken); 8123 8124 HRESULT (STDMETHODCALLTYPE *RequestResource)( 8125 IResourceManager *This, 8126 LONG idResource, 8127 IUnknown *pFocusObject, 8128 IResourceConsumer *pConsumer); 8129 8130 HRESULT (STDMETHODCALLTYPE *NotifyAcquire)( 8131 IResourceManager *This, 8132 LONG idResource, 8133 IResourceConsumer *pConsumer, 8134 HRESULT hr); 8135 8136 HRESULT (STDMETHODCALLTYPE *NotifyRelease)( 8137 IResourceManager *This, 8138 LONG idResource, 8139 IResourceConsumer *pConsumer, 8140 WINBOOL bStillWant); 8141 8142 HRESULT (STDMETHODCALLTYPE *CancelRequest)( 8143 IResourceManager *This, 8144 LONG idResource, 8145 IResourceConsumer *pConsumer); 8146 8147 HRESULT (STDMETHODCALLTYPE *SetFocus)( 8148 IResourceManager *This, 8149 IUnknown *pFocusObject); 8150 8151 HRESULT (STDMETHODCALLTYPE *ReleaseFocus)( 8152 IResourceManager *This, 8153 IUnknown *pFocusObject); 8154 8155 END_INTERFACE 8156 } IResourceManagerVtbl; 8157 8158 interface IResourceManager { 8159 CONST_VTBL IResourceManagerVtbl* lpVtbl; 8160 }; 8161 8162 #ifdef COBJMACROS 8163 #ifndef WIDL_C_INLINE_WRAPPERS 8164 /*** IUnknown methods ***/ 8165 #define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8166 #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This) 8167 #define IResourceManager_Release(This) (This)->lpVtbl->Release(This) 8168 /*** IResourceManager methods ***/ 8169 #define IResourceManager_Register(This,pName,cResource,plToken) (This)->lpVtbl->Register(This,pName,cResource,plToken) 8170 #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) (This)->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken) 8171 #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) (This)->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer) 8172 #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) (This)->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr) 8173 #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) (This)->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant) 8174 #define IResourceManager_CancelRequest(This,idResource,pConsumer) (This)->lpVtbl->CancelRequest(This,idResource,pConsumer) 8175 #define IResourceManager_SetFocus(This,pFocusObject) (This)->lpVtbl->SetFocus(This,pFocusObject) 8176 #define IResourceManager_ReleaseFocus(This,pFocusObject) (This)->lpVtbl->ReleaseFocus(This,pFocusObject) 8177 #else 8178 /*** IUnknown methods ***/ 8179 static inline HRESULT IResourceManager_QueryInterface(IResourceManager* This,REFIID riid,void **ppvObject) { 8180 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8181 } 8182 static inline ULONG IResourceManager_AddRef(IResourceManager* This) { 8183 return This->lpVtbl->AddRef(This); 8184 } 8185 static inline ULONG IResourceManager_Release(IResourceManager* This) { 8186 return This->lpVtbl->Release(This); 8187 } 8188 /*** IResourceManager methods ***/ 8189 static inline HRESULT IResourceManager_Register(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *plToken) { 8190 return This->lpVtbl->Register(This,pName,cResource,plToken); 8191 } 8192 static inline HRESULT IResourceManager_RegisterGroup(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken) { 8193 return This->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken); 8194 } 8195 static inline HRESULT IResourceManager_RequestResource(IResourceManager* This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer) { 8196 return This->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer); 8197 } 8198 static inline HRESULT IResourceManager_NotifyAcquire(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr) { 8199 return This->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr); 8200 } 8201 static inline HRESULT IResourceManager_NotifyRelease(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant) { 8202 return This->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant); 8203 } 8204 static inline HRESULT IResourceManager_CancelRequest(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer) { 8205 return This->lpVtbl->CancelRequest(This,idResource,pConsumer); 8206 } 8207 static inline HRESULT IResourceManager_SetFocus(IResourceManager* This,IUnknown *pFocusObject) { 8208 return This->lpVtbl->SetFocus(This,pFocusObject); 8209 } 8210 static inline HRESULT IResourceManager_ReleaseFocus(IResourceManager* This,IUnknown *pFocusObject) { 8211 return This->lpVtbl->ReleaseFocus(This,pFocusObject); 8212 } 8213 #endif 8214 #endif 8215 8216 #endif 8217 8218 8219 #endif /* __IResourceManager_INTERFACE_DEFINED__ */ 8220 8221 typedef enum AM_STREAM_INFO_FLAGS { 8222 AM_STREAM_INFO_START_DEFINED = 0x1, 8223 AM_STREAM_INFO_STOP_DEFINED = 0x2, 8224 AM_STREAM_INFO_DISCARDING = 0x4, 8225 AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10 8226 } AM_STREAM_INFO_FLAGS; 8227 typedef struct AM_STREAM_INFO { 8228 REFERENCE_TIME tStart; 8229 REFERENCE_TIME tStop; 8230 DWORD dwStartCookie; 8231 DWORD dwStopCookie; 8232 DWORD dwFlags; 8233 } AM_STREAM_INFO; 8234 /***************************************************************************** 8235 * IAMStreamControl interface 8236 */ 8237 #ifndef __IAMStreamControl_INTERFACE_DEFINED__ 8238 #define __IAMStreamControl_INTERFACE_DEFINED__ 8239 8240 DEFINE_GUID(IID_IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 8241 #if defined(__cplusplus) && !defined(CINTERFACE) 8242 MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60") 8243 IAMStreamControl : public IUnknown 8244 { 8245 virtual HRESULT STDMETHODCALLTYPE StartAt( 8246 const REFERENCE_TIME *ptStart, 8247 DWORD dwCookie) = 0; 8248 8249 virtual HRESULT STDMETHODCALLTYPE StopAt( 8250 const REFERENCE_TIME *ptStop, 8251 WINBOOL bSendExtra, 8252 DWORD dwCookie) = 0; 8253 8254 virtual HRESULT STDMETHODCALLTYPE GetInfo( 8255 AM_STREAM_INFO *pInfo) = 0; 8256 8257 }; 8258 #ifdef __CRT_UUID_DECL 8259 __CRT_UUID_DECL(IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 8260 #endif 8261 #else 8262 typedef struct IAMStreamControlVtbl { 8263 BEGIN_INTERFACE 8264 8265 /*** IUnknown methods ***/ 8266 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8267 IAMStreamControl *This, 8268 REFIID riid, 8269 void **ppvObject); 8270 8271 ULONG (STDMETHODCALLTYPE *AddRef)( 8272 IAMStreamControl *This); 8273 8274 ULONG (STDMETHODCALLTYPE *Release)( 8275 IAMStreamControl *This); 8276 8277 /*** IAMStreamControl methods ***/ 8278 HRESULT (STDMETHODCALLTYPE *StartAt)( 8279 IAMStreamControl *This, 8280 const REFERENCE_TIME *ptStart, 8281 DWORD dwCookie); 8282 8283 HRESULT (STDMETHODCALLTYPE *StopAt)( 8284 IAMStreamControl *This, 8285 const REFERENCE_TIME *ptStop, 8286 WINBOOL bSendExtra, 8287 DWORD dwCookie); 8288 8289 HRESULT (STDMETHODCALLTYPE *GetInfo)( 8290 IAMStreamControl *This, 8291 AM_STREAM_INFO *pInfo); 8292 8293 END_INTERFACE 8294 } IAMStreamControlVtbl; 8295 8296 interface IAMStreamControl { 8297 CONST_VTBL IAMStreamControlVtbl* lpVtbl; 8298 }; 8299 8300 #ifdef COBJMACROS 8301 #ifndef WIDL_C_INLINE_WRAPPERS 8302 /*** IUnknown methods ***/ 8303 #define IAMStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8304 #define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) 8305 #define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This) 8306 /*** IAMStreamControl methods ***/ 8307 #define IAMStreamControl_StartAt(This,ptStart,dwCookie) (This)->lpVtbl->StartAt(This,ptStart,dwCookie) 8308 #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) (This)->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie) 8309 #define IAMStreamControl_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo) 8310 #else 8311 /*** IUnknown methods ***/ 8312 static inline HRESULT IAMStreamControl_QueryInterface(IAMStreamControl* This,REFIID riid,void **ppvObject) { 8313 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8314 } 8315 static inline ULONG IAMStreamControl_AddRef(IAMStreamControl* This) { 8316 return This->lpVtbl->AddRef(This); 8317 } 8318 static inline ULONG IAMStreamControl_Release(IAMStreamControl* This) { 8319 return This->lpVtbl->Release(This); 8320 } 8321 /*** IAMStreamControl methods ***/ 8322 static inline HRESULT IAMStreamControl_StartAt(IAMStreamControl* This,const REFERENCE_TIME *ptStart,DWORD dwCookie) { 8323 return This->lpVtbl->StartAt(This,ptStart,dwCookie); 8324 } 8325 static inline HRESULT IAMStreamControl_StopAt(IAMStreamControl* This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie) { 8326 return This->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie); 8327 } 8328 static inline HRESULT IAMStreamControl_GetInfo(IAMStreamControl* This,AM_STREAM_INFO *pInfo) { 8329 return This->lpVtbl->GetInfo(This,pInfo); 8330 } 8331 #endif 8332 #endif 8333 8334 #endif 8335 8336 8337 #endif /* __IAMStreamControl_INTERFACE_DEFINED__ */ 8338 8339 #ifndef _IKsPropertySet_ 8340 #define _IKsPropertySet_ 8341 #define KSPROPERTY_SUPPORT_GET 1 8342 #define KSPROPERTY_SUPPORT_SET 2 8343 typedef enum AMPROPERTY_PIN { 8344 AMPROPERTY_PIN_CATEGORY = 0, 8345 AMPROPERTY_PIN_MEDIUM = 1 8346 } AMPROPERTY_PIN; 8347 /***************************************************************************** 8348 * IKsPropertySet interface 8349 */ 8350 #ifndef __IKsPropertySet_INTERFACE_DEFINED__ 8351 #define __IKsPropertySet_INTERFACE_DEFINED__ 8352 8353 DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93); 8354 #if defined(__cplusplus) && !defined(CINTERFACE) 8355 MIDL_INTERFACE("31efac30-515c-11d0-a9aa-00aa0061be93") 8356 IKsPropertySet : public IUnknown 8357 { 8358 virtual HRESULT STDMETHODCALLTYPE Set( 8359 REFGUID guidPropSet, 8360 DWORD dwPropID, 8361 LPVOID pInstanceData, 8362 DWORD cbInstanceData, 8363 LPVOID pPropData, 8364 DWORD cbPropData) = 0; 8365 8366 virtual HRESULT STDMETHODCALLTYPE Get( 8367 REFGUID guidPropSet, 8368 DWORD dwPropID, 8369 LPVOID pInstanceData, 8370 DWORD cbInstanceData, 8371 LPVOID pPropData, 8372 DWORD cbPropData, 8373 DWORD *pcbReturned) = 0; 8374 8375 virtual HRESULT STDMETHODCALLTYPE QuerySupported( 8376 REFGUID guidPropSet, 8377 DWORD dwPropID, 8378 DWORD *pTypeSupport) = 0; 8379 8380 }; 8381 #ifdef __CRT_UUID_DECL 8382 __CRT_UUID_DECL(IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93) 8383 #endif 8384 #else 8385 typedef struct IKsPropertySetVtbl { 8386 BEGIN_INTERFACE 8387 8388 /*** IUnknown methods ***/ 8389 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8390 IKsPropertySet *This, 8391 REFIID riid, 8392 void **ppvObject); 8393 8394 ULONG (STDMETHODCALLTYPE *AddRef)( 8395 IKsPropertySet *This); 8396 8397 ULONG (STDMETHODCALLTYPE *Release)( 8398 IKsPropertySet *This); 8399 8400 /*** IKsPropertySet methods ***/ 8401 HRESULT (STDMETHODCALLTYPE *Set)( 8402 IKsPropertySet *This, 8403 REFGUID guidPropSet, 8404 DWORD dwPropID, 8405 LPVOID pInstanceData, 8406 DWORD cbInstanceData, 8407 LPVOID pPropData, 8408 DWORD cbPropData); 8409 8410 HRESULT (STDMETHODCALLTYPE *Get)( 8411 IKsPropertySet *This, 8412 REFGUID guidPropSet, 8413 DWORD dwPropID, 8414 LPVOID pInstanceData, 8415 DWORD cbInstanceData, 8416 LPVOID pPropData, 8417 DWORD cbPropData, 8418 DWORD *pcbReturned); 8419 8420 HRESULT (STDMETHODCALLTYPE *QuerySupported)( 8421 IKsPropertySet *This, 8422 REFGUID guidPropSet, 8423 DWORD dwPropID, 8424 DWORD *pTypeSupport); 8425 8426 END_INTERFACE 8427 } IKsPropertySetVtbl; 8428 8429 interface IKsPropertySet { 8430 CONST_VTBL IKsPropertySetVtbl* lpVtbl; 8431 }; 8432 8433 #ifdef COBJMACROS 8434 #ifndef WIDL_C_INLINE_WRAPPERS 8435 /*** IUnknown methods ***/ 8436 #define IKsPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8437 #define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This) 8438 #define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This) 8439 /*** IKsPropertySet methods ***/ 8440 #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) (This)->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) 8441 #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) (This)->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) 8442 #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) (This)->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) 8443 #else 8444 /*** IUnknown methods ***/ 8445 static inline HRESULT IKsPropertySet_QueryInterface(IKsPropertySet* This,REFIID riid,void **ppvObject) { 8446 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8447 } 8448 static inline ULONG IKsPropertySet_AddRef(IKsPropertySet* This) { 8449 return This->lpVtbl->AddRef(This); 8450 } 8451 static inline ULONG IKsPropertySet_Release(IKsPropertySet* This) { 8452 return This->lpVtbl->Release(This); 8453 } 8454 /*** IKsPropertySet methods ***/ 8455 static inline HRESULT IKsPropertySet_Set(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData) { 8456 return This->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData); 8457 } 8458 static inline HRESULT IKsPropertySet_Get(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned) { 8459 return This->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned); 8460 } 8461 static inline HRESULT IKsPropertySet_QuerySupported(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport) { 8462 return This->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport); 8463 } 8464 #endif 8465 #endif 8466 8467 #endif 8468 8469 8470 #endif /* __IKsPropertySet_INTERFACE_DEFINED__ */ 8471 8472 #endif /* _IKsPropertySet_ */ 8473 /***************************************************************************** 8474 * IMediaPropertyBag interface 8475 */ 8476 #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__ 8477 #define __IMediaPropertyBag_INTERFACE_DEFINED__ 8478 8479 typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG; 8480 DEFINE_GUID(IID_IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86); 8481 #if defined(__cplusplus) && !defined(CINTERFACE) 8482 MIDL_INTERFACE("6025a880-c0d5-11d0-bd4e-00a0c911ce86") 8483 IMediaPropertyBag : public IPropertyBag 8484 { 8485 virtual HRESULT STDMETHODCALLTYPE EnumProperty( 8486 ULONG iProperty, 8487 VARIANT *pvarPropertyName, 8488 VARIANT *pvarPropertyValue) = 0; 8489 8490 }; 8491 #ifdef __CRT_UUID_DECL 8492 __CRT_UUID_DECL(IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86) 8493 #endif 8494 #else 8495 typedef struct IMediaPropertyBagVtbl { 8496 BEGIN_INTERFACE 8497 8498 /*** IUnknown methods ***/ 8499 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8500 IMediaPropertyBag *This, 8501 REFIID riid, 8502 void **ppvObject); 8503 8504 ULONG (STDMETHODCALLTYPE *AddRef)( 8505 IMediaPropertyBag *This); 8506 8507 ULONG (STDMETHODCALLTYPE *Release)( 8508 IMediaPropertyBag *This); 8509 8510 /*** IPropertyBag methods ***/ 8511 HRESULT (STDMETHODCALLTYPE *Read)( 8512 IMediaPropertyBag *This, 8513 LPCOLESTR pszPropName, 8514 VARIANT *pVar, 8515 IErrorLog *pErrorLog); 8516 8517 HRESULT (STDMETHODCALLTYPE *Write)( 8518 IMediaPropertyBag *This, 8519 LPCOLESTR pszPropName, 8520 VARIANT *pVar); 8521 8522 /*** IMediaPropertyBag methods ***/ 8523 HRESULT (STDMETHODCALLTYPE *EnumProperty)( 8524 IMediaPropertyBag *This, 8525 ULONG iProperty, 8526 VARIANT *pvarPropertyName, 8527 VARIANT *pvarPropertyValue); 8528 8529 END_INTERFACE 8530 } IMediaPropertyBagVtbl; 8531 8532 interface IMediaPropertyBag { 8533 CONST_VTBL IMediaPropertyBagVtbl* lpVtbl; 8534 }; 8535 8536 #ifdef COBJMACROS 8537 #ifndef WIDL_C_INLINE_WRAPPERS 8538 /*** IUnknown methods ***/ 8539 #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8540 #define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This) 8541 #define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This) 8542 /*** IPropertyBag methods ***/ 8543 #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog) 8544 #define IMediaPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar) 8545 /*** IMediaPropertyBag methods ***/ 8546 #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) (This)->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) 8547 #else 8548 /*** IUnknown methods ***/ 8549 static inline HRESULT IMediaPropertyBag_QueryInterface(IMediaPropertyBag* This,REFIID riid,void **ppvObject) { 8550 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8551 } 8552 static inline ULONG IMediaPropertyBag_AddRef(IMediaPropertyBag* This) { 8553 return This->lpVtbl->AddRef(This); 8554 } 8555 static inline ULONG IMediaPropertyBag_Release(IMediaPropertyBag* This) { 8556 return This->lpVtbl->Release(This); 8557 } 8558 /*** IPropertyBag methods ***/ 8559 static inline HRESULT IMediaPropertyBag_Read(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) { 8560 return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog); 8561 } 8562 static inline HRESULT IMediaPropertyBag_Write(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar) { 8563 return This->lpVtbl->Write(This,pszPropName,pVar); 8564 } 8565 /*** IMediaPropertyBag methods ***/ 8566 static inline HRESULT IMediaPropertyBag_EnumProperty(IMediaPropertyBag* This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue) { 8567 return This->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue); 8568 } 8569 #endif 8570 #endif 8571 8572 #endif 8573 8574 8575 #endif /* __IMediaPropertyBag_INTERFACE_DEFINED__ */ 8576 8577 /***************************************************************************** 8578 * IPersistMediaPropertyBag interface 8579 */ 8580 #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__ 8581 #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__ 8582 8583 typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG; 8584 DEFINE_GUID(IID_IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86); 8585 #if defined(__cplusplus) && !defined(CINTERFACE) 8586 MIDL_INTERFACE("5738e040-b67f-11d0-bd4d-00a0c911ce86") 8587 IPersistMediaPropertyBag : public IPersist 8588 { 8589 virtual HRESULT STDMETHODCALLTYPE InitNew( 8590 ) = 0; 8591 8592 virtual HRESULT STDMETHODCALLTYPE Load( 8593 IMediaPropertyBag *pPropBag, 8594 IErrorLog *pErrorLog) = 0; 8595 8596 virtual HRESULT STDMETHODCALLTYPE Save( 8597 IMediaPropertyBag *pPropBag, 8598 WINBOOL fClearDirty, 8599 WINBOOL fSaveAllProperties) = 0; 8600 8601 }; 8602 #ifdef __CRT_UUID_DECL 8603 __CRT_UUID_DECL(IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86) 8604 #endif 8605 #else 8606 typedef struct IPersistMediaPropertyBagVtbl { 8607 BEGIN_INTERFACE 8608 8609 /*** IUnknown methods ***/ 8610 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8611 IPersistMediaPropertyBag *This, 8612 REFIID riid, 8613 void **ppvObject); 8614 8615 ULONG (STDMETHODCALLTYPE *AddRef)( 8616 IPersistMediaPropertyBag *This); 8617 8618 ULONG (STDMETHODCALLTYPE *Release)( 8619 IPersistMediaPropertyBag *This); 8620 8621 /*** IPersist methods ***/ 8622 HRESULT (STDMETHODCALLTYPE *GetClassID)( 8623 IPersistMediaPropertyBag *This, 8624 CLSID *pClassID); 8625 8626 /*** IPersistMediaPropertyBag methods ***/ 8627 HRESULT (STDMETHODCALLTYPE *InitNew)( 8628 IPersistMediaPropertyBag *This); 8629 8630 HRESULT (STDMETHODCALLTYPE *Load)( 8631 IPersistMediaPropertyBag *This, 8632 IMediaPropertyBag *pPropBag, 8633 IErrorLog *pErrorLog); 8634 8635 HRESULT (STDMETHODCALLTYPE *Save)( 8636 IPersistMediaPropertyBag *This, 8637 IMediaPropertyBag *pPropBag, 8638 WINBOOL fClearDirty, 8639 WINBOOL fSaveAllProperties); 8640 8641 END_INTERFACE 8642 } IPersistMediaPropertyBagVtbl; 8643 8644 interface IPersistMediaPropertyBag { 8645 CONST_VTBL IPersistMediaPropertyBagVtbl* lpVtbl; 8646 }; 8647 8648 #ifdef COBJMACROS 8649 #ifndef WIDL_C_INLINE_WRAPPERS 8650 /*** IUnknown methods ***/ 8651 #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8652 #define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This) 8653 #define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This) 8654 /*** IPersist methods ***/ 8655 #define IPersistMediaPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 8656 /*** IPersistMediaPropertyBag methods ***/ 8657 #define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This) 8658 #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog) 8659 #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties) 8660 #else 8661 /*** IUnknown methods ***/ 8662 static inline HRESULT IPersistMediaPropertyBag_QueryInterface(IPersistMediaPropertyBag* This,REFIID riid,void **ppvObject) { 8663 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8664 } 8665 static inline ULONG IPersistMediaPropertyBag_AddRef(IPersistMediaPropertyBag* This) { 8666 return This->lpVtbl->AddRef(This); 8667 } 8668 static inline ULONG IPersistMediaPropertyBag_Release(IPersistMediaPropertyBag* This) { 8669 return This->lpVtbl->Release(This); 8670 } 8671 /*** IPersist methods ***/ 8672 static inline HRESULT IPersistMediaPropertyBag_GetClassID(IPersistMediaPropertyBag* This,CLSID *pClassID) { 8673 return This->lpVtbl->GetClassID(This,pClassID); 8674 } 8675 /*** IPersistMediaPropertyBag methods ***/ 8676 static inline HRESULT IPersistMediaPropertyBag_InitNew(IPersistMediaPropertyBag* This) { 8677 return This->lpVtbl->InitNew(This); 8678 } 8679 static inline HRESULT IPersistMediaPropertyBag_Load(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog) { 8680 return This->lpVtbl->Load(This,pPropBag,pErrorLog); 8681 } 8682 static inline HRESULT IPersistMediaPropertyBag_Save(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) { 8683 return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties); 8684 } 8685 #endif 8686 #endif 8687 8688 #endif 8689 8690 8691 #endif /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */ 8692 8693 /***************************************************************************** 8694 * ISeekingPassThru interface 8695 */ 8696 #ifndef __ISeekingPassThru_INTERFACE_DEFINED__ 8697 #define __ISeekingPassThru_INTERFACE_DEFINED__ 8698 8699 DEFINE_GUID(IID_ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 8700 #if defined(__cplusplus) && !defined(CINTERFACE) 8701 MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60") 8702 ISeekingPassThru : public IUnknown 8703 { 8704 virtual HRESULT STDMETHODCALLTYPE Init( 8705 WINBOOL bSupportRendering, 8706 IPin *pPin) = 0; 8707 8708 }; 8709 #ifdef __CRT_UUID_DECL 8710 __CRT_UUID_DECL(ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 8711 #endif 8712 #else 8713 typedef struct ISeekingPassThruVtbl { 8714 BEGIN_INTERFACE 8715 8716 /*** IUnknown methods ***/ 8717 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8718 ISeekingPassThru *This, 8719 REFIID riid, 8720 void **ppvObject); 8721 8722 ULONG (STDMETHODCALLTYPE *AddRef)( 8723 ISeekingPassThru *This); 8724 8725 ULONG (STDMETHODCALLTYPE *Release)( 8726 ISeekingPassThru *This); 8727 8728 /*** ISeekingPassThru methods ***/ 8729 HRESULT (STDMETHODCALLTYPE *Init)( 8730 ISeekingPassThru *This, 8731 WINBOOL bSupportRendering, 8732 IPin *pPin); 8733 8734 END_INTERFACE 8735 } ISeekingPassThruVtbl; 8736 8737 interface ISeekingPassThru { 8738 CONST_VTBL ISeekingPassThruVtbl* lpVtbl; 8739 }; 8740 8741 #ifdef COBJMACROS 8742 #ifndef WIDL_C_INLINE_WRAPPERS 8743 /*** IUnknown methods ***/ 8744 #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8745 #define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This) 8746 #define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This) 8747 /*** ISeekingPassThru methods ***/ 8748 #define ISeekingPassThru_Init(This,bSupportRendering,pPin) (This)->lpVtbl->Init(This,bSupportRendering,pPin) 8749 #else 8750 /*** IUnknown methods ***/ 8751 static inline HRESULT ISeekingPassThru_QueryInterface(ISeekingPassThru* This,REFIID riid,void **ppvObject) { 8752 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8753 } 8754 static inline ULONG ISeekingPassThru_AddRef(ISeekingPassThru* This) { 8755 return This->lpVtbl->AddRef(This); 8756 } 8757 static inline ULONG ISeekingPassThru_Release(ISeekingPassThru* This) { 8758 return This->lpVtbl->Release(This); 8759 } 8760 /*** ISeekingPassThru methods ***/ 8761 static inline HRESULT ISeekingPassThru_Init(ISeekingPassThru* This,WINBOOL bSupportRendering,IPin *pPin) { 8762 return This->lpVtbl->Init(This,bSupportRendering,pPin); 8763 } 8764 #endif 8765 #endif 8766 8767 #endif 8768 8769 8770 #endif /* __ISeekingPassThru_INTERFACE_DEFINED__ */ 8771 8772 enum _AM_FILTER_MISC_FLAGS { 8773 AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1, 8774 AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2 8775 }; 8776 /***************************************************************************** 8777 * IAMFilterMiscFlags interface 8778 */ 8779 #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__ 8780 #define __IAMFilterMiscFlags_INTERFACE_DEFINED__ 8781 8782 DEFINE_GUID(IID_IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 8783 #if defined(__cplusplus) && !defined(CINTERFACE) 8784 MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375") 8785 IAMFilterMiscFlags : public IUnknown 8786 { 8787 virtual ULONG STDMETHODCALLTYPE GetMiscFlags( 8788 ) = 0; 8789 8790 }; 8791 #ifdef __CRT_UUID_DECL 8792 __CRT_UUID_DECL(IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 8793 #endif 8794 #else 8795 typedef struct IAMFilterMiscFlagsVtbl { 8796 BEGIN_INTERFACE 8797 8798 /*** IUnknown methods ***/ 8799 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8800 IAMFilterMiscFlags *This, 8801 REFIID riid, 8802 void **ppvObject); 8803 8804 ULONG (STDMETHODCALLTYPE *AddRef)( 8805 IAMFilterMiscFlags *This); 8806 8807 ULONG (STDMETHODCALLTYPE *Release)( 8808 IAMFilterMiscFlags *This); 8809 8810 /*** IAMFilterMiscFlags methods ***/ 8811 ULONG (STDMETHODCALLTYPE *GetMiscFlags)( 8812 IAMFilterMiscFlags *This); 8813 8814 END_INTERFACE 8815 } IAMFilterMiscFlagsVtbl; 8816 8817 interface IAMFilterMiscFlags { 8818 CONST_VTBL IAMFilterMiscFlagsVtbl* lpVtbl; 8819 }; 8820 8821 #ifdef COBJMACROS 8822 #ifndef WIDL_C_INLINE_WRAPPERS 8823 /*** IUnknown methods ***/ 8824 #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8825 #define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This) 8826 #define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This) 8827 /*** IAMFilterMiscFlags methods ***/ 8828 #define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This) 8829 #else 8830 /*** IUnknown methods ***/ 8831 static inline HRESULT IAMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags* This,REFIID riid,void **ppvObject) { 8832 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8833 } 8834 static inline ULONG IAMFilterMiscFlags_AddRef(IAMFilterMiscFlags* This) { 8835 return This->lpVtbl->AddRef(This); 8836 } 8837 static inline ULONG IAMFilterMiscFlags_Release(IAMFilterMiscFlags* This) { 8838 return This->lpVtbl->Release(This); 8839 } 8840 /*** IAMFilterMiscFlags methods ***/ 8841 static inline ULONG IAMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags* This) { 8842 return This->lpVtbl->GetMiscFlags(This); 8843 } 8844 #endif 8845 #endif 8846 8847 #endif 8848 8849 8850 #endif /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */ 8851 8852 /***************************************************************************** 8853 * IAMGraphBuilderCallback interface 8854 */ 8855 #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__ 8856 #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__ 8857 8858 DEFINE_GUID(IID_IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79); 8859 #if defined(__cplusplus) && !defined(CINTERFACE) 8860 MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79") 8861 IAMGraphBuilderCallback : public IUnknown 8862 { 8863 virtual HRESULT STDMETHODCALLTYPE SelectedFilter( 8864 IMoniker *pMon) = 0; 8865 8866 virtual HRESULT STDMETHODCALLTYPE CreatedFilter( 8867 IBaseFilter *pFil) = 0; 8868 8869 }; 8870 #ifdef __CRT_UUID_DECL 8871 __CRT_UUID_DECL(IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79) 8872 #endif 8873 #else 8874 typedef struct IAMGraphBuilderCallbackVtbl { 8875 BEGIN_INTERFACE 8876 8877 /*** IUnknown methods ***/ 8878 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8879 IAMGraphBuilderCallback *This, 8880 REFIID riid, 8881 void **ppvObject); 8882 8883 ULONG (STDMETHODCALLTYPE *AddRef)( 8884 IAMGraphBuilderCallback *This); 8885 8886 ULONG (STDMETHODCALLTYPE *Release)( 8887 IAMGraphBuilderCallback *This); 8888 8889 /*** IAMGraphBuilderCallback methods ***/ 8890 HRESULT (STDMETHODCALLTYPE *SelectedFilter)( 8891 IAMGraphBuilderCallback *This, 8892 IMoniker *pMon); 8893 8894 HRESULT (STDMETHODCALLTYPE *CreatedFilter)( 8895 IAMGraphBuilderCallback *This, 8896 IBaseFilter *pFil); 8897 8898 END_INTERFACE 8899 } IAMGraphBuilderCallbackVtbl; 8900 8901 interface IAMGraphBuilderCallback { 8902 CONST_VTBL IAMGraphBuilderCallbackVtbl* lpVtbl; 8903 }; 8904 8905 #ifdef COBJMACROS 8906 #ifndef WIDL_C_INLINE_WRAPPERS 8907 /*** IUnknown methods ***/ 8908 #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8909 #define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 8910 #define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This) 8911 /*** IAMGraphBuilderCallback methods ***/ 8912 #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) (This)->lpVtbl->SelectedFilter(This,pMon) 8913 #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) (This)->lpVtbl->CreatedFilter(This,pFil) 8914 #else 8915 /*** IUnknown methods ***/ 8916 static inline HRESULT IAMGraphBuilderCallback_QueryInterface(IAMGraphBuilderCallback* This,REFIID riid,void **ppvObject) { 8917 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8918 } 8919 static inline ULONG IAMGraphBuilderCallback_AddRef(IAMGraphBuilderCallback* This) { 8920 return This->lpVtbl->AddRef(This); 8921 } 8922 static inline ULONG IAMGraphBuilderCallback_Release(IAMGraphBuilderCallback* This) { 8923 return This->lpVtbl->Release(This); 8924 } 8925 /*** IAMGraphBuilderCallback methods ***/ 8926 static inline HRESULT IAMGraphBuilderCallback_SelectedFilter(IAMGraphBuilderCallback* This,IMoniker *pMon) { 8927 return This->lpVtbl->SelectedFilter(This,pMon); 8928 } 8929 static inline HRESULT IAMGraphBuilderCallback_CreatedFilter(IAMGraphBuilderCallback* This,IBaseFilter *pFil) { 8930 return This->lpVtbl->CreatedFilter(This,pFil); 8931 } 8932 #endif 8933 #endif 8934 8935 #endif 8936 8937 8938 #endif /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */ 8939 8940 /***************************************************************************** 8941 * IAMVfwCaptureDialogs interface 8942 */ 8943 #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ 8944 #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ 8945 8946 DEFINE_GUID(IID_IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 8947 #if defined(__cplusplus) && !defined(CINTERFACE) 8948 MIDL_INTERFACE("d8d715a0-6e5e-11d0-b3f0-00aa003761c5") 8949 IAMVfwCaptureDialogs : public IUnknown 8950 { 8951 virtual HRESULT STDMETHODCALLTYPE HasDialog( 8952 int dialog) = 0; 8953 8954 virtual HRESULT STDMETHODCALLTYPE ShowDialog( 8955 int dialog, 8956 HWND hwnd) = 0; 8957 8958 virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 8959 int dialog, 8960 int msg, 8961 LONG data1, 8962 LONG data2) = 0; 8963 8964 }; 8965 #ifdef __CRT_UUID_DECL 8966 __CRT_UUID_DECL(IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 8967 #endif 8968 #else 8969 typedef struct IAMVfwCaptureDialogsVtbl { 8970 BEGIN_INTERFACE 8971 8972 /*** IUnknown methods ***/ 8973 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8974 IAMVfwCaptureDialogs *This, 8975 REFIID riid, 8976 void **ppvObject); 8977 8978 ULONG (STDMETHODCALLTYPE *AddRef)( 8979 IAMVfwCaptureDialogs *This); 8980 8981 ULONG (STDMETHODCALLTYPE *Release)( 8982 IAMVfwCaptureDialogs *This); 8983 8984 /*** IAMVfwCaptureDialogs methods ***/ 8985 HRESULT (STDMETHODCALLTYPE *HasDialog)( 8986 IAMVfwCaptureDialogs *This, 8987 int dialog); 8988 8989 HRESULT (STDMETHODCALLTYPE *ShowDialog)( 8990 IAMVfwCaptureDialogs *This, 8991 int dialog, 8992 HWND hwnd); 8993 8994 HRESULT (STDMETHODCALLTYPE *SendDriverMessage)( 8995 IAMVfwCaptureDialogs *This, 8996 int dialog, 8997 int msg, 8998 LONG data1, 8999 LONG data2); 9000 9001 END_INTERFACE 9002 } IAMVfwCaptureDialogsVtbl; 9003 9004 interface IAMVfwCaptureDialogs { 9005 CONST_VTBL IAMVfwCaptureDialogsVtbl* lpVtbl; 9006 }; 9007 9008 #ifdef COBJMACROS 9009 #ifndef WIDL_C_INLINE_WRAPPERS 9010 /*** IUnknown methods ***/ 9011 #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9012 #define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This) 9013 #define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This) 9014 /*** IAMVfwCaptureDialogs methods ***/ 9015 #define IAMVfwCaptureDialogs_HasDialog(This,dialog) (This)->lpVtbl->HasDialog(This,dialog) 9016 #define IAMVfwCaptureDialogs_ShowDialog(This,dialog,hwnd) (This)->lpVtbl->ShowDialog(This,dialog,hwnd) 9017 #define IAMVfwCaptureDialogs_SendDriverMessage(This,dialog,msg,data1,data2) (This)->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2) 9018 #else 9019 /*** IUnknown methods ***/ 9020 static inline HRESULT IAMVfwCaptureDialogs_QueryInterface(IAMVfwCaptureDialogs* This,REFIID riid,void **ppvObject) { 9021 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9022 } 9023 static inline ULONG IAMVfwCaptureDialogs_AddRef(IAMVfwCaptureDialogs* This) { 9024 return This->lpVtbl->AddRef(This); 9025 } 9026 static inline ULONG IAMVfwCaptureDialogs_Release(IAMVfwCaptureDialogs* This) { 9027 return This->lpVtbl->Release(This); 9028 } 9029 /*** IAMVfwCaptureDialogs methods ***/ 9030 static inline HRESULT IAMVfwCaptureDialogs_HasDialog(IAMVfwCaptureDialogs* This,int dialog) { 9031 return This->lpVtbl->HasDialog(This,dialog); 9032 } 9033 static inline HRESULT IAMVfwCaptureDialogs_ShowDialog(IAMVfwCaptureDialogs* This,int dialog,HWND hwnd) { 9034 return This->lpVtbl->ShowDialog(This,dialog,hwnd); 9035 } 9036 static inline HRESULT IAMVfwCaptureDialogs_SendDriverMessage(IAMVfwCaptureDialogs* This,int dialog,int msg,LONG data1,LONG data2) { 9037 return This->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2); 9038 } 9039 #endif 9040 #endif 9041 9042 #endif 9043 9044 9045 #endif /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */ 9046 9047 /***************************************************************************** 9048 * IAMCameraControl interface 9049 */ 9050 #ifndef __IAMCameraControl_INTERFACE_DEFINED__ 9051 #define __IAMCameraControl_INTERFACE_DEFINED__ 9052 9053 DEFINE_GUID(IID_IAMCameraControl, 0xc6e13370, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 9054 #if defined(__cplusplus) && !defined(CINTERFACE) 9055 MIDL_INTERFACE("c6e13370-30ac-11d0-a18c-00a0c9118956") 9056 IAMCameraControl : public IUnknown 9057 { 9058 virtual HRESULT STDMETHODCALLTYPE GetRange( 9059 LONG property, 9060 LONG *min, 9061 LONG *max, 9062 LONG *stepping_delta, 9063 LONG *default_value, 9064 LONG *flags) = 0; 9065 9066 virtual HRESULT STDMETHODCALLTYPE Set( 9067 LONG property, 9068 LONG property_value, 9069 LONG flags) = 0; 9070 9071 virtual HRESULT STDMETHODCALLTYPE Get( 9072 LONG property, 9073 LONG *property_value, 9074 LONG *flags) = 0; 9075 9076 }; 9077 #ifdef __CRT_UUID_DECL 9078 __CRT_UUID_DECL(IAMCameraControl, 0xc6e13370, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 9079 #endif 9080 #else 9081 typedef struct IAMCameraControlVtbl { 9082 BEGIN_INTERFACE 9083 9084 /*** IUnknown methods ***/ 9085 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9086 IAMCameraControl *This, 9087 REFIID riid, 9088 void **ppvObject); 9089 9090 ULONG (STDMETHODCALLTYPE *AddRef)( 9091 IAMCameraControl *This); 9092 9093 ULONG (STDMETHODCALLTYPE *Release)( 9094 IAMCameraControl *This); 9095 9096 /*** IAMCameraControl methods ***/ 9097 HRESULT (STDMETHODCALLTYPE *GetRange)( 9098 IAMCameraControl *This, 9099 LONG property, 9100 LONG *min, 9101 LONG *max, 9102 LONG *stepping_delta, 9103 LONG *default_value, 9104 LONG *flags); 9105 9106 HRESULT (STDMETHODCALLTYPE *Set)( 9107 IAMCameraControl *This, 9108 LONG property, 9109 LONG property_value, 9110 LONG flags); 9111 9112 HRESULT (STDMETHODCALLTYPE *Get)( 9113 IAMCameraControl *This, 9114 LONG property, 9115 LONG *property_value, 9116 LONG *flags); 9117 9118 END_INTERFACE 9119 } IAMCameraControlVtbl; 9120 9121 interface IAMCameraControl { 9122 CONST_VTBL IAMCameraControlVtbl* lpVtbl; 9123 }; 9124 9125 #ifdef COBJMACROS 9126 #ifndef WIDL_C_INLINE_WRAPPERS 9127 /*** IUnknown methods ***/ 9128 #define IAMCameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9129 #define IAMCameraControl_AddRef(This) (This)->lpVtbl->AddRef(This) 9130 #define IAMCameraControl_Release(This) (This)->lpVtbl->Release(This) 9131 /*** IAMCameraControl methods ***/ 9132 #define IAMCameraControl_GetRange(This,property,min,max,stepping_delta,default_value,flags) (This)->lpVtbl->GetRange(This,property,min,max,stepping_delta,default_value,flags) 9133 #define IAMCameraControl_Set(This,property,property_value,flags) (This)->lpVtbl->Set(This,property,property_value,flags) 9134 #define IAMCameraControl_Get(This,property,property_value,flags) (This)->lpVtbl->Get(This,property,property_value,flags) 9135 #else 9136 /*** IUnknown methods ***/ 9137 static inline HRESULT IAMCameraControl_QueryInterface(IAMCameraControl* This,REFIID riid,void **ppvObject) { 9138 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9139 } 9140 static inline ULONG IAMCameraControl_AddRef(IAMCameraControl* This) { 9141 return This->lpVtbl->AddRef(This); 9142 } 9143 static inline ULONG IAMCameraControl_Release(IAMCameraControl* This) { 9144 return This->lpVtbl->Release(This); 9145 } 9146 /*** IAMCameraControl methods ***/ 9147 static inline HRESULT IAMCameraControl_GetRange(IAMCameraControl* This,LONG property,LONG *min,LONG *max,LONG *stepping_delta,LONG *default_value,LONG *flags) { 9148 return This->lpVtbl->GetRange(This,property,min,max,stepping_delta,default_value,flags); 9149 } 9150 static inline HRESULT IAMCameraControl_Set(IAMCameraControl* This,LONG property,LONG property_value,LONG flags) { 9151 return This->lpVtbl->Set(This,property,property_value,flags); 9152 } 9153 static inline HRESULT IAMCameraControl_Get(IAMCameraControl* This,LONG property,LONG *property_value,LONG *flags) { 9154 return This->lpVtbl->Get(This,property,property_value,flags); 9155 } 9156 #endif 9157 #endif 9158 9159 #endif 9160 9161 9162 #endif /* __IAMCameraControl_INTERFACE_DEFINED__ */ 9163 9164 /***************************************************************************** 9165 * IAMVideoControl interface 9166 */ 9167 #ifndef __IAMVideoControl_INTERFACE_DEFINED__ 9168 #define __IAMVideoControl_INTERFACE_DEFINED__ 9169 9170 DEFINE_GUID(IID_IAMVideoControl, 0x6a2e0670, 0x28e4, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 9171 #if defined(__cplusplus) && !defined(CINTERFACE) 9172 MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956") 9173 IAMVideoControl : public IUnknown 9174 { 9175 virtual HRESULT STDMETHODCALLTYPE GetCaps( 9176 IPin *pin, 9177 LONG *flags) = 0; 9178 9179 virtual HRESULT STDMETHODCALLTYPE SetMode( 9180 IPin *pin, 9181 LONG mode) = 0; 9182 9183 virtual HRESULT STDMETHODCALLTYPE GetMode( 9184 IPin *pin, 9185 LONG *mode) = 0; 9186 9187 virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate( 9188 IPin *pin, 9189 LONGLONG *frame_rate) = 0; 9190 9191 virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate( 9192 IPin *pin, 9193 LONG index, 9194 SIZE dimensions, 9195 LONGLONG *frame_rate) = 0; 9196 9197 virtual HRESULT STDMETHODCALLTYPE GetFrameRateList( 9198 IPin *pin, 9199 LONG index, 9200 SIZE dimensions, 9201 LONG *list_size, 9202 LONGLONG **frame_rate) = 0; 9203 9204 }; 9205 #ifdef __CRT_UUID_DECL 9206 __CRT_UUID_DECL(IAMVideoControl, 0x6a2e0670, 0x28e4, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 9207 #endif 9208 #else 9209 typedef struct IAMVideoControlVtbl { 9210 BEGIN_INTERFACE 9211 9212 /*** IUnknown methods ***/ 9213 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9214 IAMVideoControl *This, 9215 REFIID riid, 9216 void **ppvObject); 9217 9218 ULONG (STDMETHODCALLTYPE *AddRef)( 9219 IAMVideoControl *This); 9220 9221 ULONG (STDMETHODCALLTYPE *Release)( 9222 IAMVideoControl *This); 9223 9224 /*** IAMVideoControl methods ***/ 9225 HRESULT (STDMETHODCALLTYPE *GetCaps)( 9226 IAMVideoControl *This, 9227 IPin *pin, 9228 LONG *flags); 9229 9230 HRESULT (STDMETHODCALLTYPE *SetMode)( 9231 IAMVideoControl *This, 9232 IPin *pin, 9233 LONG mode); 9234 9235 HRESULT (STDMETHODCALLTYPE *GetMode)( 9236 IAMVideoControl *This, 9237 IPin *pin, 9238 LONG *mode); 9239 9240 HRESULT (STDMETHODCALLTYPE *GetCurrentActualFrameRate)( 9241 IAMVideoControl *This, 9242 IPin *pin, 9243 LONGLONG *frame_rate); 9244 9245 HRESULT (STDMETHODCALLTYPE *GetMaxAvailableFrameRate)( 9246 IAMVideoControl *This, 9247 IPin *pin, 9248 LONG index, 9249 SIZE dimensions, 9250 LONGLONG *frame_rate); 9251 9252 HRESULT (STDMETHODCALLTYPE *GetFrameRateList)( 9253 IAMVideoControl *This, 9254 IPin *pin, 9255 LONG index, 9256 SIZE dimensions, 9257 LONG *list_size, 9258 LONGLONG **frame_rate); 9259 9260 END_INTERFACE 9261 } IAMVideoControlVtbl; 9262 9263 interface IAMVideoControl { 9264 CONST_VTBL IAMVideoControlVtbl* lpVtbl; 9265 }; 9266 9267 #ifdef COBJMACROS 9268 #ifndef WIDL_C_INLINE_WRAPPERS 9269 /*** IUnknown methods ***/ 9270 #define IAMVideoControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9271 #define IAMVideoControl_AddRef(This) (This)->lpVtbl->AddRef(This) 9272 #define IAMVideoControl_Release(This) (This)->lpVtbl->Release(This) 9273 /*** IAMVideoControl methods ***/ 9274 #define IAMVideoControl_GetCaps(This,pin,flags) (This)->lpVtbl->GetCaps(This,pin,flags) 9275 #define IAMVideoControl_SetMode(This,pin,mode) (This)->lpVtbl->SetMode(This,pin,mode) 9276 #define IAMVideoControl_GetMode(This,pin,mode) (This)->lpVtbl->GetMode(This,pin,mode) 9277 #define IAMVideoControl_GetCurrentActualFrameRate(This,pin,frame_rate) (This)->lpVtbl->GetCurrentActualFrameRate(This,pin,frame_rate) 9278 #define IAMVideoControl_GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate) (This)->lpVtbl->GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate) 9279 #define IAMVideoControl_GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate) (This)->lpVtbl->GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate) 9280 #else 9281 /*** IUnknown methods ***/ 9282 static inline HRESULT IAMVideoControl_QueryInterface(IAMVideoControl* This,REFIID riid,void **ppvObject) { 9283 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9284 } 9285 static inline ULONG IAMVideoControl_AddRef(IAMVideoControl* This) { 9286 return This->lpVtbl->AddRef(This); 9287 } 9288 static inline ULONG IAMVideoControl_Release(IAMVideoControl* This) { 9289 return This->lpVtbl->Release(This); 9290 } 9291 /*** IAMVideoControl methods ***/ 9292 static inline HRESULT IAMVideoControl_GetCaps(IAMVideoControl* This,IPin *pin,LONG *flags) { 9293 return This->lpVtbl->GetCaps(This,pin,flags); 9294 } 9295 static inline HRESULT IAMVideoControl_SetMode(IAMVideoControl* This,IPin *pin,LONG mode) { 9296 return This->lpVtbl->SetMode(This,pin,mode); 9297 } 9298 static inline HRESULT IAMVideoControl_GetMode(IAMVideoControl* This,IPin *pin,LONG *mode) { 9299 return This->lpVtbl->GetMode(This,pin,mode); 9300 } 9301 static inline HRESULT IAMVideoControl_GetCurrentActualFrameRate(IAMVideoControl* This,IPin *pin,LONGLONG *frame_rate) { 9302 return This->lpVtbl->GetCurrentActualFrameRate(This,pin,frame_rate); 9303 } 9304 static inline HRESULT IAMVideoControl_GetMaxAvailableFrameRate(IAMVideoControl* This,IPin *pin,LONG index,SIZE dimensions,LONGLONG *frame_rate) { 9305 return This->lpVtbl->GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate); 9306 } 9307 static inline HRESULT IAMVideoControl_GetFrameRateList(IAMVideoControl* This,IPin *pin,LONG index,SIZE dimensions,LONG *list_size,LONGLONG **frame_rate) { 9308 return This->lpVtbl->GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate); 9309 } 9310 #endif 9311 #endif 9312 9313 #endif 9314 9315 9316 #endif /* __IAMVideoControl_INTERFACE_DEFINED__ */ 9317 9318 /***************************************************************************** 9319 * IAMBufferNegotiation interface 9320 */ 9321 #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__ 9322 #define __IAMBufferNegotiation_INTERFACE_DEFINED__ 9323 9324 DEFINE_GUID(IID_IAMBufferNegotiation, 0x56ed71a0, 0xaf5f, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 9325 #if defined(__cplusplus) && !defined(CINTERFACE) 9326 MIDL_INTERFACE("56ed71a0-af5f-11d0-b3f0-00aa003761c5") 9327 IAMBufferNegotiation : public IUnknown 9328 { 9329 virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties( 9330 const ALLOCATOR_PROPERTIES *prop) = 0; 9331 9332 virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties( 9333 ALLOCATOR_PROPERTIES *prop) = 0; 9334 9335 }; 9336 #ifdef __CRT_UUID_DECL 9337 __CRT_UUID_DECL(IAMBufferNegotiation, 0x56ed71a0, 0xaf5f, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 9338 #endif 9339 #else 9340 typedef struct IAMBufferNegotiationVtbl { 9341 BEGIN_INTERFACE 9342 9343 /*** IUnknown methods ***/ 9344 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9345 IAMBufferNegotiation *This, 9346 REFIID riid, 9347 void **ppvObject); 9348 9349 ULONG (STDMETHODCALLTYPE *AddRef)( 9350 IAMBufferNegotiation *This); 9351 9352 ULONG (STDMETHODCALLTYPE *Release)( 9353 IAMBufferNegotiation *This); 9354 9355 /*** IAMBufferNegotiation methods ***/ 9356 HRESULT (STDMETHODCALLTYPE *SuggestAllocatorProperties)( 9357 IAMBufferNegotiation *This, 9358 const ALLOCATOR_PROPERTIES *prop); 9359 9360 HRESULT (STDMETHODCALLTYPE *GetAllocatorProperties)( 9361 IAMBufferNegotiation *This, 9362 ALLOCATOR_PROPERTIES *prop); 9363 9364 END_INTERFACE 9365 } IAMBufferNegotiationVtbl; 9366 9367 interface IAMBufferNegotiation { 9368 CONST_VTBL IAMBufferNegotiationVtbl* lpVtbl; 9369 }; 9370 9371 #ifdef COBJMACROS 9372 #ifndef WIDL_C_INLINE_WRAPPERS 9373 /*** IUnknown methods ***/ 9374 #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9375 #define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This) 9376 #define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This) 9377 /*** IAMBufferNegotiation methods ***/ 9378 #define IAMBufferNegotiation_SuggestAllocatorProperties(This,prop) (This)->lpVtbl->SuggestAllocatorProperties(This,prop) 9379 #define IAMBufferNegotiation_GetAllocatorProperties(This,prop) (This)->lpVtbl->GetAllocatorProperties(This,prop) 9380 #else 9381 /*** IUnknown methods ***/ 9382 static inline HRESULT IAMBufferNegotiation_QueryInterface(IAMBufferNegotiation* This,REFIID riid,void **ppvObject) { 9383 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9384 } 9385 static inline ULONG IAMBufferNegotiation_AddRef(IAMBufferNegotiation* This) { 9386 return This->lpVtbl->AddRef(This); 9387 } 9388 static inline ULONG IAMBufferNegotiation_Release(IAMBufferNegotiation* This) { 9389 return This->lpVtbl->Release(This); 9390 } 9391 /*** IAMBufferNegotiation methods ***/ 9392 static inline HRESULT IAMBufferNegotiation_SuggestAllocatorProperties(IAMBufferNegotiation* This,const ALLOCATOR_PROPERTIES *prop) { 9393 return This->lpVtbl->SuggestAllocatorProperties(This,prop); 9394 } 9395 static inline HRESULT IAMBufferNegotiation_GetAllocatorProperties(IAMBufferNegotiation* This,ALLOCATOR_PROPERTIES *prop) { 9396 return This->lpVtbl->GetAllocatorProperties(This,prop); 9397 } 9398 #endif 9399 #endif 9400 9401 #endif 9402 9403 9404 #endif /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */ 9405 9406 /***************************************************************************** 9407 * IAMDroppedFrames interface 9408 */ 9409 #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__ 9410 #define __IAMDroppedFrames_INTERFACE_DEFINED__ 9411 9412 DEFINE_GUID(IID_IAMDroppedFrames, 0xc6e13344, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 9413 #if defined(__cplusplus) && !defined(CINTERFACE) 9414 MIDL_INTERFACE("c6e13344-30ac-11d0-a18c-00a0c9118956") 9415 IAMDroppedFrames : public IUnknown 9416 { 9417 virtual HRESULT STDMETHODCALLTYPE GetNumDropped( 9418 LONG *number) = 0; 9419 9420 virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped( 9421 LONG *number) = 0; 9422 9423 virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo( 9424 LONG size, 9425 LONG *array, 9426 LONG *copied) = 0; 9427 9428 virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize( 9429 LONG *size) = 0; 9430 9431 }; 9432 #ifdef __CRT_UUID_DECL 9433 __CRT_UUID_DECL(IAMDroppedFrames, 0xc6e13344, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 9434 #endif 9435 #else 9436 typedef struct IAMDroppedFramesVtbl { 9437 BEGIN_INTERFACE 9438 9439 /*** IUnknown methods ***/ 9440 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9441 IAMDroppedFrames *This, 9442 REFIID riid, 9443 void **ppvObject); 9444 9445 ULONG (STDMETHODCALLTYPE *AddRef)( 9446 IAMDroppedFrames *This); 9447 9448 ULONG (STDMETHODCALLTYPE *Release)( 9449 IAMDroppedFrames *This); 9450 9451 /*** IAMDroppedFrames methods ***/ 9452 HRESULT (STDMETHODCALLTYPE *GetNumDropped)( 9453 IAMDroppedFrames *This, 9454 LONG *number); 9455 9456 HRESULT (STDMETHODCALLTYPE *GetNumNotDropped)( 9457 IAMDroppedFrames *This, 9458 LONG *number); 9459 9460 HRESULT (STDMETHODCALLTYPE *GetDroppedInfo)( 9461 IAMDroppedFrames *This, 9462 LONG size, 9463 LONG *array, 9464 LONG *copied); 9465 9466 HRESULT (STDMETHODCALLTYPE *GetAverageFrameSize)( 9467 IAMDroppedFrames *This, 9468 LONG *size); 9469 9470 END_INTERFACE 9471 } IAMDroppedFramesVtbl; 9472 9473 interface IAMDroppedFrames { 9474 CONST_VTBL IAMDroppedFramesVtbl* lpVtbl; 9475 }; 9476 9477 #ifdef COBJMACROS 9478 #ifndef WIDL_C_INLINE_WRAPPERS 9479 /*** IUnknown methods ***/ 9480 #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9481 #define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This) 9482 #define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This) 9483 /*** IAMDroppedFrames methods ***/ 9484 #define IAMDroppedFrames_GetNumDropped(This,number) (This)->lpVtbl->GetNumDropped(This,number) 9485 #define IAMDroppedFrames_GetNumNotDropped(This,number) (This)->lpVtbl->GetNumNotDropped(This,number) 9486 #define IAMDroppedFrames_GetDroppedInfo(This,size,array,copied) (This)->lpVtbl->GetDroppedInfo(This,size,array,copied) 9487 #define IAMDroppedFrames_GetAverageFrameSize(This,size) (This)->lpVtbl->GetAverageFrameSize(This,size) 9488 #else 9489 /*** IUnknown methods ***/ 9490 static inline HRESULT IAMDroppedFrames_QueryInterface(IAMDroppedFrames* This,REFIID riid,void **ppvObject) { 9491 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9492 } 9493 static inline ULONG IAMDroppedFrames_AddRef(IAMDroppedFrames* This) { 9494 return This->lpVtbl->AddRef(This); 9495 } 9496 static inline ULONG IAMDroppedFrames_Release(IAMDroppedFrames* This) { 9497 return This->lpVtbl->Release(This); 9498 } 9499 /*** IAMDroppedFrames methods ***/ 9500 static inline HRESULT IAMDroppedFrames_GetNumDropped(IAMDroppedFrames* This,LONG *number) { 9501 return This->lpVtbl->GetNumDropped(This,number); 9502 } 9503 static inline HRESULT IAMDroppedFrames_GetNumNotDropped(IAMDroppedFrames* This,LONG *number) { 9504 return This->lpVtbl->GetNumNotDropped(This,number); 9505 } 9506 static inline HRESULT IAMDroppedFrames_GetDroppedInfo(IAMDroppedFrames* This,LONG size,LONG *array,LONG *copied) { 9507 return This->lpVtbl->GetDroppedInfo(This,size,array,copied); 9508 } 9509 static inline HRESULT IAMDroppedFrames_GetAverageFrameSize(IAMDroppedFrames* This,LONG *size) { 9510 return This->lpVtbl->GetAverageFrameSize(This,size); 9511 } 9512 #endif 9513 #endif 9514 9515 #endif 9516 9517 9518 #endif /* __IAMDroppedFrames_INTERFACE_DEFINED__ */ 9519 9520 /***************************************************************************** 9521 * IAMLatency interface 9522 */ 9523 #ifndef __IAMLatency_INTERFACE_DEFINED__ 9524 #define __IAMLatency_INTERFACE_DEFINED__ 9525 9526 DEFINE_GUID(IID_IAMLatency, 0x62ea93ba, 0xec62, 0x11d2, 0xb7,0x70, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d); 9527 #if defined(__cplusplus) && !defined(CINTERFACE) 9528 MIDL_INTERFACE("62ea93ba-ec62-11d2-b770-00c04fb6bd3d") 9529 IAMLatency : public IUnknown 9530 { 9531 virtual HRESULT STDMETHODCALLTYPE GetLatency( 9532 REFERENCE_TIME *latency) = 0; 9533 9534 }; 9535 #ifdef __CRT_UUID_DECL 9536 __CRT_UUID_DECL(IAMLatency, 0x62ea93ba, 0xec62, 0x11d2, 0xb7,0x70, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d) 9537 #endif 9538 #else 9539 typedef struct IAMLatencyVtbl { 9540 BEGIN_INTERFACE 9541 9542 /*** IUnknown methods ***/ 9543 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9544 IAMLatency *This, 9545 REFIID riid, 9546 void **ppvObject); 9547 9548 ULONG (STDMETHODCALLTYPE *AddRef)( 9549 IAMLatency *This); 9550 9551 ULONG (STDMETHODCALLTYPE *Release)( 9552 IAMLatency *This); 9553 9554 /*** IAMLatency methods ***/ 9555 HRESULT (STDMETHODCALLTYPE *GetLatency)( 9556 IAMLatency *This, 9557 REFERENCE_TIME *latency); 9558 9559 END_INTERFACE 9560 } IAMLatencyVtbl; 9561 9562 interface IAMLatency { 9563 CONST_VTBL IAMLatencyVtbl* lpVtbl; 9564 }; 9565 9566 #ifdef COBJMACROS 9567 #ifndef WIDL_C_INLINE_WRAPPERS 9568 /*** IUnknown methods ***/ 9569 #define IAMLatency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9570 #define IAMLatency_AddRef(This) (This)->lpVtbl->AddRef(This) 9571 #define IAMLatency_Release(This) (This)->lpVtbl->Release(This) 9572 /*** IAMLatency methods ***/ 9573 #define IAMLatency_GetLatency(This,latency) (This)->lpVtbl->GetLatency(This,latency) 9574 #else 9575 /*** IUnknown methods ***/ 9576 static inline HRESULT IAMLatency_QueryInterface(IAMLatency* This,REFIID riid,void **ppvObject) { 9577 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9578 } 9579 static inline ULONG IAMLatency_AddRef(IAMLatency* This) { 9580 return This->lpVtbl->AddRef(This); 9581 } 9582 static inline ULONG IAMLatency_Release(IAMLatency* This) { 9583 return This->lpVtbl->Release(This); 9584 } 9585 /*** IAMLatency methods ***/ 9586 static inline HRESULT IAMLatency_GetLatency(IAMLatency* This,REFERENCE_TIME *latency) { 9587 return This->lpVtbl->GetLatency(This,latency); 9588 } 9589 #endif 9590 #endif 9591 9592 #endif 9593 9594 9595 #endif /* __IAMLatency_INTERFACE_DEFINED__ */ 9596 9597 /***************************************************************************** 9598 * IAMPushSource interface 9599 */ 9600 #ifndef __IAMPushSource_INTERFACE_DEFINED__ 9601 #define __IAMPushSource_INTERFACE_DEFINED__ 9602 9603 DEFINE_GUID(IID_IAMPushSource, 0xf185fe76, 0xe64e, 0x11d2, 0xb7,0x6e, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d); 9604 #if defined(__cplusplus) && !defined(CINTERFACE) 9605 MIDL_INTERFACE("f185fe76-e64e-11d2-b76e-00c04fb6bd3d") 9606 IAMPushSource : public IAMLatency 9607 { 9608 virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags( 9609 ULONG *flags) = 0; 9610 9611 virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags( 9612 ULONG flags) = 0; 9613 9614 virtual HRESULT STDMETHODCALLTYPE SetStreamOffset( 9615 REFERENCE_TIME offset) = 0; 9616 9617 virtual HRESULT STDMETHODCALLTYPE GetStreamOffset( 9618 REFERENCE_TIME *offset) = 0; 9619 9620 virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset( 9621 REFERENCE_TIME *offset) = 0; 9622 9623 virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset( 9624 REFERENCE_TIME offset) = 0; 9625 9626 }; 9627 #ifdef __CRT_UUID_DECL 9628 __CRT_UUID_DECL(IAMPushSource, 0xf185fe76, 0xe64e, 0x11d2, 0xb7,0x6e, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d) 9629 #endif 9630 #else 9631 typedef struct IAMPushSourceVtbl { 9632 BEGIN_INTERFACE 9633 9634 /*** IUnknown methods ***/ 9635 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9636 IAMPushSource *This, 9637 REFIID riid, 9638 void **ppvObject); 9639 9640 ULONG (STDMETHODCALLTYPE *AddRef)( 9641 IAMPushSource *This); 9642 9643 ULONG (STDMETHODCALLTYPE *Release)( 9644 IAMPushSource *This); 9645 9646 /*** IAMLatency methods ***/ 9647 HRESULT (STDMETHODCALLTYPE *GetLatency)( 9648 IAMPushSource *This, 9649 REFERENCE_TIME *latency); 9650 9651 /*** IAMPushSource methods ***/ 9652 HRESULT (STDMETHODCALLTYPE *GetPushSourceFlags)( 9653 IAMPushSource *This, 9654 ULONG *flags); 9655 9656 HRESULT (STDMETHODCALLTYPE *SetPushSourceFlags)( 9657 IAMPushSource *This, 9658 ULONG flags); 9659 9660 HRESULT (STDMETHODCALLTYPE *SetStreamOffset)( 9661 IAMPushSource *This, 9662 REFERENCE_TIME offset); 9663 9664 HRESULT (STDMETHODCALLTYPE *GetStreamOffset)( 9665 IAMPushSource *This, 9666 REFERENCE_TIME *offset); 9667 9668 HRESULT (STDMETHODCALLTYPE *GetMaxStreamOffset)( 9669 IAMPushSource *This, 9670 REFERENCE_TIME *offset); 9671 9672 HRESULT (STDMETHODCALLTYPE *SetMaxStreamOffset)( 9673 IAMPushSource *This, 9674 REFERENCE_TIME offset); 9675 9676 END_INTERFACE 9677 } IAMPushSourceVtbl; 9678 9679 interface IAMPushSource { 9680 CONST_VTBL IAMPushSourceVtbl* lpVtbl; 9681 }; 9682 9683 #ifdef COBJMACROS 9684 #ifndef WIDL_C_INLINE_WRAPPERS 9685 /*** IUnknown methods ***/ 9686 #define IAMPushSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9687 #define IAMPushSource_AddRef(This) (This)->lpVtbl->AddRef(This) 9688 #define IAMPushSource_Release(This) (This)->lpVtbl->Release(This) 9689 /*** IAMLatency methods ***/ 9690 #define IAMPushSource_GetLatency(This,latency) (This)->lpVtbl->GetLatency(This,latency) 9691 /*** IAMPushSource methods ***/ 9692 #define IAMPushSource_GetPushSourceFlags(This,flags) (This)->lpVtbl->GetPushSourceFlags(This,flags) 9693 #define IAMPushSource_SetPushSourceFlags(This,flags) (This)->lpVtbl->SetPushSourceFlags(This,flags) 9694 #define IAMPushSource_SetStreamOffset(This,offset) (This)->lpVtbl->SetStreamOffset(This,offset) 9695 #define IAMPushSource_GetStreamOffset(This,offset) (This)->lpVtbl->GetStreamOffset(This,offset) 9696 #define IAMPushSource_GetMaxStreamOffset(This,offset) (This)->lpVtbl->GetMaxStreamOffset(This,offset) 9697 #define IAMPushSource_SetMaxStreamOffset(This,offset) (This)->lpVtbl->SetMaxStreamOffset(This,offset) 9698 #else 9699 /*** IUnknown methods ***/ 9700 static inline HRESULT IAMPushSource_QueryInterface(IAMPushSource* This,REFIID riid,void **ppvObject) { 9701 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9702 } 9703 static inline ULONG IAMPushSource_AddRef(IAMPushSource* This) { 9704 return This->lpVtbl->AddRef(This); 9705 } 9706 static inline ULONG IAMPushSource_Release(IAMPushSource* This) { 9707 return This->lpVtbl->Release(This); 9708 } 9709 /*** IAMLatency methods ***/ 9710 static inline HRESULT IAMPushSource_GetLatency(IAMPushSource* This,REFERENCE_TIME *latency) { 9711 return This->lpVtbl->GetLatency(This,latency); 9712 } 9713 /*** IAMPushSource methods ***/ 9714 static inline HRESULT IAMPushSource_GetPushSourceFlags(IAMPushSource* This,ULONG *flags) { 9715 return This->lpVtbl->GetPushSourceFlags(This,flags); 9716 } 9717 static inline HRESULT IAMPushSource_SetPushSourceFlags(IAMPushSource* This,ULONG flags) { 9718 return This->lpVtbl->SetPushSourceFlags(This,flags); 9719 } 9720 static inline HRESULT IAMPushSource_SetStreamOffset(IAMPushSource* This,REFERENCE_TIME offset) { 9721 return This->lpVtbl->SetStreamOffset(This,offset); 9722 } 9723 static inline HRESULT IAMPushSource_GetStreamOffset(IAMPushSource* This,REFERENCE_TIME *offset) { 9724 return This->lpVtbl->GetStreamOffset(This,offset); 9725 } 9726 static inline HRESULT IAMPushSource_GetMaxStreamOffset(IAMPushSource* This,REFERENCE_TIME *offset) { 9727 return This->lpVtbl->GetMaxStreamOffset(This,offset); 9728 } 9729 static inline HRESULT IAMPushSource_SetMaxStreamOffset(IAMPushSource* This,REFERENCE_TIME offset) { 9730 return This->lpVtbl->SetMaxStreamOffset(This,offset); 9731 } 9732 #endif 9733 #endif 9734 9735 #endif 9736 9737 9738 #endif /* __IAMPushSource_INTERFACE_DEFINED__ */ 9739 9740 /***************************************************************************** 9741 * IAMVideoCompression interface 9742 */ 9743 #ifndef __IAMVideoCompression_INTERFACE_DEFINED__ 9744 #define __IAMVideoCompression_INTERFACE_DEFINED__ 9745 9746 DEFINE_GUID(IID_IAMVideoCompression, 0xc6e13343, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 9747 #if defined(__cplusplus) && !defined(CINTERFACE) 9748 MIDL_INTERFACE("c6e13343-30ac-11d0-a18c-00a0c9118956") 9749 IAMVideoCompression : public IUnknown 9750 { 9751 virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate( 9752 LONG frame_rate) = 0; 9753 9754 virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate( 9755 LONG *frame_rate) = 0; 9756 9757 virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame( 9758 LONG frame) = 0; 9759 9760 virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame( 9761 LONG *frame) = 0; 9762 9763 virtual HRESULT STDMETHODCALLTYPE put_Quality( 9764 double quality) = 0; 9765 9766 virtual HRESULT STDMETHODCALLTYPE get_Quality( 9767 double *quality) = 0; 9768 9769 virtual HRESULT STDMETHODCALLTYPE put_WindowSize( 9770 DWORDLONG size) = 0; 9771 9772 virtual HRESULT STDMETHODCALLTYPE get_WindowSize( 9773 DWORDLONG *size) = 0; 9774 9775 virtual HRESULT STDMETHODCALLTYPE GetInfo( 9776 LPWSTR version, 9777 int *version_size, 9778 LPWSTR description, 9779 int *description_size, 9780 LONG *frame_rate, 9781 LONG *key, 9782 double *quality, 9783 LONG *capabilities) = 0; 9784 9785 virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame( 9786 LONG number) = 0; 9787 9788 virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize( 9789 LONG number, 9790 LONG size) = 0; 9791 9792 }; 9793 #ifdef __CRT_UUID_DECL 9794 __CRT_UUID_DECL(IAMVideoCompression, 0xc6e13343, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 9795 #endif 9796 #else 9797 typedef struct IAMVideoCompressionVtbl { 9798 BEGIN_INTERFACE 9799 9800 /*** IUnknown methods ***/ 9801 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9802 IAMVideoCompression *This, 9803 REFIID riid, 9804 void **ppvObject); 9805 9806 ULONG (STDMETHODCALLTYPE *AddRef)( 9807 IAMVideoCompression *This); 9808 9809 ULONG (STDMETHODCALLTYPE *Release)( 9810 IAMVideoCompression *This); 9811 9812 /*** IAMVideoCompression methods ***/ 9813 HRESULT (STDMETHODCALLTYPE *put_KeyFrameRate)( 9814 IAMVideoCompression *This, 9815 LONG frame_rate); 9816 9817 HRESULT (STDMETHODCALLTYPE *get_KeyFrameRate)( 9818 IAMVideoCompression *This, 9819 LONG *frame_rate); 9820 9821 HRESULT (STDMETHODCALLTYPE *put_PFramesPerKeyFrame)( 9822 IAMVideoCompression *This, 9823 LONG frame); 9824 9825 HRESULT (STDMETHODCALLTYPE *get_PFramesPerKeyFrame)( 9826 IAMVideoCompression *This, 9827 LONG *frame); 9828 9829 HRESULT (STDMETHODCALLTYPE *put_Quality)( 9830 IAMVideoCompression *This, 9831 double quality); 9832 9833 HRESULT (STDMETHODCALLTYPE *get_Quality)( 9834 IAMVideoCompression *This, 9835 double *quality); 9836 9837 HRESULT (STDMETHODCALLTYPE *put_WindowSize)( 9838 IAMVideoCompression *This, 9839 DWORDLONG size); 9840 9841 HRESULT (STDMETHODCALLTYPE *get_WindowSize)( 9842 IAMVideoCompression *This, 9843 DWORDLONG *size); 9844 9845 HRESULT (STDMETHODCALLTYPE *GetInfo)( 9846 IAMVideoCompression *This, 9847 LPWSTR version, 9848 int *version_size, 9849 LPWSTR description, 9850 int *description_size, 9851 LONG *frame_rate, 9852 LONG *key, 9853 double *quality, 9854 LONG *capabilities); 9855 9856 HRESULT (STDMETHODCALLTYPE *OverrideKeyFrame)( 9857 IAMVideoCompression *This, 9858 LONG number); 9859 9860 HRESULT (STDMETHODCALLTYPE *OverrideFrameSize)( 9861 IAMVideoCompression *This, 9862 LONG number, 9863 LONG size); 9864 9865 END_INTERFACE 9866 } IAMVideoCompressionVtbl; 9867 9868 interface IAMVideoCompression { 9869 CONST_VTBL IAMVideoCompressionVtbl* lpVtbl; 9870 }; 9871 9872 #ifdef COBJMACROS 9873 #ifndef WIDL_C_INLINE_WRAPPERS 9874 /*** IUnknown methods ***/ 9875 #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9876 #define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This) 9877 #define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This) 9878 /*** IAMVideoCompression methods ***/ 9879 #define IAMVideoCompression_put_KeyFrameRate(This,frame_rate) (This)->lpVtbl->put_KeyFrameRate(This,frame_rate) 9880 #define IAMVideoCompression_get_KeyFrameRate(This,frame_rate) (This)->lpVtbl->get_KeyFrameRate(This,frame_rate) 9881 #define IAMVideoCompression_put_PFramesPerKeyFrame(This,frame) (This)->lpVtbl->put_PFramesPerKeyFrame(This,frame) 9882 #define IAMVideoCompression_get_PFramesPerKeyFrame(This,frame) (This)->lpVtbl->get_PFramesPerKeyFrame(This,frame) 9883 #define IAMVideoCompression_put_Quality(This,quality) (This)->lpVtbl->put_Quality(This,quality) 9884 #define IAMVideoCompression_get_Quality(This,quality) (This)->lpVtbl->get_Quality(This,quality) 9885 #define IAMVideoCompression_put_WindowSize(This,size) (This)->lpVtbl->put_WindowSize(This,size) 9886 #define IAMVideoCompression_get_WindowSize(This,size) (This)->lpVtbl->get_WindowSize(This,size) 9887 #define IAMVideoCompression_GetInfo(This,version,version_size,description,description_size,frame_rate,key,quality,capabilities) (This)->lpVtbl->GetInfo(This,version,version_size,description,description_size,frame_rate,key,quality,capabilities) 9888 #define IAMVideoCompression_OverrideKeyFrame(This,number) (This)->lpVtbl->OverrideKeyFrame(This,number) 9889 #define IAMVideoCompression_OverrideFrameSize(This,number,size) (This)->lpVtbl->OverrideFrameSize(This,number,size) 9890 #else 9891 /*** IUnknown methods ***/ 9892 static inline HRESULT IAMVideoCompression_QueryInterface(IAMVideoCompression* This,REFIID riid,void **ppvObject) { 9893 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9894 } 9895 static inline ULONG IAMVideoCompression_AddRef(IAMVideoCompression* This) { 9896 return This->lpVtbl->AddRef(This); 9897 } 9898 static inline ULONG IAMVideoCompression_Release(IAMVideoCompression* This) { 9899 return This->lpVtbl->Release(This); 9900 } 9901 /*** IAMVideoCompression methods ***/ 9902 static inline HRESULT IAMVideoCompression_put_KeyFrameRate(IAMVideoCompression* This,LONG frame_rate) { 9903 return This->lpVtbl->put_KeyFrameRate(This,frame_rate); 9904 } 9905 static inline HRESULT IAMVideoCompression_get_KeyFrameRate(IAMVideoCompression* This,LONG *frame_rate) { 9906 return This->lpVtbl->get_KeyFrameRate(This,frame_rate); 9907 } 9908 static inline HRESULT IAMVideoCompression_put_PFramesPerKeyFrame(IAMVideoCompression* This,LONG frame) { 9909 return This->lpVtbl->put_PFramesPerKeyFrame(This,frame); 9910 } 9911 static inline HRESULT IAMVideoCompression_get_PFramesPerKeyFrame(IAMVideoCompression* This,LONG *frame) { 9912 return This->lpVtbl->get_PFramesPerKeyFrame(This,frame); 9913 } 9914 static inline HRESULT IAMVideoCompression_put_Quality(IAMVideoCompression* This,double quality) { 9915 return This->lpVtbl->put_Quality(This,quality); 9916 } 9917 static inline HRESULT IAMVideoCompression_get_Quality(IAMVideoCompression* This,double *quality) { 9918 return This->lpVtbl->get_Quality(This,quality); 9919 } 9920 static inline HRESULT IAMVideoCompression_put_WindowSize(IAMVideoCompression* This,DWORDLONG size) { 9921 return This->lpVtbl->put_WindowSize(This,size); 9922 } 9923 static inline HRESULT IAMVideoCompression_get_WindowSize(IAMVideoCompression* This,DWORDLONG *size) { 9924 return This->lpVtbl->get_WindowSize(This,size); 9925 } 9926 static inline HRESULT IAMVideoCompression_GetInfo(IAMVideoCompression* This,LPWSTR version,int *version_size,LPWSTR description,int *description_size,LONG *frame_rate,LONG *key,double *quality,LONG *capabilities) { 9927 return This->lpVtbl->GetInfo(This,version,version_size,description,description_size,frame_rate,key,quality,capabilities); 9928 } 9929 static inline HRESULT IAMVideoCompression_OverrideKeyFrame(IAMVideoCompression* This,LONG number) { 9930 return This->lpVtbl->OverrideKeyFrame(This,number); 9931 } 9932 static inline HRESULT IAMVideoCompression_OverrideFrameSize(IAMVideoCompression* This,LONG number,LONG size) { 9933 return This->lpVtbl->OverrideFrameSize(This,number,size); 9934 } 9935 #endif 9936 #endif 9937 9938 #endif 9939 9940 9941 #endif /* __IAMVideoCompression_INTERFACE_DEFINED__ */ 9942 9943 /***************************************************************************** 9944 * IAMCrossbar interface 9945 */ 9946 #ifndef __IAMCrossbar_INTERFACE_DEFINED__ 9947 #define __IAMCrossbar_INTERFACE_DEFINED__ 9948 9949 DEFINE_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 9950 #if defined(__cplusplus) && !defined(CINTERFACE) 9951 MIDL_INTERFACE("c6e13380-30ac-11d0-a18c-00a0c9118956") 9952 IAMCrossbar : public IUnknown 9953 { 9954 virtual HRESULT STDMETHODCALLTYPE get_PinCounts( 9955 LONG *output, 9956 LONG *intput) = 0; 9957 9958 virtual HRESULT STDMETHODCALLTYPE CanRoute( 9959 LONG output, 9960 LONG input) = 0; 9961 9962 virtual HRESULT STDMETHODCALLTYPE Route( 9963 LONG output, 9964 LONG input) = 0; 9965 9966 virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo( 9967 LONG output, 9968 LONG *input) = 0; 9969 9970 virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo( 9971 WINBOOL is_input, 9972 LONG index, 9973 LONG *related, 9974 LONG *type) = 0; 9975 9976 }; 9977 #ifdef __CRT_UUID_DECL 9978 __CRT_UUID_DECL(IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 9979 #endif 9980 #else 9981 typedef struct IAMCrossbarVtbl { 9982 BEGIN_INTERFACE 9983 9984 /*** IUnknown methods ***/ 9985 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9986 IAMCrossbar *This, 9987 REFIID riid, 9988 void **ppvObject); 9989 9990 ULONG (STDMETHODCALLTYPE *AddRef)( 9991 IAMCrossbar *This); 9992 9993 ULONG (STDMETHODCALLTYPE *Release)( 9994 IAMCrossbar *This); 9995 9996 /*** IAMCrossbar methods ***/ 9997 HRESULT (STDMETHODCALLTYPE *get_PinCounts)( 9998 IAMCrossbar *This, 9999 LONG *output, 10000 LONG *intput); 10001 10002 HRESULT (STDMETHODCALLTYPE *CanRoute)( 10003 IAMCrossbar *This, 10004 LONG output, 10005 LONG input); 10006 10007 HRESULT (STDMETHODCALLTYPE *Route)( 10008 IAMCrossbar *This, 10009 LONG output, 10010 LONG input); 10011 10012 HRESULT (STDMETHODCALLTYPE *get_IsRoutedTo)( 10013 IAMCrossbar *This, 10014 LONG output, 10015 LONG *input); 10016 10017 HRESULT (STDMETHODCALLTYPE *get_CrossbarPinInfo)( 10018 IAMCrossbar *This, 10019 WINBOOL is_input, 10020 LONG index, 10021 LONG *related, 10022 LONG *type); 10023 10024 END_INTERFACE 10025 } IAMCrossbarVtbl; 10026 10027 interface IAMCrossbar { 10028 CONST_VTBL IAMCrossbarVtbl* lpVtbl; 10029 }; 10030 10031 #ifdef COBJMACROS 10032 #ifndef WIDL_C_INLINE_WRAPPERS 10033 /*** IUnknown methods ***/ 10034 #define IAMCrossbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10035 #define IAMCrossbar_AddRef(This) (This)->lpVtbl->AddRef(This) 10036 #define IAMCrossbar_Release(This) (This)->lpVtbl->Release(This) 10037 /*** IAMCrossbar methods ***/ 10038 #define IAMCrossbar_get_PinCounts(This,output,intput) (This)->lpVtbl->get_PinCounts(This,output,intput) 10039 #define IAMCrossbar_CanRoute(This,output,input) (This)->lpVtbl->CanRoute(This,output,input) 10040 #define IAMCrossbar_Route(This,output,input) (This)->lpVtbl->Route(This,output,input) 10041 #define IAMCrossbar_get_IsRoutedTo(This,output,input) (This)->lpVtbl->get_IsRoutedTo(This,output,input) 10042 #define IAMCrossbar_get_CrossbarPinInfo(This,is_input,index,related,type) (This)->lpVtbl->get_CrossbarPinInfo(This,is_input,index,related,type) 10043 #else 10044 /*** IUnknown methods ***/ 10045 static inline HRESULT IAMCrossbar_QueryInterface(IAMCrossbar* This,REFIID riid,void **ppvObject) { 10046 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10047 } 10048 static inline ULONG IAMCrossbar_AddRef(IAMCrossbar* This) { 10049 return This->lpVtbl->AddRef(This); 10050 } 10051 static inline ULONG IAMCrossbar_Release(IAMCrossbar* This) { 10052 return This->lpVtbl->Release(This); 10053 } 10054 /*** IAMCrossbar methods ***/ 10055 static inline HRESULT IAMCrossbar_get_PinCounts(IAMCrossbar* This,LONG *output,LONG *intput) { 10056 return This->lpVtbl->get_PinCounts(This,output,intput); 10057 } 10058 static inline HRESULT IAMCrossbar_CanRoute(IAMCrossbar* This,LONG output,LONG input) { 10059 return This->lpVtbl->CanRoute(This,output,input); 10060 } 10061 static inline HRESULT IAMCrossbar_Route(IAMCrossbar* This,LONG output,LONG input) { 10062 return This->lpVtbl->Route(This,output,input); 10063 } 10064 static inline HRESULT IAMCrossbar_get_IsRoutedTo(IAMCrossbar* This,LONG output,LONG *input) { 10065 return This->lpVtbl->get_IsRoutedTo(This,output,input); 10066 } 10067 static inline HRESULT IAMCrossbar_get_CrossbarPinInfo(IAMCrossbar* This,WINBOOL is_input,LONG index,LONG *related,LONG *type) { 10068 return This->lpVtbl->get_CrossbarPinInfo(This,is_input,index,related,type); 10069 } 10070 #endif 10071 #endif 10072 10073 #endif 10074 10075 10076 #endif /* __IAMCrossbar_INTERFACE_DEFINED__ */ 10077 10078 typedef enum tagAMTunerEventType { 10079 AMTUNER_EVENT_CHANGED = 0x1 10080 } AMTunerEventType; 10081 /***************************************************************************** 10082 * IAMTunerNotification interface 10083 */ 10084 #ifndef __IAMTunerNotification_INTERFACE_DEFINED__ 10085 #define __IAMTunerNotification_INTERFACE_DEFINED__ 10086 10087 DEFINE_GUID(IID_IAMTunerNotification, 0x211a8760, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39); 10088 #if defined(__cplusplus) && !defined(CINTERFACE) 10089 MIDL_INTERFACE("211a8760-03ac-11d1-8d13-00aa00bd8339") 10090 IAMTunerNotification : public IUnknown 10091 { 10092 virtual HRESULT STDMETHODCALLTYPE OnEvent( 10093 AMTunerEventType event) = 0; 10094 10095 }; 10096 #ifdef __CRT_UUID_DECL 10097 __CRT_UUID_DECL(IAMTunerNotification, 0x211a8760, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39) 10098 #endif 10099 #else 10100 typedef struct IAMTunerNotificationVtbl { 10101 BEGIN_INTERFACE 10102 10103 /*** IUnknown methods ***/ 10104 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10105 IAMTunerNotification *This, 10106 REFIID riid, 10107 void **ppvObject); 10108 10109 ULONG (STDMETHODCALLTYPE *AddRef)( 10110 IAMTunerNotification *This); 10111 10112 ULONG (STDMETHODCALLTYPE *Release)( 10113 IAMTunerNotification *This); 10114 10115 /*** IAMTunerNotification methods ***/ 10116 HRESULT (STDMETHODCALLTYPE *OnEvent)( 10117 IAMTunerNotification *This, 10118 AMTunerEventType event); 10119 10120 END_INTERFACE 10121 } IAMTunerNotificationVtbl; 10122 10123 interface IAMTunerNotification { 10124 CONST_VTBL IAMTunerNotificationVtbl* lpVtbl; 10125 }; 10126 10127 #ifdef COBJMACROS 10128 #ifndef WIDL_C_INLINE_WRAPPERS 10129 /*** IUnknown methods ***/ 10130 #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10131 #define IAMTunerNotification_AddRef(This) (This)->lpVtbl->AddRef(This) 10132 #define IAMTunerNotification_Release(This) (This)->lpVtbl->Release(This) 10133 /*** IAMTunerNotification methods ***/ 10134 #define IAMTunerNotification_OnEvent(This,event) (This)->lpVtbl->OnEvent(This,event) 10135 #else 10136 /*** IUnknown methods ***/ 10137 static inline HRESULT IAMTunerNotification_QueryInterface(IAMTunerNotification* This,REFIID riid,void **ppvObject) { 10138 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10139 } 10140 static inline ULONG IAMTunerNotification_AddRef(IAMTunerNotification* This) { 10141 return This->lpVtbl->AddRef(This); 10142 } 10143 static inline ULONG IAMTunerNotification_Release(IAMTunerNotification* This) { 10144 return This->lpVtbl->Release(This); 10145 } 10146 /*** IAMTunerNotification methods ***/ 10147 static inline HRESULT IAMTunerNotification_OnEvent(IAMTunerNotification* This,AMTunerEventType event) { 10148 return This->lpVtbl->OnEvent(This,event); 10149 } 10150 #endif 10151 #endif 10152 10153 #endif 10154 10155 10156 #endif /* __IAMTunerNotification_INTERFACE_DEFINED__ */ 10157 10158 typedef enum tagAMTunerModeType { 10159 AMTUNER_MODE_DEFAULT = 0x0, 10160 AMTUNER_MODE_TV = 0x1, 10161 AMTUNER_MODE_FM_RADIO = 0x2, 10162 AMTUNER_MODE_AM_RADIO = 0x4, 10163 AMTUNER_MODE_DSS = 0x8 10164 } AMTunerModeType; 10165 /***************************************************************************** 10166 * IAMTuner interface 10167 */ 10168 #ifndef __IAMTuner_INTERFACE_DEFINED__ 10169 #define __IAMTuner_INTERFACE_DEFINED__ 10170 10171 DEFINE_GUID(IID_IAMTuner, 0x211a8761, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39); 10172 #if defined(__cplusplus) && !defined(CINTERFACE) 10173 MIDL_INTERFACE("211a8761-03ac-11d1-8d13-00aa00bd8339") 10174 IAMTuner : public IUnknown 10175 { 10176 virtual HRESULT STDMETHODCALLTYPE put_Channel( 10177 LONG channel, 10178 LONG video, 10179 LONG audio) = 0; 10180 10181 virtual HRESULT STDMETHODCALLTYPE get_Channel( 10182 LONG *channel, 10183 LONG *video, 10184 LONG *audio) = 0; 10185 10186 virtual HRESULT STDMETHODCALLTYPE ChannelMinMax( 10187 LONG *min, 10188 LONG *max) = 0; 10189 10190 virtual HRESULT STDMETHODCALLTYPE put_CountryCode( 10191 LONG country) = 0; 10192 10193 virtual HRESULT STDMETHODCALLTYPE get_CountryCode( 10194 LONG *country) = 0; 10195 10196 virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( 10197 LONG tuning_space) = 0; 10198 10199 virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( 10200 LONG *tuning_space) = 0; 10201 10202 virtual HRESULT STDMETHODCALLTYPE Logon( 10203 HANDLE user) = 0; 10204 10205 virtual HRESULT STDMETHODCALLTYPE Logout( 10206 ) = 0; 10207 10208 virtual HRESULT STDMETHODCALLTYPE SignalPresent( 10209 LONG *signal_strength) = 0; 10210 10211 virtual HRESULT STDMETHODCALLTYPE put_Mode( 10212 AMTunerModeType mode) = 0; 10213 10214 virtual HRESULT STDMETHODCALLTYPE get_Mode( 10215 AMTunerModeType *mode) = 0; 10216 10217 virtual HRESULT STDMETHODCALLTYPE GetAvailableModes( 10218 LONG *modes) = 0; 10219 10220 virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 10221 IAMTunerNotification *notify, 10222 LONG events) = 0; 10223 10224 virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 10225 IAMTunerNotification *notify) = 0; 10226 10227 }; 10228 #ifdef __CRT_UUID_DECL 10229 __CRT_UUID_DECL(IAMTuner, 0x211a8761, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39) 10230 #endif 10231 #else 10232 typedef struct IAMTunerVtbl { 10233 BEGIN_INTERFACE 10234 10235 /*** IUnknown methods ***/ 10236 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10237 IAMTuner *This, 10238 REFIID riid, 10239 void **ppvObject); 10240 10241 ULONG (STDMETHODCALLTYPE *AddRef)( 10242 IAMTuner *This); 10243 10244 ULONG (STDMETHODCALLTYPE *Release)( 10245 IAMTuner *This); 10246 10247 /*** IAMTuner methods ***/ 10248 HRESULT (STDMETHODCALLTYPE *put_Channel)( 10249 IAMTuner *This, 10250 LONG channel, 10251 LONG video, 10252 LONG audio); 10253 10254 HRESULT (STDMETHODCALLTYPE *get_Channel)( 10255 IAMTuner *This, 10256 LONG *channel, 10257 LONG *video, 10258 LONG *audio); 10259 10260 HRESULT (STDMETHODCALLTYPE *ChannelMinMax)( 10261 IAMTuner *This, 10262 LONG *min, 10263 LONG *max); 10264 10265 HRESULT (STDMETHODCALLTYPE *put_CountryCode)( 10266 IAMTuner *This, 10267 LONG country); 10268 10269 HRESULT (STDMETHODCALLTYPE *get_CountryCode)( 10270 IAMTuner *This, 10271 LONG *country); 10272 10273 HRESULT (STDMETHODCALLTYPE *put_TuningSpace)( 10274 IAMTuner *This, 10275 LONG tuning_space); 10276 10277 HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( 10278 IAMTuner *This, 10279 LONG *tuning_space); 10280 10281 HRESULT (STDMETHODCALLTYPE *Logon)( 10282 IAMTuner *This, 10283 HANDLE user); 10284 10285 HRESULT (STDMETHODCALLTYPE *Logout)( 10286 IAMTuner *This); 10287 10288 HRESULT (STDMETHODCALLTYPE *SignalPresent)( 10289 IAMTuner *This, 10290 LONG *signal_strength); 10291 10292 HRESULT (STDMETHODCALLTYPE *put_Mode)( 10293 IAMTuner *This, 10294 AMTunerModeType mode); 10295 10296 HRESULT (STDMETHODCALLTYPE *get_Mode)( 10297 IAMTuner *This, 10298 AMTunerModeType *mode); 10299 10300 HRESULT (STDMETHODCALLTYPE *GetAvailableModes)( 10301 IAMTuner *This, 10302 LONG *modes); 10303 10304 HRESULT (STDMETHODCALLTYPE *RegisterNotificationCallBack)( 10305 IAMTuner *This, 10306 IAMTunerNotification *notify, 10307 LONG events); 10308 10309 HRESULT (STDMETHODCALLTYPE *UnRegisterNotificationCallBack)( 10310 IAMTuner *This, 10311 IAMTunerNotification *notify); 10312 10313 END_INTERFACE 10314 } IAMTunerVtbl; 10315 10316 interface IAMTuner { 10317 CONST_VTBL IAMTunerVtbl* lpVtbl; 10318 }; 10319 10320 #ifdef COBJMACROS 10321 #ifndef WIDL_C_INLINE_WRAPPERS 10322 /*** IUnknown methods ***/ 10323 #define IAMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10324 #define IAMTuner_AddRef(This) (This)->lpVtbl->AddRef(This) 10325 #define IAMTuner_Release(This) (This)->lpVtbl->Release(This) 10326 /*** IAMTuner methods ***/ 10327 #define IAMTuner_put_Channel(This,channel,video,audio) (This)->lpVtbl->put_Channel(This,channel,video,audio) 10328 #define IAMTuner_get_Channel(This,channel,video,audio) (This)->lpVtbl->get_Channel(This,channel,video,audio) 10329 #define IAMTuner_ChannelMinMax(This,min,max) (This)->lpVtbl->ChannelMinMax(This,min,max) 10330 #define IAMTuner_put_CountryCode(This,country) (This)->lpVtbl->put_CountryCode(This,country) 10331 #define IAMTuner_get_CountryCode(This,country) (This)->lpVtbl->get_CountryCode(This,country) 10332 #define IAMTuner_put_TuningSpace(This,tuning_space) (This)->lpVtbl->put_TuningSpace(This,tuning_space) 10333 #define IAMTuner_get_TuningSpace(This,tuning_space) (This)->lpVtbl->get_TuningSpace(This,tuning_space) 10334 #define IAMTuner_Logon(This,user) (This)->lpVtbl->Logon(This,user) 10335 #define IAMTuner_Logout(This) (This)->lpVtbl->Logout(This) 10336 #define IAMTuner_SignalPresent(This,signal_strength) (This)->lpVtbl->SignalPresent(This,signal_strength) 10337 #define IAMTuner_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) 10338 #define IAMTuner_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode) 10339 #define IAMTuner_GetAvailableModes(This,modes) (This)->lpVtbl->GetAvailableModes(This,modes) 10340 #define IAMTuner_RegisterNotificationCallBack(This,notify,events) (This)->lpVtbl->RegisterNotificationCallBack(This,notify,events) 10341 #define IAMTuner_UnRegisterNotificationCallBack(This,notify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,notify) 10342 #else 10343 /*** IUnknown methods ***/ 10344 static inline HRESULT IAMTuner_QueryInterface(IAMTuner* This,REFIID riid,void **ppvObject) { 10345 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10346 } 10347 static inline ULONG IAMTuner_AddRef(IAMTuner* This) { 10348 return This->lpVtbl->AddRef(This); 10349 } 10350 static inline ULONG IAMTuner_Release(IAMTuner* This) { 10351 return This->lpVtbl->Release(This); 10352 } 10353 /*** IAMTuner methods ***/ 10354 static inline HRESULT IAMTuner_put_Channel(IAMTuner* This,LONG channel,LONG video,LONG audio) { 10355 return This->lpVtbl->put_Channel(This,channel,video,audio); 10356 } 10357 static inline HRESULT IAMTuner_get_Channel(IAMTuner* This,LONG *channel,LONG *video,LONG *audio) { 10358 return This->lpVtbl->get_Channel(This,channel,video,audio); 10359 } 10360 static inline HRESULT IAMTuner_ChannelMinMax(IAMTuner* This,LONG *min,LONG *max) { 10361 return This->lpVtbl->ChannelMinMax(This,min,max); 10362 } 10363 static inline HRESULT IAMTuner_put_CountryCode(IAMTuner* This,LONG country) { 10364 return This->lpVtbl->put_CountryCode(This,country); 10365 } 10366 static inline HRESULT IAMTuner_get_CountryCode(IAMTuner* This,LONG *country) { 10367 return This->lpVtbl->get_CountryCode(This,country); 10368 } 10369 static inline HRESULT IAMTuner_put_TuningSpace(IAMTuner* This,LONG tuning_space) { 10370 return This->lpVtbl->put_TuningSpace(This,tuning_space); 10371 } 10372 static inline HRESULT IAMTuner_get_TuningSpace(IAMTuner* This,LONG *tuning_space) { 10373 return This->lpVtbl->get_TuningSpace(This,tuning_space); 10374 } 10375 static inline HRESULT IAMTuner_Logon(IAMTuner* This,HANDLE user) { 10376 return This->lpVtbl->Logon(This,user); 10377 } 10378 static inline HRESULT IAMTuner_Logout(IAMTuner* This) { 10379 return This->lpVtbl->Logout(This); 10380 } 10381 static inline HRESULT IAMTuner_SignalPresent(IAMTuner* This,LONG *signal_strength) { 10382 return This->lpVtbl->SignalPresent(This,signal_strength); 10383 } 10384 static inline HRESULT IAMTuner_put_Mode(IAMTuner* This,AMTunerModeType mode) { 10385 return This->lpVtbl->put_Mode(This,mode); 10386 } 10387 static inline HRESULT IAMTuner_get_Mode(IAMTuner* This,AMTunerModeType *mode) { 10388 return This->lpVtbl->get_Mode(This,mode); 10389 } 10390 static inline HRESULT IAMTuner_GetAvailableModes(IAMTuner* This,LONG *modes) { 10391 return This->lpVtbl->GetAvailableModes(This,modes); 10392 } 10393 static inline HRESULT IAMTuner_RegisterNotificationCallBack(IAMTuner* This,IAMTunerNotification *notify,LONG events) { 10394 return This->lpVtbl->RegisterNotificationCallBack(This,notify,events); 10395 } 10396 static inline HRESULT IAMTuner_UnRegisterNotificationCallBack(IAMTuner* This,IAMTunerNotification *notify) { 10397 return This->lpVtbl->UnRegisterNotificationCallBack(This,notify); 10398 } 10399 #endif 10400 #endif 10401 10402 #endif 10403 10404 10405 #endif /* __IAMTuner_INTERFACE_DEFINED__ */ 10406 10407 /***************************************************************************** 10408 * IAMTVTuner interface 10409 */ 10410 #ifndef __IAMTVTuner_INTERFACE_DEFINED__ 10411 #define __IAMTVTuner_INTERFACE_DEFINED__ 10412 10413 DEFINE_GUID(IID_IAMTVTuner, 0x211a8766, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39); 10414 #if defined(__cplusplus) && !defined(CINTERFACE) 10415 MIDL_INTERFACE("211a8766-03ac-11d1-8d13-00aa00bd8339") 10416 IAMTVTuner : public IAMTuner 10417 { 10418 virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 10419 LONG *standard) = 0; 10420 10421 virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 10422 LONG *standard) = 0; 10423 10424 virtual HRESULT STDMETHODCALLTYPE AutoTune( 10425 LONG channel, 10426 LONG *signal) = 0; 10427 10428 virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( 10429 ) = 0; 10430 10431 virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections( 10432 LONG *number) = 0; 10433 10434 virtual HRESULT STDMETHODCALLTYPE put_InputType( 10435 LONG index, 10436 TunerInputType type) = 0; 10437 10438 virtual HRESULT STDMETHODCALLTYPE get_InputType( 10439 LONG index, 10440 TunerInputType *type) = 0; 10441 10442 virtual HRESULT STDMETHODCALLTYPE put_ConnectInput( 10443 LONG index) = 0; 10444 10445 virtual HRESULT STDMETHODCALLTYPE get_ConnectInput( 10446 LONG *index) = 0; 10447 10448 virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency( 10449 LONG *freq) = 0; 10450 10451 virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency( 10452 LONG *freq) = 0; 10453 10454 }; 10455 #ifdef __CRT_UUID_DECL 10456 __CRT_UUID_DECL(IAMTVTuner, 0x211a8766, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39) 10457 #endif 10458 #else 10459 typedef struct IAMTVTunerVtbl { 10460 BEGIN_INTERFACE 10461 10462 /*** IUnknown methods ***/ 10463 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10464 IAMTVTuner *This, 10465 REFIID riid, 10466 void **ppvObject); 10467 10468 ULONG (STDMETHODCALLTYPE *AddRef)( 10469 IAMTVTuner *This); 10470 10471 ULONG (STDMETHODCALLTYPE *Release)( 10472 IAMTVTuner *This); 10473 10474 /*** IAMTuner methods ***/ 10475 HRESULT (STDMETHODCALLTYPE *put_Channel)( 10476 IAMTVTuner *This, 10477 LONG channel, 10478 LONG video, 10479 LONG audio); 10480 10481 HRESULT (STDMETHODCALLTYPE *get_Channel)( 10482 IAMTVTuner *This, 10483 LONG *channel, 10484 LONG *video, 10485 LONG *audio); 10486 10487 HRESULT (STDMETHODCALLTYPE *ChannelMinMax)( 10488 IAMTVTuner *This, 10489 LONG *min, 10490 LONG *max); 10491 10492 HRESULT (STDMETHODCALLTYPE *put_CountryCode)( 10493 IAMTVTuner *This, 10494 LONG country); 10495 10496 HRESULT (STDMETHODCALLTYPE *get_CountryCode)( 10497 IAMTVTuner *This, 10498 LONG *country); 10499 10500 HRESULT (STDMETHODCALLTYPE *put_TuningSpace)( 10501 IAMTVTuner *This, 10502 LONG tuning_space); 10503 10504 HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( 10505 IAMTVTuner *This, 10506 LONG *tuning_space); 10507 10508 HRESULT (STDMETHODCALLTYPE *Logon)( 10509 IAMTVTuner *This, 10510 HANDLE user); 10511 10512 HRESULT (STDMETHODCALLTYPE *Logout)( 10513 IAMTVTuner *This); 10514 10515 HRESULT (STDMETHODCALLTYPE *SignalPresent)( 10516 IAMTVTuner *This, 10517 LONG *signal_strength); 10518 10519 HRESULT (STDMETHODCALLTYPE *put_Mode)( 10520 IAMTVTuner *This, 10521 AMTunerModeType mode); 10522 10523 HRESULT (STDMETHODCALLTYPE *get_Mode)( 10524 IAMTVTuner *This, 10525 AMTunerModeType *mode); 10526 10527 HRESULT (STDMETHODCALLTYPE *GetAvailableModes)( 10528 IAMTVTuner *This, 10529 LONG *modes); 10530 10531 HRESULT (STDMETHODCALLTYPE *RegisterNotificationCallBack)( 10532 IAMTVTuner *This, 10533 IAMTunerNotification *notify, 10534 LONG events); 10535 10536 HRESULT (STDMETHODCALLTYPE *UnRegisterNotificationCallBack)( 10537 IAMTVTuner *This, 10538 IAMTunerNotification *notify); 10539 10540 /*** IAMTVTuner methods ***/ 10541 HRESULT (STDMETHODCALLTYPE *get_AvailableTVFormats)( 10542 IAMTVTuner *This, 10543 LONG *standard); 10544 10545 HRESULT (STDMETHODCALLTYPE *get_TVFormat)( 10546 IAMTVTuner *This, 10547 LONG *standard); 10548 10549 HRESULT (STDMETHODCALLTYPE *AutoTune)( 10550 IAMTVTuner *This, 10551 LONG channel, 10552 LONG *signal); 10553 10554 HRESULT (STDMETHODCALLTYPE *StoreAutoTune)( 10555 IAMTVTuner *This); 10556 10557 HRESULT (STDMETHODCALLTYPE *get_NumInputConnections)( 10558 IAMTVTuner *This, 10559 LONG *number); 10560 10561 HRESULT (STDMETHODCALLTYPE *put_InputType)( 10562 IAMTVTuner *This, 10563 LONG index, 10564 TunerInputType type); 10565 10566 HRESULT (STDMETHODCALLTYPE *get_InputType)( 10567 IAMTVTuner *This, 10568 LONG index, 10569 TunerInputType *type); 10570 10571 HRESULT (STDMETHODCALLTYPE *put_ConnectInput)( 10572 IAMTVTuner *This, 10573 LONG index); 10574 10575 HRESULT (STDMETHODCALLTYPE *get_ConnectInput)( 10576 IAMTVTuner *This, 10577 LONG *index); 10578 10579 HRESULT (STDMETHODCALLTYPE *get_VideoFrequency)( 10580 IAMTVTuner *This, 10581 LONG *freq); 10582 10583 HRESULT (STDMETHODCALLTYPE *get_AudioFrequency)( 10584 IAMTVTuner *This, 10585 LONG *freq); 10586 10587 END_INTERFACE 10588 } IAMTVTunerVtbl; 10589 10590 interface IAMTVTuner { 10591 CONST_VTBL IAMTVTunerVtbl* lpVtbl; 10592 }; 10593 10594 #ifdef COBJMACROS 10595 #ifndef WIDL_C_INLINE_WRAPPERS 10596 /*** IUnknown methods ***/ 10597 #define IAMTVTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10598 #define IAMTVTuner_AddRef(This) (This)->lpVtbl->AddRef(This) 10599 #define IAMTVTuner_Release(This) (This)->lpVtbl->Release(This) 10600 /*** IAMTuner methods ***/ 10601 #define IAMTVTuner_put_Channel(This,channel,video,audio) (This)->lpVtbl->put_Channel(This,channel,video,audio) 10602 #define IAMTVTuner_get_Channel(This,channel,video,audio) (This)->lpVtbl->get_Channel(This,channel,video,audio) 10603 #define IAMTVTuner_ChannelMinMax(This,min,max) (This)->lpVtbl->ChannelMinMax(This,min,max) 10604 #define IAMTVTuner_put_CountryCode(This,country) (This)->lpVtbl->put_CountryCode(This,country) 10605 #define IAMTVTuner_get_CountryCode(This,country) (This)->lpVtbl->get_CountryCode(This,country) 10606 #define IAMTVTuner_put_TuningSpace(This,tuning_space) (This)->lpVtbl->put_TuningSpace(This,tuning_space) 10607 #define IAMTVTuner_get_TuningSpace(This,tuning_space) (This)->lpVtbl->get_TuningSpace(This,tuning_space) 10608 #define IAMTVTuner_Logon(This,user) (This)->lpVtbl->Logon(This,user) 10609 #define IAMTVTuner_Logout(This) (This)->lpVtbl->Logout(This) 10610 #define IAMTVTuner_SignalPresent(This,signal_strength) (This)->lpVtbl->SignalPresent(This,signal_strength) 10611 #define IAMTVTuner_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) 10612 #define IAMTVTuner_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode) 10613 #define IAMTVTuner_GetAvailableModes(This,modes) (This)->lpVtbl->GetAvailableModes(This,modes) 10614 #define IAMTVTuner_RegisterNotificationCallBack(This,notify,events) (This)->lpVtbl->RegisterNotificationCallBack(This,notify,events) 10615 #define IAMTVTuner_UnRegisterNotificationCallBack(This,notify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,notify) 10616 /*** IAMTVTuner methods ***/ 10617 #define IAMTVTuner_get_AvailableTVFormats(This,standard) (This)->lpVtbl->get_AvailableTVFormats(This,standard) 10618 #define IAMTVTuner_get_TVFormat(This,standard) (This)->lpVtbl->get_TVFormat(This,standard) 10619 #define IAMTVTuner_AutoTune(This,channel,signal) (This)->lpVtbl->AutoTune(This,channel,signal) 10620 #define IAMTVTuner_StoreAutoTune(This) (This)->lpVtbl->StoreAutoTune(This) 10621 #define IAMTVTuner_get_NumInputConnections(This,number) (This)->lpVtbl->get_NumInputConnections(This,number) 10622 #define IAMTVTuner_put_InputType(This,index,type) (This)->lpVtbl->put_InputType(This,index,type) 10623 #define IAMTVTuner_get_InputType(This,index,type) (This)->lpVtbl->get_InputType(This,index,type) 10624 #define IAMTVTuner_put_ConnectInput(This,index) (This)->lpVtbl->put_ConnectInput(This,index) 10625 #define IAMTVTuner_get_ConnectInput(This,index) (This)->lpVtbl->get_ConnectInput(This,index) 10626 #define IAMTVTuner_get_VideoFrequency(This,freq) (This)->lpVtbl->get_VideoFrequency(This,freq) 10627 #define IAMTVTuner_get_AudioFrequency(This,freq) (This)->lpVtbl->get_AudioFrequency(This,freq) 10628 #else 10629 /*** IUnknown methods ***/ 10630 static inline HRESULT IAMTVTuner_QueryInterface(IAMTVTuner* This,REFIID riid,void **ppvObject) { 10631 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10632 } 10633 static inline ULONG IAMTVTuner_AddRef(IAMTVTuner* This) { 10634 return This->lpVtbl->AddRef(This); 10635 } 10636 static inline ULONG IAMTVTuner_Release(IAMTVTuner* This) { 10637 return This->lpVtbl->Release(This); 10638 } 10639 /*** IAMTuner methods ***/ 10640 static inline HRESULT IAMTVTuner_put_Channel(IAMTVTuner* This,LONG channel,LONG video,LONG audio) { 10641 return This->lpVtbl->put_Channel(This,channel,video,audio); 10642 } 10643 static inline HRESULT IAMTVTuner_get_Channel(IAMTVTuner* This,LONG *channel,LONG *video,LONG *audio) { 10644 return This->lpVtbl->get_Channel(This,channel,video,audio); 10645 } 10646 static inline HRESULT IAMTVTuner_ChannelMinMax(IAMTVTuner* This,LONG *min,LONG *max) { 10647 return This->lpVtbl->ChannelMinMax(This,min,max); 10648 } 10649 static inline HRESULT IAMTVTuner_put_CountryCode(IAMTVTuner* This,LONG country) { 10650 return This->lpVtbl->put_CountryCode(This,country); 10651 } 10652 static inline HRESULT IAMTVTuner_get_CountryCode(IAMTVTuner* This,LONG *country) { 10653 return This->lpVtbl->get_CountryCode(This,country); 10654 } 10655 static inline HRESULT IAMTVTuner_put_TuningSpace(IAMTVTuner* This,LONG tuning_space) { 10656 return This->lpVtbl->put_TuningSpace(This,tuning_space); 10657 } 10658 static inline HRESULT IAMTVTuner_get_TuningSpace(IAMTVTuner* This,LONG *tuning_space) { 10659 return This->lpVtbl->get_TuningSpace(This,tuning_space); 10660 } 10661 static inline HRESULT IAMTVTuner_Logon(IAMTVTuner* This,HANDLE user) { 10662 return This->lpVtbl->Logon(This,user); 10663 } 10664 static inline HRESULT IAMTVTuner_Logout(IAMTVTuner* This) { 10665 return This->lpVtbl->Logout(This); 10666 } 10667 static inline HRESULT IAMTVTuner_SignalPresent(IAMTVTuner* This,LONG *signal_strength) { 10668 return This->lpVtbl->SignalPresent(This,signal_strength); 10669 } 10670 static inline HRESULT IAMTVTuner_put_Mode(IAMTVTuner* This,AMTunerModeType mode) { 10671 return This->lpVtbl->put_Mode(This,mode); 10672 } 10673 static inline HRESULT IAMTVTuner_get_Mode(IAMTVTuner* This,AMTunerModeType *mode) { 10674 return This->lpVtbl->get_Mode(This,mode); 10675 } 10676 static inline HRESULT IAMTVTuner_GetAvailableModes(IAMTVTuner* This,LONG *modes) { 10677 return This->lpVtbl->GetAvailableModes(This,modes); 10678 } 10679 static inline HRESULT IAMTVTuner_RegisterNotificationCallBack(IAMTVTuner* This,IAMTunerNotification *notify,LONG events) { 10680 return This->lpVtbl->RegisterNotificationCallBack(This,notify,events); 10681 } 10682 static inline HRESULT IAMTVTuner_UnRegisterNotificationCallBack(IAMTVTuner* This,IAMTunerNotification *notify) { 10683 return This->lpVtbl->UnRegisterNotificationCallBack(This,notify); 10684 } 10685 /*** IAMTVTuner methods ***/ 10686 static inline HRESULT IAMTVTuner_get_AvailableTVFormats(IAMTVTuner* This,LONG *standard) { 10687 return This->lpVtbl->get_AvailableTVFormats(This,standard); 10688 } 10689 static inline HRESULT IAMTVTuner_get_TVFormat(IAMTVTuner* This,LONG *standard) { 10690 return This->lpVtbl->get_TVFormat(This,standard); 10691 } 10692 static inline HRESULT IAMTVTuner_AutoTune(IAMTVTuner* This,LONG channel,LONG *signal) { 10693 return This->lpVtbl->AutoTune(This,channel,signal); 10694 } 10695 static inline HRESULT IAMTVTuner_StoreAutoTune(IAMTVTuner* This) { 10696 return This->lpVtbl->StoreAutoTune(This); 10697 } 10698 static inline HRESULT IAMTVTuner_get_NumInputConnections(IAMTVTuner* This,LONG *number) { 10699 return This->lpVtbl->get_NumInputConnections(This,number); 10700 } 10701 static inline HRESULT IAMTVTuner_put_InputType(IAMTVTuner* This,LONG index,TunerInputType type) { 10702 return This->lpVtbl->put_InputType(This,index,type); 10703 } 10704 static inline HRESULT IAMTVTuner_get_InputType(IAMTVTuner* This,LONG index,TunerInputType *type) { 10705 return This->lpVtbl->get_InputType(This,index,type); 10706 } 10707 static inline HRESULT IAMTVTuner_put_ConnectInput(IAMTVTuner* This,LONG index) { 10708 return This->lpVtbl->put_ConnectInput(This,index); 10709 } 10710 static inline HRESULT IAMTVTuner_get_ConnectInput(IAMTVTuner* This,LONG *index) { 10711 return This->lpVtbl->get_ConnectInput(This,index); 10712 } 10713 static inline HRESULT IAMTVTuner_get_VideoFrequency(IAMTVTuner* This,LONG *freq) { 10714 return This->lpVtbl->get_VideoFrequency(This,freq); 10715 } 10716 static inline HRESULT IAMTVTuner_get_AudioFrequency(IAMTVTuner* This,LONG *freq) { 10717 return This->lpVtbl->get_AudioFrequency(This,freq); 10718 } 10719 #endif 10720 #endif 10721 10722 #endif 10723 10724 10725 #endif /* __IAMTVTuner_INTERFACE_DEFINED__ */ 10726 10727 /***************************************************************************** 10728 * IVideoFrameStep interface 10729 */ 10730 #ifndef __IVideoFrameStep_INTERFACE_DEFINED__ 10731 #define __IVideoFrameStep_INTERFACE_DEFINED__ 10732 10733 DEFINE_GUID(IID_IVideoFrameStep, 0xe46a9787, 0x2b71, 0x444d, 0xa4,0xb5, 0x1f,0xab,0x7b,0x70,0x8d,0x6a); 10734 #if defined(__cplusplus) && !defined(CINTERFACE) 10735 MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a") 10736 IVideoFrameStep : public IUnknown 10737 { 10738 virtual HRESULT STDMETHODCALLTYPE Step( 10739 DWORD frame_count, 10740 IUnknown *filter) = 0; 10741 10742 virtual HRESULT STDMETHODCALLTYPE CanStep( 10743 LONG multiple, 10744 IUnknown *filter) = 0; 10745 10746 virtual HRESULT STDMETHODCALLTYPE CancelStep( 10747 ) = 0; 10748 10749 }; 10750 #ifdef __CRT_UUID_DECL 10751 __CRT_UUID_DECL(IVideoFrameStep, 0xe46a9787, 0x2b71, 0x444d, 0xa4,0xb5, 0x1f,0xab,0x7b,0x70,0x8d,0x6a) 10752 #endif 10753 #else 10754 typedef struct IVideoFrameStepVtbl { 10755 BEGIN_INTERFACE 10756 10757 /*** IUnknown methods ***/ 10758 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10759 IVideoFrameStep *This, 10760 REFIID riid, 10761 void **ppvObject); 10762 10763 ULONG (STDMETHODCALLTYPE *AddRef)( 10764 IVideoFrameStep *This); 10765 10766 ULONG (STDMETHODCALLTYPE *Release)( 10767 IVideoFrameStep *This); 10768 10769 /*** IVideoFrameStep methods ***/ 10770 HRESULT (STDMETHODCALLTYPE *Step)( 10771 IVideoFrameStep *This, 10772 DWORD frame_count, 10773 IUnknown *filter); 10774 10775 HRESULT (STDMETHODCALLTYPE *CanStep)( 10776 IVideoFrameStep *This, 10777 LONG multiple, 10778 IUnknown *filter); 10779 10780 HRESULT (STDMETHODCALLTYPE *CancelStep)( 10781 IVideoFrameStep *This); 10782 10783 END_INTERFACE 10784 } IVideoFrameStepVtbl; 10785 10786 interface IVideoFrameStep { 10787 CONST_VTBL IVideoFrameStepVtbl* lpVtbl; 10788 }; 10789 10790 #ifdef COBJMACROS 10791 #ifndef WIDL_C_INLINE_WRAPPERS 10792 /*** IUnknown methods ***/ 10793 #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10794 #define IVideoFrameStep_AddRef(This) (This)->lpVtbl->AddRef(This) 10795 #define IVideoFrameStep_Release(This) (This)->lpVtbl->Release(This) 10796 /*** IVideoFrameStep methods ***/ 10797 #define IVideoFrameStep_Step(This,frame_count,filter) (This)->lpVtbl->Step(This,frame_count,filter) 10798 #define IVideoFrameStep_CanStep(This,multiple,filter) (This)->lpVtbl->CanStep(This,multiple,filter) 10799 #define IVideoFrameStep_CancelStep(This) (This)->lpVtbl->CancelStep(This) 10800 #else 10801 /*** IUnknown methods ***/ 10802 static inline HRESULT IVideoFrameStep_QueryInterface(IVideoFrameStep* This,REFIID riid,void **ppvObject) { 10803 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10804 } 10805 static inline ULONG IVideoFrameStep_AddRef(IVideoFrameStep* This) { 10806 return This->lpVtbl->AddRef(This); 10807 } 10808 static inline ULONG IVideoFrameStep_Release(IVideoFrameStep* This) { 10809 return This->lpVtbl->Release(This); 10810 } 10811 /*** IVideoFrameStep methods ***/ 10812 static inline HRESULT IVideoFrameStep_Step(IVideoFrameStep* This,DWORD frame_count,IUnknown *filter) { 10813 return This->lpVtbl->Step(This,frame_count,filter); 10814 } 10815 static inline HRESULT IVideoFrameStep_CanStep(IVideoFrameStep* This,LONG multiple,IUnknown *filter) { 10816 return This->lpVtbl->CanStep(This,multiple,filter); 10817 } 10818 static inline HRESULT IVideoFrameStep_CancelStep(IVideoFrameStep* This) { 10819 return This->lpVtbl->CancelStep(This); 10820 } 10821 #endif 10822 #endif 10823 10824 #endif 10825 10826 10827 #endif /* __IVideoFrameStep_INTERFACE_DEFINED__ */ 10828 10829 #if (_WIN32_WINNT >= 0x0601) 10830 /***************************************************************************** 10831 * IAMAsyncReaderTimestampScaling interface 10832 */ 10833 #ifndef __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ 10834 #define __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ 10835 10836 DEFINE_GUID(IID_IAMAsyncReaderTimestampScaling, 0xcf7b26fc, 0x9a00, 0x485b, 0x81,0x47, 0x3e,0x78,0x9d,0x5e,0x8f,0x67); 10837 #if defined(__cplusplus) && !defined(CINTERFACE) 10838 MIDL_INTERFACE("cf7b26fc-9a00-485b-8147-3e789d5e8f67") 10839 IAMAsyncReaderTimestampScaling : public IUnknown 10840 { 10841 virtual HRESULT STDMETHODCALLTYPE GetTimestampMode( 10842 WINBOOL *pfRaw) = 0; 10843 10844 virtual HRESULT STDMETHODCALLTYPE SetTimestampMode( 10845 WINBOOL fRaw) = 0; 10846 10847 }; 10848 #ifdef __CRT_UUID_DECL 10849 __CRT_UUID_DECL(IAMAsyncReaderTimestampScaling, 0xcf7b26fc, 0x9a00, 0x485b, 0x81,0x47, 0x3e,0x78,0x9d,0x5e,0x8f,0x67) 10850 #endif 10851 #else 10852 typedef struct IAMAsyncReaderTimestampScalingVtbl { 10853 BEGIN_INTERFACE 10854 10855 /*** IUnknown methods ***/ 10856 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10857 IAMAsyncReaderTimestampScaling *This, 10858 REFIID riid, 10859 void **ppvObject); 10860 10861 ULONG (STDMETHODCALLTYPE *AddRef)( 10862 IAMAsyncReaderTimestampScaling *This); 10863 10864 ULONG (STDMETHODCALLTYPE *Release)( 10865 IAMAsyncReaderTimestampScaling *This); 10866 10867 /*** IAMAsyncReaderTimestampScaling methods ***/ 10868 HRESULT (STDMETHODCALLTYPE *GetTimestampMode)( 10869 IAMAsyncReaderTimestampScaling *This, 10870 WINBOOL *pfRaw); 10871 10872 HRESULT (STDMETHODCALLTYPE *SetTimestampMode)( 10873 IAMAsyncReaderTimestampScaling *This, 10874 WINBOOL fRaw); 10875 10876 END_INTERFACE 10877 } IAMAsyncReaderTimestampScalingVtbl; 10878 10879 interface IAMAsyncReaderTimestampScaling { 10880 CONST_VTBL IAMAsyncReaderTimestampScalingVtbl* lpVtbl; 10881 }; 10882 10883 #ifdef COBJMACROS 10884 #ifndef WIDL_C_INLINE_WRAPPERS 10885 /*** IUnknown methods ***/ 10886 #define IAMAsyncReaderTimestampScaling_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10887 #define IAMAsyncReaderTimestampScaling_AddRef(This) (This)->lpVtbl->AddRef(This) 10888 #define IAMAsyncReaderTimestampScaling_Release(This) (This)->lpVtbl->Release(This) 10889 /*** IAMAsyncReaderTimestampScaling methods ***/ 10890 #define IAMAsyncReaderTimestampScaling_GetTimestampMode(This,pfRaw) (This)->lpVtbl->GetTimestampMode(This,pfRaw) 10891 #define IAMAsyncReaderTimestampScaling_SetTimestampMode(This,fRaw) (This)->lpVtbl->SetTimestampMode(This,fRaw) 10892 #else 10893 /*** IUnknown methods ***/ 10894 static inline HRESULT IAMAsyncReaderTimestampScaling_QueryInterface(IAMAsyncReaderTimestampScaling* This,REFIID riid,void **ppvObject) { 10895 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 10896 } 10897 static inline ULONG IAMAsyncReaderTimestampScaling_AddRef(IAMAsyncReaderTimestampScaling* This) { 10898 return This->lpVtbl->AddRef(This); 10899 } 10900 static inline ULONG IAMAsyncReaderTimestampScaling_Release(IAMAsyncReaderTimestampScaling* This) { 10901 return This->lpVtbl->Release(This); 10902 } 10903 /*** IAMAsyncReaderTimestampScaling methods ***/ 10904 static inline HRESULT IAMAsyncReaderTimestampScaling_GetTimestampMode(IAMAsyncReaderTimestampScaling* This,WINBOOL *pfRaw) { 10905 return This->lpVtbl->GetTimestampMode(This,pfRaw); 10906 } 10907 static inline HRESULT IAMAsyncReaderTimestampScaling_SetTimestampMode(IAMAsyncReaderTimestampScaling* This,WINBOOL fRaw) { 10908 return This->lpVtbl->SetTimestampMode(This,fRaw); 10909 } 10910 #endif 10911 #endif 10912 10913 #endif 10914 10915 10916 #endif /* __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ */ 10917 10918 /***************************************************************************** 10919 * IAMPluginControl interface 10920 */ 10921 #ifndef __IAMPluginControl_INTERFACE_DEFINED__ 10922 #define __IAMPluginControl_INTERFACE_DEFINED__ 10923 10924 DEFINE_GUID(IID_IAMPluginControl, 0x0e26a181, 0xf40c, 0x4635, 0x87,0x86, 0x97,0x62,0x84,0xb5,0x29,0x81); 10925 #if defined(__cplusplus) && !defined(CINTERFACE) 10926 MIDL_INTERFACE("0e26a181-f40c-4635-8786-976284b52981") 10927 IAMPluginControl : public IUnknown 10928 { 10929 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid( 10930 REFGUID subType, 10931 CLSID *clsid) = 0; 10932 10933 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex( 10934 DWORD index, 10935 GUID *subType, 10936 CLSID *clsid) = 0; 10937 10938 virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid( 10939 REFGUID subType, 10940 const CLSID *clsid) = 0; 10941 10942 virtual HRESULT STDMETHODCALLTYPE IsDisabled( 10943 REFCLSID clsid) = 0; 10944 10945 virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex( 10946 DWORD index, 10947 CLSID *clsid) = 0; 10948 10949 virtual HRESULT STDMETHODCALLTYPE SetDisabled( 10950 REFCLSID clsid, 10951 WINBOOL disabled) = 0; 10952 10953 virtual HRESULT STDMETHODCALLTYPE IsLegacyDisabled( 10954 LPCWSTR dllName) = 0; 10955 10956 }; 10957 #ifdef __CRT_UUID_DECL 10958 __CRT_UUID_DECL(IAMPluginControl, 0x0e26a181, 0xf40c, 0x4635, 0x87,0x86, 0x97,0x62,0x84,0xb5,0x29,0x81) 10959 #endif 10960 #else 10961 typedef struct IAMPluginControlVtbl { 10962 BEGIN_INTERFACE 10963 10964 /*** IUnknown methods ***/ 10965 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 10966 IAMPluginControl *This, 10967 REFIID riid, 10968 void **ppvObject); 10969 10970 ULONG (STDMETHODCALLTYPE *AddRef)( 10971 IAMPluginControl *This); 10972 10973 ULONG (STDMETHODCALLTYPE *Release)( 10974 IAMPluginControl *This); 10975 10976 /*** IAMPluginControl methods ***/ 10977 HRESULT (STDMETHODCALLTYPE *GetPreferredClsid)( 10978 IAMPluginControl *This, 10979 REFGUID subType, 10980 CLSID *clsid); 10981 10982 HRESULT (STDMETHODCALLTYPE *GetPreferredClsidByIndex)( 10983 IAMPluginControl *This, 10984 DWORD index, 10985 GUID *subType, 10986 CLSID *clsid); 10987 10988 HRESULT (STDMETHODCALLTYPE *SetPreferredClsid)( 10989 IAMPluginControl *This, 10990 REFGUID subType, 10991 const CLSID *clsid); 10992 10993 HRESULT (STDMETHODCALLTYPE *IsDisabled)( 10994 IAMPluginControl *This, 10995 REFCLSID clsid); 10996 10997 HRESULT (STDMETHODCALLTYPE *GetDisabledByIndex)( 10998 IAMPluginControl *This, 10999 DWORD index, 11000 CLSID *clsid); 11001 11002 HRESULT (STDMETHODCALLTYPE *SetDisabled)( 11003 IAMPluginControl *This, 11004 REFCLSID clsid, 11005 WINBOOL disabled); 11006 11007 HRESULT (STDMETHODCALLTYPE *IsLegacyDisabled)( 11008 IAMPluginControl *This, 11009 LPCWSTR dllName); 11010 11011 END_INTERFACE 11012 } IAMPluginControlVtbl; 11013 11014 interface IAMPluginControl { 11015 CONST_VTBL IAMPluginControlVtbl* lpVtbl; 11016 }; 11017 11018 #ifdef COBJMACROS 11019 #ifndef WIDL_C_INLINE_WRAPPERS 11020 /*** IUnknown methods ***/ 11021 #define IAMPluginControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11022 #define IAMPluginControl_AddRef(This) (This)->lpVtbl->AddRef(This) 11023 #define IAMPluginControl_Release(This) (This)->lpVtbl->Release(This) 11024 /*** IAMPluginControl methods ***/ 11025 #define IAMPluginControl_GetPreferredClsid(This,subType,clsid) (This)->lpVtbl->GetPreferredClsid(This,subType,clsid) 11026 #define IAMPluginControl_GetPreferredClsidByIndex(This,index,subType,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid) 11027 #define IAMPluginControl_SetPreferredClsid(This,subType,clsid) (This)->lpVtbl->SetPreferredClsid(This,subType,clsid) 11028 #define IAMPluginControl_IsDisabled(This,clsid) (This)->lpVtbl->IsDisabled(This,clsid) 11029 #define IAMPluginControl_GetDisabledByIndex(This,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,index,clsid) 11030 #define IAMPluginControl_SetDisabled(This,clsid,disabled) (This)->lpVtbl->SetDisabled(This,clsid,disabled) 11031 #define IAMPluginControl_IsLegacyDisabled(This,dllName) (This)->lpVtbl->IsLegacyDisabled(This,dllName) 11032 #else 11033 /*** IUnknown methods ***/ 11034 static inline HRESULT IAMPluginControl_QueryInterface(IAMPluginControl* This,REFIID riid,void **ppvObject) { 11035 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11036 } 11037 static inline ULONG IAMPluginControl_AddRef(IAMPluginControl* This) { 11038 return This->lpVtbl->AddRef(This); 11039 } 11040 static inline ULONG IAMPluginControl_Release(IAMPluginControl* This) { 11041 return This->lpVtbl->Release(This); 11042 } 11043 /*** IAMPluginControl methods ***/ 11044 static inline HRESULT IAMPluginControl_GetPreferredClsid(IAMPluginControl* This,REFGUID subType,CLSID *clsid) { 11045 return This->lpVtbl->GetPreferredClsid(This,subType,clsid); 11046 } 11047 static inline HRESULT IAMPluginControl_GetPreferredClsidByIndex(IAMPluginControl* This,DWORD index,GUID *subType,CLSID *clsid) { 11048 return This->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid); 11049 } 11050 static inline HRESULT IAMPluginControl_SetPreferredClsid(IAMPluginControl* This,REFGUID subType,const CLSID *clsid) { 11051 return This->lpVtbl->SetPreferredClsid(This,subType,clsid); 11052 } 11053 static inline HRESULT IAMPluginControl_IsDisabled(IAMPluginControl* This,REFCLSID clsid) { 11054 return This->lpVtbl->IsDisabled(This,clsid); 11055 } 11056 static inline HRESULT IAMPluginControl_GetDisabledByIndex(IAMPluginControl* This,DWORD index,CLSID *clsid) { 11057 return This->lpVtbl->GetDisabledByIndex(This,index,clsid); 11058 } 11059 static inline HRESULT IAMPluginControl_SetDisabled(IAMPluginControl* This,REFCLSID clsid,WINBOOL disabled) { 11060 return This->lpVtbl->SetDisabled(This,clsid,disabled); 11061 } 11062 static inline HRESULT IAMPluginControl_IsLegacyDisabled(IAMPluginControl* This,LPCWSTR dllName) { 11063 return This->lpVtbl->IsLegacyDisabled(This,dllName); 11064 } 11065 #endif 11066 #endif 11067 11068 #endif 11069 11070 11071 #endif /* __IAMPluginControl_INTERFACE_DEFINED__ */ 11072 11073 #endif /*(_WIN32_WINNT >= 0x0601)*/ 11074 #ifndef __IPinConnection_FWD_DEFINED__ 11075 #define __IPinConnection_FWD_DEFINED__ 11076 typedef interface IPinConnection IPinConnection; 11077 #ifdef __cplusplus 11078 interface IPinConnection; 11079 #endif /* __cplusplus */ 11080 #endif 11081 11082 #ifndef __IPinFlowControl_FWD_DEFINED__ 11083 #define __IPinFlowControl_FWD_DEFINED__ 11084 typedef interface IPinFlowControl IPinFlowControl; 11085 #ifdef __cplusplus 11086 interface IPinFlowControl; 11087 #endif /* __cplusplus */ 11088 #endif 11089 11090 #ifndef __IGraphConfig_FWD_DEFINED__ 11091 #define __IGraphConfig_FWD_DEFINED__ 11092 typedef interface IGraphConfig IGraphConfig; 11093 #ifdef __cplusplus 11094 interface IGraphConfig; 11095 #endif /* __cplusplus */ 11096 #endif 11097 11098 #ifndef __IGraphConfigCallback_FWD_DEFINED__ 11099 #define __IGraphConfigCallback_FWD_DEFINED__ 11100 typedef interface IGraphConfigCallback IGraphConfigCallback; 11101 #ifdef __cplusplus 11102 interface IGraphConfigCallback; 11103 #endif /* __cplusplus */ 11104 #endif 11105 11106 /***************************************************************************** 11107 * IPinConnection interface 11108 */ 11109 #ifndef __IPinConnection_INTERFACE_DEFINED__ 11110 #define __IPinConnection_INTERFACE_DEFINED__ 11111 11112 DEFINE_GUID(IID_IPinConnection, 0x4a9a62d3, 0x27d4, 0x403d, 0x91,0xe9, 0x89,0xf5,0x40,0xe5,0x55,0x34); 11113 #if defined(__cplusplus) && !defined(CINTERFACE) 11114 MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534") 11115 IPinConnection : public IUnknown 11116 { 11117 virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept( 11118 const AM_MEDIA_TYPE *pmt) = 0; 11119 11120 virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream( 11121 HANDLE hNotifyEvent) = 0; 11122 11123 virtual HRESULT STDMETHODCALLTYPE IsEndPin( 11124 ) = 0; 11125 11126 virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( 11127 ) = 0; 11128 11129 }; 11130 #ifdef __CRT_UUID_DECL 11131 __CRT_UUID_DECL(IPinConnection, 0x4a9a62d3, 0x27d4, 0x403d, 0x91,0xe9, 0x89,0xf5,0x40,0xe5,0x55,0x34) 11132 #endif 11133 #else 11134 typedef struct IPinConnectionVtbl { 11135 BEGIN_INTERFACE 11136 11137 /*** IUnknown methods ***/ 11138 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11139 IPinConnection *This, 11140 REFIID riid, 11141 void **ppvObject); 11142 11143 ULONG (STDMETHODCALLTYPE *AddRef)( 11144 IPinConnection *This); 11145 11146 ULONG (STDMETHODCALLTYPE *Release)( 11147 IPinConnection *This); 11148 11149 /*** IPinConnection methods ***/ 11150 HRESULT (STDMETHODCALLTYPE *DynamicQueryAccept)( 11151 IPinConnection *This, 11152 const AM_MEDIA_TYPE *pmt); 11153 11154 HRESULT (STDMETHODCALLTYPE *NotifyEndOfStream)( 11155 IPinConnection *This, 11156 HANDLE hNotifyEvent); 11157 11158 HRESULT (STDMETHODCALLTYPE *IsEndPin)( 11159 IPinConnection *This); 11160 11161 HRESULT (STDMETHODCALLTYPE *DynamicDisconnect)( 11162 IPinConnection *This); 11163 11164 END_INTERFACE 11165 } IPinConnectionVtbl; 11166 11167 interface IPinConnection { 11168 CONST_VTBL IPinConnectionVtbl* lpVtbl; 11169 }; 11170 11171 #ifdef COBJMACROS 11172 #ifndef WIDL_C_INLINE_WRAPPERS 11173 /*** IUnknown methods ***/ 11174 #define IPinConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11175 #define IPinConnection_AddRef(This) (This)->lpVtbl->AddRef(This) 11176 #define IPinConnection_Release(This) (This)->lpVtbl->Release(This) 11177 /*** IPinConnection methods ***/ 11178 #define IPinConnection_DynamicQueryAccept(This,pmt) (This)->lpVtbl->DynamicQueryAccept(This,pmt) 11179 #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) (This)->lpVtbl->NotifyEndOfStream(This,hNotifyEvent) 11180 #define IPinConnection_IsEndPin(This) (This)->lpVtbl->IsEndPin(This) 11181 #define IPinConnection_DynamicDisconnect(This) (This)->lpVtbl->DynamicDisconnect(This) 11182 #else 11183 /*** IUnknown methods ***/ 11184 static inline HRESULT IPinConnection_QueryInterface(IPinConnection* This,REFIID riid,void **ppvObject) { 11185 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11186 } 11187 static inline ULONG IPinConnection_AddRef(IPinConnection* This) { 11188 return This->lpVtbl->AddRef(This); 11189 } 11190 static inline ULONG IPinConnection_Release(IPinConnection* This) { 11191 return This->lpVtbl->Release(This); 11192 } 11193 /*** IPinConnection methods ***/ 11194 static inline HRESULT IPinConnection_DynamicQueryAccept(IPinConnection* This,const AM_MEDIA_TYPE *pmt) { 11195 return This->lpVtbl->DynamicQueryAccept(This,pmt); 11196 } 11197 static inline HRESULT IPinConnection_NotifyEndOfStream(IPinConnection* This,HANDLE hNotifyEvent) { 11198 return This->lpVtbl->NotifyEndOfStream(This,hNotifyEvent); 11199 } 11200 static inline HRESULT IPinConnection_IsEndPin(IPinConnection* This) { 11201 return This->lpVtbl->IsEndPin(This); 11202 } 11203 static inline HRESULT IPinConnection_DynamicDisconnect(IPinConnection* This) { 11204 return This->lpVtbl->DynamicDisconnect(This); 11205 } 11206 #endif 11207 #endif 11208 11209 #endif 11210 11211 11212 #endif /* __IPinConnection_INTERFACE_DEFINED__ */ 11213 11214 /***************************************************************************** 11215 * IPinFlowControl interface 11216 */ 11217 #ifndef __IPinFlowControl_INTERFACE_DEFINED__ 11218 #define __IPinFlowControl_INTERFACE_DEFINED__ 11219 11220 DEFINE_GUID(IID_IPinFlowControl, 0xc56e9858, 0xdbf3, 0x4f6b, 0x81,0x19, 0x38,0x4a,0xf2,0x06,0x0d,0xeb); 11221 #if defined(__cplusplus) && !defined(CINTERFACE) 11222 MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb") 11223 IPinFlowControl : public IUnknown 11224 { 11225 virtual HRESULT STDMETHODCALLTYPE Block( 11226 DWORD dwBlockFlags, 11227 HANDLE hEvent) = 0; 11228 11229 }; 11230 #ifdef __CRT_UUID_DECL 11231 __CRT_UUID_DECL(IPinFlowControl, 0xc56e9858, 0xdbf3, 0x4f6b, 0x81,0x19, 0x38,0x4a,0xf2,0x06,0x0d,0xeb) 11232 #endif 11233 #else 11234 typedef struct IPinFlowControlVtbl { 11235 BEGIN_INTERFACE 11236 11237 /*** IUnknown methods ***/ 11238 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11239 IPinFlowControl *This, 11240 REFIID riid, 11241 void **ppvObject); 11242 11243 ULONG (STDMETHODCALLTYPE *AddRef)( 11244 IPinFlowControl *This); 11245 11246 ULONG (STDMETHODCALLTYPE *Release)( 11247 IPinFlowControl *This); 11248 11249 /*** IPinFlowControl methods ***/ 11250 HRESULT (STDMETHODCALLTYPE *Block)( 11251 IPinFlowControl *This, 11252 DWORD dwBlockFlags, 11253 HANDLE hEvent); 11254 11255 END_INTERFACE 11256 } IPinFlowControlVtbl; 11257 11258 interface IPinFlowControl { 11259 CONST_VTBL IPinFlowControlVtbl* lpVtbl; 11260 }; 11261 11262 #ifdef COBJMACROS 11263 #ifndef WIDL_C_INLINE_WRAPPERS 11264 /*** IUnknown methods ***/ 11265 #define IPinFlowControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11266 #define IPinFlowControl_AddRef(This) (This)->lpVtbl->AddRef(This) 11267 #define IPinFlowControl_Release(This) (This)->lpVtbl->Release(This) 11268 /*** IPinFlowControl methods ***/ 11269 #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) (This)->lpVtbl->Block(This,dwBlockFlags,hEvent) 11270 #else 11271 /*** IUnknown methods ***/ 11272 static inline HRESULT IPinFlowControl_QueryInterface(IPinFlowControl* This,REFIID riid,void **ppvObject) { 11273 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11274 } 11275 static inline ULONG IPinFlowControl_AddRef(IPinFlowControl* This) { 11276 return This->lpVtbl->AddRef(This); 11277 } 11278 static inline ULONG IPinFlowControl_Release(IPinFlowControl* This) { 11279 return This->lpVtbl->Release(This); 11280 } 11281 /*** IPinFlowControl methods ***/ 11282 static inline HRESULT IPinFlowControl_Block(IPinFlowControl* This,DWORD dwBlockFlags,HANDLE hEvent) { 11283 return This->lpVtbl->Block(This,dwBlockFlags,hEvent); 11284 } 11285 #endif 11286 #endif 11287 11288 #endif 11289 11290 11291 #endif /* __IPinFlowControl_INTERFACE_DEFINED__ */ 11292 11293 enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS { 11294 AM_PIN_FLOW_CONTROL_BLOCK = 0x1 11295 }; 11296 typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS { 11297 AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1, 11298 AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2, 11299 AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4 11300 } AM_GRAPH_CONFIG_RECONNECT_FLAGS; 11301 enum _REM_FILTER_FLAGS { 11302 REMFILTERF_LEAVECONNECTED = 0x1 11303 }; 11304 typedef enum _AM_FILTER_FLAGS { 11305 AM_FILTER_FLAGS_REMOVABLE = 0x1 11306 } AM_FILTER_FLAGS; 11307 /***************************************************************************** 11308 * IGraphConfig interface 11309 */ 11310 #ifndef __IGraphConfig_INTERFACE_DEFINED__ 11311 #define __IGraphConfig_INTERFACE_DEFINED__ 11312 11313 DEFINE_GUID(IID_IGraphConfig, 0x03a1eb8e, 0x32bf, 0x4245, 0x85,0x02, 0x11,0x4d,0x08,0xa9,0xcb,0x88); 11314 #if defined(__cplusplus) && !defined(CINTERFACE) 11315 MIDL_INTERFACE("03a1eb8e-32bf-4245-8502-114d08a9cb88") 11316 IGraphConfig : public IUnknown 11317 { 11318 virtual HRESULT STDMETHODCALLTYPE Reconnect( 11319 IPin *pOutputPin, 11320 IPin *pInputPin, 11321 const AM_MEDIA_TYPE *pmtFirstConnection, 11322 IBaseFilter *pUsingFilter, 11323 HANDLE hAbortEvent, 11324 DWORD dwFlags) = 0; 11325 11326 virtual HRESULT STDMETHODCALLTYPE Reconfigure( 11327 IGraphConfigCallback *pCallback, 11328 PVOID pvContext, 11329 DWORD dwFlags, 11330 HANDLE hAbortEvent) = 0; 11331 11332 virtual HRESULT STDMETHODCALLTYPE AddFilterToCache( 11333 IBaseFilter *pFilter) = 0; 11334 11335 virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter( 11336 IEnumFilters **pEnum) = 0; 11337 11338 virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache( 11339 IBaseFilter *pFilter) = 0; 11340 11341 virtual HRESULT STDMETHODCALLTYPE GetStartTime( 11342 REFERENCE_TIME *prtStart) = 0; 11343 11344 virtual HRESULT STDMETHODCALLTYPE PushThroughData( 11345 IPin *pOutputPin, 11346 IPinConnection *pConnection, 11347 HANDLE hEventAbort) = 0; 11348 11349 virtual HRESULT STDMETHODCALLTYPE SetFilterFlags( 11350 IBaseFilter *pFilter, 11351 DWORD dwFlags) = 0; 11352 11353 virtual HRESULT STDMETHODCALLTYPE GetFilterFlags( 11354 IBaseFilter *pFilter, 11355 DWORD *pdwFlags) = 0; 11356 11357 virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx( 11358 IBaseFilter *pFilter, 11359 DWORD Flags) = 0; 11360 11361 }; 11362 #ifdef __CRT_UUID_DECL 11363 __CRT_UUID_DECL(IGraphConfig, 0x03a1eb8e, 0x32bf, 0x4245, 0x85,0x02, 0x11,0x4d,0x08,0xa9,0xcb,0x88) 11364 #endif 11365 #else 11366 typedef struct IGraphConfigVtbl { 11367 BEGIN_INTERFACE 11368 11369 /*** IUnknown methods ***/ 11370 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11371 IGraphConfig *This, 11372 REFIID riid, 11373 void **ppvObject); 11374 11375 ULONG (STDMETHODCALLTYPE *AddRef)( 11376 IGraphConfig *This); 11377 11378 ULONG (STDMETHODCALLTYPE *Release)( 11379 IGraphConfig *This); 11380 11381 /*** IGraphConfig methods ***/ 11382 HRESULT (STDMETHODCALLTYPE *Reconnect)( 11383 IGraphConfig *This, 11384 IPin *pOutputPin, 11385 IPin *pInputPin, 11386 const AM_MEDIA_TYPE *pmtFirstConnection, 11387 IBaseFilter *pUsingFilter, 11388 HANDLE hAbortEvent, 11389 DWORD dwFlags); 11390 11391 HRESULT (STDMETHODCALLTYPE *Reconfigure)( 11392 IGraphConfig *This, 11393 IGraphConfigCallback *pCallback, 11394 PVOID pvContext, 11395 DWORD dwFlags, 11396 HANDLE hAbortEvent); 11397 11398 HRESULT (STDMETHODCALLTYPE *AddFilterToCache)( 11399 IGraphConfig *This, 11400 IBaseFilter *pFilter); 11401 11402 HRESULT (STDMETHODCALLTYPE *EnumCacheFilter)( 11403 IGraphConfig *This, 11404 IEnumFilters **pEnum); 11405 11406 HRESULT (STDMETHODCALLTYPE *RemoveFilterFromCache)( 11407 IGraphConfig *This, 11408 IBaseFilter *pFilter); 11409 11410 HRESULT (STDMETHODCALLTYPE *GetStartTime)( 11411 IGraphConfig *This, 11412 REFERENCE_TIME *prtStart); 11413 11414 HRESULT (STDMETHODCALLTYPE *PushThroughData)( 11415 IGraphConfig *This, 11416 IPin *pOutputPin, 11417 IPinConnection *pConnection, 11418 HANDLE hEventAbort); 11419 11420 HRESULT (STDMETHODCALLTYPE *SetFilterFlags)( 11421 IGraphConfig *This, 11422 IBaseFilter *pFilter, 11423 DWORD dwFlags); 11424 11425 HRESULT (STDMETHODCALLTYPE *GetFilterFlags)( 11426 IGraphConfig *This, 11427 IBaseFilter *pFilter, 11428 DWORD *pdwFlags); 11429 11430 HRESULT (STDMETHODCALLTYPE *RemoveFilterEx)( 11431 IGraphConfig *This, 11432 IBaseFilter *pFilter, 11433 DWORD Flags); 11434 11435 END_INTERFACE 11436 } IGraphConfigVtbl; 11437 11438 interface IGraphConfig { 11439 CONST_VTBL IGraphConfigVtbl* lpVtbl; 11440 }; 11441 11442 #ifdef COBJMACROS 11443 #ifndef WIDL_C_INLINE_WRAPPERS 11444 /*** IUnknown methods ***/ 11445 #define IGraphConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11446 #define IGraphConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 11447 #define IGraphConfig_Release(This) (This)->lpVtbl->Release(This) 11448 /*** IGraphConfig methods ***/ 11449 #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) (This)->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) 11450 #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) (This)->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) 11451 #define IGraphConfig_AddFilterToCache(This,pFilter) (This)->lpVtbl->AddFilterToCache(This,pFilter) 11452 #define IGraphConfig_EnumCacheFilter(This,pEnum) (This)->lpVtbl->EnumCacheFilter(This,pEnum) 11453 #define IGraphConfig_RemoveFilterFromCache(This,pFilter) (This)->lpVtbl->RemoveFilterFromCache(This,pFilter) 11454 #define IGraphConfig_GetStartTime(This,prtStart) (This)->lpVtbl->GetStartTime(This,prtStart) 11455 #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) (This)->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort) 11456 #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) (This)->lpVtbl->SetFilterFlags(This,pFilter,dwFlags) 11457 #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) (This)->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags) 11458 #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) (This)->lpVtbl->RemoveFilterEx(This,pFilter,Flags) 11459 #else 11460 /*** IUnknown methods ***/ 11461 static inline HRESULT IGraphConfig_QueryInterface(IGraphConfig* This,REFIID riid,void **ppvObject) { 11462 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11463 } 11464 static inline ULONG IGraphConfig_AddRef(IGraphConfig* This) { 11465 return This->lpVtbl->AddRef(This); 11466 } 11467 static inline ULONG IGraphConfig_Release(IGraphConfig* This) { 11468 return This->lpVtbl->Release(This); 11469 } 11470 /*** IGraphConfig methods ***/ 11471 static inline HRESULT IGraphConfig_Reconnect(IGraphConfig* This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags) { 11472 return This->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags); 11473 } 11474 static inline HRESULT IGraphConfig_Reconfigure(IGraphConfig* This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent) { 11475 return This->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent); 11476 } 11477 static inline HRESULT IGraphConfig_AddFilterToCache(IGraphConfig* This,IBaseFilter *pFilter) { 11478 return This->lpVtbl->AddFilterToCache(This,pFilter); 11479 } 11480 static inline HRESULT IGraphConfig_EnumCacheFilter(IGraphConfig* This,IEnumFilters **pEnum) { 11481 return This->lpVtbl->EnumCacheFilter(This,pEnum); 11482 } 11483 static inline HRESULT IGraphConfig_RemoveFilterFromCache(IGraphConfig* This,IBaseFilter *pFilter) { 11484 return This->lpVtbl->RemoveFilterFromCache(This,pFilter); 11485 } 11486 static inline HRESULT IGraphConfig_GetStartTime(IGraphConfig* This,REFERENCE_TIME *prtStart) { 11487 return This->lpVtbl->GetStartTime(This,prtStart); 11488 } 11489 static inline HRESULT IGraphConfig_PushThroughData(IGraphConfig* This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort) { 11490 return This->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort); 11491 } 11492 static inline HRESULT IGraphConfig_SetFilterFlags(IGraphConfig* This,IBaseFilter *pFilter,DWORD dwFlags) { 11493 return This->lpVtbl->SetFilterFlags(This,pFilter,dwFlags); 11494 } 11495 static inline HRESULT IGraphConfig_GetFilterFlags(IGraphConfig* This,IBaseFilter *pFilter,DWORD *pdwFlags) { 11496 return This->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags); 11497 } 11498 static inline HRESULT IGraphConfig_RemoveFilterEx(IGraphConfig* This,IBaseFilter *pFilter,DWORD Flags) { 11499 return This->lpVtbl->RemoveFilterEx(This,pFilter,Flags); 11500 } 11501 #endif 11502 #endif 11503 11504 #endif 11505 11506 11507 #endif /* __IGraphConfig_INTERFACE_DEFINED__ */ 11508 11509 /***************************************************************************** 11510 * IGraphConfigCallback interface 11511 */ 11512 #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__ 11513 #define __IGraphConfigCallback_INTERFACE_DEFINED__ 11514 11515 DEFINE_GUID(IID_IGraphConfigCallback, 0xade0fd60, 0xd19d, 0x11d2, 0xab,0xf6, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 11516 #if defined(__cplusplus) && !defined(CINTERFACE) 11517 MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375") 11518 IGraphConfigCallback : public IUnknown 11519 { 11520 virtual HRESULT STDMETHODCALLTYPE Reconfigure( 11521 PVOID pvContext, 11522 DWORD dwFlags) = 0; 11523 11524 }; 11525 #ifdef __CRT_UUID_DECL 11526 __CRT_UUID_DECL(IGraphConfigCallback, 0xade0fd60, 0xd19d, 0x11d2, 0xab,0xf6, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 11527 #endif 11528 #else 11529 typedef struct IGraphConfigCallbackVtbl { 11530 BEGIN_INTERFACE 11531 11532 /*** IUnknown methods ***/ 11533 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11534 IGraphConfigCallback *This, 11535 REFIID riid, 11536 void **ppvObject); 11537 11538 ULONG (STDMETHODCALLTYPE *AddRef)( 11539 IGraphConfigCallback *This); 11540 11541 ULONG (STDMETHODCALLTYPE *Release)( 11542 IGraphConfigCallback *This); 11543 11544 /*** IGraphConfigCallback methods ***/ 11545 HRESULT (STDMETHODCALLTYPE *Reconfigure)( 11546 IGraphConfigCallback *This, 11547 PVOID pvContext, 11548 DWORD dwFlags); 11549 11550 END_INTERFACE 11551 } IGraphConfigCallbackVtbl; 11552 11553 interface IGraphConfigCallback { 11554 CONST_VTBL IGraphConfigCallbackVtbl* lpVtbl; 11555 }; 11556 11557 #ifdef COBJMACROS 11558 #ifndef WIDL_C_INLINE_WRAPPERS 11559 /*** IUnknown methods ***/ 11560 #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11561 #define IGraphConfigCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 11562 #define IGraphConfigCallback_Release(This) (This)->lpVtbl->Release(This) 11563 /*** IGraphConfigCallback methods ***/ 11564 #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) (This)->lpVtbl->Reconfigure(This,pvContext,dwFlags) 11565 #else 11566 /*** IUnknown methods ***/ 11567 static inline HRESULT IGraphConfigCallback_QueryInterface(IGraphConfigCallback* This,REFIID riid,void **ppvObject) { 11568 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11569 } 11570 static inline ULONG IGraphConfigCallback_AddRef(IGraphConfigCallback* This) { 11571 return This->lpVtbl->AddRef(This); 11572 } 11573 static inline ULONG IGraphConfigCallback_Release(IGraphConfigCallback* This) { 11574 return This->lpVtbl->Release(This); 11575 } 11576 /*** IGraphConfigCallback methods ***/ 11577 static inline HRESULT IGraphConfigCallback_Reconfigure(IGraphConfigCallback* This,PVOID pvContext,DWORD dwFlags) { 11578 return This->lpVtbl->Reconfigure(This,pvContext,dwFlags); 11579 } 11580 #endif 11581 #endif 11582 11583 #endif 11584 11585 11586 #endif /* __IGraphConfigCallback_INTERFACE_DEFINED__ */ 11587 11588 /***************************************************************************** 11589 * IFilterChain interface 11590 */ 11591 #ifndef __IFilterChain_INTERFACE_DEFINED__ 11592 #define __IFilterChain_INTERFACE_DEFINED__ 11593 11594 DEFINE_GUID(IID_IFilterChain, 0xdcfbdcf6, 0x0dc2, 0x45f5, 0x9a,0xb2, 0x7c,0x33,0x0e,0xa0,0x9c,0x29); 11595 #if defined(__cplusplus) && !defined(CINTERFACE) 11596 MIDL_INTERFACE("dcfbdcf6-0dc2-45f5-9ab2-7c330ea09c29") 11597 IFilterChain : public IUnknown 11598 { 11599 virtual HRESULT STDMETHODCALLTYPE StartChain( 11600 IBaseFilter *pStartFilter, 11601 IBaseFilter *pEndFilter) = 0; 11602 11603 virtual HRESULT STDMETHODCALLTYPE PauseChain( 11604 IBaseFilter *pStartFilter, 11605 IBaseFilter *pEndFilter) = 0; 11606 11607 virtual HRESULT STDMETHODCALLTYPE StopChain( 11608 IBaseFilter *pStartFilter, 11609 IBaseFilter *pEndFilter) = 0; 11610 11611 virtual HRESULT STDMETHODCALLTYPE RemoveChain( 11612 IBaseFilter *pStartFilter, 11613 IBaseFilter *pEndFilter) = 0; 11614 11615 }; 11616 #ifdef __CRT_UUID_DECL 11617 __CRT_UUID_DECL(IFilterChain, 0xdcfbdcf6, 0x0dc2, 0x45f5, 0x9a,0xb2, 0x7c,0x33,0x0e,0xa0,0x9c,0x29) 11618 #endif 11619 #else 11620 typedef struct IFilterChainVtbl { 11621 BEGIN_INTERFACE 11622 11623 /*** IUnknown methods ***/ 11624 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 11625 IFilterChain *This, 11626 REFIID riid, 11627 void **ppvObject); 11628 11629 ULONG (STDMETHODCALLTYPE *AddRef)( 11630 IFilterChain *This); 11631 11632 ULONG (STDMETHODCALLTYPE *Release)( 11633 IFilterChain *This); 11634 11635 /*** IFilterChain methods ***/ 11636 HRESULT (STDMETHODCALLTYPE *StartChain)( 11637 IFilterChain *This, 11638 IBaseFilter *pStartFilter, 11639 IBaseFilter *pEndFilter); 11640 11641 HRESULT (STDMETHODCALLTYPE *PauseChain)( 11642 IFilterChain *This, 11643 IBaseFilter *pStartFilter, 11644 IBaseFilter *pEndFilter); 11645 11646 HRESULT (STDMETHODCALLTYPE *StopChain)( 11647 IFilterChain *This, 11648 IBaseFilter *pStartFilter, 11649 IBaseFilter *pEndFilter); 11650 11651 HRESULT (STDMETHODCALLTYPE *RemoveChain)( 11652 IFilterChain *This, 11653 IBaseFilter *pStartFilter, 11654 IBaseFilter *pEndFilter); 11655 11656 END_INTERFACE 11657 } IFilterChainVtbl; 11658 11659 interface IFilterChain { 11660 CONST_VTBL IFilterChainVtbl* lpVtbl; 11661 }; 11662 11663 #ifdef COBJMACROS 11664 #ifndef WIDL_C_INLINE_WRAPPERS 11665 /*** IUnknown methods ***/ 11666 #define IFilterChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11667 #define IFilterChain_AddRef(This) (This)->lpVtbl->AddRef(This) 11668 #define IFilterChain_Release(This) (This)->lpVtbl->Release(This) 11669 /*** IFilterChain methods ***/ 11670 #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StartChain(This,pStartFilter,pEndFilter) 11671 #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->PauseChain(This,pStartFilter,pEndFilter) 11672 #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StopChain(This,pStartFilter,pEndFilter) 11673 #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter) 11674 #else 11675 /*** IUnknown methods ***/ 11676 static inline HRESULT IFilterChain_QueryInterface(IFilterChain* This,REFIID riid,void **ppvObject) { 11677 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 11678 } 11679 static inline ULONG IFilterChain_AddRef(IFilterChain* This) { 11680 return This->lpVtbl->AddRef(This); 11681 } 11682 static inline ULONG IFilterChain_Release(IFilterChain* This) { 11683 return This->lpVtbl->Release(This); 11684 } 11685 /*** IFilterChain methods ***/ 11686 static inline HRESULT IFilterChain_StartChain(IFilterChain* This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) { 11687 return This->lpVtbl->StartChain(This,pStartFilter,pEndFilter); 11688 } 11689 static inline HRESULT IFilterChain_PauseChain(IFilterChain* This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) { 11690 return This->lpVtbl->PauseChain(This,pStartFilter,pEndFilter); 11691 } 11692 static inline HRESULT IFilterChain_StopChain(IFilterChain* This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) { 11693 return This->lpVtbl->StopChain(This,pStartFilter,pEndFilter); 11694 } 11695 static inline HRESULT IFilterChain_RemoveChain(IFilterChain* This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) { 11696 return This->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter); 11697 } 11698 #endif 11699 #endif 11700 11701 #endif 11702 11703 11704 #endif /* __IFilterChain_INTERFACE_DEFINED__ */ 11705 11706 #ifndef __IReferenceClock2_FWD_DEFINED__ 11707 #define __IReferenceClock2_FWD_DEFINED__ 11708 typedef struct IReferenceClock2 IReferenceClock2; 11709 #endif 11710 #ifndef __IDistributorNotify_FWD_DEFINED__ 11711 #define __IDistributorNotify_FWD_DEFINED__ 11712 typedef struct IDistributorNotify IDistributorNotify; 11713 #endif 11714 11715 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ 11716 #define __IAMVfwCompressDialogs_FWD_DEFINED__ 11717 typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs; 11718 #endif 11719 11720 #ifndef __IAMAudioInputMixer_FWD_DEFINED__ 11721 #define __IAMAudioInputMixer_FWD_DEFINED__ 11722 typedef struct IAMAudioInputMixer IAMAudioInputMixer; 11723 #endif 11724 11725 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ 11726 #define __IAMAnalogVideoDecoder_FWD_DEFINED__ 11727 typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder; 11728 #endif 11729 11730 #ifndef __IBPCSatelliteTuner_FWD_DEFINED__ 11731 #define __IBPCSatelliteTuner_FWD_DEFINED__ 11732 typedef struct IBPCSatelliteTuner IBPCSatelliteTuner; 11733 #endif 11734 11735 #ifndef __IAMTVAudio_FWD_DEFINED__ 11736 #define __IAMTVAudio_FWD_DEFINED__ 11737 typedef struct IAMTVAudio IAMTVAudio; 11738 #endif 11739 11740 #ifndef __IAMTVAudioNotification_FWD_DEFINED__ 11741 #define __IAMTVAudioNotification_FWD_DEFINED__ 11742 typedef struct IAMTVAudioNotification IAMTVAudioNotification; 11743 #endif 11744 11745 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ 11746 #define __IAMAnalogVideoEncoder_FWD_DEFINED__ 11747 typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder; 11748 #endif 11749 11750 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ 11751 #define __IAMPhysicalPinInfo_FWD_DEFINED__ 11752 typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo; 11753 #endif 11754 11755 #ifndef __IAMExtDevice_FWD_DEFINED__ 11756 #define __IAMExtDevice_FWD_DEFINED__ 11757 typedef struct IAMExtDevice IAMExtDevice; 11758 #endif 11759 11760 #ifndef __IAMExtTransport_FWD_DEFINED__ 11761 #define __IAMExtTransport_FWD_DEFINED__ 11762 typedef struct IAMExtTransport IAMExtTransport; 11763 #endif 11764 11765 #ifndef __IAMTimecodeReader_FWD_DEFINED__ 11766 #define __IAMTimecodeReader_FWD_DEFINED__ 11767 typedef struct IAMTimecodeReader IAMTimecodeReader; 11768 #endif 11769 11770 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ 11771 #define __IAMTimecodeGenerator_FWD_DEFINED__ 11772 typedef struct IAMTimecodeGenerator IAMTimecodeGenerator; 11773 #endif 11774 11775 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ 11776 #define __IAMTimecodeDisplay_FWD_DEFINED__ 11777 typedef struct IAMTimecodeDisplay IAMTimecodeDisplay; 11778 #endif 11779 11780 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ 11781 #define __IAMDevMemoryAllocator_FWD_DEFINED__ 11782 typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator; 11783 #endif 11784 11785 #ifndef __IAMDevMemoryControl_FWD_DEFINED__ 11786 #define __IAMDevMemoryControl_FWD_DEFINED__ 11787 typedef struct IAMDevMemoryControl IAMDevMemoryControl; 11788 #endif 11789 11790 #ifndef __IAMStreamSelect_FWD_DEFINED__ 11791 #define __IAMStreamSelect_FWD_DEFINED__ 11792 typedef struct IAMStreamSelect IAMStreamSelect; 11793 #endif 11794 11795 #ifndef __IAMResourceControl_FWD_DEFINED__ 11796 #define __IAMResourceControl_FWD_DEFINED__ 11797 typedef struct IAMResourceControl IAMResourceControl; 11798 #endif 11799 11800 #ifndef __IAMClockAdjust_FWD_DEFINED__ 11801 #define __IAMClockAdjust_FWD_DEFINED__ 11802 typedef struct IAMClockAdjust IAMClockAdjust; 11803 #endif 11804 11805 #ifndef __IDrawVideoImage_FWD_DEFINED__ 11806 #define __IDrawVideoImage_FWD_DEFINED__ 11807 typedef struct IDrawVideoImage IDrawVideoImage; 11808 #endif 11809 11810 #ifndef __IDecimateVideoImage_FWD_DEFINED__ 11811 #define __IDecimateVideoImage_FWD_DEFINED__ 11812 typedef struct IDecimateVideoImage IDecimateVideoImage; 11813 #endif 11814 11815 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ 11816 #define __IAMVideoDecimationProperties_FWD_DEFINED__ 11817 typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties; 11818 #endif 11819 11820 #ifndef __IAMDeviceRemoval_FWD_DEFINED__ 11821 #define __IAMDeviceRemoval_FWD_DEFINED__ 11822 typedef struct IAMDeviceRemoval IAMDeviceRemoval; 11823 #endif 11824 11825 #ifndef __IDVEnc_FWD_DEFINED__ 11826 #define __IDVEnc_FWD_DEFINED__ 11827 typedef struct IDVEnc IDVEnc; 11828 #endif 11829 11830 #ifndef __IIPDVDec_FWD_DEFINED__ 11831 #define __IIPDVDec_FWD_DEFINED__ 11832 typedef struct IIPDVDec IIPDVDec; 11833 #endif 11834 11835 #ifndef __IDVRGB219_FWD_DEFINED__ 11836 #define __IDVRGB219_FWD_DEFINED__ 11837 typedef struct IDVRGB219 IDVRGB219; 11838 #endif 11839 11840 #ifndef __IDVSplitter_FWD_DEFINED__ 11841 #define __IDVSplitter_FWD_DEFINED__ 11842 typedef struct IDVSplitter IDVSplitter; 11843 #endif 11844 11845 #ifndef __IAMAudioRendererStats_FWD_DEFINED__ 11846 #define __IAMAudioRendererStats_FWD_DEFINED__ 11847 typedef struct IAMAudioRendererStats IAMAudioRendererStats; 11848 #endif 11849 11850 #ifndef __IAMGraphStreams_FWD_DEFINED__ 11851 #define __IAMGraphStreams_FWD_DEFINED__ 11852 typedef struct IAMGraphStreams IAMGraphStreams; 11853 #endif 11854 11855 #ifndef __IAMOverlayFX_FWD_DEFINED__ 11856 #define __IAMOverlayFX_FWD_DEFINED__ 11857 typedef struct IAMOverlayFX IAMOverlayFX; 11858 #endif 11859 11860 #ifndef __IAMOpenProgress_FWD_DEFINED__ 11861 #define __IAMOpenProgress_FWD_DEFINED__ 11862 typedef struct IAMOpenProgress IAMOpenProgress; 11863 #endif 11864 11865 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ 11866 #define __IMpeg2Demultiplexer_FWD_DEFINED__ 11867 typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer; 11868 #endif 11869 11870 #ifndef __IEnumStreamIdMap_FWD_DEFINED__ 11871 #define __IEnumStreamIdMap_FWD_DEFINED__ 11872 typedef struct IEnumStreamIdMap IEnumStreamIdMap; 11873 #endif 11874 11875 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ 11876 #define __IMPEG2StreamIdMap_FWD_DEFINED__ 11877 typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap; 11878 #endif 11879 11880 #ifndef __IRegisterServiceProvider_FWD_DEFINED__ 11881 #define __IRegisterServiceProvider_FWD_DEFINED__ 11882 typedef struct IRegisterServiceProvider IRegisterServiceProvider; 11883 #endif 11884 11885 #ifndef __ICodecAPI_FWD_DEFINED__ 11886 #define __ICodecAPI_FWD_DEFINED__ 11887 typedef struct ICodecAPI ICodecAPI; 11888 #endif 11889 11890 #ifndef __IGetCapabilitiesKey_FWD_DEFINED__ 11891 #define __IGetCapabilitiesKey_FWD_DEFINED__ 11892 typedef struct IGetCapabilitiesKey IGetCapabilitiesKey; 11893 #endif 11894 11895 #ifndef __IEncoderAPI_FWD_DEFINED__ 11896 #define __IEncoderAPI_FWD_DEFINED__ 11897 typedef struct IEncoderAPI IEncoderAPI; 11898 #endif 11899 11900 #ifndef __IVideoEncoder_FWD_DEFINED__ 11901 #define __IVideoEncoder_FWD_DEFINED__ 11902 typedef struct IVideoEncoder IVideoEncoder; 11903 #endif 11904 11905 #ifndef __IAMDecoderCaps_FWD_DEFINED__ 11906 #define __IAMDecoderCaps_FWD_DEFINED__ 11907 typedef struct IAMDecoderCaps IAMDecoderCaps; 11908 #endif 11909 11910 #ifndef __IDvdControl_FWD_DEFINED__ 11911 #define __IDvdControl_FWD_DEFINED__ 11912 typedef struct IDvdControl IDvdControl; 11913 #endif 11914 11915 #ifndef __IDvdInfo_FWD_DEFINED__ 11916 #define __IDvdInfo_FWD_DEFINED__ 11917 typedef struct IDvdInfo IDvdInfo; 11918 #endif 11919 11920 #ifndef __IDvdCmd_FWD_DEFINED__ 11921 #define __IDvdCmd_FWD_DEFINED__ 11922 typedef struct IDvdCmd IDvdCmd; 11923 #endif 11924 11925 #ifndef __IDvdState_FWD_DEFINED__ 11926 #define __IDvdState_FWD_DEFINED__ 11927 typedef struct IDvdState IDvdState; 11928 #endif 11929 11930 #ifndef __IDvdControl2_FWD_DEFINED__ 11931 #define __IDvdControl2_FWD_DEFINED__ 11932 typedef struct IDvdControl2 IDvdControl2; 11933 #endif 11934 11935 #ifndef __IDvdInfo2_FWD_DEFINED__ 11936 #define __IDvdInfo2_FWD_DEFINED__ 11937 typedef struct IDvdInfo2 IDvdInfo2; 11938 #endif 11939 11940 #ifndef __IDvdGraphBuilder_FWD_DEFINED__ 11941 #define __IDvdGraphBuilder_FWD_DEFINED__ 11942 typedef struct IDvdGraphBuilder IDvdGraphBuilder; 11943 #endif 11944 11945 #ifndef __IDDrawExclModeVideo_FWD_DEFINED__ 11946 #define __IDDrawExclModeVideo_FWD_DEFINED__ 11947 typedef struct IDDrawExclModeVideo IDDrawExclModeVideo; 11948 #endif 11949 11950 #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__ 11951 #define __IDDrawExclModeVideoCallback_FWD_DEFINED__ 11952 typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback; 11953 #endif 11954 11955 #ifndef __IVMRImagePresenter_FWD_DEFINED__ 11956 #define __IVMRImagePresenter_FWD_DEFINED__ 11957 typedef struct IVMRImagePresenter IVMRImagePresenter; 11958 #endif 11959 11960 #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__ 11961 #define __IVMRSurfaceAllocator_FWD_DEFINED__ 11962 typedef struct IVMRSurfaceAllocator IVMRSurfaceAllocator; 11963 #endif 11964 11965 #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ 11966 #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ 11967 typedef struct IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify; 11968 #endif 11969 11970 #ifndef __IVMRWindowlessControl_FWD_DEFINED__ 11971 #define __IVMRWindowlessControl_FWD_DEFINED__ 11972 typedef struct IVMRWindowlessControl IVMRWindowlessControl; 11973 #endif 11974 11975 #ifndef __IVMRMixerControl_FWD_DEFINED__ 11976 #define __IVMRMixerControl_FWD_DEFINED__ 11977 typedef struct IVMRMixerControl IVMRMixerControl; 11978 #endif 11979 11980 #ifndef __IVMRMonitorConfig_FWD_DEFINED__ 11981 #define __IVMRMonitorConfig_FWD_DEFINED__ 11982 typedef struct IVMRMonitorConfig IVMRMonitorConfig; 11983 #endif 11984 11985 #ifndef __IVMRFilterConfig_FWD_DEFINED__ 11986 #define __IVMRFilterConfig_FWD_DEFINED__ 11987 typedef struct IVMRFilterConfig IVMRFilterConfig; 11988 #endif 11989 11990 #ifndef __IVMRAspectRatioControl_FWD_DEFINED__ 11991 #define __IVMRAspectRatioControl_FWD_DEFINED__ 11992 typedef struct IVMRAspectRatioControl IVMRAspectRatioControl; 11993 #endif 11994 11995 #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__ 11996 #define __IVMRDeinterlaceControl_FWD_DEFINED__ 11997 typedef struct IVMRDeinterlaceControl IVMRDeinterlaceControl; 11998 #endif 11999 12000 #ifndef __IVMRMixerBitmap_FWD_DEFINED__ 12001 #define __IVMRMixerBitmap_FWD_DEFINED__ 12002 typedef struct IVMRMixerBitmap IVMRMixerBitmap; 12003 #endif 12004 12005 #ifndef __IVMRImageCompositor_FWD_DEFINED__ 12006 #define __IVMRImageCompositor_FWD_DEFINED__ 12007 typedef struct IVMRImageCompositor IVMRImageCompositor; 12008 #endif 12009 12010 #ifndef __IVMRVideoStreamControl_FWD_DEFINED__ 12011 #define __IVMRVideoStreamControl_FWD_DEFINED__ 12012 typedef struct IVMRVideoStreamControl IVMRVideoStreamControl; 12013 #endif 12014 12015 #ifndef __IVMRSurface_FWD_DEFINED__ 12016 #define __IVMRSurface_FWD_DEFINED__ 12017 typedef struct IVMRSurface IVMRSurface; 12018 #endif 12019 12020 #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__ 12021 #define __IVMRImagePresenterConfig_FWD_DEFINED__ 12022 typedef struct IVMRImagePresenterConfig IVMRImagePresenterConfig; 12023 #endif 12024 12025 #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ 12026 #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ 12027 typedef struct IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig; 12028 #endif 12029 12030 #ifndef __IVPManager_FWD_DEFINED__ 12031 #define __IVPManager_FWD_DEFINED__ 12032 typedef struct IVPManager IVPManager; 12033 #endif 12034 12035 #ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ 12036 #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ 12037 typedef struct IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling; 12038 #endif 12039 12040 #ifndef __IAMPluginControl_FWD_DEFINED__ 12041 #define __IAMPluginControl_FWD_DEFINED__ 12042 typedef struct IAMPluginControl IAMPluginControl; 12043 #endif 12044 12045 #include "ocidl.h" 12046 12047 extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec; 12048 extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec; 12049 #ifndef __IReferenceClock2_INTERFACE_DEFINED__ 12050 #define __IReferenceClock2_INTERFACE_DEFINED__ 12051 EXTERN_C const IID IID_IReferenceClock2; 12052 #if defined(__cplusplus) && !defined(CINTERFACE) 12053 struct IReferenceClock2 : public IReferenceClock { 12054 }; 12055 #else 12056 typedef struct IReferenceClock2Vtbl { 12057 BEGIN_INTERFACE 12058 HRESULT (WINAPI *QueryInterface)(IReferenceClock2 *This,REFIID riid,void **ppvObject); 12059 ULONG (WINAPI *AddRef)(IReferenceClock2 *This); 12060 ULONG (WINAPI *Release)(IReferenceClock2 *This); 12061 HRESULT (WINAPI *GetTime)(IReferenceClock2 *This,REFERENCE_TIME *pTime); 12062 HRESULT (WINAPI *AdviseTime)(IReferenceClock2 *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie); 12063 HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock2 *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie); 12064 HRESULT (WINAPI *Unadvise)(IReferenceClock2 *This,DWORD_PTR dwAdviseCookie); 12065 END_INTERFACE 12066 } IReferenceClock2Vtbl; 12067 struct IReferenceClock2 { 12068 CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl; 12069 }; 12070 #ifdef COBJMACROS 12071 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12072 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This) 12073 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This) 12074 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 12075 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 12076 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 12077 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 12078 #endif 12079 #endif 12080 #endif 12081 12082 typedef IReferenceClock2 *PREFERENCECLOCK2; 12083 12084 #ifndef __IDistributorNotify_INTERFACE_DEFINED__ 12085 #define __IDistributorNotify_INTERFACE_DEFINED__ 12086 EXTERN_C const IID IID_IDistributorNotify; 12087 #if defined(__cplusplus) && !defined(CINTERFACE) 12088 struct IDistributorNotify : public IUnknown { 12089 public: 12090 virtual HRESULT WINAPI Stop(void) = 0; 12091 virtual HRESULT WINAPI Pause(void) = 0; 12092 virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0; 12093 virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0; 12094 virtual HRESULT WINAPI NotifyGraphChange(void) = 0; 12095 }; 12096 #else 12097 typedef struct IDistributorNotifyVtbl { 12098 BEGIN_INTERFACE 12099 HRESULT (WINAPI *QueryInterface)(IDistributorNotify *This,REFIID riid,void **ppvObject); 12100 ULONG (WINAPI *AddRef)(IDistributorNotify *This); 12101 ULONG (WINAPI *Release)(IDistributorNotify *This); 12102 HRESULT (WINAPI *Stop)(IDistributorNotify *This); 12103 HRESULT (WINAPI *Pause)(IDistributorNotify *This); 12104 HRESULT (WINAPI *Run)(IDistributorNotify *This,REFERENCE_TIME tStart); 12105 HRESULT (WINAPI *SetSyncSource)(IDistributorNotify *This,IReferenceClock *pClock); 12106 HRESULT (WINAPI *NotifyGraphChange)(IDistributorNotify *This); 12107 END_INTERFACE 12108 } IDistributorNotifyVtbl; 12109 struct IDistributorNotify { 12110 CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl; 12111 }; 12112 #ifdef COBJMACROS 12113 #define IDistributorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12114 #define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 12115 #define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This) 12116 #define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This) 12117 #define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This) 12118 #define IDistributorNotify_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 12119 #define IDistributorNotify_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 12120 #define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This) 12121 #endif 12122 #endif 12123 HRESULT WINAPI IDistributorNotify_Stop_Proxy(IDistributorNotify *This); 12124 void __RPC_STUB IDistributorNotify_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12125 HRESULT WINAPI IDistributorNotify_Pause_Proxy(IDistributorNotify *This); 12126 void __RPC_STUB IDistributorNotify_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12127 HRESULT WINAPI IDistributorNotify_Run_Proxy(IDistributorNotify *This,REFERENCE_TIME tStart); 12128 void __RPC_STUB IDistributorNotify_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12129 HRESULT WINAPI IDistributorNotify_SetSyncSource_Proxy(IDistributorNotify *This,IReferenceClock *pClock); 12130 void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12131 HRESULT WINAPI IDistributorNotify_NotifyGraphChange_Proxy(IDistributorNotify *This); 12132 void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12133 #endif 12134 12135 typedef enum __MIDL___MIDL_itf_strmif_0167_0001 { 12136 CompressionCaps_CanQuality = 0x1,CompressionCaps_CanCrunch = 0x2,CompressionCaps_CanKeyFrame = 0x4,CompressionCaps_CanBFrame = 0x8, 12137 CompressionCaps_CanWindow = 0x10 12138 } CompressionCaps; 12139 12140 extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec; 12141 extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec; 12142 12143 typedef enum __MIDL___MIDL_itf_strmif_0168_0001 { 12144 VfwCaptureDialog_Source = 0x1,VfwCaptureDialog_Format = 0x2,VfwCaptureDialog_Display = 0x4 12145 } VfwCaptureDialogs; 12146 12147 typedef enum __MIDL___MIDL_itf_strmif_0168_0002 { 12148 VfwCompressDialog_Config = 0x1,VfwCompressDialog_About = 0x2,VfwCompressDialog_QueryConfig = 0x4,VfwCompressDialog_QueryAbout = 0x8 12149 } VfwCompressDialogs; 12150 12151 #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__ 12152 #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__ 12153 EXTERN_C const IID IID_IAMVfwCompressDialogs; 12154 #if defined(__cplusplus) && !defined(CINTERFACE) 12155 struct IAMVfwCompressDialogs : public IUnknown { 12156 public: 12157 virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0; 12158 virtual HRESULT WINAPI GetState(LPVOID pState,int *pcbState) = 0; 12159 virtual HRESULT WINAPI SetState(LPVOID pState,int cbState) = 0; 12160 virtual HRESULT WINAPI SendDriverMessage(int uMsg,LONG dw1,LONG dw2) = 0; 12161 }; 12162 #else 12163 typedef struct IAMVfwCompressDialogsVtbl { 12164 BEGIN_INTERFACE 12165 HRESULT (WINAPI *QueryInterface)(IAMVfwCompressDialogs *This,REFIID riid,void **ppvObject); 12166 ULONG (WINAPI *AddRef)(IAMVfwCompressDialogs *This); 12167 ULONG (WINAPI *Release)(IAMVfwCompressDialogs *This); 12168 HRESULT (WINAPI *ShowDialog)(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd); 12169 HRESULT (WINAPI *GetState)(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState); 12170 HRESULT (WINAPI *SetState)(IAMVfwCompressDialogs *This,LPVOID pState,int cbState); 12171 HRESULT (WINAPI *SendDriverMessage)(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2); 12172 END_INTERFACE 12173 } IAMVfwCompressDialogsVtbl; 12174 struct IAMVfwCompressDialogs { 12175 CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl; 12176 }; 12177 #ifdef COBJMACROS 12178 #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12179 #define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This) 12180 #define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This) 12181 #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd) 12182 #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) (This)->lpVtbl->GetState(This,pState,pcbState) 12183 #define IAMVfwCompressDialogs_SetState(This,pState,cbState) (This)->lpVtbl->SetState(This,pState,cbState) 12184 #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,uMsg,dw1,dw2) 12185 #endif 12186 #endif 12187 HRESULT WINAPI IAMVfwCompressDialogs_ShowDialog_Proxy(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd); 12188 void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12189 HRESULT WINAPI IAMVfwCompressDialogs_GetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState); 12190 void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12191 HRESULT WINAPI IAMVfwCompressDialogs_SetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int cbState); 12192 void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12193 HRESULT WINAPI IAMVfwCompressDialogs_SendDriverMessage_Proxy(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2); 12194 void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12195 #endif 12196 12197 #define AMF_AUTOMATICGAIN -1.0 12198 12199 extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec; 12200 extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec; 12201 #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__ 12202 #define __IAMAudioInputMixer_INTERFACE_DEFINED__ 12203 EXTERN_C const IID IID_IAMAudioInputMixer; 12204 #if defined(__cplusplus) && !defined(CINTERFACE) 12205 struct IAMAudioInputMixer : public IUnknown { 12206 public: 12207 virtual HRESULT WINAPI put_Enable(WINBOOL fEnable) = 0; 12208 virtual HRESULT WINAPI get_Enable(WINBOOL *pfEnable) = 0; 12209 virtual HRESULT WINAPI put_Mono(WINBOOL fMono) = 0; 12210 virtual HRESULT WINAPI get_Mono(WINBOOL *pfMono) = 0; 12211 virtual HRESULT WINAPI put_MixLevel(double Level) = 0; 12212 virtual HRESULT WINAPI get_MixLevel(double *pLevel) = 0; 12213 virtual HRESULT WINAPI put_Pan(double Pan) = 0; 12214 virtual HRESULT WINAPI get_Pan(double *pPan) = 0; 12215 virtual HRESULT WINAPI put_Loudness(WINBOOL fLoudness) = 0; 12216 virtual HRESULT WINAPI get_Loudness(WINBOOL *pfLoudness) = 0; 12217 virtual HRESULT WINAPI put_Treble(double Treble) = 0; 12218 virtual HRESULT WINAPI get_Treble(double *pTreble) = 0; 12219 virtual HRESULT WINAPI get_TrebleRange(double *pRange) = 0; 12220 virtual HRESULT WINAPI put_Bass(double Bass) = 0; 12221 virtual HRESULT WINAPI get_Bass(double *pBass) = 0; 12222 virtual HRESULT WINAPI get_BassRange(double *pRange) = 0; 12223 }; 12224 #else 12225 typedef struct IAMAudioInputMixerVtbl { 12226 BEGIN_INTERFACE 12227 HRESULT (WINAPI *QueryInterface)(IAMAudioInputMixer *This,REFIID riid,void **ppvObject); 12228 ULONG (WINAPI *AddRef)(IAMAudioInputMixer *This); 12229 ULONG (WINAPI *Release)(IAMAudioInputMixer *This); 12230 HRESULT (WINAPI *put_Enable)(IAMAudioInputMixer *This,WINBOOL fEnable); 12231 HRESULT (WINAPI *get_Enable)(IAMAudioInputMixer *This,WINBOOL *pfEnable); 12232 HRESULT (WINAPI *put_Mono)(IAMAudioInputMixer *This,WINBOOL fMono); 12233 HRESULT (WINAPI *get_Mono)(IAMAudioInputMixer *This,WINBOOL *pfMono); 12234 HRESULT (WINAPI *put_MixLevel)(IAMAudioInputMixer *This,double Level); 12235 HRESULT (WINAPI *get_MixLevel)(IAMAudioInputMixer *This,double *pLevel); 12236 HRESULT (WINAPI *put_Pan)(IAMAudioInputMixer *This,double Pan); 12237 HRESULT (WINAPI *get_Pan)(IAMAudioInputMixer *This,double *pPan); 12238 HRESULT (WINAPI *put_Loudness)(IAMAudioInputMixer *This,WINBOOL fLoudness); 12239 HRESULT (WINAPI *get_Loudness)(IAMAudioInputMixer *This,WINBOOL *pfLoudness); 12240 HRESULT (WINAPI *put_Treble)(IAMAudioInputMixer *This,double Treble); 12241 HRESULT (WINAPI *get_Treble)(IAMAudioInputMixer *This,double *pTreble); 12242 HRESULT (WINAPI *get_TrebleRange)(IAMAudioInputMixer *This,double *pRange); 12243 HRESULT (WINAPI *put_Bass)(IAMAudioInputMixer *This,double Bass); 12244 HRESULT (WINAPI *get_Bass)(IAMAudioInputMixer *This,double *pBass); 12245 HRESULT (WINAPI *get_BassRange)(IAMAudioInputMixer *This,double *pRange); 12246 END_INTERFACE 12247 } IAMAudioInputMixerVtbl; 12248 struct IAMAudioInputMixer { 12249 CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl; 12250 }; 12251 #ifdef COBJMACROS 12252 #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12253 #define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This) 12254 #define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This) 12255 #define IAMAudioInputMixer_put_Enable(This,fEnable) (This)->lpVtbl->put_Enable(This,fEnable) 12256 #define IAMAudioInputMixer_get_Enable(This,pfEnable) (This)->lpVtbl->get_Enable(This,pfEnable) 12257 #define IAMAudioInputMixer_put_Mono(This,fMono) (This)->lpVtbl->put_Mono(This,fMono) 12258 #define IAMAudioInputMixer_get_Mono(This,pfMono) (This)->lpVtbl->get_Mono(This,pfMono) 12259 #define IAMAudioInputMixer_put_MixLevel(This,Level) (This)->lpVtbl->put_MixLevel(This,Level) 12260 #define IAMAudioInputMixer_get_MixLevel(This,pLevel) (This)->lpVtbl->get_MixLevel(This,pLevel) 12261 #define IAMAudioInputMixer_put_Pan(This,Pan) (This)->lpVtbl->put_Pan(This,Pan) 12262 #define IAMAudioInputMixer_get_Pan(This,pPan) (This)->lpVtbl->get_Pan(This,pPan) 12263 #define IAMAudioInputMixer_put_Loudness(This,fLoudness) (This)->lpVtbl->put_Loudness(This,fLoudness) 12264 #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) (This)->lpVtbl->get_Loudness(This,pfLoudness) 12265 #define IAMAudioInputMixer_put_Treble(This,Treble) (This)->lpVtbl->put_Treble(This,Treble) 12266 #define IAMAudioInputMixer_get_Treble(This,pTreble) (This)->lpVtbl->get_Treble(This,pTreble) 12267 #define IAMAudioInputMixer_get_TrebleRange(This,pRange) (This)->lpVtbl->get_TrebleRange(This,pRange) 12268 #define IAMAudioInputMixer_put_Bass(This,Bass) (This)->lpVtbl->put_Bass(This,Bass) 12269 #define IAMAudioInputMixer_get_Bass(This,pBass) (This)->lpVtbl->get_Bass(This,pBass) 12270 #define IAMAudioInputMixer_get_BassRange(This,pRange) (This)->lpVtbl->get_BassRange(This,pRange) 12271 #endif 12272 #endif 12273 HRESULT WINAPI IAMAudioInputMixer_put_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL fEnable); 12274 void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12275 HRESULT WINAPI IAMAudioInputMixer_get_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL *pfEnable); 12276 void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12277 HRESULT WINAPI IAMAudioInputMixer_put_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL fMono); 12278 void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12279 HRESULT WINAPI IAMAudioInputMixer_get_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL *pfMono); 12280 void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12281 HRESULT WINAPI IAMAudioInputMixer_put_MixLevel_Proxy(IAMAudioInputMixer *This,double Level); 12282 void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12283 HRESULT WINAPI IAMAudioInputMixer_get_MixLevel_Proxy(IAMAudioInputMixer *This,double *pLevel); 12284 void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12285 HRESULT WINAPI IAMAudioInputMixer_put_Pan_Proxy(IAMAudioInputMixer *This,double Pan); 12286 void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12287 HRESULT WINAPI IAMAudioInputMixer_get_Pan_Proxy(IAMAudioInputMixer *This,double *pPan); 12288 void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12289 HRESULT WINAPI IAMAudioInputMixer_put_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL fLoudness); 12290 void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12291 HRESULT WINAPI IAMAudioInputMixer_get_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL *pfLoudness); 12292 void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12293 HRESULT WINAPI IAMAudioInputMixer_put_Treble_Proxy(IAMAudioInputMixer *This,double Treble); 12294 void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12295 HRESULT WINAPI IAMAudioInputMixer_get_Treble_Proxy(IAMAudioInputMixer *This,double *pTreble); 12296 void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12297 HRESULT WINAPI IAMAudioInputMixer_get_TrebleRange_Proxy(IAMAudioInputMixer *This,double *pRange); 12298 void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12299 HRESULT WINAPI IAMAudioInputMixer_put_Bass_Proxy(IAMAudioInputMixer *This,double Bass); 12300 void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12301 HRESULT WINAPI IAMAudioInputMixer_get_Bass_Proxy(IAMAudioInputMixer *This,double *pBass); 12302 void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12303 HRESULT WINAPI IAMAudioInputMixer_get_BassRange_Proxy(IAMAudioInputMixer *This,double *pRange); 12304 void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12305 #endif 12306 12307 #define AnalogVideo_NTSC_Mask 0x00000007 12308 #define AnalogVideo_PAL_Mask 0x00100FF0 12309 #define AnalogVideo_SECAM_Mask 0x000FF000 12310 12311 typedef enum __MIDL___MIDL_itf_strmif_0173_0001 { 12312 VideoCopyProtectionMacrovisionBasic = 0,VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1 12313 } VideoCopyProtectionType; 12314 12315 typedef enum tagPhysicalConnectorType { 12316 PhysConn_Video_Tuner = 1, 12317 PhysConn_Video_Composite,PhysConn_Video_SVideo,PhysConn_Video_RGB, 12318 PhysConn_Video_YRYBY,PhysConn_Video_SerialDigital,PhysConn_Video_ParallelDigital, 12319 PhysConn_Video_SCSI,PhysConn_Video_AUX,PhysConn_Video_1394,PhysConn_Video_USB, 12320 PhysConn_Video_VideoDecoder,PhysConn_Video_VideoEncoder,PhysConn_Video_SCART,PhysConn_Video_Black, 12321 PhysConn_Audio_Tuner = 0x1000,PhysConn_Audio_Line = 0x1001,PhysConn_Audio_Mic = 0x1002, 12322 PhysConn_Audio_AESDigital = 0x1003,PhysConn_Audio_SPDIFDigital = 0x1004, 12323 PhysConn_Audio_SCSI = 0x1005,PhysConn_Audio_AUX = 0x1006,PhysConn_Audio_1394 = 0x1007, 12324 PhysConn_Audio_USB = 0x1008,PhysConn_Audio_AudioDecoder = 0x1009 12325 } PhysicalConnectorType; 12326 12327 extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec; 12328 extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec; 12329 #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ 12330 #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ 12331 EXTERN_C const IID IID_IAMAnalogVideoDecoder; 12332 #if defined(__cplusplus) && !defined(CINTERFACE) 12333 struct IAMAnalogVideoDecoder : public IUnknown { 12334 public: 12335 virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0; 12336 virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0; 12337 virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0; 12338 virtual HRESULT WINAPI get_HorizontalLocked(LONG *plLocked) = 0; 12339 virtual HRESULT WINAPI put_VCRHorizontalLocking(LONG lVCRHorizontalLocking) = 0; 12340 virtual HRESULT WINAPI get_VCRHorizontalLocking(LONG *plVCRHorizontalLocking) = 0; 12341 virtual HRESULT WINAPI get_NumberOfLines(LONG *plNumberOfLines) = 0; 12342 virtual HRESULT WINAPI put_OutputEnable(LONG lOutputEnable) = 0; 12343 virtual HRESULT WINAPI get_OutputEnable(LONG *plOutputEnable) = 0; 12344 }; 12345 #else 12346 typedef struct IAMAnalogVideoDecoderVtbl { 12347 BEGIN_INTERFACE 12348 HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoDecoder *This,REFIID riid,void **ppvObject); 12349 ULONG (WINAPI *AddRef)(IAMAnalogVideoDecoder *This); 12350 ULONG (WINAPI *Release)(IAMAnalogVideoDecoder *This); 12351 HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard); 12352 HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard); 12353 HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard); 12354 HRESULT (WINAPI *get_HorizontalLocked)(IAMAnalogVideoDecoder *This,LONG *plLocked); 12355 HRESULT (WINAPI *put_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking); 12356 HRESULT (WINAPI *get_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking); 12357 HRESULT (WINAPI *get_NumberOfLines)(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines); 12358 HRESULT (WINAPI *put_OutputEnable)(IAMAnalogVideoDecoder *This,LONG lOutputEnable); 12359 HRESULT (WINAPI *get_OutputEnable)(IAMAnalogVideoDecoder *This,LONG *plOutputEnable); 12360 END_INTERFACE 12361 } IAMAnalogVideoDecoderVtbl; 12362 struct IAMAnalogVideoDecoder { 12363 CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl; 12364 }; 12365 #ifdef COBJMACROS 12366 #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12367 #define IAMAnalogVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This) 12368 #define IAMAnalogVideoDecoder_Release(This) (This)->lpVtbl->Release(This) 12369 #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard) 12370 #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard) 12371 #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard) 12372 #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) (This)->lpVtbl->get_HorizontalLocked(This,plLocked) 12373 #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) (This)->lpVtbl->put_VCRHorizontalLocking(This,lVCRHorizontalLocking) 12374 #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) (This)->lpVtbl->get_VCRHorizontalLocking(This,plVCRHorizontalLocking) 12375 #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) (This)->lpVtbl->get_NumberOfLines(This,plNumberOfLines) 12376 #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) (This)->lpVtbl->put_OutputEnable(This,lOutputEnable) 12377 #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) (This)->lpVtbl->get_OutputEnable(This,plOutputEnable) 12378 #endif 12379 #endif 12380 HRESULT WINAPI IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard); 12381 void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12382 HRESULT WINAPI IAMAnalogVideoDecoder_put_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard); 12383 void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12384 HRESULT WINAPI IAMAnalogVideoDecoder_get_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard); 12385 void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12386 HRESULT WINAPI IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(IAMAnalogVideoDecoder *This,LONG *plLocked); 12387 void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12388 HRESULT WINAPI IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking); 12389 void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12390 HRESULT WINAPI IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking); 12391 void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12392 HRESULT WINAPI IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines); 12393 void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12394 HRESULT WINAPI IAMAnalogVideoDecoder_put_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG lOutputEnable); 12395 void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12396 HRESULT WINAPI IAMAnalogVideoDecoder_get_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG *plOutputEnable); 12397 void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12398 #endif 12399 12400 typedef enum tagCameraControlProperty { 12401 CameraControl_Pan = 0, 12402 CameraControl_Tilt,CameraControl_Roll,CameraControl_Zoom,CameraControl_Exposure, 12403 CameraControl_Iris,CameraControl_Focus 12404 } CameraControlProperty; 12405 12406 typedef enum tagCameraControlFlags { 12407 CameraControl_Flags_Auto = 0x1,CameraControl_Flags_Manual = 0x2 12408 } CameraControlFlags; 12409 12410 extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec; 12411 extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec; 12412 12413 typedef enum tagVideoControlFlags { 12414 VideoControlFlag_FlipHorizontal = 0x1,VideoControlFlag_FlipVertical = 0x2,VideoControlFlag_ExternalTriggerEnable = 0x4,VideoControlFlag_Trigger = 0x8 12415 } VideoControlFlags; 12416 12417 extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec; 12418 extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec; 12419 12420 typedef enum tagAMTunerSubChannel { 12421 AMTUNER_SUBCHAN_NO_TUNE = -2,AMTUNER_SUBCHAN_DEFAULT = -1 12422 } AMTunerSubChannel; 12423 12424 typedef enum tagAMTunerSignalStrength { 12425 AMTUNER_HASNOSIGNALSTRENGTH = -1,AMTUNER_NOSIGNAL = 0,AMTUNER_SIGNALPRESENT = 1 12426 } AMTunerSignalStrength; 12427 12428 extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec; 12429 extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec; 12430 12431 #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__ 12432 #define __IBPCSatelliteTuner_INTERFACE_DEFINED__ 12433 EXTERN_C const IID IID_IBPCSatelliteTuner; 12434 #if defined(__cplusplus) && !defined(CINTERFACE) 12435 struct IBPCSatelliteTuner : public IAMTuner { 12436 public: 12437 virtual HRESULT WINAPI get_DefaultSubChannelTypes(LONG *plDefaultVideoType,LONG *plDefaultAudioType) = 0; 12438 virtual HRESULT WINAPI put_DefaultSubChannelTypes(LONG lDefaultVideoType,LONG lDefaultAudioType) = 0; 12439 virtual HRESULT WINAPI IsTapingPermitted(void) = 0; 12440 }; 12441 #else 12442 typedef struct IBPCSatelliteTunerVtbl { 12443 BEGIN_INTERFACE 12444 HRESULT (WINAPI *QueryInterface)(IBPCSatelliteTuner *This,REFIID riid,void **ppvObject); 12445 ULONG (WINAPI *AddRef)(IBPCSatelliteTuner *This); 12446 ULONG (WINAPI *Release)(IBPCSatelliteTuner *This); 12447 HRESULT (WINAPI *put_Channel)(IBPCSatelliteTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel); 12448 HRESULT (WINAPI *get_Channel)(IBPCSatelliteTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel); 12449 HRESULT (WINAPI *ChannelMinMax)(IBPCSatelliteTuner *This,LONG *lChannelMin,LONG *lChannelMax); 12450 HRESULT (WINAPI *put_CountryCode)(IBPCSatelliteTuner *This,LONG lCountryCode); 12451 HRESULT (WINAPI *get_CountryCode)(IBPCSatelliteTuner *This,LONG *plCountryCode); 12452 HRESULT (WINAPI *put_TuningSpace)(IBPCSatelliteTuner *This,LONG lTuningSpace); 12453 HRESULT (WINAPI *get_TuningSpace)(IBPCSatelliteTuner *This,LONG *plTuningSpace); 12454 HRESULT (WINAPI *Logon)(IBPCSatelliteTuner *This,HANDLE hCurrentUser); 12455 HRESULT (WINAPI *Logout)(IBPCSatelliteTuner *This); 12456 HRESULT (WINAPI *SignalPresent)(IBPCSatelliteTuner *This,LONG *plSignalStrength); 12457 HRESULT (WINAPI *put_Mode)(IBPCSatelliteTuner *This,AMTunerModeType lMode); 12458 HRESULT (WINAPI *get_Mode)(IBPCSatelliteTuner *This,AMTunerModeType *plMode); 12459 HRESULT (WINAPI *GetAvailableModes)(IBPCSatelliteTuner *This,LONG *plModes); 12460 HRESULT (WINAPI *RegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify,LONG lEvents); 12461 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify); 12462 HRESULT (WINAPI *get_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType); 12463 HRESULT (WINAPI *put_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType); 12464 HRESULT (WINAPI *IsTapingPermitted)(IBPCSatelliteTuner *This); 12465 END_INTERFACE 12466 } IBPCSatelliteTunerVtbl; 12467 struct IBPCSatelliteTuner { 12468 CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl; 12469 }; 12470 #ifdef COBJMACROS 12471 #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12472 #define IBPCSatelliteTuner_AddRef(This) (This)->lpVtbl->AddRef(This) 12473 #define IBPCSatelliteTuner_Release(This) (This)->lpVtbl->Release(This) 12474 #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) 12475 #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) 12476 #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax) 12477 #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode) 12478 #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode) 12479 #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace) 12480 #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace) 12481 #define IBPCSatelliteTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser) 12482 #define IBPCSatelliteTuner_Logout(This) (This)->lpVtbl->Logout(This) 12483 #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength) 12484 #define IBPCSatelliteTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode) 12485 #define IBPCSatelliteTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode) 12486 #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes) 12487 #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents) 12488 #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify) 12489 #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) (This)->lpVtbl->get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) 12490 #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) (This)->lpVtbl->put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) 12491 #define IBPCSatelliteTuner_IsTapingPermitted(This) (This)->lpVtbl->IsTapingPermitted(This) 12492 #endif 12493 #endif 12494 HRESULT WINAPI IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType); 12495 void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12496 HRESULT WINAPI IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType); 12497 void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12498 HRESULT WINAPI IBPCSatelliteTuner_IsTapingPermitted_Proxy(IBPCSatelliteTuner *This); 12499 void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12500 #endif 12501 12502 typedef enum tagAMTVAudioEventType { 12503 AMTVAUDIO_EVENT_CHANGED = 0x1 12504 } AMTVAudioEventType; 12505 12506 extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec; 12507 extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec; 12508 #ifndef __IAMTVAudio_INTERFACE_DEFINED__ 12509 #define __IAMTVAudio_INTERFACE_DEFINED__ 12510 EXTERN_C const IID IID_IAMTVAudio; 12511 #if defined(__cplusplus) && !defined(CINTERFACE) 12512 struct IAMTVAudio : public IUnknown { 12513 public: 12514 virtual HRESULT WINAPI GetHardwareSupportedTVAudioModes(LONG *plModes) = 0; 12515 virtual HRESULT WINAPI GetAvailableTVAudioModes(LONG *plModes) = 0; 12516 virtual HRESULT WINAPI get_TVAudioMode(LONG *plMode) = 0; 12517 virtual HRESULT WINAPI put_TVAudioMode(LONG lMode) = 0; 12518 virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0; 12519 virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0; 12520 }; 12521 #else 12522 typedef struct IAMTVAudioVtbl { 12523 BEGIN_INTERFACE 12524 HRESULT (WINAPI *QueryInterface)(IAMTVAudio *This,REFIID riid,void **ppvObject); 12525 ULONG (WINAPI *AddRef)(IAMTVAudio *This); 12526 ULONG (WINAPI *Release)(IAMTVAudio *This); 12527 HRESULT (WINAPI *GetHardwareSupportedTVAudioModes)(IAMTVAudio *This,LONG *plModes); 12528 HRESULT (WINAPI *GetAvailableTVAudioModes)(IAMTVAudio *This,LONG *plModes); 12529 HRESULT (WINAPI *get_TVAudioMode)(IAMTVAudio *This,LONG *plMode); 12530 HRESULT (WINAPI *put_TVAudioMode)(IAMTVAudio *This,LONG lMode); 12531 HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents); 12532 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify); 12533 END_INTERFACE 12534 } IAMTVAudioVtbl; 12535 struct IAMTVAudio { 12536 CONST_VTBL struct IAMTVAudioVtbl *lpVtbl; 12537 }; 12538 #ifdef COBJMACROS 12539 #define IAMTVAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12540 #define IAMTVAudio_AddRef(This) (This)->lpVtbl->AddRef(This) 12541 #define IAMTVAudio_Release(This) (This)->lpVtbl->Release(This) 12542 #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) (This)->lpVtbl->GetHardwareSupportedTVAudioModes(This,plModes) 12543 #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) (This)->lpVtbl->GetAvailableTVAudioModes(This,plModes) 12544 #define IAMTVAudio_get_TVAudioMode(This,plMode) (This)->lpVtbl->get_TVAudioMode(This,plMode) 12545 #define IAMTVAudio_put_TVAudioMode(This,lMode) (This)->lpVtbl->put_TVAudioMode(This,lMode) 12546 #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents) 12547 #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify) 12548 #endif 12549 #endif 12550 HRESULT WINAPI IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes); 12551 void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12552 HRESULT WINAPI IAMTVAudio_GetAvailableTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes); 12553 void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12554 HRESULT WINAPI IAMTVAudio_get_TVAudioMode_Proxy(IAMTVAudio *This,LONG *plMode); 12555 void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12556 HRESULT WINAPI IAMTVAudio_put_TVAudioMode_Proxy(IAMTVAudio *This,LONG lMode); 12557 void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12558 HRESULT WINAPI IAMTVAudio_RegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents); 12559 void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12560 HRESULT WINAPI IAMTVAudio_UnRegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify); 12561 void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12562 #endif 12563 12564 #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__ 12565 #define __IAMTVAudioNotification_INTERFACE_DEFINED__ 12566 EXTERN_C const IID IID_IAMTVAudioNotification; 12567 #if defined(__cplusplus) && !defined(CINTERFACE) 12568 struct IAMTVAudioNotification : public IUnknown { 12569 public: 12570 virtual HRESULT WINAPI OnEvent(AMTVAudioEventType Event) = 0; 12571 }; 12572 #else 12573 typedef struct IAMTVAudioNotificationVtbl { 12574 BEGIN_INTERFACE 12575 HRESULT (WINAPI *QueryInterface)(IAMTVAudioNotification *This,REFIID riid,void **ppvObject); 12576 ULONG (WINAPI *AddRef)(IAMTVAudioNotification *This); 12577 ULONG (WINAPI *Release)(IAMTVAudioNotification *This); 12578 HRESULT (WINAPI *OnEvent)(IAMTVAudioNotification *This,AMTVAudioEventType Event); 12579 END_INTERFACE 12580 } IAMTVAudioNotificationVtbl; 12581 struct IAMTVAudioNotification { 12582 CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl; 12583 }; 12584 #ifdef COBJMACROS 12585 #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12586 #define IAMTVAudioNotification_AddRef(This) (This)->lpVtbl->AddRef(This) 12587 #define IAMTVAudioNotification_Release(This) (This)->lpVtbl->Release(This) 12588 #define IAMTVAudioNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event) 12589 #endif 12590 #endif 12591 HRESULT WINAPI IAMTVAudioNotification_OnEvent_Proxy(IAMTVAudioNotification *This,AMTVAudioEventType Event); 12592 void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12593 #endif 12594 12595 #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ 12596 #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ 12597 EXTERN_C const IID IID_IAMAnalogVideoEncoder; 12598 #if defined(__cplusplus) && !defined(CINTERFACE) 12599 struct IAMAnalogVideoEncoder : public IUnknown { 12600 public: 12601 virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0; 12602 virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0; 12603 virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0; 12604 virtual HRESULT WINAPI put_CopyProtection(LONG lVideoCopyProtection) = 0; 12605 virtual HRESULT WINAPI get_CopyProtection(LONG *lVideoCopyProtection) = 0; 12606 virtual HRESULT WINAPI put_CCEnable(LONG lCCEnable) = 0; 12607 virtual HRESULT WINAPI get_CCEnable(LONG *lCCEnable) = 0; 12608 }; 12609 #else 12610 typedef struct IAMAnalogVideoEncoderVtbl { 12611 BEGIN_INTERFACE 12612 HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoEncoder *This,REFIID riid,void **ppvObject); 12613 ULONG (WINAPI *AddRef)(IAMAnalogVideoEncoder *This); 12614 ULONG (WINAPI *Release)(IAMAnalogVideoEncoder *This); 12615 HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard); 12616 HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard); 12617 HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard); 12618 HRESULT (WINAPI *put_CopyProtection)(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection); 12619 HRESULT (WINAPI *get_CopyProtection)(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection); 12620 HRESULT (WINAPI *put_CCEnable)(IAMAnalogVideoEncoder *This,LONG lCCEnable); 12621 HRESULT (WINAPI *get_CCEnable)(IAMAnalogVideoEncoder *This,LONG *lCCEnable); 12622 END_INTERFACE 12623 } IAMAnalogVideoEncoderVtbl; 12624 struct IAMAnalogVideoEncoder { 12625 CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl; 12626 }; 12627 #ifdef COBJMACROS 12628 #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12629 #define IAMAnalogVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) 12630 #define IAMAnalogVideoEncoder_Release(This) (This)->lpVtbl->Release(This) 12631 #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard) 12632 #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard) 12633 #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard) 12634 #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->put_CopyProtection(This,lVideoCopyProtection) 12635 #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->get_CopyProtection(This,lVideoCopyProtection) 12636 #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) (This)->lpVtbl->put_CCEnable(This,lCCEnable) 12637 #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) (This)->lpVtbl->get_CCEnable(This,lCCEnable) 12638 #endif 12639 #endif 12640 HRESULT WINAPI IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard); 12641 void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12642 HRESULT WINAPI IAMAnalogVideoEncoder_put_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard); 12643 void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12644 HRESULT WINAPI IAMAnalogVideoEncoder_get_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard); 12645 void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12646 HRESULT WINAPI IAMAnalogVideoEncoder_put_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection); 12647 void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12648 HRESULT WINAPI IAMAnalogVideoEncoder_get_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection); 12649 void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12650 HRESULT WINAPI IAMAnalogVideoEncoder_put_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG lCCEnable); 12651 void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12652 HRESULT WINAPI IAMAnalogVideoEncoder_get_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG *lCCEnable); 12653 void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12654 #endif 12655 12656 #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__ 12657 #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__ 12658 EXTERN_C const IID IID_IAMPhysicalPinInfo; 12659 #if defined(__cplusplus) && !defined(CINTERFACE) 12660 struct IAMPhysicalPinInfo : public IUnknown { 12661 public: 12662 virtual HRESULT WINAPI GetPhysicalType(LONG *pType,LPOLESTR *ppszType) = 0; 12663 }; 12664 #else 12665 typedef struct IAMPhysicalPinInfoVtbl { 12666 BEGIN_INTERFACE 12667 HRESULT (WINAPI *QueryInterface)(IAMPhysicalPinInfo *This,REFIID riid,void **ppvObject); 12668 ULONG (WINAPI *AddRef)(IAMPhysicalPinInfo *This); 12669 ULONG (WINAPI *Release)(IAMPhysicalPinInfo *This); 12670 HRESULT (WINAPI *GetPhysicalType)(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType); 12671 END_INTERFACE 12672 } IAMPhysicalPinInfoVtbl; 12673 struct IAMPhysicalPinInfo { 12674 CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl; 12675 }; 12676 #ifdef COBJMACROS 12677 #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12678 #define IAMPhysicalPinInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 12679 #define IAMPhysicalPinInfo_Release(This) (This)->lpVtbl->Release(This) 12680 #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) (This)->lpVtbl->GetPhysicalType(This,pType,ppszType) 12681 #endif 12682 #endif 12683 HRESULT WINAPI IAMPhysicalPinInfo_GetPhysicalType_Proxy(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType); 12684 void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12685 #endif 12686 12687 typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO; 12688 12689 extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec; 12690 extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec; 12691 #ifndef __IAMExtDevice_INTERFACE_DEFINED__ 12692 #define __IAMExtDevice_INTERFACE_DEFINED__ 12693 EXTERN_C const IID IID_IAMExtDevice; 12694 #if defined(__cplusplus) && !defined(CINTERFACE) 12695 struct IAMExtDevice : public IUnknown { 12696 public: 12697 virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0; 12698 virtual HRESULT WINAPI get_ExternalDeviceID(LPOLESTR *ppszData) = 0; 12699 virtual HRESULT WINAPI get_ExternalDeviceVersion(LPOLESTR *ppszData) = 0; 12700 virtual HRESULT WINAPI put_DevicePower(LONG PowerMode) = 0; 12701 virtual HRESULT WINAPI get_DevicePower(LONG *pPowerMode) = 0; 12702 virtual HRESULT WINAPI Calibrate(HEVENT hEvent,LONG Mode,LONG *pStatus) = 0; 12703 virtual HRESULT WINAPI put_DevicePort(LONG DevicePort) = 0; 12704 virtual HRESULT WINAPI get_DevicePort(LONG *pDevicePort) = 0; 12705 }; 12706 #else 12707 typedef struct IAMExtDeviceVtbl { 12708 BEGIN_INTERFACE 12709 HRESULT (WINAPI *QueryInterface)(IAMExtDevice *This,REFIID riid,void **ppvObject); 12710 ULONG (WINAPI *AddRef)(IAMExtDevice *This); 12711 ULONG (WINAPI *Release)(IAMExtDevice *This); 12712 HRESULT (WINAPI *GetCapability)(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue); 12713 HRESULT (WINAPI *get_ExternalDeviceID)(IAMExtDevice *This,LPOLESTR *ppszData); 12714 HRESULT (WINAPI *get_ExternalDeviceVersion)(IAMExtDevice *This,LPOLESTR *ppszData); 12715 HRESULT (WINAPI *put_DevicePower)(IAMExtDevice *This,LONG PowerMode); 12716 HRESULT (WINAPI *get_DevicePower)(IAMExtDevice *This,LONG *pPowerMode); 12717 HRESULT (WINAPI *Calibrate)(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus); 12718 HRESULT (WINAPI *put_DevicePort)(IAMExtDevice *This,LONG DevicePort); 12719 HRESULT (WINAPI *get_DevicePort)(IAMExtDevice *This,LONG *pDevicePort); 12720 END_INTERFACE 12721 } IAMExtDeviceVtbl; 12722 struct IAMExtDevice { 12723 CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl; 12724 }; 12725 #ifdef COBJMACROS 12726 #define IAMExtDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12727 #define IAMExtDevice_AddRef(This) (This)->lpVtbl->AddRef(This) 12728 #define IAMExtDevice_Release(This) (This)->lpVtbl->Release(This) 12729 #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue) 12730 #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) (This)->lpVtbl->get_ExternalDeviceID(This,ppszData) 12731 #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) (This)->lpVtbl->get_ExternalDeviceVersion(This,ppszData) 12732 #define IAMExtDevice_put_DevicePower(This,PowerMode) (This)->lpVtbl->put_DevicePower(This,PowerMode) 12733 #define IAMExtDevice_get_DevicePower(This,pPowerMode) (This)->lpVtbl->get_DevicePower(This,pPowerMode) 12734 #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) (This)->lpVtbl->Calibrate(This,hEvent,Mode,pStatus) 12735 #define IAMExtDevice_put_DevicePort(This,DevicePort) (This)->lpVtbl->put_DevicePort(This,DevicePort) 12736 #define IAMExtDevice_get_DevicePort(This,pDevicePort) (This)->lpVtbl->get_DevicePort(This,pDevicePort) 12737 #endif 12738 #endif 12739 HRESULT WINAPI IAMExtDevice_GetCapability_Proxy(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue); 12740 void __RPC_STUB IAMExtDevice_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12741 HRESULT WINAPI IAMExtDevice_get_ExternalDeviceID_Proxy(IAMExtDevice *This,LPOLESTR *ppszData); 12742 void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12743 HRESULT WINAPI IAMExtDevice_get_ExternalDeviceVersion_Proxy(IAMExtDevice *This,LPOLESTR *ppszData); 12744 void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12745 HRESULT WINAPI IAMExtDevice_put_DevicePower_Proxy(IAMExtDevice *This,LONG PowerMode); 12746 void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12747 HRESULT WINAPI IAMExtDevice_get_DevicePower_Proxy(IAMExtDevice *This,LONG *pPowerMode); 12748 void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12749 HRESULT WINAPI IAMExtDevice_Calibrate_Proxy(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus); 12750 void __RPC_STUB IAMExtDevice_Calibrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12751 HRESULT WINAPI IAMExtDevice_put_DevicePort_Proxy(IAMExtDevice *This,LONG DevicePort); 12752 void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12753 HRESULT WINAPI IAMExtDevice_get_DevicePort_Proxy(IAMExtDevice *This,LONG *pDevicePort); 12754 void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12755 #endif 12756 12757 typedef IAMExtDevice *PEXTDEVICE; 12758 12759 extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec; 12760 extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec; 12761 #ifndef __IAMExtTransport_INTERFACE_DEFINED__ 12762 #define __IAMExtTransport_INTERFACE_DEFINED__ 12763 EXTERN_C const IID IID_IAMExtTransport; 12764 #if defined(__cplusplus) && !defined(CINTERFACE) 12765 struct IAMExtTransport : public IUnknown { 12766 public: 12767 virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0; 12768 virtual HRESULT WINAPI put_MediaState(LONG State) = 0; 12769 virtual HRESULT WINAPI get_MediaState(LONG *pState) = 0; 12770 virtual HRESULT WINAPI put_LocalControl(LONG State) = 0; 12771 virtual HRESULT WINAPI get_LocalControl(LONG *pState) = 0; 12772 virtual HRESULT WINAPI GetStatus(LONG StatusItem,LONG *pValue) = 0; 12773 virtual HRESULT WINAPI GetTransportBasicParameters(LONG Param,LONG *pValue,LPOLESTR *ppszData) = 0; 12774 virtual HRESULT WINAPI SetTransportBasicParameters(LONG Param,LONG Value,LPCOLESTR pszData) = 0; 12775 virtual HRESULT WINAPI GetTransportVideoParameters(LONG Param,LONG *pValue) = 0; 12776 virtual HRESULT WINAPI SetTransportVideoParameters(LONG Param,LONG Value) = 0; 12777 virtual HRESULT WINAPI GetTransportAudioParameters(LONG Param,LONG *pValue) = 0; 12778 virtual HRESULT WINAPI SetTransportAudioParameters(LONG Param,LONG Value) = 0; 12779 virtual HRESULT WINAPI put_Mode(LONG Mode) = 0; 12780 virtual HRESULT WINAPI get_Mode(LONG *pMode) = 0; 12781 virtual HRESULT WINAPI put_Rate(double dblRate) = 0; 12782 virtual HRESULT WINAPI get_Rate(double *pdblRate) = 0; 12783 virtual HRESULT WINAPI GetChase(LONG *pEnabled,LONG *pOffset,HEVENT *phEvent) = 0; 12784 virtual HRESULT WINAPI SetChase(LONG Enable,LONG Offset,HEVENT hEvent) = 0; 12785 virtual HRESULT WINAPI GetBump(LONG *pSpeed,LONG *pDuration) = 0; 12786 virtual HRESULT WINAPI SetBump(LONG Speed,LONG Duration) = 0; 12787 virtual HRESULT WINAPI get_AntiClogControl(LONG *pEnabled) = 0; 12788 virtual HRESULT WINAPI put_AntiClogControl(LONG Enable) = 0; 12789 virtual HRESULT WINAPI GetEditPropertySet(LONG EditID,LONG *pState) = 0; 12790 virtual HRESULT WINAPI SetEditPropertySet(LONG *pEditID,LONG State) = 0; 12791 virtual HRESULT WINAPI GetEditProperty(LONG EditID,LONG Param,LONG *pValue) = 0; 12792 virtual HRESULT WINAPI SetEditProperty(LONG EditID,LONG Param,LONG Value) = 0; 12793 virtual HRESULT WINAPI get_EditStart(LONG *pValue) = 0; 12794 virtual HRESULT WINAPI put_EditStart(LONG Value) = 0; 12795 }; 12796 #else 12797 typedef struct IAMExtTransportVtbl { 12798 BEGIN_INTERFACE 12799 HRESULT (WINAPI *QueryInterface)(IAMExtTransport *This,REFIID riid,void **ppvObject); 12800 ULONG (WINAPI *AddRef)(IAMExtTransport *This); 12801 ULONG (WINAPI *Release)(IAMExtTransport *This); 12802 HRESULT (WINAPI *GetCapability)(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue); 12803 HRESULT (WINAPI *put_MediaState)(IAMExtTransport *This,LONG State); 12804 HRESULT (WINAPI *get_MediaState)(IAMExtTransport *This,LONG *pState); 12805 HRESULT (WINAPI *put_LocalControl)(IAMExtTransport *This,LONG State); 12806 HRESULT (WINAPI *get_LocalControl)(IAMExtTransport *This,LONG *pState); 12807 HRESULT (WINAPI *GetStatus)(IAMExtTransport *This,LONG StatusItem,LONG *pValue); 12808 HRESULT (WINAPI *GetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData); 12809 HRESULT (WINAPI *SetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData); 12810 HRESULT (WINAPI *GetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG *pValue); 12811 HRESULT (WINAPI *SetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG Value); 12812 HRESULT (WINAPI *GetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG *pValue); 12813 HRESULT (WINAPI *SetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG Value); 12814 HRESULT (WINAPI *put_Mode)(IAMExtTransport *This,LONG Mode); 12815 HRESULT (WINAPI *get_Mode)(IAMExtTransport *This,LONG *pMode); 12816 HRESULT (WINAPI *put_Rate)(IAMExtTransport *This,double dblRate); 12817 HRESULT (WINAPI *get_Rate)(IAMExtTransport *This,double *pdblRate); 12818 HRESULT (WINAPI *GetChase)(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent); 12819 HRESULT (WINAPI *SetChase)(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent); 12820 HRESULT (WINAPI *GetBump)(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration); 12821 HRESULT (WINAPI *SetBump)(IAMExtTransport *This,LONG Speed,LONG Duration); 12822 HRESULT (WINAPI *get_AntiClogControl)(IAMExtTransport *This,LONG *pEnabled); 12823 HRESULT (WINAPI *put_AntiClogControl)(IAMExtTransport *This,LONG Enable); 12824 HRESULT (WINAPI *GetEditPropertySet)(IAMExtTransport *This,LONG EditID,LONG *pState); 12825 HRESULT (WINAPI *SetEditPropertySet)(IAMExtTransport *This,LONG *pEditID,LONG State); 12826 HRESULT (WINAPI *GetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue); 12827 HRESULT (WINAPI *SetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value); 12828 HRESULT (WINAPI *get_EditStart)(IAMExtTransport *This,LONG *pValue); 12829 HRESULT (WINAPI *put_EditStart)(IAMExtTransport *This,LONG Value); 12830 END_INTERFACE 12831 } IAMExtTransportVtbl; 12832 struct IAMExtTransport { 12833 CONST_VTBL struct IAMExtTransportVtbl *lpVtbl; 12834 }; 12835 #ifdef COBJMACROS 12836 #define IAMExtTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12837 #define IAMExtTransport_AddRef(This) (This)->lpVtbl->AddRef(This) 12838 #define IAMExtTransport_Release(This) (This)->lpVtbl->Release(This) 12839 #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue) 12840 #define IAMExtTransport_put_MediaState(This,State) (This)->lpVtbl->put_MediaState(This,State) 12841 #define IAMExtTransport_get_MediaState(This,pState) (This)->lpVtbl->get_MediaState(This,pState) 12842 #define IAMExtTransport_put_LocalControl(This,State) (This)->lpVtbl->put_LocalControl(This,State) 12843 #define IAMExtTransport_get_LocalControl(This,pState) (This)->lpVtbl->get_LocalControl(This,pState) 12844 #define IAMExtTransport_GetStatus(This,StatusItem,pValue) (This)->lpVtbl->GetStatus(This,StatusItem,pValue) 12845 #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) (This)->lpVtbl->GetTransportBasicParameters(This,Param,pValue,ppszData) 12846 #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) (This)->lpVtbl->SetTransportBasicParameters(This,Param,Value,pszData) 12847 #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) (This)->lpVtbl->GetTransportVideoParameters(This,Param,pValue) 12848 #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) (This)->lpVtbl->SetTransportVideoParameters(This,Param,Value) 12849 #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) (This)->lpVtbl->GetTransportAudioParameters(This,Param,pValue) 12850 #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) (This)->lpVtbl->SetTransportAudioParameters(This,Param,Value) 12851 #define IAMExtTransport_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode) 12852 #define IAMExtTransport_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode) 12853 #define IAMExtTransport_put_Rate(This,dblRate) (This)->lpVtbl->put_Rate(This,dblRate) 12854 #define IAMExtTransport_get_Rate(This,pdblRate) (This)->lpVtbl->get_Rate(This,pdblRate) 12855 #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) (This)->lpVtbl->GetChase(This,pEnabled,pOffset,phEvent) 12856 #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) (This)->lpVtbl->SetChase(This,Enable,Offset,hEvent) 12857 #define IAMExtTransport_GetBump(This,pSpeed,pDuration) (This)->lpVtbl->GetBump(This,pSpeed,pDuration) 12858 #define IAMExtTransport_SetBump(This,Speed,Duration) (This)->lpVtbl->SetBump(This,Speed,Duration) 12859 #define IAMExtTransport_get_AntiClogControl(This,pEnabled) (This)->lpVtbl->get_AntiClogControl(This,pEnabled) 12860 #define IAMExtTransport_put_AntiClogControl(This,Enable) (This)->lpVtbl->put_AntiClogControl(This,Enable) 12861 #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) (This)->lpVtbl->GetEditPropertySet(This,EditID,pState) 12862 #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) (This)->lpVtbl->SetEditPropertySet(This,pEditID,State) 12863 #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) (This)->lpVtbl->GetEditProperty(This,EditID,Param,pValue) 12864 #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) (This)->lpVtbl->SetEditProperty(This,EditID,Param,Value) 12865 #define IAMExtTransport_get_EditStart(This,pValue) (This)->lpVtbl->get_EditStart(This,pValue) 12866 #define IAMExtTransport_put_EditStart(This,Value) (This)->lpVtbl->put_EditStart(This,Value) 12867 #endif 12868 #endif 12869 HRESULT WINAPI IAMExtTransport_GetCapability_Proxy(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue); 12870 void __RPC_STUB IAMExtTransport_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12871 HRESULT WINAPI IAMExtTransport_put_MediaState_Proxy(IAMExtTransport *This,LONG State); 12872 void __RPC_STUB IAMExtTransport_put_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12873 HRESULT WINAPI IAMExtTransport_get_MediaState_Proxy(IAMExtTransport *This,LONG *pState); 12874 void __RPC_STUB IAMExtTransport_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12875 HRESULT WINAPI IAMExtTransport_put_LocalControl_Proxy(IAMExtTransport *This,LONG State); 12876 void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12877 HRESULT WINAPI IAMExtTransport_get_LocalControl_Proxy(IAMExtTransport *This,LONG *pState); 12878 void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12879 HRESULT WINAPI IAMExtTransport_GetStatus_Proxy(IAMExtTransport *This,LONG StatusItem,LONG *pValue); 12880 void __RPC_STUB IAMExtTransport_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12881 HRESULT WINAPI IAMExtTransport_GetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData); 12882 void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12883 HRESULT WINAPI IAMExtTransport_SetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData); 12884 void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12885 HRESULT WINAPI IAMExtTransport_GetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue); 12886 void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12887 HRESULT WINAPI IAMExtTransport_SetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value); 12888 void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12889 HRESULT WINAPI IAMExtTransport_GetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue); 12890 void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12891 HRESULT WINAPI IAMExtTransport_SetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value); 12892 void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12893 HRESULT WINAPI IAMExtTransport_put_Mode_Proxy(IAMExtTransport *This,LONG Mode); 12894 void __RPC_STUB IAMExtTransport_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12895 HRESULT WINAPI IAMExtTransport_get_Mode_Proxy(IAMExtTransport *This,LONG *pMode); 12896 void __RPC_STUB IAMExtTransport_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12897 HRESULT WINAPI IAMExtTransport_put_Rate_Proxy(IAMExtTransport *This,double dblRate); 12898 void __RPC_STUB IAMExtTransport_put_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12899 HRESULT WINAPI IAMExtTransport_get_Rate_Proxy(IAMExtTransport *This,double *pdblRate); 12900 void __RPC_STUB IAMExtTransport_get_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12901 HRESULT WINAPI IAMExtTransport_GetChase_Proxy(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent); 12902 void __RPC_STUB IAMExtTransport_GetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12903 HRESULT WINAPI IAMExtTransport_SetChase_Proxy(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent); 12904 void __RPC_STUB IAMExtTransport_SetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12905 HRESULT WINAPI IAMExtTransport_GetBump_Proxy(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration); 12906 void __RPC_STUB IAMExtTransport_GetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12907 HRESULT WINAPI IAMExtTransport_SetBump_Proxy(IAMExtTransport *This,LONG Speed,LONG Duration); 12908 void __RPC_STUB IAMExtTransport_SetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12909 HRESULT WINAPI IAMExtTransport_get_AntiClogControl_Proxy(IAMExtTransport *This,LONG *pEnabled); 12910 void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12911 HRESULT WINAPI IAMExtTransport_put_AntiClogControl_Proxy(IAMExtTransport *This,LONG Enable); 12912 void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12913 HRESULT WINAPI IAMExtTransport_GetEditPropertySet_Proxy(IAMExtTransport *This,LONG EditID,LONG *pState); 12914 void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12915 HRESULT WINAPI IAMExtTransport_SetEditPropertySet_Proxy(IAMExtTransport *This,LONG *pEditID,LONG State); 12916 void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12917 HRESULT WINAPI IAMExtTransport_GetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue); 12918 void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12919 HRESULT WINAPI IAMExtTransport_SetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value); 12920 void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12921 HRESULT WINAPI IAMExtTransport_get_EditStart_Proxy(IAMExtTransport *This,LONG *pValue); 12922 void __RPC_STUB IAMExtTransport_get_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12923 HRESULT WINAPI IAMExtTransport_put_EditStart_Proxy(IAMExtTransport *This,LONG Value); 12924 void __RPC_STUB IAMExtTransport_put_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12925 #endif 12926 12927 typedef IAMExtTransport *PIAMEXTTRANSPORT; 12928 12929 #ifndef TIMECODE_DEFINED 12930 #define TIMECODE_DEFINED 12931 typedef union _timecode { 12932 __C89_NAMELESS struct { 12933 WORD wFrameRate; 12934 WORD wFrameFract; 12935 DWORD dwFrames; 12936 }; 12937 DWORDLONG qw; 12938 } TIMECODE; 12939 12940 typedef TIMECODE *PTIMECODE; 12941 12942 typedef struct tagTIMECODE_SAMPLE { 12943 LONGLONG qwTick; 12944 TIMECODE timecode; 12945 DWORD dwUser; 12946 DWORD dwFlags; 12947 } TIMECODE_SAMPLE; 12948 12949 typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE; 12950 #endif /* TIMECODE_DEFINED */ 12951 12952 extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec; 12953 extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec; 12954 #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__ 12955 #define __IAMTimecodeReader_INTERFACE_DEFINED__ 12956 EXTERN_C const IID IID_IAMTimecodeReader; 12957 #if defined(__cplusplus) && !defined(CINTERFACE) 12958 struct IAMTimecodeReader : public IUnknown { 12959 public: 12960 virtual HRESULT WINAPI GetTCRMode(LONG Param,LONG *pValue) = 0; 12961 virtual HRESULT WINAPI SetTCRMode(LONG Param,LONG Value) = 0; 12962 virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0; 12963 virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0; 12964 virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; 12965 }; 12966 #else 12967 typedef struct IAMTimecodeReaderVtbl { 12968 BEGIN_INTERFACE 12969 HRESULT (WINAPI *QueryInterface)(IAMTimecodeReader *This,REFIID riid,void **ppvObject); 12970 ULONG (WINAPI *AddRef)(IAMTimecodeReader *This); 12971 ULONG (WINAPI *Release)(IAMTimecodeReader *This); 12972 HRESULT (WINAPI *GetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG *pValue); 12973 HRESULT (WINAPI *SetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG Value); 12974 HRESULT (WINAPI *put_VITCLine)(IAMTimecodeReader *This,LONG Line); 12975 HRESULT (WINAPI *get_VITCLine)(IAMTimecodeReader *This,LONG *pLine); 12976 HRESULT (WINAPI *GetTimecode)(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample); 12977 END_INTERFACE 12978 } IAMTimecodeReaderVtbl; 12979 struct IAMTimecodeReader { 12980 CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl; 12981 }; 12982 #ifdef COBJMACROS 12983 #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12984 #define IAMTimecodeReader_AddRef(This) (This)->lpVtbl->AddRef(This) 12985 #define IAMTimecodeReader_Release(This) (This)->lpVtbl->Release(This) 12986 #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) (This)->lpVtbl->GetTCRMode(This,Param,pValue) 12987 #define IAMTimecodeReader_SetTCRMode(This,Param,Value) (This)->lpVtbl->SetTCRMode(This,Param,Value) 12988 #define IAMTimecodeReader_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line) 12989 #define IAMTimecodeReader_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine) 12990 #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample) 12991 #endif 12992 #endif 12993 HRESULT WINAPI IAMTimecodeReader_GetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG *pValue); 12994 void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12995 HRESULT WINAPI IAMTimecodeReader_SetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG Value); 12996 void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12997 HRESULT WINAPI IAMTimecodeReader_put_VITCLine_Proxy(IAMTimecodeReader *This,LONG Line); 12998 void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12999 HRESULT WINAPI IAMTimecodeReader_get_VITCLine_Proxy(IAMTimecodeReader *This,LONG *pLine); 13000 void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13001 HRESULT WINAPI IAMTimecodeReader_GetTimecode_Proxy(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample); 13002 void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13003 #endif 13004 13005 typedef IAMTimecodeReader *PIAMTIMECODEREADER; 13006 13007 extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec; 13008 extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec; 13009 #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__ 13010 #define __IAMTimecodeGenerator_INTERFACE_DEFINED__ 13011 EXTERN_C const IID IID_IAMTimecodeGenerator; 13012 #if defined(__cplusplus) && !defined(CINTERFACE) 13013 struct IAMTimecodeGenerator : public IUnknown { 13014 public: 13015 virtual HRESULT WINAPI GetTCGMode(LONG Param,LONG *pValue) = 0; 13016 virtual HRESULT WINAPI SetTCGMode(LONG Param,LONG Value) = 0; 13017 virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0; 13018 virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0; 13019 virtual HRESULT WINAPI SetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; 13020 virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; 13021 }; 13022 #else 13023 typedef struct IAMTimecodeGeneratorVtbl { 13024 BEGIN_INTERFACE 13025 HRESULT (WINAPI *QueryInterface)(IAMTimecodeGenerator *This,REFIID riid,void **ppvObject); 13026 ULONG (WINAPI *AddRef)(IAMTimecodeGenerator *This); 13027 ULONG (WINAPI *Release)(IAMTimecodeGenerator *This); 13028 HRESULT (WINAPI *GetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG *pValue); 13029 HRESULT (WINAPI *SetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG Value); 13030 HRESULT (WINAPI *put_VITCLine)(IAMTimecodeGenerator *This,LONG Line); 13031 HRESULT (WINAPI *get_VITCLine)(IAMTimecodeGenerator *This,LONG *pLine); 13032 HRESULT (WINAPI *SetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); 13033 HRESULT (WINAPI *GetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); 13034 END_INTERFACE 13035 } IAMTimecodeGeneratorVtbl; 13036 struct IAMTimecodeGenerator { 13037 CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl; 13038 }; 13039 #ifdef COBJMACROS 13040 #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13041 #define IAMTimecodeGenerator_AddRef(This) (This)->lpVtbl->AddRef(This) 13042 #define IAMTimecodeGenerator_Release(This) (This)->lpVtbl->Release(This) 13043 #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) (This)->lpVtbl->GetTCGMode(This,Param,pValue) 13044 #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) (This)->lpVtbl->SetTCGMode(This,Param,Value) 13045 #define IAMTimecodeGenerator_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line) 13046 #define IAMTimecodeGenerator_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine) 13047 #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) (This)->lpVtbl->SetTimecode(This,pTimecodeSample) 13048 #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample) 13049 #endif 13050 #endif 13051 HRESULT WINAPI IAMTimecodeGenerator_GetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG *pValue); 13052 void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13053 HRESULT WINAPI IAMTimecodeGenerator_SetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG Value); 13054 void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13055 HRESULT WINAPI IAMTimecodeGenerator_put_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG Line); 13056 void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13057 HRESULT WINAPI IAMTimecodeGenerator_get_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG *pLine); 13058 void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13059 HRESULT WINAPI IAMTimecodeGenerator_SetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); 13060 void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13061 HRESULT WINAPI IAMTimecodeGenerator_GetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); 13062 void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13063 #endif 13064 13065 typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR; 13066 13067 extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec; 13068 extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec; 13069 #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__ 13070 #define __IAMTimecodeDisplay_INTERFACE_DEFINED__ 13071 EXTERN_C const IID IID_IAMTimecodeDisplay; 13072 #if defined(__cplusplus) && !defined(CINTERFACE) 13073 struct IAMTimecodeDisplay : public IUnknown { 13074 public: 13075 virtual HRESULT WINAPI GetTCDisplayEnable(LONG *pState) = 0; 13076 virtual HRESULT WINAPI SetTCDisplayEnable(LONG State) = 0; 13077 virtual HRESULT WINAPI GetTCDisplay(LONG Param,LONG *pValue) = 0; 13078 virtual HRESULT WINAPI SetTCDisplay(LONG Param,LONG Value) = 0; 13079 }; 13080 #else 13081 typedef struct IAMTimecodeDisplayVtbl { 13082 BEGIN_INTERFACE 13083 HRESULT (WINAPI *QueryInterface)(IAMTimecodeDisplay *This,REFIID riid,void **ppvObject); 13084 ULONG (WINAPI *AddRef)(IAMTimecodeDisplay *This); 13085 ULONG (WINAPI *Release)(IAMTimecodeDisplay *This); 13086 HRESULT (WINAPI *GetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG *pState); 13087 HRESULT (WINAPI *SetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG State); 13088 HRESULT (WINAPI *GetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG *pValue); 13089 HRESULT (WINAPI *SetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG Value); 13090 END_INTERFACE 13091 } IAMTimecodeDisplayVtbl; 13092 struct IAMTimecodeDisplay { 13093 CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl; 13094 }; 13095 #ifdef COBJMACROS 13096 #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13097 #define IAMTimecodeDisplay_AddRef(This) (This)->lpVtbl->AddRef(This) 13098 #define IAMTimecodeDisplay_Release(This) (This)->lpVtbl->Release(This) 13099 #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) (This)->lpVtbl->GetTCDisplayEnable(This,pState) 13100 #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) (This)->lpVtbl->SetTCDisplayEnable(This,State) 13101 #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) (This)->lpVtbl->GetTCDisplay(This,Param,pValue) 13102 #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) (This)->lpVtbl->SetTCDisplay(This,Param,Value) 13103 #endif 13104 #endif 13105 HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG *pState); 13106 void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13107 HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG State); 13108 void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13109 HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG *pValue); 13110 void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13111 HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG Value); 13112 void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13113 #endif 13114 13115 typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY; 13116 13117 extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec; 13118 extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec; 13119 #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__ 13120 #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__ 13121 EXTERN_C const IID IID_IAMDevMemoryAllocator; 13122 #if defined(__cplusplus) && !defined(CINTERFACE) 13123 struct IAMDevMemoryAllocator : public IUnknown { 13124 public: 13125 virtual HRESULT WINAPI GetInfo(DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk) = 0; 13126 virtual HRESULT WINAPI CheckMemory(const BYTE *pBuffer) = 0; 13127 virtual HRESULT WINAPI Alloc(BYTE **ppBuffer,DWORD *pdwcbBuffer) = 0; 13128 virtual HRESULT WINAPI Free(BYTE *pBuffer) = 0; 13129 virtual HRESULT WINAPI GetDevMemoryObject(IUnknown **ppUnkInnner,IUnknown *pUnkOuter) = 0; 13130 }; 13131 #else 13132 typedef struct IAMDevMemoryAllocatorVtbl { 13133 BEGIN_INTERFACE 13134 HRESULT (WINAPI *QueryInterface)(IAMDevMemoryAllocator *This,REFIID riid,void **ppvObject); 13135 ULONG (WINAPI *AddRef)(IAMDevMemoryAllocator *This); 13136 ULONG (WINAPI *Release)(IAMDevMemoryAllocator *This); 13137 HRESULT (WINAPI *GetInfo)(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk); 13138 HRESULT (WINAPI *CheckMemory)(IAMDevMemoryAllocator *This,const BYTE *pBuffer); 13139 HRESULT (WINAPI *Alloc)(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer); 13140 HRESULT (WINAPI *Free)(IAMDevMemoryAllocator *This,BYTE *pBuffer); 13141 HRESULT (WINAPI *GetDevMemoryObject)(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter); 13142 END_INTERFACE 13143 } IAMDevMemoryAllocatorVtbl; 13144 struct IAMDevMemoryAllocator { 13145 CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl; 13146 }; 13147 #ifdef COBJMACROS 13148 #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13149 #define IAMDevMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 13150 #define IAMDevMemoryAllocator_Release(This) (This)->lpVtbl->Release(This) 13151 #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) (This)->lpVtbl->GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) 13152 #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) (This)->lpVtbl->CheckMemory(This,pBuffer) 13153 #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) (This)->lpVtbl->Alloc(This,ppBuffer,pdwcbBuffer) 13154 #define IAMDevMemoryAllocator_Free(This,pBuffer) (This)->lpVtbl->Free(This,pBuffer) 13155 #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) (This)->lpVtbl->GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) 13156 #endif 13157 #endif 13158 HRESULT WINAPI IAMDevMemoryAllocator_GetInfo_Proxy(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk); 13159 void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13160 HRESULT WINAPI IAMDevMemoryAllocator_CheckMemory_Proxy(IAMDevMemoryAllocator *This,const BYTE *pBuffer); 13161 void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13162 HRESULT WINAPI IAMDevMemoryAllocator_Alloc_Proxy(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer); 13163 void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13164 HRESULT WINAPI IAMDevMemoryAllocator_Free_Proxy(IAMDevMemoryAllocator *This,BYTE *pBuffer); 13165 void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13166 HRESULT WINAPI IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter); 13167 void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13168 #endif 13169 13170 typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR; 13171 13172 extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec; 13173 extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec; 13174 #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__ 13175 #define __IAMDevMemoryControl_INTERFACE_DEFINED__ 13176 EXTERN_C const IID IID_IAMDevMemoryControl; 13177 #if defined(__cplusplus) && !defined(CINTERFACE) 13178 struct IAMDevMemoryControl : public IUnknown { 13179 public: 13180 virtual HRESULT WINAPI QueryWriteSync(void) = 0; 13181 virtual HRESULT WINAPI WriteSync(void) = 0; 13182 virtual HRESULT WINAPI GetDevId(DWORD *pdwDevId) = 0; 13183 }; 13184 #else 13185 typedef struct IAMDevMemoryControlVtbl { 13186 BEGIN_INTERFACE 13187 HRESULT (WINAPI *QueryInterface)(IAMDevMemoryControl *This,REFIID riid,void **ppvObject); 13188 ULONG (WINAPI *AddRef)(IAMDevMemoryControl *This); 13189 ULONG (WINAPI *Release)(IAMDevMemoryControl *This); 13190 HRESULT (WINAPI *QueryWriteSync)(IAMDevMemoryControl *This); 13191 HRESULT (WINAPI *WriteSync)(IAMDevMemoryControl *This); 13192 HRESULT (WINAPI *GetDevId)(IAMDevMemoryControl *This,DWORD *pdwDevId); 13193 END_INTERFACE 13194 } IAMDevMemoryControlVtbl; 13195 struct IAMDevMemoryControl { 13196 CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl; 13197 }; 13198 #ifdef COBJMACROS 13199 #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13200 #define IAMDevMemoryControl_AddRef(This) (This)->lpVtbl->AddRef(This) 13201 #define IAMDevMemoryControl_Release(This) (This)->lpVtbl->Release(This) 13202 #define IAMDevMemoryControl_QueryWriteSync(This) (This)->lpVtbl->QueryWriteSync(This) 13203 #define IAMDevMemoryControl_WriteSync(This) (This)->lpVtbl->WriteSync(This) 13204 #define IAMDevMemoryControl_GetDevId(This,pdwDevId) (This)->lpVtbl->GetDevId(This,pdwDevId) 13205 #endif 13206 #endif 13207 HRESULT WINAPI IAMDevMemoryControl_QueryWriteSync_Proxy(IAMDevMemoryControl *This); 13208 void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13209 HRESULT WINAPI IAMDevMemoryControl_WriteSync_Proxy(IAMDevMemoryControl *This); 13210 void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13211 HRESULT WINAPI IAMDevMemoryControl_GetDevId_Proxy(IAMDevMemoryControl *This,DWORD *pdwDevId); 13212 void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13213 #endif 13214 13215 typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL; 13216 13217 enum _AMSTREAMSELECTINFOFLAGS { 13218 AMSTREAMSELECTINFO_ENABLED = 0x1,AMSTREAMSELECTINFO_EXCLUSIVE = 0x2 13219 }; 13220 13221 enum _AMSTREAMSELECTENABLEFLAGS { 13222 AMSTREAMSELECTENABLE_ENABLE = 0x1,AMSTREAMSELECTENABLE_ENABLEALL = 0x2 13223 }; 13224 13225 extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec; 13226 extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec; 13227 #ifndef __IAMStreamSelect_INTERFACE_DEFINED__ 13228 #define __IAMStreamSelect_INTERFACE_DEFINED__ 13229 EXTERN_C const IID IID_IAMStreamSelect; 13230 #if defined(__cplusplus) && !defined(CINTERFACE) 13231 struct IAMStreamSelect : public IUnknown { 13232 public: 13233 virtual HRESULT WINAPI Count(DWORD *pcStreams) = 0; 13234 virtual HRESULT WINAPI Info(LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk) = 0; 13235 virtual HRESULT WINAPI Enable(LONG lIndex,DWORD dwFlags) = 0; 13236 }; 13237 #else 13238 typedef struct IAMStreamSelectVtbl { 13239 BEGIN_INTERFACE 13240 HRESULT (WINAPI *QueryInterface)(IAMStreamSelect *This,REFIID riid,void **ppvObject); 13241 ULONG (WINAPI *AddRef)(IAMStreamSelect *This); 13242 ULONG (WINAPI *Release)(IAMStreamSelect *This); 13243 HRESULT (WINAPI *Count)(IAMStreamSelect *This,DWORD *pcStreams); 13244 HRESULT (WINAPI *Info)(IAMStreamSelect *This,LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk); 13245 HRESULT (WINAPI *Enable)(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags); 13246 END_INTERFACE 13247 } IAMStreamSelectVtbl; 13248 struct IAMStreamSelect { 13249 CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl; 13250 }; 13251 #ifdef COBJMACROS 13252 #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13253 #define IAMStreamSelect_AddRef(This) (This)->lpVtbl->AddRef(This) 13254 #define IAMStreamSelect_Release(This) (This)->lpVtbl->Release(This) 13255 #define IAMStreamSelect_Count(This,pcStreams) (This)->lpVtbl->Count(This,pcStreams) 13256 #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) (This)->lpVtbl->Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) 13257 #define IAMStreamSelect_Enable(This,lIndex,dwFlags) (This)->lpVtbl->Enable(This,lIndex,dwFlags) 13258 #endif 13259 #endif 13260 HRESULT WINAPI IAMStreamSelect_Count_Proxy(IAMStreamSelect *This,DWORD *pcStreams); 13261 void __RPC_STUB IAMStreamSelect_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13262 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); 13263 void __RPC_STUB IAMStreamSelect_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13264 HRESULT WINAPI IAMStreamSelect_Enable_Proxy(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags); 13265 void __RPC_STUB IAMStreamSelect_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13266 #endif 13267 13268 typedef IAMStreamSelect *PAMSTREAMSELECT; 13269 13270 enum _AMRESCTL_RESERVEFLAGS { 13271 AMRESCTL_RESERVEFLAGS_RESERVE = 0,AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1 13272 }; 13273 13274 extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec; 13275 extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec; 13276 #ifndef __IAMResourceControl_INTERFACE_DEFINED__ 13277 #define __IAMResourceControl_INTERFACE_DEFINED__ 13278 EXTERN_C const IID IID_IAMResourceControl; 13279 #if defined(__cplusplus) && !defined(CINTERFACE) 13280 struct IAMResourceControl : public IUnknown { 13281 public: 13282 virtual HRESULT WINAPI Reserve(DWORD dwFlags,PVOID pvReserved) = 0; 13283 }; 13284 #else 13285 typedef struct IAMResourceControlVtbl { 13286 BEGIN_INTERFACE 13287 HRESULT (WINAPI *QueryInterface)(IAMResourceControl *This,REFIID riid,void **ppvObject); 13288 ULONG (WINAPI *AddRef)(IAMResourceControl *This); 13289 ULONG (WINAPI *Release)(IAMResourceControl *This); 13290 HRESULT (WINAPI *Reserve)(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved); 13291 END_INTERFACE 13292 } IAMResourceControlVtbl; 13293 struct IAMResourceControl { 13294 CONST_VTBL struct IAMResourceControlVtbl *lpVtbl; 13295 }; 13296 #ifdef COBJMACROS 13297 #define IAMResourceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13298 #define IAMResourceControl_AddRef(This) (This)->lpVtbl->AddRef(This) 13299 #define IAMResourceControl_Release(This) (This)->lpVtbl->Release(This) 13300 #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) (This)->lpVtbl->Reserve(This,dwFlags,pvReserved) 13301 #endif 13302 #endif 13303 HRESULT WINAPI IAMResourceControl_Reserve_Proxy(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved); 13304 void __RPC_STUB IAMResourceControl_Reserve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13305 #endif 13306 13307 #ifndef __IAMClockAdjust_INTERFACE_DEFINED__ 13308 #define __IAMClockAdjust_INTERFACE_DEFINED__ 13309 EXTERN_C const IID IID_IAMClockAdjust; 13310 #if defined(__cplusplus) && !defined(CINTERFACE) 13311 struct IAMClockAdjust : public IUnknown { 13312 public: 13313 virtual HRESULT WINAPI SetClockDelta(REFERENCE_TIME rtDelta) = 0; 13314 }; 13315 #else 13316 typedef struct IAMClockAdjustVtbl { 13317 BEGIN_INTERFACE 13318 HRESULT (WINAPI *QueryInterface)(IAMClockAdjust *This,REFIID riid,void **ppvObject); 13319 ULONG (WINAPI *AddRef)(IAMClockAdjust *This); 13320 ULONG (WINAPI *Release)(IAMClockAdjust *This); 13321 HRESULT (WINAPI *SetClockDelta)(IAMClockAdjust *This,REFERENCE_TIME rtDelta); 13322 END_INTERFACE 13323 } IAMClockAdjustVtbl; 13324 struct IAMClockAdjust { 13325 CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl; 13326 }; 13327 #ifdef COBJMACROS 13328 #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13329 #define IAMClockAdjust_AddRef(This) (This)->lpVtbl->AddRef(This) 13330 #define IAMClockAdjust_Release(This) (This)->lpVtbl->Release(This) 13331 #define IAMClockAdjust_SetClockDelta(This,rtDelta) (This)->lpVtbl->SetClockDelta(This,rtDelta) 13332 #endif 13333 #endif 13334 HRESULT WINAPI IAMClockAdjust_SetClockDelta_Proxy(IAMClockAdjust *This,REFERENCE_TIME rtDelta); 13335 void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13336 #endif 13337 13338 #ifndef __IDrawVideoImage_INTERFACE_DEFINED__ 13339 #define __IDrawVideoImage_INTERFACE_DEFINED__ 13340 EXTERN_C const IID IID_IDrawVideoImage; 13341 #if defined(__cplusplus) && !defined(CINTERFACE) 13342 struct IDrawVideoImage : public IUnknown { 13343 public: 13344 virtual HRESULT WINAPI DrawVideoImageBegin(void) = 0; 13345 virtual HRESULT WINAPI DrawVideoImageEnd(void) = 0; 13346 virtual HRESULT WINAPI DrawVideoImageDraw(HDC hdc,LPRECT lprcSrc,LPRECT lprcDst) = 0; 13347 }; 13348 #else 13349 typedef struct IDrawVideoImageVtbl { 13350 BEGIN_INTERFACE 13351 HRESULT (WINAPI *QueryInterface)(IDrawVideoImage *This,REFIID riid,void **ppvObject); 13352 ULONG (WINAPI *AddRef)(IDrawVideoImage *This); 13353 ULONG (WINAPI *Release)(IDrawVideoImage *This); 13354 HRESULT (WINAPI *DrawVideoImageBegin)(IDrawVideoImage *This); 13355 HRESULT (WINAPI *DrawVideoImageEnd)(IDrawVideoImage *This); 13356 HRESULT (WINAPI *DrawVideoImageDraw)(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst); 13357 END_INTERFACE 13358 } IDrawVideoImageVtbl; 13359 struct IDrawVideoImage { 13360 CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl; 13361 }; 13362 #ifdef COBJMACROS 13363 #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13364 #define IDrawVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This) 13365 #define IDrawVideoImage_Release(This) (This)->lpVtbl->Release(This) 13366 #define IDrawVideoImage_DrawVideoImageBegin(This) (This)->lpVtbl->DrawVideoImageBegin(This) 13367 #define IDrawVideoImage_DrawVideoImageEnd(This) (This)->lpVtbl->DrawVideoImageEnd(This) 13368 #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) (This)->lpVtbl->DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) 13369 #endif 13370 #endif 13371 HRESULT WINAPI IDrawVideoImage_DrawVideoImageBegin_Proxy(IDrawVideoImage *This); 13372 void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13373 HRESULT WINAPI IDrawVideoImage_DrawVideoImageEnd_Proxy(IDrawVideoImage *This); 13374 void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13375 HRESULT WINAPI IDrawVideoImage_DrawVideoImageDraw_Proxy(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst); 13376 void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13377 #endif 13378 13379 #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__ 13380 #define __IDecimateVideoImage_INTERFACE_DEFINED__ 13381 EXTERN_C const IID IID_IDecimateVideoImage; 13382 #if defined(__cplusplus) && !defined(CINTERFACE) 13383 struct IDecimateVideoImage : public IUnknown { 13384 public: 13385 virtual HRESULT WINAPI SetDecimationImageSize(LONG lWidth,LONG lHeight) = 0; 13386 virtual HRESULT WINAPI ResetDecimationImageSize(void) = 0; 13387 }; 13388 #else 13389 typedef struct IDecimateVideoImageVtbl { 13390 BEGIN_INTERFACE 13391 HRESULT (WINAPI *QueryInterface)(IDecimateVideoImage *This,REFIID riid,void **ppvObject); 13392 ULONG (WINAPI *AddRef)(IDecimateVideoImage *This); 13393 ULONG (WINAPI *Release)(IDecimateVideoImage *This); 13394 HRESULT (WINAPI *SetDecimationImageSize)(IDecimateVideoImage *This,LONG lWidth,LONG lHeight); 13395 HRESULT (WINAPI *ResetDecimationImageSize)(IDecimateVideoImage *This); 13396 END_INTERFACE 13397 } IDecimateVideoImageVtbl; 13398 struct IDecimateVideoImage { 13399 CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl; 13400 }; 13401 #ifdef COBJMACROS 13402 #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13403 #define IDecimateVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This) 13404 #define IDecimateVideoImage_Release(This) (This)->lpVtbl->Release(This) 13405 #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) (This)->lpVtbl->SetDecimationImageSize(This,lWidth,lHeight) 13406 #define IDecimateVideoImage_ResetDecimationImageSize(This) (This)->lpVtbl->ResetDecimationImageSize(This) 13407 #endif 13408 #endif 13409 HRESULT WINAPI IDecimateVideoImage_SetDecimationImageSize_Proxy(IDecimateVideoImage *This,LONG lWidth,LONG lHeight); 13410 void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13411 HRESULT WINAPI IDecimateVideoImage_ResetDecimationImageSize_Proxy(IDecimateVideoImage *This); 13412 void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13413 #endif 13414 13415 typedef enum _DECIMATION_USAGE { 13416 DECIMATION_LEGACY = 0, 13417 DECIMATION_USE_DECODER_ONLY,DECIMATION_USE_VIDEOPORT_ONLY,DECIMATION_USE_OVERLAY_ONLY, 13418 DECIMATION_DEFAULT 13419 } DECIMATION_USAGE; 13420 13421 extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec; 13422 extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec; 13423 #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__ 13424 #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__ 13425 EXTERN_C const IID IID_IAMVideoDecimationProperties; 13426 #if defined(__cplusplus) && !defined(CINTERFACE) 13427 struct IAMVideoDecimationProperties : public IUnknown { 13428 public: 13429 virtual HRESULT WINAPI QueryDecimationUsage(DECIMATION_USAGE *lpUsage) = 0; 13430 virtual HRESULT WINAPI SetDecimationUsage(DECIMATION_USAGE Usage) = 0; 13431 }; 13432 #else 13433 typedef struct IAMVideoDecimationPropertiesVtbl { 13434 BEGIN_INTERFACE 13435 HRESULT (WINAPI *QueryInterface)(IAMVideoDecimationProperties *This,REFIID riid,void **ppvObject); 13436 ULONG (WINAPI *AddRef)(IAMVideoDecimationProperties *This); 13437 ULONG (WINAPI *Release)(IAMVideoDecimationProperties *This); 13438 HRESULT (WINAPI *QueryDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage); 13439 HRESULT (WINAPI *SetDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage); 13440 END_INTERFACE 13441 } IAMVideoDecimationPropertiesVtbl; 13442 struct IAMVideoDecimationProperties { 13443 CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl; 13444 }; 13445 #ifdef COBJMACROS 13446 #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13447 #define IAMVideoDecimationProperties_AddRef(This) (This)->lpVtbl->AddRef(This) 13448 #define IAMVideoDecimationProperties_Release(This) (This)->lpVtbl->Release(This) 13449 #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) (This)->lpVtbl->QueryDecimationUsage(This,lpUsage) 13450 #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) (This)->lpVtbl->SetDecimationUsage(This,Usage) 13451 #endif 13452 #endif 13453 HRESULT WINAPI IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage); 13454 void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13455 HRESULT WINAPI IAMVideoDecimationProperties_SetDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage); 13456 void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13457 #endif 13458 13459 enum _AM_PUSHSOURCE_FLAGS { 13460 AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4, 13461 AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000 13462 }; 13463 13464 extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec; 13465 extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec; 13466 13467 #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__ 13468 #define __IAMDeviceRemoval_INTERFACE_DEFINED__ 13469 EXTERN_C const IID IID_IAMDeviceRemoval; 13470 #if defined(__cplusplus) && !defined(CINTERFACE) 13471 struct IAMDeviceRemoval : public IUnknown { 13472 public: 13473 virtual HRESULT WINAPI DeviceInfo(CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink) = 0; 13474 virtual HRESULT WINAPI Reassociate(void) = 0; 13475 virtual HRESULT WINAPI Disassociate(void) = 0; 13476 }; 13477 #else 13478 typedef struct IAMDeviceRemovalVtbl { 13479 BEGIN_INTERFACE 13480 HRESULT (WINAPI *QueryInterface)(IAMDeviceRemoval *This,REFIID riid,void **ppvObject); 13481 ULONG (WINAPI *AddRef)(IAMDeviceRemoval *This); 13482 ULONG (WINAPI *Release)(IAMDeviceRemoval *This); 13483 HRESULT (WINAPI *DeviceInfo)(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink); 13484 HRESULT (WINAPI *Reassociate)(IAMDeviceRemoval *This); 13485 HRESULT (WINAPI *Disassociate)(IAMDeviceRemoval *This); 13486 END_INTERFACE 13487 } IAMDeviceRemovalVtbl; 13488 struct IAMDeviceRemoval { 13489 CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl; 13490 }; 13491 #ifdef COBJMACROS 13492 #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13493 #define IAMDeviceRemoval_AddRef(This) (This)->lpVtbl->AddRef(This) 13494 #define IAMDeviceRemoval_Release(This) (This)->lpVtbl->Release(This) 13495 #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) (This)->lpVtbl->DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) 13496 #define IAMDeviceRemoval_Reassociate(This) (This)->lpVtbl->Reassociate(This) 13497 #define IAMDeviceRemoval_Disassociate(This) (This)->lpVtbl->Disassociate(This) 13498 #endif 13499 #endif 13500 HRESULT WINAPI IAMDeviceRemoval_DeviceInfo_Proxy(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink); 13501 void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13502 HRESULT WINAPI IAMDeviceRemoval_Reassociate_Proxy(IAMDeviceRemoval *This); 13503 void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13504 HRESULT WINAPI IAMDeviceRemoval_Disassociate_Proxy(IAMDeviceRemoval *This); 13505 void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13506 #endif 13507 13508 typedef struct __MIDL___MIDL_itf_strmif_0355_0001 { 13509 DWORD dwDVAAuxSrc; 13510 DWORD dwDVAAuxCtl; 13511 DWORD dwDVAAuxSrc1; 13512 DWORD dwDVAAuxCtl1; 13513 DWORD dwDVVAuxSrc; 13514 DWORD dwDVVAuxCtl; 13515 DWORD dwDVReserved[2]; 13516 } DVINFO; 13517 13518 typedef struct __MIDL___MIDL_itf_strmif_0355_0001 *PDVINFO; 13519 13520 enum _DVENCODERRESOLUTION { 13521 DVENCODERRESOLUTION_720x480 = 2012,DVENCODERRESOLUTION_360x240 = 2013,DVENCODERRESOLUTION_180x120 = 2014,DVENCODERRESOLUTION_88x60 = 2015 13522 }; 13523 13524 enum _DVENCODERVIDEOFORMAT { 13525 DVENCODERVIDEOFORMAT_NTSC = 2000,DVENCODERVIDEOFORMAT_PAL = 2001 13526 }; 13527 13528 enum _DVENCODERFORMAT { 13529 DVENCODERFORMAT_DVSD = 2007,DVENCODERFORMAT_DVHD = 2008,DVENCODERFORMAT_DVSL = 2009 13530 }; 13531 13532 extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec; 13533 extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec; 13534 #ifndef __IDVEnc_INTERFACE_DEFINED__ 13535 #define __IDVEnc_INTERFACE_DEFINED__ 13536 EXTERN_C const IID IID_IDVEnc; 13537 #if defined(__cplusplus) && !defined(CINTERFACE) 13538 struct IDVEnc : public IUnknown { 13539 public: 13540 virtual HRESULT WINAPI get_IFormatResolution(int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0; 13541 virtual HRESULT WINAPI put_IFormatResolution(int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0; 13542 }; 13543 #else 13544 typedef struct IDVEncVtbl { 13545 BEGIN_INTERFACE 13546 HRESULT (WINAPI *QueryInterface)(IDVEnc *This,REFIID riid,void **ppvObject); 13547 ULONG (WINAPI *AddRef)(IDVEnc *This); 13548 ULONG (WINAPI *Release)(IDVEnc *This); 13549 HRESULT (WINAPI *get_IFormatResolution)(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo); 13550 HRESULT (WINAPI *put_IFormatResolution)(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo); 13551 END_INTERFACE 13552 } IDVEncVtbl; 13553 struct IDVEnc { 13554 CONST_VTBL struct IDVEncVtbl *lpVtbl; 13555 }; 13556 #ifdef COBJMACROS 13557 #define IDVEnc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13558 #define IDVEnc_AddRef(This) (This)->lpVtbl->AddRef(This) 13559 #define IDVEnc_Release(This) (This)->lpVtbl->Release(This) 13560 #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) 13561 #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) 13562 #endif 13563 #endif 13564 HRESULT WINAPI IDVEnc_get_IFormatResolution_Proxy(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo); 13565 void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13566 HRESULT WINAPI IDVEnc_put_IFormatResolution_Proxy(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo); 13567 void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13568 #endif 13569 13570 enum _DVDECODERRESOLUTION { 13571 DVDECODERRESOLUTION_720x480 = 1000,DVDECODERRESOLUTION_360x240 = 1001,DVDECODERRESOLUTION_180x120 = 1002,DVDECODERRESOLUTION_88x60 = 1003 13572 }; 13573 13574 enum _DVRESOLUTION { 13575 DVRESOLUTION_FULL = 1000,DVRESOLUTION_HALF = 1001,DVRESOLUTION_QUARTER = 1002,DVRESOLUTION_DC = 1003 13576 }; 13577 13578 extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec; 13579 extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec; 13580 #ifndef __IIPDVDec_INTERFACE_DEFINED__ 13581 #define __IIPDVDec_INTERFACE_DEFINED__ 13582 EXTERN_C const IID IID_IIPDVDec; 13583 #if defined(__cplusplus) && !defined(CINTERFACE) 13584 struct IIPDVDec : public IUnknown { 13585 public: 13586 virtual HRESULT WINAPI get_IPDisplay(int *displayPix) = 0; 13587 virtual HRESULT WINAPI put_IPDisplay(int displayPix) = 0; 13588 }; 13589 #else 13590 typedef struct IIPDVDecVtbl { 13591 BEGIN_INTERFACE 13592 HRESULT (WINAPI *QueryInterface)(IIPDVDec *This,REFIID riid,void **ppvObject); 13593 ULONG (WINAPI *AddRef)(IIPDVDec *This); 13594 ULONG (WINAPI *Release)(IIPDVDec *This); 13595 HRESULT (WINAPI *get_IPDisplay)(IIPDVDec *This,int *displayPix); 13596 HRESULT (WINAPI *put_IPDisplay)(IIPDVDec *This,int displayPix); 13597 END_INTERFACE 13598 } IIPDVDecVtbl; 13599 struct IIPDVDec { 13600 CONST_VTBL struct IIPDVDecVtbl *lpVtbl; 13601 }; 13602 #ifdef COBJMACROS 13603 #define IIPDVDec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13604 #define IIPDVDec_AddRef(This) (This)->lpVtbl->AddRef(This) 13605 #define IIPDVDec_Release(This) (This)->lpVtbl->Release(This) 13606 #define IIPDVDec_get_IPDisplay(This,displayPix) (This)->lpVtbl->get_IPDisplay(This,displayPix) 13607 #define IIPDVDec_put_IPDisplay(This,displayPix) (This)->lpVtbl->put_IPDisplay(This,displayPix) 13608 #endif 13609 #endif 13610 HRESULT WINAPI IIPDVDec_get_IPDisplay_Proxy(IIPDVDec *This,int *displayPix); 13611 void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13612 HRESULT WINAPI IIPDVDec_put_IPDisplay_Proxy(IIPDVDec *This,int displayPix); 13613 void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13614 #endif 13615 13616 #ifndef __IDVRGB219_INTERFACE_DEFINED__ 13617 #define __IDVRGB219_INTERFACE_DEFINED__ 13618 EXTERN_C const IID IID_IDVRGB219; 13619 #if defined(__cplusplus) && !defined(CINTERFACE) 13620 struct IDVRGB219 : public IUnknown { 13621 public: 13622 virtual HRESULT WINAPI SetRGB219(WINBOOL bState) = 0; 13623 }; 13624 #else 13625 typedef struct IDVRGB219Vtbl { 13626 BEGIN_INTERFACE 13627 HRESULT (WINAPI *QueryInterface)(IDVRGB219 *This,REFIID riid,void **ppvObject); 13628 ULONG (WINAPI *AddRef)(IDVRGB219 *This); 13629 ULONG (WINAPI *Release)(IDVRGB219 *This); 13630 HRESULT (WINAPI *SetRGB219)(IDVRGB219 *This,WINBOOL bState); 13631 END_INTERFACE 13632 } IDVRGB219Vtbl; 13633 struct IDVRGB219 { 13634 CONST_VTBL struct IDVRGB219Vtbl *lpVtbl; 13635 }; 13636 #ifdef COBJMACROS 13637 #define IDVRGB219_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13638 #define IDVRGB219_AddRef(This) (This)->lpVtbl->AddRef(This) 13639 #define IDVRGB219_Release(This) (This)->lpVtbl->Release(This) 13640 #define IDVRGB219_SetRGB219(This,bState) (This)->lpVtbl->SetRGB219(This,bState) 13641 #endif 13642 #endif 13643 HRESULT WINAPI IDVRGB219_SetRGB219_Proxy(IDVRGB219 *This,WINBOOL bState); 13644 void __RPC_STUB IDVRGB219_SetRGB219_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13645 #endif 13646 13647 #ifndef __IDVSplitter_INTERFACE_DEFINED__ 13648 #define __IDVSplitter_INTERFACE_DEFINED__ 13649 EXTERN_C const IID IID_IDVSplitter; 13650 #if defined(__cplusplus) && !defined(CINTERFACE) 13651 struct IDVSplitter : public IUnknown { 13652 public: 13653 virtual HRESULT WINAPI DiscardAlternateVideoFrames(int nDiscard) = 0; 13654 }; 13655 #else 13656 typedef struct IDVSplitterVtbl { 13657 BEGIN_INTERFACE 13658 HRESULT (WINAPI *QueryInterface)(IDVSplitter *This,REFIID riid,void **ppvObject); 13659 ULONG (WINAPI *AddRef)(IDVSplitter *This); 13660 ULONG (WINAPI *Release)(IDVSplitter *This); 13661 HRESULT (WINAPI *DiscardAlternateVideoFrames)(IDVSplitter *This,int nDiscard); 13662 END_INTERFACE 13663 } IDVSplitterVtbl; 13664 struct IDVSplitter { 13665 CONST_VTBL struct IDVSplitterVtbl *lpVtbl; 13666 }; 13667 #ifdef COBJMACROS 13668 #define IDVSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13669 #define IDVSplitter_AddRef(This) (This)->lpVtbl->AddRef(This) 13670 #define IDVSplitter_Release(This) (This)->lpVtbl->Release(This) 13671 #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) (This)->lpVtbl->DiscardAlternateVideoFrames(This,nDiscard) 13672 #endif 13673 #endif 13674 HRESULT WINAPI IDVSplitter_DiscardAlternateVideoFrames_Proxy(IDVSplitter *This,int nDiscard); 13675 void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13676 #endif 13677 13678 enum _AM_AUDIO_RENDERER_STAT_PARAM { 13679 AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1, 13680 AM_AUDREND_STAT_PARAM_SLAVE_MODE,AM_AUDREND_STAT_PARAM_SILENCE_DUR, 13681 AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,AM_AUDREND_STAT_PARAM_DISCONTINUITIES, 13682 AM_AUDREND_STAT_PARAM_SLAVE_RATE,AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR, 13683 AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR, 13684 AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,AM_AUDREND_STAT_PARAM_BUFFERFULLNESS, 13685 AM_AUDREND_STAT_PARAM_JITTER 13686 }; 13687 13688 extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_c_ifspec; 13689 extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_s_ifspec; 13690 #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__ 13691 #define __IAMAudioRendererStats_INTERFACE_DEFINED__ 13692 EXTERN_C const IID IID_IAMAudioRendererStats; 13693 #if defined(__cplusplus) && !defined(CINTERFACE) 13694 struct IAMAudioRendererStats : public IUnknown { 13695 public: 13696 virtual HRESULT WINAPI GetStatParam(DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2) = 0; 13697 }; 13698 #else 13699 typedef struct IAMAudioRendererStatsVtbl { 13700 BEGIN_INTERFACE 13701 HRESULT (WINAPI *QueryInterface)(IAMAudioRendererStats *This,REFIID riid,void **ppvObject); 13702 ULONG (WINAPI *AddRef)(IAMAudioRendererStats *This); 13703 ULONG (WINAPI *Release)(IAMAudioRendererStats *This); 13704 HRESULT (WINAPI *GetStatParam)(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2); 13705 END_INTERFACE 13706 } IAMAudioRendererStatsVtbl; 13707 struct IAMAudioRendererStats { 13708 CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl; 13709 }; 13710 #ifdef COBJMACROS 13711 #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13712 #define IAMAudioRendererStats_AddRef(This) (This)->lpVtbl->AddRef(This) 13713 #define IAMAudioRendererStats_Release(This) (This)->lpVtbl->Release(This) 13714 #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) (This)->lpVtbl->GetStatParam(This,dwParam,pdwParam1,pdwParam2) 13715 #endif 13716 #endif 13717 HRESULT WINAPI IAMAudioRendererStats_GetStatParam_Proxy(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2); 13718 void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13719 #endif 13720 13721 enum _AM_INTF_SEARCH_FLAGS { 13722 AM_INTF_SEARCH_INPUT_PIN = 0x1,AM_INTF_SEARCH_OUTPUT_PIN = 0x2,AM_INTF_SEARCH_FILTER = 0x4 13723 }; 13724 13725 extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec; 13726 extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec; 13727 #ifndef __IAMGraphStreams_INTERFACE_DEFINED__ 13728 #define __IAMGraphStreams_INTERFACE_DEFINED__ 13729 EXTERN_C const IID IID_IAMGraphStreams; 13730 #if defined(__cplusplus) && !defined(CINTERFACE) 13731 struct IAMGraphStreams : public IUnknown { 13732 public: 13733 virtual HRESULT WINAPI FindUpstreamInterface(IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags) = 0; 13734 virtual HRESULT WINAPI SyncUsingStreamOffset(WINBOOL bUseStreamOffset) = 0; 13735 virtual HRESULT WINAPI SetMaxGraphLatency(REFERENCE_TIME rtMaxGraphLatency) = 0; 13736 }; 13737 #else 13738 typedef struct IAMGraphStreamsVtbl { 13739 BEGIN_INTERFACE 13740 HRESULT (WINAPI *QueryInterface)(IAMGraphStreams *This,REFIID riid,void **ppvObject); 13741 ULONG (WINAPI *AddRef)(IAMGraphStreams *This); 13742 ULONG (WINAPI *Release)(IAMGraphStreams *This); 13743 HRESULT (WINAPI *FindUpstreamInterface)(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags); 13744 HRESULT (WINAPI *SyncUsingStreamOffset)(IAMGraphStreams *This,WINBOOL bUseStreamOffset); 13745 HRESULT (WINAPI *SetMaxGraphLatency)(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency); 13746 END_INTERFACE 13747 } IAMGraphStreamsVtbl; 13748 struct IAMGraphStreams { 13749 CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl; 13750 }; 13751 #ifdef COBJMACROS 13752 #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13753 #define IAMGraphStreams_AddRef(This) (This)->lpVtbl->AddRef(This) 13754 #define IAMGraphStreams_Release(This) (This)->lpVtbl->Release(This) 13755 #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) (This)->lpVtbl->FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) 13756 #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) (This)->lpVtbl->SyncUsingStreamOffset(This,bUseStreamOffset) 13757 #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) (This)->lpVtbl->SetMaxGraphLatency(This,rtMaxGraphLatency) 13758 #endif 13759 #endif 13760 HRESULT WINAPI IAMGraphStreams_FindUpstreamInterface_Proxy(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags); 13761 void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13762 HRESULT WINAPI IAMGraphStreams_SyncUsingStreamOffset_Proxy(IAMGraphStreams *This,WINBOOL bUseStreamOffset); 13763 void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13764 HRESULT WINAPI IAMGraphStreams_SetMaxGraphLatency_Proxy(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency); 13765 void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13766 #endif 13767 13768 enum AMOVERLAYFX { 13769 AMOVERFX_NOFX = 0,AMOVERFX_MIRRORLEFTRIGHT = 0x2,AMOVERFX_MIRRORUPDOWN = 0x4,AMOVERFX_DEINTERLACE = 0x8 13770 }; 13771 13772 extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec; 13773 extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec; 13774 #ifndef __IAMOverlayFX_INTERFACE_DEFINED__ 13775 #define __IAMOverlayFX_INTERFACE_DEFINED__ 13776 EXTERN_C const IID IID_IAMOverlayFX; 13777 #if defined(__cplusplus) && !defined(CINTERFACE) 13778 struct IAMOverlayFX : public IUnknown { 13779 public: 13780 virtual HRESULT WINAPI QueryOverlayFXCaps(DWORD *lpdwOverlayFXCaps) = 0; 13781 virtual HRESULT WINAPI SetOverlayFX(DWORD dwOverlayFX) = 0; 13782 virtual HRESULT WINAPI GetOverlayFX(DWORD *lpdwOverlayFX) = 0; 13783 }; 13784 #else 13785 typedef struct IAMOverlayFXVtbl { 13786 BEGIN_INTERFACE 13787 HRESULT (WINAPI *QueryInterface)(IAMOverlayFX *This,REFIID riid,void **ppvObject); 13788 ULONG (WINAPI *AddRef)(IAMOverlayFX *This); 13789 ULONG (WINAPI *Release)(IAMOverlayFX *This); 13790 HRESULT (WINAPI *QueryOverlayFXCaps)(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps); 13791 HRESULT (WINAPI *SetOverlayFX)(IAMOverlayFX *This,DWORD dwOverlayFX); 13792 HRESULT (WINAPI *GetOverlayFX)(IAMOverlayFX *This,DWORD *lpdwOverlayFX); 13793 END_INTERFACE 13794 } IAMOverlayFXVtbl; 13795 struct IAMOverlayFX { 13796 CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl; 13797 }; 13798 #ifdef COBJMACROS 13799 #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13800 #define IAMOverlayFX_AddRef(This) (This)->lpVtbl->AddRef(This) 13801 #define IAMOverlayFX_Release(This) (This)->lpVtbl->Release(This) 13802 #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) (This)->lpVtbl->QueryOverlayFXCaps(This,lpdwOverlayFXCaps) 13803 #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) (This)->lpVtbl->SetOverlayFX(This,dwOverlayFX) 13804 #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) (This)->lpVtbl->GetOverlayFX(This,lpdwOverlayFX) 13805 #endif 13806 #endif 13807 HRESULT WINAPI IAMOverlayFX_QueryOverlayFXCaps_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps); 13808 void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13809 HRESULT WINAPI IAMOverlayFX_SetOverlayFX_Proxy(IAMOverlayFX *This,DWORD dwOverlayFX); 13810 void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13811 HRESULT WINAPI IAMOverlayFX_GetOverlayFX_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFX); 13812 void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13813 #endif 13814 13815 #ifndef __IAMOpenProgress_INTERFACE_DEFINED__ 13816 #define __IAMOpenProgress_INTERFACE_DEFINED__ 13817 EXTERN_C const IID IID_IAMOpenProgress; 13818 #if defined(__cplusplus) && !defined(CINTERFACE) 13819 struct IAMOpenProgress : public IUnknown { 13820 public: 13821 virtual HRESULT WINAPI QueryProgress(LONGLONG *pllTotal,LONGLONG *pllCurrent) = 0; 13822 virtual HRESULT WINAPI AbortOperation(void) = 0; 13823 }; 13824 #else 13825 typedef struct IAMOpenProgressVtbl { 13826 BEGIN_INTERFACE 13827 HRESULT (WINAPI *QueryInterface)(IAMOpenProgress *This,REFIID riid,void **ppvObject); 13828 ULONG (WINAPI *AddRef)(IAMOpenProgress *This); 13829 ULONG (WINAPI *Release)(IAMOpenProgress *This); 13830 HRESULT (WINAPI *QueryProgress)(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent); 13831 HRESULT (WINAPI *AbortOperation)(IAMOpenProgress *This); 13832 END_INTERFACE 13833 } IAMOpenProgressVtbl; 13834 struct IAMOpenProgress { 13835 CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl; 13836 }; 13837 #ifdef COBJMACROS 13838 #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13839 #define IAMOpenProgress_AddRef(This) (This)->lpVtbl->AddRef(This) 13840 #define IAMOpenProgress_Release(This) (This)->lpVtbl->Release(This) 13841 #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) (This)->lpVtbl->QueryProgress(This,pllTotal,pllCurrent) 13842 #define IAMOpenProgress_AbortOperation(This) (This)->lpVtbl->AbortOperation(This) 13843 #endif 13844 #endif 13845 HRESULT WINAPI IAMOpenProgress_QueryProgress_Proxy(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent); 13846 void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13847 HRESULT WINAPI IAMOpenProgress_AbortOperation_Proxy(IAMOpenProgress *This); 13848 void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13849 #endif 13850 13851 #ifdef __CRT_UUID_DECL 13852 __CRT_UUID_DECL(IMpeg2Demultiplexer,0x436eee9c,0x264f,0x4242,0x90,0xe1,0x4e,0x33,0x0c,0x10,0x75,0x12); 13853 #endif 13854 13855 #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__ 13856 #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__ 13857 EXTERN_C const IID IID_IMpeg2Demultiplexer; 13858 #if defined(__cplusplus) && !defined(CINTERFACE) 13859 struct IMpeg2Demultiplexer : public IUnknown { 13860 public: 13861 virtual HRESULT WINAPI CreateOutputPin(AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin) = 0; 13862 virtual HRESULT WINAPI SetOutputPinMediaType(LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType) = 0; 13863 virtual HRESULT WINAPI DeleteOutputPin(LPWSTR pszPinName) = 0; 13864 }; 13865 #else 13866 typedef struct IMpeg2DemultiplexerVtbl { 13867 BEGIN_INTERFACE 13868 HRESULT (WINAPI *QueryInterface)(IMpeg2Demultiplexer *This,REFIID riid,void **ppvObject); 13869 ULONG (WINAPI *AddRef)(IMpeg2Demultiplexer *This); 13870 ULONG (WINAPI *Release)(IMpeg2Demultiplexer *This); 13871 HRESULT (WINAPI *CreateOutputPin)(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin); 13872 HRESULT (WINAPI *SetOutputPinMediaType)(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType); 13873 HRESULT (WINAPI *DeleteOutputPin)(IMpeg2Demultiplexer *This,LPWSTR pszPinName); 13874 END_INTERFACE 13875 } IMpeg2DemultiplexerVtbl; 13876 struct IMpeg2Demultiplexer { 13877 CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl; 13878 }; 13879 #ifdef COBJMACROS 13880 #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13881 #define IMpeg2Demultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This) 13882 #define IMpeg2Demultiplexer_Release(This) (This)->lpVtbl->Release(This) 13883 #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) (This)->lpVtbl->CreateOutputPin(This,pMediaType,pszPinName,ppIPin) 13884 #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) (This)->lpVtbl->SetOutputPinMediaType(This,pszPinName,pMediaType) 13885 #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) (This)->lpVtbl->DeleteOutputPin(This,pszPinName) 13886 #endif 13887 #endif 13888 HRESULT WINAPI IMpeg2Demultiplexer_CreateOutputPin_Proxy(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin); 13889 void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13890 HRESULT WINAPI IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType); 13891 void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13892 HRESULT WINAPI IMpeg2Demultiplexer_DeleteOutputPin_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName); 13893 void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13894 #endif 13895 13896 #define MPEG2_PROGRAM_STREAM_MAP 0x00000000 13897 #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001 13898 #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002 13899 #define MPEG2_PROGRAM_PACK_HEADER 0x00000003 13900 #define MPEG2_PROGRAM_PES_STREAM 0x00000004 13901 #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005 13902 #define SUBSTREAM_FILTER_VAL_NONE 0x10000000 13903 13904 typedef struct __MIDL___MIDL_itf_strmif_0365_0001 { 13905 ULONG stream_id; 13906 DWORD dwMediaSampleContent; 13907 ULONG ulSubstreamFilterValue; 13908 int iDataOffset; 13909 } STREAM_ID_MAP; 13910 13911 extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec; 13912 extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec; 13913 #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__ 13914 #define __IEnumStreamIdMap_INTERFACE_DEFINED__ 13915 EXTERN_C const IID IID_IEnumStreamIdMap; 13916 #if defined(__cplusplus) && !defined(CINTERFACE) 13917 struct IEnumStreamIdMap : public IUnknown { 13918 public: 13919 virtual HRESULT WINAPI Next(ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived) = 0; 13920 virtual HRESULT WINAPI Skip(ULONG cRecords) = 0; 13921 virtual HRESULT WINAPI Reset(void) = 0; 13922 virtual HRESULT WINAPI Clone(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0; 13923 }; 13924 #else 13925 typedef struct IEnumStreamIdMapVtbl { 13926 BEGIN_INTERFACE 13927 HRESULT (WINAPI *QueryInterface)(IEnumStreamIdMap *This,REFIID riid,void **ppvObject); 13928 ULONG (WINAPI *AddRef)(IEnumStreamIdMap *This); 13929 ULONG (WINAPI *Release)(IEnumStreamIdMap *This); 13930 HRESULT (WINAPI *Next)(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived); 13931 HRESULT (WINAPI *Skip)(IEnumStreamIdMap *This,ULONG cRecords); 13932 HRESULT (WINAPI *Reset)(IEnumStreamIdMap *This); 13933 HRESULT (WINAPI *Clone)(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); 13934 END_INTERFACE 13935 } IEnumStreamIdMapVtbl; 13936 struct IEnumStreamIdMap { 13937 CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl; 13938 }; 13939 #ifdef COBJMACROS 13940 #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13941 #define IEnumStreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This) 13942 #define IEnumStreamIdMap_Release(This) (This)->lpVtbl->Release(This) 13943 #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pStreamIdMap,pcReceived) 13944 #define IEnumStreamIdMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords) 13945 #define IEnumStreamIdMap_Reset(This) (This)->lpVtbl->Reset(This) 13946 #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) (This)->lpVtbl->Clone(This,ppIEnumStreamIdMap) 13947 #endif 13948 #endif 13949 HRESULT WINAPI IEnumStreamIdMap_Next_Proxy(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived); 13950 void __RPC_STUB IEnumStreamIdMap_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13951 HRESULT WINAPI IEnumStreamIdMap_Skip_Proxy(IEnumStreamIdMap *This,ULONG cRecords); 13952 void __RPC_STUB IEnumStreamIdMap_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13953 HRESULT WINAPI IEnumStreamIdMap_Reset_Proxy(IEnumStreamIdMap *This); 13954 void __RPC_STUB IEnumStreamIdMap_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13955 HRESULT WINAPI IEnumStreamIdMap_Clone_Proxy(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); 13956 void __RPC_STUB IEnumStreamIdMap_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13957 #endif 13958 13959 #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__ 13960 #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__ 13961 EXTERN_C const IID IID_IMPEG2StreamIdMap; 13962 #if defined(__cplusplus) && !defined(CINTERFACE) 13963 struct IMPEG2StreamIdMap : public IUnknown { 13964 public: 13965 virtual HRESULT WINAPI MapStreamId(ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset) = 0; 13966 virtual HRESULT WINAPI UnmapStreamId(ULONG culStreamId,ULONG *pulStreamId) = 0; 13967 virtual HRESULT WINAPI EnumStreamIdMap(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0; 13968 }; 13969 #else 13970 typedef struct IMPEG2StreamIdMapVtbl { 13971 BEGIN_INTERFACE 13972 HRESULT (WINAPI *QueryInterface)(IMPEG2StreamIdMap *This,REFIID riid,void **ppvObject); 13973 ULONG (WINAPI *AddRef)(IMPEG2StreamIdMap *This); 13974 ULONG (WINAPI *Release)(IMPEG2StreamIdMap *This); 13975 HRESULT (WINAPI *MapStreamId)(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset); 13976 HRESULT (WINAPI *UnmapStreamId)(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId); 13977 HRESULT (WINAPI *EnumStreamIdMap)(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); 13978 END_INTERFACE 13979 } IMPEG2StreamIdMapVtbl; 13980 struct IMPEG2StreamIdMap { 13981 CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl; 13982 }; 13983 #ifdef COBJMACROS 13984 #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13985 #define IMPEG2StreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This) 13986 #define IMPEG2StreamIdMap_Release(This) (This)->lpVtbl->Release(This) 13987 #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) (This)->lpVtbl->MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) 13988 #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) (This)->lpVtbl->UnmapStreamId(This,culStreamId,pulStreamId) 13989 #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) (This)->lpVtbl->EnumStreamIdMap(This,ppIEnumStreamIdMap) 13990 #endif 13991 #endif 13992 HRESULT WINAPI IMPEG2StreamIdMap_MapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset); 13993 void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13994 HRESULT WINAPI IMPEG2StreamIdMap_UnmapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId); 13995 void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13996 HRESULT WINAPI IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); 13997 void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13998 #endif 13999 14000 #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__ 14001 #define __IRegisterServiceProvider_INTERFACE_DEFINED__ 14002 EXTERN_C const IID IID_IRegisterServiceProvider; 14003 #if defined(__cplusplus) && !defined(CINTERFACE) 14004 struct IRegisterServiceProvider : public IUnknown { 14005 public: 14006 virtual HRESULT WINAPI RegisterService(REFGUID guidService,IUnknown *pUnkObject) = 0; 14007 }; 14008 #else 14009 typedef struct IRegisterServiceProviderVtbl { 14010 BEGIN_INTERFACE 14011 HRESULT (WINAPI *QueryInterface)(IRegisterServiceProvider *This,REFIID riid,void **ppvObject); 14012 ULONG (WINAPI *AddRef)(IRegisterServiceProvider *This); 14013 ULONG (WINAPI *Release)(IRegisterServiceProvider *This); 14014 HRESULT (WINAPI *RegisterService)(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject); 14015 END_INTERFACE 14016 } IRegisterServiceProviderVtbl; 14017 struct IRegisterServiceProvider { 14018 CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl; 14019 }; 14020 #ifdef COBJMACROS 14021 #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14022 #define IRegisterServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 14023 #define IRegisterServiceProvider_Release(This) (This)->lpVtbl->Release(This) 14024 #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) (This)->lpVtbl->RegisterService(This,guidService,pUnkObject) 14025 #endif 14026 #endif 14027 HRESULT WINAPI IRegisterServiceProvider_RegisterService_Proxy(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject); 14028 void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14029 #endif 14030 14031 #ifdef __cplusplus 14032 #ifndef _IAMFilterGraphCallback_ 14033 #define _IAMFilterGraphCallback_ 14034 EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70); 14035 struct IAMFilterGraphCallback : public IUnknown { 14036 virtual HRESULT UnableToRender(IPin *pPin) = 0; 14037 }; 14038 #endif 14039 #endif 14040 struct CodecAPIEventData { 14041 GUID guid; 14042 DWORD dataLength; 14043 DWORD reserved[3]; 14044 }; 14045 14046 extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_c_ifspec; 14047 extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_s_ifspec; 14048 #ifndef __ICodecAPI_INTERFACE_DEFINED__ 14049 #define __ICodecAPI_INTERFACE_DEFINED__ 14050 EXTERN_C const IID IID_ICodecAPI; 14051 #if defined(__cplusplus) && !defined(CINTERFACE) 14052 struct ICodecAPI : public IUnknown { 14053 public: 14054 virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0; 14055 virtual HRESULT WINAPI IsModifiable(const GUID *Api) = 0; 14056 virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0; 14057 virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0; 14058 virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0; 14059 virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0; 14060 virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0; 14061 virtual HRESULT WINAPI RegisterForEvent(const GUID *Api,LONG_PTR userData) = 0; 14062 virtual HRESULT WINAPI UnregisterForEvent(const GUID *Api) = 0; 14063 virtual HRESULT WINAPI SetAllDefaults(void) = 0; 14064 virtual HRESULT WINAPI SetValueWithNotify(const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) = 0; 14065 virtual HRESULT WINAPI SetAllDefaultsWithNotify(GUID **ChangedParam,ULONG *ChangedParamCount) = 0; 14066 virtual HRESULT WINAPI GetAllSettings(IStream *__MIDL_0016) = 0; 14067 virtual HRESULT WINAPI SetAllSettings(IStream *__MIDL_0017) = 0; 14068 virtual HRESULT WINAPI SetAllSettingsWithNotify(IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount) = 0; 14069 }; 14070 #else 14071 typedef struct ICodecAPIVtbl { 14072 BEGIN_INTERFACE 14073 HRESULT (WINAPI *QueryInterface)(ICodecAPI *This,REFIID riid,void **ppvObject); 14074 ULONG (WINAPI *AddRef)(ICodecAPI *This); 14075 ULONG (WINAPI *Release)(ICodecAPI *This); 14076 HRESULT (WINAPI *IsSupported)(ICodecAPI *This,const GUID *Api); 14077 HRESULT (WINAPI *IsModifiable)(ICodecAPI *This,const GUID *Api); 14078 HRESULT (WINAPI *GetParameterRange)(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 14079 HRESULT (WINAPI *GetParameterValues)(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 14080 HRESULT (WINAPI *GetDefaultValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); 14081 HRESULT (WINAPI *GetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); 14082 HRESULT (WINAPI *SetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); 14083 HRESULT (WINAPI *RegisterForEvent)(ICodecAPI *This,const GUID *Api,LONG_PTR userData); 14084 HRESULT (WINAPI *UnregisterForEvent)(ICodecAPI *This,const GUID *Api); 14085 HRESULT (WINAPI *SetAllDefaults)(ICodecAPI *This); 14086 HRESULT (WINAPI *SetValueWithNotify)(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount); 14087 HRESULT (WINAPI *SetAllDefaultsWithNotify)(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount); 14088 HRESULT (WINAPI *GetAllSettings)(ICodecAPI *This,IStream *__MIDL_0016); 14089 HRESULT (WINAPI *SetAllSettings)(ICodecAPI *This,IStream *__MIDL_0017); 14090 HRESULT (WINAPI *SetAllSettingsWithNotify)(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount); 14091 END_INTERFACE 14092 } ICodecAPIVtbl; 14093 struct ICodecAPI { 14094 CONST_VTBL struct ICodecAPIVtbl *lpVtbl; 14095 }; 14096 #ifdef COBJMACROS 14097 #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14098 #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This) 14099 #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This) 14100 #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) 14101 #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api) 14102 #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) 14103 #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) 14104 #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) 14105 #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) 14106 #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) 14107 #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData) 14108 #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api) 14109 #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This) 14110 #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) 14111 #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) 14112 #define ICodecAPI_GetAllSettings(This,__MIDL_0016) (This)->lpVtbl->GetAllSettings(This,__MIDL_0016) 14113 #define ICodecAPI_SetAllSettings(This,__MIDL_0017) (This)->lpVtbl->SetAllSettings(This,__MIDL_0017) 14114 #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) 14115 #endif 14116 #endif 14117 HRESULT WINAPI ICodecAPI_IsSupported_Proxy(ICodecAPI *This,const GUID *Api); 14118 void __RPC_STUB ICodecAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14119 HRESULT WINAPI ICodecAPI_IsModifiable_Proxy(ICodecAPI *This,const GUID *Api); 14120 void __RPC_STUB ICodecAPI_IsModifiable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14121 HRESULT WINAPI ICodecAPI_GetParameterRange_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 14122 void __RPC_STUB ICodecAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14123 HRESULT WINAPI ICodecAPI_GetParameterValues_Proxy(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 14124 void __RPC_STUB ICodecAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14125 HRESULT WINAPI ICodecAPI_GetDefaultValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); 14126 void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14127 HRESULT WINAPI ICodecAPI_GetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); 14128 void __RPC_STUB ICodecAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14129 HRESULT WINAPI ICodecAPI_SetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); 14130 void __RPC_STUB ICodecAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14131 HRESULT WINAPI ICodecAPI_RegisterForEvent_Proxy(ICodecAPI *This,const GUID *Api,LONG_PTR userData); 14132 void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14133 HRESULT WINAPI ICodecAPI_UnregisterForEvent_Proxy(ICodecAPI *This,const GUID *Api); 14134 void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14135 HRESULT WINAPI ICodecAPI_SetAllDefaults_Proxy(ICodecAPI *This); 14136 void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14137 HRESULT WINAPI ICodecAPI_SetValueWithNotify_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount); 14138 void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14139 HRESULT WINAPI ICodecAPI_SetAllDefaultsWithNotify_Proxy(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount); 14140 void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14141 HRESULT WINAPI ICodecAPI_GetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0016); 14142 void __RPC_STUB ICodecAPI_GetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14143 HRESULT WINAPI ICodecAPI_SetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0017); 14144 void __RPC_STUB ICodecAPI_SetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14145 HRESULT WINAPI ICodecAPI_SetAllSettingsWithNotify_Proxy(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount); 14146 void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14147 #endif 14148 14149 #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__ 14150 #define __IGetCapabilitiesKey_INTERFACE_DEFINED__ 14151 EXTERN_C const IID IID_IGetCapabilitiesKey; 14152 #if defined(__cplusplus) && !defined(CINTERFACE) 14153 struct IGetCapabilitiesKey : public IUnknown { 14154 public: 14155 virtual HRESULT WINAPI GetCapabilitiesKey(HKEY *pHKey) = 0; 14156 }; 14157 #else 14158 typedef struct IGetCapabilitiesKeyVtbl { 14159 BEGIN_INTERFACE 14160 HRESULT (WINAPI *QueryInterface)(IGetCapabilitiesKey *This,REFIID riid,void **ppvObject); 14161 ULONG (WINAPI *AddRef)(IGetCapabilitiesKey *This); 14162 ULONG (WINAPI *Release)(IGetCapabilitiesKey *This); 14163 HRESULT (WINAPI *GetCapabilitiesKey)(IGetCapabilitiesKey *This,HKEY *pHKey); 14164 END_INTERFACE 14165 } IGetCapabilitiesKeyVtbl; 14166 struct IGetCapabilitiesKey { 14167 CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl; 14168 }; 14169 #ifdef COBJMACROS 14170 #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14171 #define IGetCapabilitiesKey_AddRef(This) (This)->lpVtbl->AddRef(This) 14172 #define IGetCapabilitiesKey_Release(This) (This)->lpVtbl->Release(This) 14173 #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) (This)->lpVtbl->GetCapabilitiesKey(This,pHKey) 14174 #endif 14175 #endif 14176 HRESULT WINAPI IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(IGetCapabilitiesKey *This,HKEY *pHKey); 14177 void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14178 #endif 14179 14180 #ifndef __IEncoderAPI_INTERFACE_DEFINED__ 14181 #define __IEncoderAPI_INTERFACE_DEFINED__ 14182 EXTERN_C const IID IID_IEncoderAPI; 14183 #if defined(__cplusplus) && !defined(CINTERFACE) 14184 struct IEncoderAPI : public IUnknown { 14185 public: 14186 virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0; 14187 virtual HRESULT WINAPI IsAvailable(const GUID *Api) = 0; 14188 virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0; 14189 virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0; 14190 virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0; 14191 virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0; 14192 virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0; 14193 }; 14194 #else 14195 typedef struct IEncoderAPIVtbl { 14196 BEGIN_INTERFACE 14197 HRESULT (WINAPI *QueryInterface)(IEncoderAPI *This,REFIID riid,void **ppvObject); 14198 ULONG (WINAPI *AddRef)(IEncoderAPI *This); 14199 ULONG (WINAPI *Release)(IEncoderAPI *This); 14200 HRESULT (WINAPI *IsSupported)(IEncoderAPI *This,const GUID *Api); 14201 HRESULT (WINAPI *IsAvailable)(IEncoderAPI *This,const GUID *Api); 14202 HRESULT (WINAPI *GetParameterRange)(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 14203 HRESULT (WINAPI *GetParameterValues)(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 14204 HRESULT (WINAPI *GetDefaultValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 14205 HRESULT (WINAPI *GetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 14206 HRESULT (WINAPI *SetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 14207 END_INTERFACE 14208 } IEncoderAPIVtbl; 14209 struct IEncoderAPI { 14210 CONST_VTBL struct IEncoderAPIVtbl *lpVtbl; 14211 }; 14212 #ifdef COBJMACROS 14213 #define IEncoderAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14214 #define IEncoderAPI_AddRef(This) (This)->lpVtbl->AddRef(This) 14215 #define IEncoderAPI_Release(This) (This)->lpVtbl->Release(This) 14216 #define IEncoderAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) 14217 #define IEncoderAPI_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api) 14218 #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) 14219 #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) 14220 #define IEncoderAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) 14221 #define IEncoderAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) 14222 #define IEncoderAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) 14223 #endif 14224 #endif 14225 HRESULT WINAPI IEncoderAPI_IsSupported_Proxy(IEncoderAPI *This,const GUID *Api); 14226 void __RPC_STUB IEncoderAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14227 HRESULT WINAPI IEncoderAPI_IsAvailable_Proxy(IEncoderAPI *This,const GUID *Api); 14228 void __RPC_STUB IEncoderAPI_IsAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14229 HRESULT WINAPI IEncoderAPI_GetParameterRange_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 14230 void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14231 HRESULT WINAPI IEncoderAPI_GetParameterValues_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 14232 void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14233 HRESULT WINAPI IEncoderAPI_GetDefaultValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 14234 void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14235 HRESULT WINAPI IEncoderAPI_GetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 14236 void __RPC_STUB IEncoderAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14237 HRESULT WINAPI IEncoderAPI_SetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 14238 void __RPC_STUB IEncoderAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14239 #endif 14240 14241 #ifndef __IVideoEncoder_INTERFACE_DEFINED__ 14242 #define __IVideoEncoder_INTERFACE_DEFINED__ 14243 EXTERN_C const IID IID_IVideoEncoder; 14244 #if defined(__cplusplus) && !defined(CINTERFACE) 14245 struct IVideoEncoder : public IEncoderAPI { 14246 public: 14247 }; 14248 #else 14249 typedef struct IVideoEncoderVtbl { 14250 BEGIN_INTERFACE 14251 HRESULT (WINAPI *QueryInterface)(IVideoEncoder *This,REFIID riid,void **ppvObject); 14252 ULONG (WINAPI *AddRef)(IVideoEncoder *This); 14253 ULONG (WINAPI *Release)(IVideoEncoder *This); 14254 HRESULT (WINAPI *IsSupported)(IVideoEncoder *This,const GUID *Api); 14255 HRESULT (WINAPI *IsAvailable)(IVideoEncoder *This,const GUID *Api); 14256 HRESULT (WINAPI *GetParameterRange)(IVideoEncoder *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 14257 HRESULT (WINAPI *GetParameterValues)(IVideoEncoder *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 14258 HRESULT (WINAPI *GetDefaultValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); 14259 HRESULT (WINAPI *GetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); 14260 HRESULT (WINAPI *SetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); 14261 END_INTERFACE 14262 } IVideoEncoderVtbl; 14263 struct IVideoEncoder { 14264 CONST_VTBL struct IVideoEncoderVtbl *lpVtbl; 14265 }; 14266 #ifdef COBJMACROS 14267 #define IVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14268 #define IVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) 14269 #define IVideoEncoder_Release(This) (This)->lpVtbl->Release(This) 14270 #define IVideoEncoder_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) 14271 #define IVideoEncoder_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api) 14272 #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) 14273 #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) 14274 #define IVideoEncoder_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) 14275 #define IVideoEncoder_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) 14276 #define IVideoEncoder_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) 14277 #endif 14278 #endif 14279 #endif 14280 14281 #ifndef __ENCODER_API_DEFINES__ 14282 #define __ENCODER_API_DEFINES__ 14283 typedef enum __MIDL___MIDL_itf_strmif_0374_0001 { 14284 ConstantBitRate = 0, 14285 VariableBitRateAverage,VariableBitRatePeak 14286 } VIDEOENCODER_BITRATE_MODE; 14287 #endif 14288 #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001 14289 #define VMR_NOTSUPPORTED 0x00000000 14290 #define VMR_SUPPORTED 0x00000001 14291 #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001 14292 #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002 14293 #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003 14294 #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004 14295 #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005 14296 #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006 14297 #define DECODER_CAP_NOTSUPPORTED 0x00000000 14298 #define DECODER_CAP_SUPPORTED 0x00000001 14299 14300 extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_c_ifspec; 14301 extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_s_ifspec; 14302 #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__ 14303 #define __IAMDecoderCaps_INTERFACE_DEFINED__ 14304 EXTERN_C const IID IID_IAMDecoderCaps; 14305 #if defined(__cplusplus) && !defined(CINTERFACE) 14306 struct IAMDecoderCaps : public IUnknown { 14307 public: 14308 virtual HRESULT WINAPI GetDecoderCaps(DWORD dwCapIndex,DWORD *lpdwCap) = 0; 14309 }; 14310 #else 14311 typedef struct IAMDecoderCapsVtbl { 14312 BEGIN_INTERFACE 14313 HRESULT (WINAPI *QueryInterface)(IAMDecoderCaps *This,REFIID riid,void **ppvObject); 14314 ULONG (WINAPI *AddRef)(IAMDecoderCaps *This); 14315 ULONG (WINAPI *Release)(IAMDecoderCaps *This); 14316 HRESULT (WINAPI *GetDecoderCaps)(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap); 14317 END_INTERFACE 14318 } IAMDecoderCapsVtbl; 14319 struct IAMDecoderCaps { 14320 CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl; 14321 }; 14322 #ifdef COBJMACROS 14323 #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14324 #define IAMDecoderCaps_AddRef(This) (This)->lpVtbl->AddRef(This) 14325 #define IAMDecoderCaps_Release(This) (This)->lpVtbl->Release(This) 14326 #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) (This)->lpVtbl->GetDecoderCaps(This,dwCapIndex,lpdwCap) 14327 #endif 14328 #endif 14329 HRESULT WINAPI IAMDecoderCaps_GetDecoderCaps_Proxy(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap); 14330 void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14331 #endif 14332 14333 #include <ddraw.h> 14334 14335 typedef enum tagDVD_DOMAIN { 14336 DVD_DOMAIN_FirstPlay = 1, 14337 DVD_DOMAIN_VideoManagerMenu,DVD_DOMAIN_VideoTitleSetMenu,DVD_DOMAIN_Title, 14338 DVD_DOMAIN_Stop 14339 } DVD_DOMAIN; 14340 14341 typedef enum tagDVD_MENU_ID { 14342 DVD_MENU_Title = 2,DVD_MENU_Root = 3,DVD_MENU_Subpicture = 4,DVD_MENU_Audio = 5, 14343 DVD_MENU_Angle = 6,DVD_MENU_Chapter = 7 14344 } DVD_MENU_ID; 14345 14346 typedef enum tagDVD_DISC_SIDE { 14347 DVD_SIDE_A = 1,DVD_SIDE_B = 2 14348 } DVD_DISC_SIDE; 14349 14350 typedef enum tagDVD_PREFERRED_DISPLAY_MODE { 14351 DISPLAY_CONTENT_DEFAULT = 0,DISPLAY_16x9 = 1,DISPLAY_4x3_PANSCAN_PREFERRED = 2,DISPLAY_4x3_LETTERBOX_PREFERRED = 3 14352 } DVD_PREFERRED_DISPLAY_MODE; 14353 14354 typedef WORD DVD_REGISTER; 14355 typedef DVD_REGISTER GPRMARRAY[16]; 14356 typedef DVD_REGISTER SPRMARRAY[24]; 14357 14358 typedef struct tagDVD_ATR { 14359 ULONG ulCAT; 14360 BYTE pbATRI[768]; 14361 } DVD_ATR; 14362 14363 typedef BYTE DVD_VideoATR[2]; 14364 typedef BYTE DVD_AudioATR[8]; 14365 typedef BYTE DVD_SubpictureATR[6]; 14366 14367 typedef enum tagDVD_FRAMERATE { 14368 DVD_FPS_25 = 1,DVD_FPS_30NonDrop = 3 14369 } DVD_FRAMERATE; 14370 14371 typedef struct tagDVD_TIMECODE { 14372 ULONG Hours1 :4; 14373 ULONG Hours10 :4; 14374 ULONG Minutes1 :4; 14375 ULONG Minutes10:4; 14376 ULONG Seconds1 :4; 14377 ULONG Seconds10:4; 14378 ULONG Frames1 :4; 14379 ULONG Frames10 :2; 14380 ULONG FrameRateCode: 2; 14381 } DVD_TIMECODE; 14382 14383 typedef enum tagDVD_TIMECODE_FLAGS { 14384 DVD_TC_FLAG_25fps = 0x1,DVD_TC_FLAG_30fps = 0x2,DVD_TC_FLAG_DropFrame = 0x4,DVD_TC_FLAG_Interpolated = 0x8 14385 } DVD_TIMECODE_FLAGS; 14386 14387 typedef struct tagDVD_HMSF_TIMECODE { 14388 BYTE bHours; 14389 BYTE bMinutes; 14390 BYTE bSeconds; 14391 BYTE bFrames; 14392 } DVD_HMSF_TIMECODE; 14393 14394 typedef struct tagDVD_PLAYBACK_LOCATION2 { 14395 ULONG TitleNum; 14396 ULONG ChapterNum; 14397 DVD_HMSF_TIMECODE TimeCode; 14398 ULONG TimeCodeFlags; 14399 } DVD_PLAYBACK_LOCATION2; 14400 14401 typedef struct tagDVD_PLAYBACK_LOCATION { 14402 ULONG TitleNum; 14403 ULONG ChapterNum; 14404 ULONG TimeCode; 14405 } DVD_PLAYBACK_LOCATION; 14406 14407 typedef DWORD VALID_UOP_SOMTHING_OR_OTHER; 14408 14409 typedef enum __MIDL___MIDL_itf_strmif_0376_0001 { 14410 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, 14411 UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,UOP_FLAG_PlayNext_Chapter = 0x80,UOP_FLAG_Play_Forwards = 0x100, 14412 UOP_FLAG_Play_Backwards = 0x200,UOP_FLAG_ShowMenu_Title = 0x400,UOP_FLAG_ShowMenu_Root = 0x800,UOP_FLAG_ShowMenu_SubPic = 0x1000, 14413 UOP_FLAG_ShowMenu_Audio = 0x2000,UOP_FLAG_ShowMenu_Angle = 0x4000,UOP_FLAG_ShowMenu_Chapter = 0x8000,UOP_FLAG_Resume = 0x10000, 14414 UOP_FLAG_Select_Or_Activate_Button = 0x20000,UOP_FLAG_Still_Off = 0x40000,UOP_FLAG_Pause_On = 0x80000,UOP_FLAG_Select_Audio_Stream = 0x100000, 14415 UOP_FLAG_Select_SubPic_Stream = 0x200000,UOP_FLAG_Select_Angle = 0x400000,UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000, 14416 UOP_FLAG_Select_Video_Mode_Preference = 0x1000000 14417 } VALID_UOP_FLAG; 14418 14419 typedef enum __MIDL___MIDL_itf_strmif_0376_0002 { 14420 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, 14421 DVD_CMD_FLAG_EndAfterRendered = 0x10 14422 } DVD_CMD_FLAGS; 14423 14424 typedef enum __MIDL___MIDL_itf_strmif_0376_0003 { 14425 DVD_ResetOnStop = 1,DVD_NotifyParentalLevelChange = 2,DVD_HMSF_TimeCodeEvents = 3,DVD_AudioDuringFFwdRew = 4 14426 } DVD_OPTION_FLAG; 14427 14428 typedef enum __MIDL___MIDL_itf_strmif_0376_0004 { 14429 DVD_Relative_Upper = 1,DVD_Relative_Lower = 2,DVD_Relative_Left = 3,DVD_Relative_Right = 4 14430 } DVD_RELATIVE_BUTTON; 14431 14432 typedef enum tagDVD_PARENTAL_LEVEL { 14433 DVD_PARENTAL_LEVEL_8 = 0x8000,DVD_PARENTAL_LEVEL_7 = 0x4000,DVD_PARENTAL_LEVEL_6 = 0x2000,DVD_PARENTAL_LEVEL_5 = 0x1000, 14434 DVD_PARENTAL_LEVEL_4 = 0x800,DVD_PARENTAL_LEVEL_3 = 0x400,DVD_PARENTAL_LEVEL_2 = 0x200,DVD_PARENTAL_LEVEL_1 = 0x100 14435 } DVD_PARENTAL_LEVEL; 14436 14437 typedef enum tagDVD_AUDIO_LANG_EXT { 14438 DVD_AUD_EXT_NotSpecified = 0,DVD_AUD_EXT_Captions = 1,DVD_AUD_EXT_VisuallyImpaired = 2,DVD_AUD_EXT_DirectorComments1 = 3, 14439 DVD_AUD_EXT_DirectorComments2 = 4 14440 } DVD_AUDIO_LANG_EXT; 14441 14442 typedef enum tagDVD_SUBPICTURE_LANG_EXT { 14443 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, 14444 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, 14445 DVD_SP_EXT_DirectorComments_Children = 15 14446 } DVD_SUBPICTURE_LANG_EXT; 14447 14448 typedef enum tagDVD_AUDIO_APPMODE { 14449 DVD_AudioMode_None = 0,DVD_AudioMode_Karaoke = 1,DVD_AudioMode_Surround = 2,DVD_AudioMode_Other = 3 14450 } DVD_AUDIO_APPMODE; 14451 14452 typedef enum tagDVD_AUDIO_FORMAT { 14453 DVD_AudioFormat_AC3 = 0,DVD_AudioFormat_MPEG1 = 1,DVD_AudioFormat_MPEG1_DRC = 2,DVD_AudioFormat_MPEG2 = 3,DVD_AudioFormat_MPEG2_DRC = 4, 14454 DVD_AudioFormat_LPCM = 5,DVD_AudioFormat_DTS = 6,DVD_AudioFormat_SDDS = 7,DVD_AudioFormat_Other = 8 14455 } DVD_AUDIO_FORMAT; 14456 14457 typedef enum tagDVD_KARAOKE_DOWNMIX { 14458 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, 14459 DVD_Mix_0to1 = 0x100,DVD_Mix_1to1 = 0x200,DVD_Mix_2to1 = 0x400,DVD_Mix_3to1 = 0x800,DVD_Mix_4to1 = 0x1000,DVD_Mix_Lto1 = 0x2000, 14460 DVD_Mix_Rto1 = 0x4000 14461 } DVD_KARAOKE_DOWNMIX; 14462 14463 typedef struct tagDVD_AudioAttributes { 14464 DVD_AUDIO_APPMODE AppMode; 14465 BYTE AppModeData; 14466 DVD_AUDIO_FORMAT AudioFormat; 14467 LCID Language; 14468 DVD_AUDIO_LANG_EXT LanguageExtension; 14469 WINBOOL fHasMultichannelInfo; 14470 DWORD dwFrequency; 14471 BYTE bQuantization; 14472 BYTE bNumberOfChannels; 14473 DWORD dwReserved[2]; 14474 } DVD_AudioAttributes; 14475 14476 typedef struct tagDVD_MUA_MixingInfo { 14477 WINBOOL fMixTo0; 14478 WINBOOL fMixTo1; 14479 WINBOOL fMix0InPhase; 14480 WINBOOL fMix1InPhase; 14481 DWORD dwSpeakerPosition; 14482 } DVD_MUA_MixingInfo; 14483 14484 typedef struct tagDVD_MUA_Coeff { 14485 double log2_alpha; 14486 double log2_beta; 14487 } DVD_MUA_Coeff; 14488 14489 typedef struct tagDVD_MultichannelAudioAttributes { 14490 DVD_MUA_MixingInfo Info[8]; 14491 DVD_MUA_Coeff Coeff[8]; 14492 } DVD_MultichannelAudioAttributes; 14493 14494 typedef enum tagDVD_KARAOKE_CONTENTS { 14495 DVD_Karaoke_GuideVocal1 = 0x1,DVD_Karaoke_GuideVocal2 = 0x2,DVD_Karaoke_GuideMelody1 = 0x4,DVD_Karaoke_GuideMelody2 = 0x8, 14496 DVD_Karaoke_GuideMelodyA = 0x10,DVD_Karaoke_GuideMelodyB = 0x20,DVD_Karaoke_SoundEffectA = 0x40,DVD_Karaoke_SoundEffectB = 0x80 14497 } DVD_KARAOKE_CONTENTS; 14498 14499 typedef enum tagDVD_KARAOKE_ASSIGNMENT { 14500 DVD_Assignment_reserved0 = 0,DVD_Assignment_reserved1 = 1,DVD_Assignment_LR = 2,DVD_Assignment_LRM = 3,DVD_Assignment_LR1 = 4, 14501 DVD_Assignment_LRM1 = 5,DVD_Assignment_LR12 = 6,DVD_Assignment_LRM12 = 7 14502 } DVD_KARAOKE_ASSIGNMENT; 14503 14504 typedef struct tagDVD_KaraokeAttributes { 14505 BYTE bVersion; 14506 WINBOOL fMasterOfCeremoniesInGuideVocal1; 14507 WINBOOL fDuet; 14508 DVD_KARAOKE_ASSIGNMENT ChannelAssignment; 14509 WORD wChannelContents[8]; 14510 } DVD_KaraokeAttributes; 14511 14512 typedef enum tagDVD_VIDEO_COMPRESSION { 14513 DVD_VideoCompression_Other = 0,DVD_VideoCompression_MPEG1 = 1,DVD_VideoCompression_MPEG2 = 2 14514 } DVD_VIDEO_COMPRESSION; 14515 14516 typedef struct tagDVD_VideoAttributes { 14517 WINBOOL fPanscanPermitted; 14518 WINBOOL fLetterboxPermitted; 14519 ULONG ulAspectX; 14520 ULONG ulAspectY; 14521 ULONG ulFrameRate; 14522 ULONG ulFrameHeight; 14523 DVD_VIDEO_COMPRESSION Compression; 14524 WINBOOL fLine21Field1InGOP; 14525 WINBOOL fLine21Field2InGOP; 14526 ULONG ulSourceResolutionX; 14527 ULONG ulSourceResolutionY; 14528 WINBOOL fIsSourceLetterboxed; 14529 WINBOOL fIsFilmMode; 14530 } DVD_VideoAttributes; 14531 14532 typedef enum tagDVD_SUBPICTURE_TYPE { 14533 DVD_SPType_NotSpecified = 0,DVD_SPType_Language = 1,DVD_SPType_Other = 2 14534 } DVD_SUBPICTURE_TYPE; 14535 14536 typedef enum tagDVD_SUBPICTURE_CODING { 14537 DVD_SPCoding_RunLength = 0,DVD_SPCoding_Extended = 1,DVD_SPCoding_Other = 2 14538 } DVD_SUBPICTURE_CODING; 14539 14540 typedef struct tagDVD_SubpictureAttributes { 14541 DVD_SUBPICTURE_TYPE Type; 14542 DVD_SUBPICTURE_CODING CodingMode; 14543 LCID Language; 14544 DVD_SUBPICTURE_LANG_EXT LanguageExtension; 14545 } DVD_SubpictureAttributes; 14546 14547 typedef enum tagDVD_TITLE_APPMODE { 14548 DVD_AppMode_Not_Specified = 0,DVD_AppMode_Karaoke = 1,DVD_AppMode_Other = 3 14549 } DVD_TITLE_APPMODE; 14550 14551 typedef struct tagDVD_TitleMainAttributes { 14552 DVD_TITLE_APPMODE AppMode; 14553 DVD_VideoAttributes VideoAttributes; 14554 ULONG ulNumberOfAudioStreams; 14555 DVD_AudioAttributes AudioAttributes[8]; 14556 DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8]; 14557 ULONG ulNumberOfSubpictureStreams; 14558 DVD_SubpictureAttributes SubpictureAttributes[32]; 14559 } DVD_TitleAttributes; 14560 14561 typedef struct tagDVD_MenuAttributes { 14562 WINBOOL fCompatibleRegion[8]; 14563 DVD_VideoAttributes VideoAttributes; 14564 WINBOOL fAudioPresent; 14565 DVD_AudioAttributes AudioAttributes; 14566 WINBOOL fSubpicturePresent; 14567 DVD_SubpictureAttributes SubpictureAttributes; 14568 } DVD_MenuAttributes; 14569 14570 extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec; 14571 extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec; 14572 #ifndef __IDvdControl_INTERFACE_DEFINED__ 14573 #define __IDvdControl_INTERFACE_DEFINED__ 14574 EXTERN_C const IID IID_IDvdControl; 14575 #if defined(__cplusplus) && !defined(CINTERFACE) 14576 struct IDvdControl : public IUnknown { 14577 public: 14578 virtual HRESULT WINAPI TitlePlay(ULONG ulTitle) = 0; 14579 virtual HRESULT WINAPI ChapterPlay(ULONG ulTitle,ULONG ulChapter) = 0; 14580 virtual HRESULT WINAPI TimePlay(ULONG ulTitle,ULONG bcdTime) = 0; 14581 virtual HRESULT WINAPI StopForResume(void) = 0; 14582 virtual HRESULT WINAPI GoUp(void) = 0; 14583 virtual HRESULT WINAPI TimeSearch(ULONG bcdTime) = 0; 14584 virtual HRESULT WINAPI ChapterSearch(ULONG ulChapter) = 0; 14585 virtual HRESULT WINAPI PrevPGSearch(void) = 0; 14586 virtual HRESULT WINAPI TopPGSearch(void) = 0; 14587 virtual HRESULT WINAPI NextPGSearch(void) = 0; 14588 virtual HRESULT WINAPI ForwardScan(double dwSpeed) = 0; 14589 virtual HRESULT WINAPI BackwardScan(double dwSpeed) = 0; 14590 virtual HRESULT WINAPI MenuCall(DVD_MENU_ID MenuID) = 0; 14591 virtual HRESULT WINAPI Resume(void) = 0; 14592 virtual HRESULT WINAPI UpperButtonSelect(void) = 0; 14593 virtual HRESULT WINAPI LowerButtonSelect(void) = 0; 14594 virtual HRESULT WINAPI LeftButtonSelect(void) = 0; 14595 virtual HRESULT WINAPI RightButtonSelect(void) = 0; 14596 virtual HRESULT WINAPI ButtonActivate(void) = 0; 14597 virtual HRESULT WINAPI ButtonSelectAndActivate(ULONG ulButton) = 0; 14598 virtual HRESULT WINAPI StillOff(void) = 0; 14599 virtual HRESULT WINAPI PauseOn(void) = 0; 14600 virtual HRESULT WINAPI PauseOff(void) = 0; 14601 virtual HRESULT WINAPI MenuLanguageSelect(LCID Language) = 0; 14602 virtual HRESULT WINAPI AudioStreamChange(ULONG ulAudio) = 0; 14603 virtual HRESULT WINAPI SubpictureStreamChange(ULONG ulSubPicture,WINBOOL bDisplay) = 0; 14604 virtual HRESULT WINAPI AngleChange(ULONG ulAngle) = 0; 14605 virtual HRESULT WINAPI ParentalLevelSelect(ULONG ulParentalLevel) = 0; 14606 virtual HRESULT WINAPI ParentalCountrySelect(WORD wCountry) = 0; 14607 virtual HRESULT WINAPI KaraokeAudioPresentationModeChange(ULONG ulMode) = 0; 14608 virtual HRESULT WINAPI VideoModePreferrence(ULONG ulPreferredDisplayMode) = 0; 14609 virtual HRESULT WINAPI SetRoot(LPCWSTR pszPath) = 0; 14610 virtual HRESULT WINAPI MouseActivate(POINT point) = 0; 14611 virtual HRESULT WINAPI MouseSelect(POINT point) = 0; 14612 virtual HRESULT WINAPI ChapterPlayAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay) = 0; 14613 }; 14614 #else 14615 typedef struct IDvdControlVtbl { 14616 BEGIN_INTERFACE 14617 HRESULT (WINAPI *QueryInterface)(IDvdControl *This,REFIID riid,void **ppvObject); 14618 ULONG (WINAPI *AddRef)(IDvdControl *This); 14619 ULONG (WINAPI *Release)(IDvdControl *This); 14620 HRESULT (WINAPI *TitlePlay)(IDvdControl *This,ULONG ulTitle); 14621 HRESULT (WINAPI *ChapterPlay)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter); 14622 HRESULT (WINAPI *TimePlay)(IDvdControl *This,ULONG ulTitle,ULONG bcdTime); 14623 HRESULT (WINAPI *StopForResume)(IDvdControl *This); 14624 HRESULT (WINAPI *GoUp)(IDvdControl *This); 14625 HRESULT (WINAPI *TimeSearch)(IDvdControl *This,ULONG bcdTime); 14626 HRESULT (WINAPI *ChapterSearch)(IDvdControl *This,ULONG ulChapter); 14627 HRESULT (WINAPI *PrevPGSearch)(IDvdControl *This); 14628 HRESULT (WINAPI *TopPGSearch)(IDvdControl *This); 14629 HRESULT (WINAPI *NextPGSearch)(IDvdControl *This); 14630 HRESULT (WINAPI *ForwardScan)(IDvdControl *This,double dwSpeed); 14631 HRESULT (WINAPI *BackwardScan)(IDvdControl *This,double dwSpeed); 14632 HRESULT (WINAPI *MenuCall)(IDvdControl *This,DVD_MENU_ID MenuID); 14633 HRESULT (WINAPI *Resume)(IDvdControl *This); 14634 HRESULT (WINAPI *UpperButtonSelect)(IDvdControl *This); 14635 HRESULT (WINAPI *LowerButtonSelect)(IDvdControl *This); 14636 HRESULT (WINAPI *LeftButtonSelect)(IDvdControl *This); 14637 HRESULT (WINAPI *RightButtonSelect)(IDvdControl *This); 14638 HRESULT (WINAPI *ButtonActivate)(IDvdControl *This); 14639 HRESULT (WINAPI *ButtonSelectAndActivate)(IDvdControl *This,ULONG ulButton); 14640 HRESULT (WINAPI *StillOff)(IDvdControl *This); 14641 HRESULT (WINAPI *PauseOn)(IDvdControl *This); 14642 HRESULT (WINAPI *PauseOff)(IDvdControl *This); 14643 HRESULT (WINAPI *MenuLanguageSelect)(IDvdControl *This,LCID Language); 14644 HRESULT (WINAPI *AudioStreamChange)(IDvdControl *This,ULONG ulAudio); 14645 HRESULT (WINAPI *SubpictureStreamChange)(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay); 14646 HRESULT (WINAPI *AngleChange)(IDvdControl *This,ULONG ulAngle); 14647 HRESULT (WINAPI *ParentalLevelSelect)(IDvdControl *This,ULONG ulParentalLevel); 14648 HRESULT (WINAPI *ParentalCountrySelect)(IDvdControl *This,WORD wCountry); 14649 HRESULT (WINAPI *KaraokeAudioPresentationModeChange)(IDvdControl *This,ULONG ulMode); 14650 HRESULT (WINAPI *VideoModePreferrence)(IDvdControl *This,ULONG ulPreferredDisplayMode); 14651 HRESULT (WINAPI *SetRoot)(IDvdControl *This,LPCWSTR pszPath); 14652 HRESULT (WINAPI *MouseActivate)(IDvdControl *This,POINT point); 14653 HRESULT (WINAPI *MouseSelect)(IDvdControl *This,POINT point); 14654 HRESULT (WINAPI *ChapterPlayAutoStop)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay); 14655 END_INTERFACE 14656 } IDvdControlVtbl; 14657 struct IDvdControl { 14658 CONST_VTBL struct IDvdControlVtbl *lpVtbl; 14659 }; 14660 #ifdef COBJMACROS 14661 #define IDvdControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14662 #define IDvdControl_AddRef(This) (This)->lpVtbl->AddRef(This) 14663 #define IDvdControl_Release(This) (This)->lpVtbl->Release(This) 14664 #define IDvdControl_TitlePlay(This,ulTitle) (This)->lpVtbl->TitlePlay(This,ulTitle) 14665 #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) (This)->lpVtbl->ChapterPlay(This,ulTitle,ulChapter) 14666 #define IDvdControl_TimePlay(This,ulTitle,bcdTime) (This)->lpVtbl->TimePlay(This,ulTitle,bcdTime) 14667 #define IDvdControl_StopForResume(This) (This)->lpVtbl->StopForResume(This) 14668 #define IDvdControl_GoUp(This) (This)->lpVtbl->GoUp(This) 14669 #define IDvdControl_TimeSearch(This,bcdTime) (This)->lpVtbl->TimeSearch(This,bcdTime) 14670 #define IDvdControl_ChapterSearch(This,ulChapter) (This)->lpVtbl->ChapterSearch(This,ulChapter) 14671 #define IDvdControl_PrevPGSearch(This) (This)->lpVtbl->PrevPGSearch(This) 14672 #define IDvdControl_TopPGSearch(This) (This)->lpVtbl->TopPGSearch(This) 14673 #define IDvdControl_NextPGSearch(This) (This)->lpVtbl->NextPGSearch(This) 14674 #define IDvdControl_ForwardScan(This,dwSpeed) (This)->lpVtbl->ForwardScan(This,dwSpeed) 14675 #define IDvdControl_BackwardScan(This,dwSpeed) (This)->lpVtbl->BackwardScan(This,dwSpeed) 14676 #define IDvdControl_MenuCall(This,MenuID) (This)->lpVtbl->MenuCall(This,MenuID) 14677 #define IDvdControl_Resume(This) (This)->lpVtbl->Resume(This) 14678 #define IDvdControl_UpperButtonSelect(This) (This)->lpVtbl->UpperButtonSelect(This) 14679 #define IDvdControl_LowerButtonSelect(This) (This)->lpVtbl->LowerButtonSelect(This) 14680 #define IDvdControl_LeftButtonSelect(This) (This)->lpVtbl->LeftButtonSelect(This) 14681 #define IDvdControl_RightButtonSelect(This) (This)->lpVtbl->RightButtonSelect(This) 14682 #define IDvdControl_ButtonActivate(This) (This)->lpVtbl->ButtonActivate(This) 14683 #define IDvdControl_ButtonSelectAndActivate(This,ulButton) (This)->lpVtbl->ButtonSelectAndActivate(This,ulButton) 14684 #define IDvdControl_StillOff(This) (This)->lpVtbl->StillOff(This) 14685 #define IDvdControl_PauseOn(This) (This)->lpVtbl->PauseOn(This) 14686 #define IDvdControl_PauseOff(This) (This)->lpVtbl->PauseOff(This) 14687 #define IDvdControl_MenuLanguageSelect(This,Language) (This)->lpVtbl->MenuLanguageSelect(This,Language) 14688 #define IDvdControl_AudioStreamChange(This,ulAudio) (This)->lpVtbl->AudioStreamChange(This,ulAudio) 14689 #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) (This)->lpVtbl->SubpictureStreamChange(This,ulSubPicture,bDisplay) 14690 #define IDvdControl_AngleChange(This,ulAngle) (This)->lpVtbl->AngleChange(This,ulAngle) 14691 #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) (This)->lpVtbl->ParentalLevelSelect(This,ulParentalLevel) 14692 #define IDvdControl_ParentalCountrySelect(This,wCountry) (This)->lpVtbl->ParentalCountrySelect(This,wCountry) 14693 #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) (This)->lpVtbl->KaraokeAudioPresentationModeChange(This,ulMode) 14694 #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) (This)->lpVtbl->VideoModePreferrence(This,ulPreferredDisplayMode) 14695 #define IDvdControl_SetRoot(This,pszPath) (This)->lpVtbl->SetRoot(This,pszPath) 14696 #define IDvdControl_MouseActivate(This,point) (This)->lpVtbl->MouseActivate(This,point) 14697 #define IDvdControl_MouseSelect(This,point) (This)->lpVtbl->MouseSelect(This,point) 14698 #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) (This)->lpVtbl->ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) 14699 #endif 14700 #endif 14701 HRESULT WINAPI IDvdControl_TitlePlay_Proxy(IDvdControl *This,ULONG ulTitle); 14702 void __RPC_STUB IDvdControl_TitlePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14703 HRESULT WINAPI IDvdControl_ChapterPlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter); 14704 void __RPC_STUB IDvdControl_ChapterPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14705 HRESULT WINAPI IDvdControl_TimePlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG bcdTime); 14706 void __RPC_STUB IDvdControl_TimePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14707 HRESULT WINAPI IDvdControl_StopForResume_Proxy(IDvdControl *This); 14708 void __RPC_STUB IDvdControl_StopForResume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14709 HRESULT WINAPI IDvdControl_GoUp_Proxy(IDvdControl *This); 14710 void __RPC_STUB IDvdControl_GoUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14711 HRESULT WINAPI IDvdControl_TimeSearch_Proxy(IDvdControl *This,ULONG bcdTime); 14712 void __RPC_STUB IDvdControl_TimeSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14713 HRESULT WINAPI IDvdControl_ChapterSearch_Proxy(IDvdControl *This,ULONG ulChapter); 14714 void __RPC_STUB IDvdControl_ChapterSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14715 HRESULT WINAPI IDvdControl_PrevPGSearch_Proxy(IDvdControl *This); 14716 void __RPC_STUB IDvdControl_PrevPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14717 HRESULT WINAPI IDvdControl_TopPGSearch_Proxy(IDvdControl *This); 14718 void __RPC_STUB IDvdControl_TopPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14719 HRESULT WINAPI IDvdControl_NextPGSearch_Proxy(IDvdControl *This); 14720 void __RPC_STUB IDvdControl_NextPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14721 HRESULT WINAPI IDvdControl_ForwardScan_Proxy(IDvdControl *This,double dwSpeed); 14722 void __RPC_STUB IDvdControl_ForwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14723 HRESULT WINAPI IDvdControl_BackwardScan_Proxy(IDvdControl *This,double dwSpeed); 14724 void __RPC_STUB IDvdControl_BackwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14725 HRESULT WINAPI IDvdControl_MenuCall_Proxy(IDvdControl *This,DVD_MENU_ID MenuID); 14726 void __RPC_STUB IDvdControl_MenuCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14727 HRESULT WINAPI IDvdControl_Resume_Proxy(IDvdControl *This); 14728 void __RPC_STUB IDvdControl_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14729 HRESULT WINAPI IDvdControl_UpperButtonSelect_Proxy(IDvdControl *This); 14730 void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14731 HRESULT WINAPI IDvdControl_LowerButtonSelect_Proxy(IDvdControl *This); 14732 void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14733 HRESULT WINAPI IDvdControl_LeftButtonSelect_Proxy(IDvdControl *This); 14734 void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14735 HRESULT WINAPI IDvdControl_RightButtonSelect_Proxy(IDvdControl *This); 14736 void __RPC_STUB IDvdControl_RightButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14737 HRESULT WINAPI IDvdControl_ButtonActivate_Proxy(IDvdControl *This); 14738 void __RPC_STUB IDvdControl_ButtonActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14739 HRESULT WINAPI IDvdControl_ButtonSelectAndActivate_Proxy(IDvdControl *This,ULONG ulButton); 14740 void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14741 HRESULT WINAPI IDvdControl_StillOff_Proxy(IDvdControl *This); 14742 void __RPC_STUB IDvdControl_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14743 HRESULT WINAPI IDvdControl_PauseOn_Proxy(IDvdControl *This); 14744 void __RPC_STUB IDvdControl_PauseOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14745 HRESULT WINAPI IDvdControl_PauseOff_Proxy(IDvdControl *This); 14746 void __RPC_STUB IDvdControl_PauseOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14747 HRESULT WINAPI IDvdControl_MenuLanguageSelect_Proxy(IDvdControl *This,LCID Language); 14748 void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14749 HRESULT WINAPI IDvdControl_AudioStreamChange_Proxy(IDvdControl *This,ULONG ulAudio); 14750 void __RPC_STUB IDvdControl_AudioStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14751 HRESULT WINAPI IDvdControl_SubpictureStreamChange_Proxy(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay); 14752 void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14753 HRESULT WINAPI IDvdControl_AngleChange_Proxy(IDvdControl *This,ULONG ulAngle); 14754 void __RPC_STUB IDvdControl_AngleChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14755 HRESULT WINAPI IDvdControl_ParentalLevelSelect_Proxy(IDvdControl *This,ULONG ulParentalLevel); 14756 void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14757 HRESULT WINAPI IDvdControl_ParentalCountrySelect_Proxy(IDvdControl *This,WORD wCountry); 14758 void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14759 HRESULT WINAPI IDvdControl_KaraokeAudioPresentationModeChange_Proxy(IDvdControl *This,ULONG ulMode); 14760 void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14761 HRESULT WINAPI IDvdControl_VideoModePreferrence_Proxy(IDvdControl *This,ULONG ulPreferredDisplayMode); 14762 void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14763 HRESULT WINAPI IDvdControl_SetRoot_Proxy(IDvdControl *This,LPCWSTR pszPath); 14764 void __RPC_STUB IDvdControl_SetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14765 HRESULT WINAPI IDvdControl_MouseActivate_Proxy(IDvdControl *This,POINT point); 14766 void __RPC_STUB IDvdControl_MouseActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14767 HRESULT WINAPI IDvdControl_MouseSelect_Proxy(IDvdControl *This,POINT point); 14768 void __RPC_STUB IDvdControl_MouseSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14769 HRESULT WINAPI IDvdControl_ChapterPlayAutoStop_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay); 14770 void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14771 #endif 14772 14773 #ifndef __IDvdInfo_INTERFACE_DEFINED__ 14774 #define __IDvdInfo_INTERFACE_DEFINED__ 14775 EXTERN_C const IID IID_IDvdInfo; 14776 #if defined(__cplusplus) && !defined(CINTERFACE) 14777 struct IDvdInfo : public IUnknown { 14778 public: 14779 virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0; 14780 virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION *pLocation) = 0; 14781 virtual HRESULT WINAPI GetTotalTitleTime(ULONG *pulTotalTime) = 0; 14782 virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0; 14783 virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0; 14784 virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0; 14785 virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled) = 0; 14786 virtual HRESULT WINAPI GetCurrentUOPS(VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0; 14787 virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0; 14788 virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0; 14789 virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0; 14790 virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0; 14791 virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_ATR *pATR) = 0; 14792 virtual HRESULT WINAPI GetVMGAttributes(DVD_ATR *pATR) = 0; 14793 virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoATR *pATR) = 0; 14794 virtual HRESULT WINAPI GetCurrentAudioAttributes(DVD_AudioATR *pATR) = 0; 14795 virtual HRESULT WINAPI GetCurrentSubpictureAttributes(DVD_SubpictureATR *pATR) = 0; 14796 virtual HRESULT WINAPI GetCurrentVolumeInfo(ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0; 14797 virtual HRESULT WINAPI GetDVDTextInfo(BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize) = 0; 14798 virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,ULONG *pulCountryCode) = 0; 14799 virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumberOfChapters) = 0; 14800 virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0; 14801 virtual HRESULT WINAPI GetRoot(LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize) = 0; 14802 }; 14803 #else 14804 typedef struct IDvdInfoVtbl { 14805 BEGIN_INTERFACE 14806 HRESULT (WINAPI *QueryInterface)(IDvdInfo *This,REFIID riid,void **ppvObject); 14807 ULONG (WINAPI *AddRef)(IDvdInfo *This); 14808 ULONG (WINAPI *Release)(IDvdInfo *This); 14809 HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo *This,DVD_DOMAIN *pDomain); 14810 HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation); 14811 HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo *This,ULONG *pulTotalTime); 14812 HRESULT (WINAPI *GetCurrentButton)(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); 14813 HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); 14814 HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); 14815 HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled); 14816 HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP); 14817 HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo *This,SPRMARRAY *pRegisterArray); 14818 HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo *This,GPRMARRAY *pRegisterArray); 14819 HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); 14820 HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); 14821 HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR); 14822 HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo *This,DVD_ATR *pATR); 14823 HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo *This,DVD_VideoATR *pATR); 14824 HRESULT (WINAPI *GetCurrentAudioAttributes)(IDvdInfo *This,DVD_AudioATR *pATR); 14825 HRESULT (WINAPI *GetCurrentSubpictureAttributes)(IDvdInfo *This,DVD_SubpictureATR *pATR); 14826 HRESULT (WINAPI *GetCurrentVolumeInfo)(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); 14827 HRESULT (WINAPI *GetDVDTextInfo)(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize); 14828 HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode); 14829 HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters); 14830 HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels); 14831 HRESULT (WINAPI *GetRoot)(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize); 14832 END_INTERFACE 14833 } IDvdInfoVtbl; 14834 struct IDvdInfo { 14835 CONST_VTBL struct IDvdInfoVtbl *lpVtbl; 14836 }; 14837 #ifdef COBJMACROS 14838 #define IDvdInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14839 #define IDvdInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 14840 #define IDvdInfo_Release(This) (This)->lpVtbl->Release(This) 14841 #define IDvdInfo_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain) 14842 #define IDvdInfo_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation) 14843 #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) (This)->lpVtbl->GetTotalTitleTime(This,pulTotalTime) 14844 #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) 14845 #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) 14846 #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) 14847 #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) 14848 #define IDvdInfo_GetCurrentUOPS(This,pUOP) (This)->lpVtbl->GetCurrentUOPS(This,pUOP) 14849 #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray) 14850 #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray) 14851 #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage) 14852 #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage) 14853 #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pATR) 14854 #define IDvdInfo_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR) 14855 #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR) 14856 #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) (This)->lpVtbl->GetCurrentAudioAttributes(This,pATR) 14857 #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) (This)->lpVtbl->GetCurrentSubpictureAttributes(This,pATR) 14858 #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) (This)->lpVtbl->GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) 14859 #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) (This)->lpVtbl->GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) 14860 #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) 14861 #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) 14862 #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels) 14863 #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) (This)->lpVtbl->GetRoot(This,pRoot,ulBufSize,pulActualSize) 14864 #endif 14865 #endif 14866 HRESULT WINAPI IDvdInfo_GetCurrentDomain_Proxy(IDvdInfo *This,DVD_DOMAIN *pDomain); 14867 void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14868 HRESULT WINAPI IDvdInfo_GetCurrentLocation_Proxy(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation); 14869 void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14870 HRESULT WINAPI IDvdInfo_GetTotalTitleTime_Proxy(IDvdInfo *This,ULONG *pulTotalTime); 14871 void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14872 HRESULT WINAPI IDvdInfo_GetCurrentButton_Proxy(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); 14873 void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14874 HRESULT WINAPI IDvdInfo_GetCurrentAngle_Proxy(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); 14875 void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14876 HRESULT WINAPI IDvdInfo_GetCurrentAudio_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); 14877 void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14878 HRESULT WINAPI IDvdInfo_GetCurrentSubpicture_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled); 14879 void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14880 HRESULT WINAPI IDvdInfo_GetCurrentUOPS_Proxy(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP); 14881 void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14882 HRESULT WINAPI IDvdInfo_GetAllSPRMs_Proxy(IDvdInfo *This,SPRMARRAY *pRegisterArray); 14883 void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14884 HRESULT WINAPI IDvdInfo_GetAllGPRMs_Proxy(IDvdInfo *This,GPRMARRAY *pRegisterArray); 14885 void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14886 HRESULT WINAPI IDvdInfo_GetAudioLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); 14887 void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14888 HRESULT WINAPI IDvdInfo_GetSubpictureLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); 14889 void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14890 HRESULT WINAPI IDvdInfo_GetTitleAttributes_Proxy(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR); 14891 void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14892 HRESULT WINAPI IDvdInfo_GetVMGAttributes_Proxy(IDvdInfo *This,DVD_ATR *pATR); 14893 void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14894 HRESULT WINAPI IDvdInfo_GetCurrentVideoAttributes_Proxy(IDvdInfo *This,DVD_VideoATR *pATR); 14895 void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14896 HRESULT WINAPI IDvdInfo_GetCurrentAudioAttributes_Proxy(IDvdInfo *This,DVD_AudioATR *pATR); 14897 void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14898 HRESULT WINAPI IDvdInfo_GetCurrentSubpictureAttributes_Proxy(IDvdInfo *This,DVD_SubpictureATR *pATR); 14899 void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14900 HRESULT WINAPI IDvdInfo_GetCurrentVolumeInfo_Proxy(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); 14901 void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14902 HRESULT WINAPI IDvdInfo_GetDVDTextInfo_Proxy(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize); 14903 void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14904 HRESULT WINAPI IDvdInfo_GetPlayerParentalLevel_Proxy(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode); 14905 void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14906 HRESULT WINAPI IDvdInfo_GetNumberOfChapters_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters); 14907 void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14908 HRESULT WINAPI IDvdInfo_GetTitleParentalLevels_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels); 14909 void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14910 HRESULT WINAPI IDvdInfo_GetRoot_Proxy(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize); 14911 void __RPC_STUB IDvdInfo_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14912 #endif 14913 14914 #ifndef __IDvdCmd_INTERFACE_DEFINED__ 14915 #define __IDvdCmd_INTERFACE_DEFINED__ 14916 EXTERN_C const IID IID_IDvdCmd; 14917 #if defined(__cplusplus) && !defined(CINTERFACE) 14918 struct IDvdCmd : public IUnknown { 14919 public: 14920 virtual HRESULT WINAPI WaitForStart(void) = 0; 14921 virtual HRESULT WINAPI WaitForEnd(void) = 0; 14922 }; 14923 #else 14924 typedef struct IDvdCmdVtbl { 14925 BEGIN_INTERFACE 14926 HRESULT (WINAPI *QueryInterface)(IDvdCmd *This,REFIID riid,void **ppvObject); 14927 ULONG (WINAPI *AddRef)(IDvdCmd *This); 14928 ULONG (WINAPI *Release)(IDvdCmd *This); 14929 HRESULT (WINAPI *WaitForStart)(IDvdCmd *This); 14930 HRESULT (WINAPI *WaitForEnd)(IDvdCmd *This); 14931 END_INTERFACE 14932 } IDvdCmdVtbl; 14933 struct IDvdCmd { 14934 CONST_VTBL struct IDvdCmdVtbl *lpVtbl; 14935 }; 14936 #ifdef COBJMACROS 14937 #define IDvdCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14938 #define IDvdCmd_AddRef(This) (This)->lpVtbl->AddRef(This) 14939 #define IDvdCmd_Release(This) (This)->lpVtbl->Release(This) 14940 #define IDvdCmd_WaitForStart(This) (This)->lpVtbl->WaitForStart(This) 14941 #define IDvdCmd_WaitForEnd(This) (This)->lpVtbl->WaitForEnd(This) 14942 #endif 14943 #endif 14944 HRESULT WINAPI IDvdCmd_WaitForStart_Proxy(IDvdCmd *This); 14945 void __RPC_STUB IDvdCmd_WaitForStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14946 HRESULT WINAPI IDvdCmd_WaitForEnd_Proxy(IDvdCmd *This); 14947 void __RPC_STUB IDvdCmd_WaitForEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14948 #endif 14949 14950 #ifndef __IDvdState_INTERFACE_DEFINED__ 14951 #define __IDvdState_INTERFACE_DEFINED__ 14952 EXTERN_C const IID IID_IDvdState; 14953 #if defined(__cplusplus) && !defined(CINTERFACE) 14954 struct IDvdState : public IUnknown { 14955 public: 14956 virtual HRESULT WINAPI GetDiscID(ULONGLONG *pullUniqueID) = 0; 14957 virtual HRESULT WINAPI GetParentalLevel(ULONG *pulParentalLevel) = 0; 14958 }; 14959 #else 14960 typedef struct IDvdStateVtbl { 14961 BEGIN_INTERFACE 14962 HRESULT (WINAPI *QueryInterface)(IDvdState *This,REFIID riid,void **ppvObject); 14963 ULONG (WINAPI *AddRef)(IDvdState *This); 14964 ULONG (WINAPI *Release)(IDvdState *This); 14965 HRESULT (WINAPI *GetDiscID)(IDvdState *This,ULONGLONG *pullUniqueID); 14966 HRESULT (WINAPI *GetParentalLevel)(IDvdState *This,ULONG *pulParentalLevel); 14967 END_INTERFACE 14968 } IDvdStateVtbl; 14969 struct IDvdState { 14970 CONST_VTBL struct IDvdStateVtbl *lpVtbl; 14971 }; 14972 #ifdef COBJMACROS 14973 #define IDvdState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14974 #define IDvdState_AddRef(This) (This)->lpVtbl->AddRef(This) 14975 #define IDvdState_Release(This) (This)->lpVtbl->Release(This) 14976 #define IDvdState_GetDiscID(This,pullUniqueID) (This)->lpVtbl->GetDiscID(This,pullUniqueID) 14977 #define IDvdState_GetParentalLevel(This,pulParentalLevel) (This)->lpVtbl->GetParentalLevel(This,pulParentalLevel) 14978 #endif 14979 #endif 14980 HRESULT WINAPI IDvdState_GetDiscID_Proxy(IDvdState *This,ULONGLONG *pullUniqueID); 14981 void __RPC_STUB IDvdState_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14982 HRESULT WINAPI IDvdState_GetParentalLevel_Proxy(IDvdState *This,ULONG *pulParentalLevel); 14983 void __RPC_STUB IDvdState_GetParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14984 #endif 14985 14986 #ifndef __IDvdControl2_INTERFACE_DEFINED__ 14987 #define __IDvdControl2_INTERFACE_DEFINED__ 14988 EXTERN_C const IID IID_IDvdControl2; 14989 #if defined(__cplusplus) && !defined(CINTERFACE) 14990 struct IDvdControl2 : public IUnknown { 14991 public: 14992 virtual HRESULT WINAPI PlayTitle(ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 14993 virtual HRESULT WINAPI PlayChapterInTitle(ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 14994 virtual HRESULT WINAPI PlayAtTimeInTitle(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 14995 virtual HRESULT WINAPI Stop(void) = 0; 14996 virtual HRESULT WINAPI ReturnFromSubmenu(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 14997 virtual HRESULT WINAPI PlayAtTime(DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 14998 virtual HRESULT WINAPI PlayChapter(ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 14999 virtual HRESULT WINAPI PlayPrevChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15000 virtual HRESULT WINAPI ReplayChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15001 virtual HRESULT WINAPI PlayNextChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15002 virtual HRESULT WINAPI PlayForwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15003 virtual HRESULT WINAPI PlayBackwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15004 virtual HRESULT WINAPI ShowMenu(DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15005 virtual HRESULT WINAPI Resume(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15006 virtual HRESULT WINAPI SelectRelativeButton(DVD_RELATIVE_BUTTON buttonDir) = 0; 15007 virtual HRESULT WINAPI ActivateButton(void) = 0; 15008 virtual HRESULT WINAPI SelectButton(ULONG ulButton) = 0; 15009 virtual HRESULT WINAPI SelectAndActivateButton(ULONG ulButton) = 0; 15010 virtual HRESULT WINAPI StillOff(void) = 0; 15011 virtual HRESULT WINAPI Pause(WINBOOL bState) = 0; 15012 virtual HRESULT WINAPI SelectAudioStream(ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15013 virtual HRESULT WINAPI SelectSubpictureStream(ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15014 virtual HRESULT WINAPI SetSubpictureState(WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15015 virtual HRESULT WINAPI SelectAngle(ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15016 virtual HRESULT WINAPI SelectParentalLevel(ULONG ulParentalLevel) = 0; 15017 virtual HRESULT WINAPI SelectParentalCountry(BYTE bCountry[2]) = 0; 15018 virtual HRESULT WINAPI SelectKaraokeAudioPresentationMode(ULONG ulMode) = 0; 15019 virtual HRESULT WINAPI SelectVideoModePreference(ULONG ulPreferredDisplayMode) = 0; 15020 virtual HRESULT WINAPI SetDVDDirectory(LPCWSTR pszwPath) = 0; 15021 virtual HRESULT WINAPI ActivateAtPosition(POINT point) = 0; 15022 virtual HRESULT WINAPI SelectAtPosition(POINT point) = 0; 15023 virtual HRESULT WINAPI PlayChaptersAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15024 virtual HRESULT WINAPI AcceptParentalLevelChange(WINBOOL bAccept) = 0; 15025 virtual HRESULT WINAPI SetOption(DVD_OPTION_FLAG flag,WINBOOL fState) = 0; 15026 virtual HRESULT WINAPI SetState(IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15027 virtual HRESULT WINAPI PlayPeriodInTitleAutoStop(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15028 virtual HRESULT WINAPI SetGPRM(ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 15029 virtual HRESULT WINAPI SelectDefaultMenuLanguage(LCID Language) = 0; 15030 virtual HRESULT WINAPI SelectDefaultAudioLanguage(LCID Language,DVD_AUDIO_LANG_EXT audioExtension) = 0; 15031 virtual HRESULT WINAPI SelectDefaultSubpictureLanguage(LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0; 15032 }; 15033 #else 15034 typedef struct IDvdControl2Vtbl { 15035 BEGIN_INTERFACE 15036 HRESULT (WINAPI *QueryInterface)(IDvdControl2 *This,REFIID riid,void **ppvObject); 15037 ULONG (WINAPI *AddRef)(IDvdControl2 *This); 15038 ULONG (WINAPI *Release)(IDvdControl2 *This); 15039 HRESULT (WINAPI *PlayTitle)(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd); 15040 HRESULT (WINAPI *PlayChapterInTitle)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); 15041 HRESULT (WINAPI *PlayAtTimeInTitle)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd); 15042 HRESULT (WINAPI *Stop)(IDvdControl2 *This); 15043 HRESULT (WINAPI *ReturnFromSubmenu)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15044 HRESULT (WINAPI *PlayAtTime)(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd); 15045 HRESULT (WINAPI *PlayChapter)(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); 15046 HRESULT (WINAPI *PlayPrevChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15047 HRESULT (WINAPI *ReplayChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15048 HRESULT (WINAPI *PlayNextChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15049 HRESULT (WINAPI *PlayForwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); 15050 HRESULT (WINAPI *PlayBackwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); 15051 HRESULT (WINAPI *ShowMenu)(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd); 15052 HRESULT (WINAPI *Resume)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15053 HRESULT (WINAPI *SelectRelativeButton)(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir); 15054 HRESULT (WINAPI *ActivateButton)(IDvdControl2 *This); 15055 HRESULT (WINAPI *SelectButton)(IDvdControl2 *This,ULONG ulButton); 15056 HRESULT (WINAPI *SelectAndActivateButton)(IDvdControl2 *This,ULONG ulButton); 15057 HRESULT (WINAPI *StillOff)(IDvdControl2 *This); 15058 HRESULT (WINAPI *Pause)(IDvdControl2 *This,WINBOOL bState); 15059 HRESULT (WINAPI *SelectAudioStream)(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd); 15060 HRESULT (WINAPI *SelectSubpictureStream)(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd); 15061 HRESULT (WINAPI *SetSubpictureState)(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd); 15062 HRESULT (WINAPI *SelectAngle)(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd); 15063 HRESULT (WINAPI *SelectParentalLevel)(IDvdControl2 *This,ULONG ulParentalLevel); 15064 HRESULT (WINAPI *SelectParentalCountry)(IDvdControl2 *This,BYTE bCountry[2]); 15065 HRESULT (WINAPI *SelectKaraokeAudioPresentationMode)(IDvdControl2 *This,ULONG ulMode); 15066 HRESULT (WINAPI *SelectVideoModePreference)(IDvdControl2 *This,ULONG ulPreferredDisplayMode); 15067 HRESULT (WINAPI *SetDVDDirectory)(IDvdControl2 *This,LPCWSTR pszwPath); 15068 HRESULT (WINAPI *ActivateAtPosition)(IDvdControl2 *This,POINT point); 15069 HRESULT (WINAPI *SelectAtPosition)(IDvdControl2 *This,POINT point); 15070 HRESULT (WINAPI *PlayChaptersAutoStop)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd); 15071 HRESULT (WINAPI *AcceptParentalLevelChange)(IDvdControl2 *This,WINBOOL bAccept); 15072 HRESULT (WINAPI *SetOption)(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState); 15073 HRESULT (WINAPI *SetState)(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd); 15074 HRESULT (WINAPI *PlayPeriodInTitleAutoStop)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd); 15075 HRESULT (WINAPI *SetGPRM)(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd); 15076 HRESULT (WINAPI *SelectDefaultMenuLanguage)(IDvdControl2 *This,LCID Language); 15077 HRESULT (WINAPI *SelectDefaultAudioLanguage)(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension); 15078 HRESULT (WINAPI *SelectDefaultSubpictureLanguage)(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension); 15079 END_INTERFACE 15080 } IDvdControl2Vtbl; 15081 struct IDvdControl2 { 15082 CONST_VTBL struct IDvdControl2Vtbl *lpVtbl; 15083 }; 15084 #ifdef COBJMACROS 15085 #define IDvdControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15086 #define IDvdControl2_AddRef(This) (This)->lpVtbl->AddRef(This) 15087 #define IDvdControl2_Release(This) (This)->lpVtbl->Release(This) 15088 #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) (This)->lpVtbl->PlayTitle(This,ulTitle,dwFlags,ppCmd) 15089 #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) 15090 #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) 15091 #define IDvdControl2_Stop(This) (This)->lpVtbl->Stop(This) 15092 #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) (This)->lpVtbl->ReturnFromSubmenu(This,dwFlags,ppCmd) 15093 #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTime(This,pTime,dwFlags,ppCmd) 15094 #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapter(This,ulChapter,dwFlags,ppCmd) 15095 #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayPrevChapter(This,dwFlags,ppCmd) 15096 #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) (This)->lpVtbl->ReplayChapter(This,dwFlags,ppCmd) 15097 #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayNextChapter(This,dwFlags,ppCmd) 15098 #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayForwards(This,dSpeed,dwFlags,ppCmd) 15099 #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayBackwards(This,dSpeed,dwFlags,ppCmd) 15100 #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) (This)->lpVtbl->ShowMenu(This,MenuID,dwFlags,ppCmd) 15101 #define IDvdControl2_Resume(This,dwFlags,ppCmd) (This)->lpVtbl->Resume(This,dwFlags,ppCmd) 15102 #define IDvdControl2_SelectRelativeButton(This,buttonDir) (This)->lpVtbl->SelectRelativeButton(This,buttonDir) 15103 #define IDvdControl2_ActivateButton(This) (This)->lpVtbl->ActivateButton(This) 15104 #define IDvdControl2_SelectButton(This,ulButton) (This)->lpVtbl->SelectButton(This,ulButton) 15105 #define IDvdControl2_SelectAndActivateButton(This,ulButton) (This)->lpVtbl->SelectAndActivateButton(This,ulButton) 15106 #define IDvdControl2_StillOff(This) (This)->lpVtbl->StillOff(This) 15107 #define IDvdControl2_Pause(This,bState) (This)->lpVtbl->Pause(This,bState) 15108 #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) (This)->lpVtbl->SelectAudioStream(This,ulAudio,dwFlags,ppCmd) 15109 #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) (This)->lpVtbl->SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) 15110 #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) (This)->lpVtbl->SetSubpictureState(This,bState,dwFlags,ppCmd) 15111 #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) (This)->lpVtbl->SelectAngle(This,ulAngle,dwFlags,ppCmd) 15112 #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) (This)->lpVtbl->SelectParentalLevel(This,ulParentalLevel) 15113 #define IDvdControl2_SelectParentalCountry(This,bCountry) (This)->lpVtbl->SelectParentalCountry(This,bCountry) 15114 #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) (This)->lpVtbl->SelectKaraokeAudioPresentationMode(This,ulMode) 15115 #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) (This)->lpVtbl->SelectVideoModePreference(This,ulPreferredDisplayMode) 15116 #define IDvdControl2_SetDVDDirectory(This,pszwPath) (This)->lpVtbl->SetDVDDirectory(This,pszwPath) 15117 #define IDvdControl2_ActivateAtPosition(This,point) (This)->lpVtbl->ActivateAtPosition(This,point) 15118 #define IDvdControl2_SelectAtPosition(This,point) (This)->lpVtbl->SelectAtPosition(This,point) 15119 #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) (This)->lpVtbl->PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) 15120 #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) (This)->lpVtbl->AcceptParentalLevelChange(This,bAccept) 15121 #define IDvdControl2_SetOption(This,flag,fState) (This)->lpVtbl->SetOption(This,flag,fState) 15122 #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) (This)->lpVtbl->SetState(This,pState,dwFlags,ppCmd) 15123 #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) (This)->lpVtbl->PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) 15124 #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) (This)->lpVtbl->SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) 15125 #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) (This)->lpVtbl->SelectDefaultMenuLanguage(This,Language) 15126 #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) (This)->lpVtbl->SelectDefaultAudioLanguage(This,Language,audioExtension) 15127 #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) (This)->lpVtbl->SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) 15128 #endif 15129 #endif 15130 HRESULT WINAPI IDvdControl2_PlayTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd); 15131 void __RPC_STUB IDvdControl2_PlayTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15132 HRESULT WINAPI IDvdControl2_PlayChapterInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); 15133 void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15134 HRESULT WINAPI IDvdControl2_PlayAtTimeInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd); 15135 void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15136 HRESULT WINAPI IDvdControl2_Stop_Proxy(IDvdControl2 *This); 15137 void __RPC_STUB IDvdControl2_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15138 HRESULT WINAPI IDvdControl2_ReturnFromSubmenu_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15139 void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15140 HRESULT WINAPI IDvdControl2_PlayAtTime_Proxy(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd); 15141 void __RPC_STUB IDvdControl2_PlayAtTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15142 HRESULT WINAPI IDvdControl2_PlayChapter_Proxy(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); 15143 void __RPC_STUB IDvdControl2_PlayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15144 HRESULT WINAPI IDvdControl2_PlayPrevChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15145 void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15146 HRESULT WINAPI IDvdControl2_ReplayChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15147 void __RPC_STUB IDvdControl2_ReplayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15148 HRESULT WINAPI IDvdControl2_PlayNextChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15149 void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15150 HRESULT WINAPI IDvdControl2_PlayForwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); 15151 void __RPC_STUB IDvdControl2_PlayForwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15152 HRESULT WINAPI IDvdControl2_PlayBackwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); 15153 void __RPC_STUB IDvdControl2_PlayBackwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15154 HRESULT WINAPI IDvdControl2_ShowMenu_Proxy(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd); 15155 void __RPC_STUB IDvdControl2_ShowMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15156 HRESULT WINAPI IDvdControl2_Resume_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 15157 void __RPC_STUB IDvdControl2_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15158 HRESULT WINAPI IDvdControl2_SelectRelativeButton_Proxy(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir); 15159 void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15160 HRESULT WINAPI IDvdControl2_ActivateButton_Proxy(IDvdControl2 *This); 15161 void __RPC_STUB IDvdControl2_ActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15162 HRESULT WINAPI IDvdControl2_SelectButton_Proxy(IDvdControl2 *This,ULONG ulButton); 15163 void __RPC_STUB IDvdControl2_SelectButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15164 HRESULT WINAPI IDvdControl2_SelectAndActivateButton_Proxy(IDvdControl2 *This,ULONG ulButton); 15165 void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15166 HRESULT WINAPI IDvdControl2_StillOff_Proxy(IDvdControl2 *This); 15167 void __RPC_STUB IDvdControl2_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15168 HRESULT WINAPI IDvdControl2_Pause_Proxy(IDvdControl2 *This,WINBOOL bState); 15169 void __RPC_STUB IDvdControl2_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15170 HRESULT WINAPI IDvdControl2_SelectAudioStream_Proxy(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd); 15171 void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15172 HRESULT WINAPI IDvdControl2_SelectSubpictureStream_Proxy(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd); 15173 void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15174 HRESULT WINAPI IDvdControl2_SetSubpictureState_Proxy(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd); 15175 void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15176 HRESULT WINAPI IDvdControl2_SelectAngle_Proxy(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd); 15177 void __RPC_STUB IDvdControl2_SelectAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15178 HRESULT WINAPI IDvdControl2_SelectParentalLevel_Proxy(IDvdControl2 *This,ULONG ulParentalLevel); 15179 void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15180 HRESULT WINAPI IDvdControl2_SelectParentalCountry_Proxy(IDvdControl2 *This,BYTE bCountry[2]); 15181 void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15182 HRESULT WINAPI IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(IDvdControl2 *This,ULONG ulMode); 15183 void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15184 HRESULT WINAPI IDvdControl2_SelectVideoModePreference_Proxy(IDvdControl2 *This,ULONG ulPreferredDisplayMode); 15185 void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15186 HRESULT WINAPI IDvdControl2_SetDVDDirectory_Proxy(IDvdControl2 *This,LPCWSTR pszwPath); 15187 void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15188 HRESULT WINAPI IDvdControl2_ActivateAtPosition_Proxy(IDvdControl2 *This,POINT point); 15189 void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15190 HRESULT WINAPI IDvdControl2_SelectAtPosition_Proxy(IDvdControl2 *This,POINT point); 15191 void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15192 HRESULT WINAPI IDvdControl2_PlayChaptersAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd); 15193 void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15194 HRESULT WINAPI IDvdControl2_AcceptParentalLevelChange_Proxy(IDvdControl2 *This,WINBOOL bAccept); 15195 void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15196 HRESULT WINAPI IDvdControl2_SetOption_Proxy(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState); 15197 void __RPC_STUB IDvdControl2_SetOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15198 HRESULT WINAPI IDvdControl2_SetState_Proxy(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd); 15199 void __RPC_STUB IDvdControl2_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15200 HRESULT WINAPI IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd); 15201 void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15202 HRESULT WINAPI IDvdControl2_SetGPRM_Proxy(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd); 15203 void __RPC_STUB IDvdControl2_SetGPRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15204 HRESULT WINAPI IDvdControl2_SelectDefaultMenuLanguage_Proxy(IDvdControl2 *This,LCID Language); 15205 void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15206 HRESULT WINAPI IDvdControl2_SelectDefaultAudioLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension); 15207 void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15208 HRESULT WINAPI IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension); 15209 void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15210 #endif 15211 15212 enum DVD_TextStringType { 15213 DVD_Struct_Volume = 0x1,DVD_Struct_Title = 0x2,DVD_Struct_ParentalID = 0x3,DVD_Struct_PartOfTitle = 0x4,DVD_Struct_Cell = 0x5, 15214 DVD_Stream_Audio = 0x10,DVD_Stream_Subpicture = 0x11,DVD_Stream_Angle = 0x12,DVD_Channel_Audio = 0x20,DVD_General_Name = 0x30, 15215 DVD_General_Comments = 0x31,DVD_Title_Series = 0x38,DVD_Title_Movie = 0x39,DVD_Title_Video = 0x3a,DVD_Title_Album = 0x3b,DVD_Title_Song = 0x3c, 15216 DVD_Title_Other = 0x3f,DVD_Title_Sub_Series = 0x40,DVD_Title_Sub_Movie = 0x41,DVD_Title_Sub_Video = 0x42,DVD_Title_Sub_Album = 0x43, 15217 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, 15218 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 15219 }; 15220 15221 enum DVD_TextCharSet { 15222 DVD_CharSet_Unicode = 0,DVD_CharSet_ISO646 = 1,DVD_CharSet_JIS_Roman_Kanji = 2,DVD_CharSet_ISO8859_1 = 3, 15223 DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4 15224 }; 15225 #define DVD_TITLE_MENU 0x000 15226 #define DVD_STREAM_DATA_CURRENT 0x800 15227 #define DVD_STREAM_DATA_VMGM 0x400 15228 #define DVD_STREAM_DATA_VTSM 0x401 15229 #define DVD_DEFAULT_AUDIO_STREAM 0x0f 15230 15231 typedef struct tagDVD_DECODER_CAPS { 15232 DWORD dwSize; 15233 DWORD dwAudioCaps; 15234 double dFwdMaxRateVideo; 15235 double dFwdMaxRateAudio; 15236 double dFwdMaxRateSP; 15237 double dBwdMaxRateVideo; 15238 double dBwdMaxRateAudio; 15239 double dBwdMaxRateSP; 15240 DWORD dwRes1; 15241 DWORD dwRes2; 15242 DWORD dwRes3; 15243 DWORD dwRes4; 15244 } DVD_DECODER_CAPS; 15245 15246 #define DVD_AUDIO_CAPS_AC3 0x00000001 15247 #define DVD_AUDIO_CAPS_MPEG2 0x00000002 15248 #define DVD_AUDIO_CAPS_LPCM 0x00000004 15249 #define DVD_AUDIO_CAPS_DTS 0x00000008 15250 #define DVD_AUDIO_CAPS_SDDS 0x00000010 15251 15252 extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec; 15253 extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec; 15254 #ifndef __IDvdInfo2_INTERFACE_DEFINED__ 15255 #define __IDvdInfo2_INTERFACE_DEFINED__ 15256 EXTERN_C const IID IID_IDvdInfo2; 15257 #if defined(__cplusplus) && !defined(CINTERFACE) 15258 struct IDvdInfo2 : public IUnknown { 15259 public: 15260 virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0; 15261 virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION2 *pLocation) = 0; 15262 virtual HRESULT WINAPI GetTotalTitleTime(DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags) = 0; 15263 virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0; 15264 virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0; 15265 virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0; 15266 virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled) = 0; 15267 virtual HRESULT WINAPI GetCurrentUOPS(ULONG *pulUOPs) = 0; 15268 virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0; 15269 virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0; 15270 virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0; 15271 virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0; 15272 virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle) = 0; 15273 virtual HRESULT WINAPI GetVMGAttributes(DVD_MenuAttributes *pATR) = 0; 15274 virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoAttributes *pATR) = 0; 15275 virtual HRESULT WINAPI GetAudioAttributes(ULONG ulStream,DVD_AudioAttributes *pATR) = 0; 15276 virtual HRESULT WINAPI GetKaraokeAttributes(ULONG ulStream,DVD_KaraokeAttributes *pAttributes) = 0; 15277 virtual HRESULT WINAPI GetSubpictureAttributes(ULONG ulStream,DVD_SubpictureAttributes *pATR) = 0; 15278 virtual HRESULT WINAPI GetDVDVolumeInfo(ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0; 15279 virtual HRESULT WINAPI GetDVDTextNumberOfLanguages(ULONG *pulNumOfLangs) = 0; 15280 virtual HRESULT WINAPI GetDVDTextLanguageInfo(ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet) = 0; 15281 virtual HRESULT WINAPI GetDVDTextStringAsNative(ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0; 15282 virtual HRESULT WINAPI GetDVDTextStringAsUnicode(ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0; 15283 virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,BYTE pbCountryCode[2]) = 0; 15284 virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumOfChapters) = 0; 15285 virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0; 15286 virtual HRESULT WINAPI GetDVDDirectory(LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize) = 0; 15287 virtual HRESULT WINAPI IsAudioStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0; 15288 virtual HRESULT WINAPI GetDiscID(LPCWSTR pszwPath,ULONGLONG *pullDiscID) = 0; 15289 virtual HRESULT WINAPI GetState(IDvdState **pStateData) = 0; 15290 virtual HRESULT WINAPI GetMenuLanguages(LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages) = 0; 15291 virtual HRESULT WINAPI GetButtonAtPosition(POINT point,ULONG *pulButtonIndex) = 0; 15292 virtual HRESULT WINAPI GetCmdFromEvent(LONG_PTR lParam1,IDvdCmd **pCmdObj) = 0; 15293 virtual HRESULT WINAPI GetDefaultMenuLanguage(LCID *pLanguage) = 0; 15294 virtual HRESULT WINAPI GetDefaultAudioLanguage(LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension) = 0; 15295 virtual HRESULT WINAPI GetDefaultSubpictureLanguage(LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0; 15296 virtual HRESULT WINAPI GetDecoderCaps(DVD_DECODER_CAPS *pCaps) = 0; 15297 virtual HRESULT WINAPI GetButtonRect(ULONG ulButton,RECT *pRect) = 0; 15298 virtual HRESULT WINAPI IsSubpictureStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0; 15299 }; 15300 #else 15301 typedef struct IDvdInfo2Vtbl { 15302 BEGIN_INTERFACE 15303 HRESULT (WINAPI *QueryInterface)(IDvdInfo2 *This,REFIID riid,void **ppvObject); 15304 ULONG (WINAPI *AddRef)(IDvdInfo2 *This); 15305 ULONG (WINAPI *Release)(IDvdInfo2 *This); 15306 HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo2 *This,DVD_DOMAIN *pDomain); 15307 HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation); 15308 HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags); 15309 HRESULT (WINAPI *GetCurrentButton)(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); 15310 HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); 15311 HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); 15312 HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled); 15313 HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo2 *This,ULONG *pulUOPs); 15314 HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo2 *This,SPRMARRAY *pRegisterArray); 15315 HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo2 *This,GPRMARRAY *pRegisterArray); 15316 HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); 15317 HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); 15318 HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle); 15319 HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo2 *This,DVD_MenuAttributes *pATR); 15320 HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo2 *This,DVD_VideoAttributes *pATR); 15321 HRESULT (WINAPI *GetAudioAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR); 15322 HRESULT (WINAPI *GetKaraokeAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes); 15323 HRESULT (WINAPI *GetSubpictureAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR); 15324 HRESULT (WINAPI *GetDVDVolumeInfo)(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); 15325 HRESULT (WINAPI *GetDVDTextNumberOfLanguages)(IDvdInfo2 *This,ULONG *pulNumOfLangs); 15326 HRESULT (WINAPI *GetDVDTextLanguageInfo)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet); 15327 HRESULT (WINAPI *GetDVDTextStringAsNative)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); 15328 HRESULT (WINAPI *GetDVDTextStringAsUnicode)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); 15329 HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]); 15330 HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters); 15331 HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels); 15332 HRESULT (WINAPI *GetDVDDirectory)(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize); 15333 HRESULT (WINAPI *IsAudioStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); 15334 HRESULT (WINAPI *GetDiscID)(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID); 15335 HRESULT (WINAPI *GetState)(IDvdInfo2 *This,IDvdState **pStateData); 15336 HRESULT (WINAPI *GetMenuLanguages)(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages); 15337 HRESULT (WINAPI *GetButtonAtPosition)(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex); 15338 HRESULT (WINAPI *GetCmdFromEvent)(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj); 15339 HRESULT (WINAPI *GetDefaultMenuLanguage)(IDvdInfo2 *This,LCID *pLanguage); 15340 HRESULT (WINAPI *GetDefaultAudioLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension); 15341 HRESULT (WINAPI *GetDefaultSubpictureLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension); 15342 HRESULT (WINAPI *GetDecoderCaps)(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps); 15343 HRESULT (WINAPI *GetButtonRect)(IDvdInfo2 *This,ULONG ulButton,RECT *pRect); 15344 HRESULT (WINAPI *IsSubpictureStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); 15345 END_INTERFACE 15346 } IDvdInfo2Vtbl; 15347 struct IDvdInfo2 { 15348 CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl; 15349 }; 15350 #ifdef COBJMACROS 15351 #define IDvdInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15352 #define IDvdInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) 15353 #define IDvdInfo2_Release(This) (This)->lpVtbl->Release(This) 15354 #define IDvdInfo2_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain) 15355 #define IDvdInfo2_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation) 15356 #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) (This)->lpVtbl->GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) 15357 #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) 15358 #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) 15359 #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) 15360 #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) 15361 #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) (This)->lpVtbl->GetCurrentUOPS(This,pulUOPs) 15362 #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray) 15363 #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray) 15364 #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage) 15365 #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage) 15366 #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pMenu,pTitle) 15367 #define IDvdInfo2_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR) 15368 #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR) 15369 #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) (This)->lpVtbl->GetAudioAttributes(This,ulStream,pATR) 15370 #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) (This)->lpVtbl->GetKaraokeAttributes(This,ulStream,pAttributes) 15371 #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) (This)->lpVtbl->GetSubpictureAttributes(This,ulStream,pATR) 15372 #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) (This)->lpVtbl->GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) 15373 #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) (This)->lpVtbl->GetDVDTextNumberOfLanguages(This,pulNumOfLangs) 15374 #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) (This)->lpVtbl->GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) 15375 #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) 15376 #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) 15377 #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) 15378 #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumOfChapters) 15379 #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels) 15380 #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) (This)->lpVtbl->GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) 15381 #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) 15382 #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) (This)->lpVtbl->GetDiscID(This,pszwPath,pullDiscID) 15383 #define IDvdInfo2_GetState(This,pStateData) (This)->lpVtbl->GetState(This,pStateData) 15384 #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) (This)->lpVtbl->GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) 15385 #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) (This)->lpVtbl->GetButtonAtPosition(This,point,pulButtonIndex) 15386 #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) (This)->lpVtbl->GetCmdFromEvent(This,lParam1,pCmdObj) 15387 #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) (This)->lpVtbl->GetDefaultMenuLanguage(This,pLanguage) 15388 #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) (This)->lpVtbl->GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) 15389 #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) (This)->lpVtbl->GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) 15390 #define IDvdInfo2_GetDecoderCaps(This,pCaps) (This)->lpVtbl->GetDecoderCaps(This,pCaps) 15391 #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) (This)->lpVtbl->GetButtonRect(This,ulButton,pRect) 15392 #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) 15393 #endif 15394 #endif 15395 HRESULT WINAPI IDvdInfo2_GetCurrentDomain_Proxy(IDvdInfo2 *This,DVD_DOMAIN *pDomain); 15396 void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15397 HRESULT WINAPI IDvdInfo2_GetCurrentLocation_Proxy(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation); 15398 void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15399 HRESULT WINAPI IDvdInfo2_GetTotalTitleTime_Proxy(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags); 15400 void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15401 HRESULT WINAPI IDvdInfo2_GetCurrentButton_Proxy(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); 15402 void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15403 HRESULT WINAPI IDvdInfo2_GetCurrentAngle_Proxy(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); 15404 void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15405 HRESULT WINAPI IDvdInfo2_GetCurrentAudio_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); 15406 void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15407 HRESULT WINAPI IDvdInfo2_GetCurrentSubpicture_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled); 15408 void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15409 HRESULT WINAPI IDvdInfo2_GetCurrentUOPS_Proxy(IDvdInfo2 *This,ULONG *pulUOPs); 15410 void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15411 HRESULT WINAPI IDvdInfo2_GetAllSPRMs_Proxy(IDvdInfo2 *This,SPRMARRAY *pRegisterArray); 15412 void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15413 HRESULT WINAPI IDvdInfo2_GetAllGPRMs_Proxy(IDvdInfo2 *This,GPRMARRAY *pRegisterArray); 15414 void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15415 HRESULT WINAPI IDvdInfo2_GetAudioLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); 15416 void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15417 HRESULT WINAPI IDvdInfo2_GetSubpictureLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); 15418 void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15419 HRESULT WINAPI IDvdInfo2_GetTitleAttributes_Proxy(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle); 15420 void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15421 HRESULT WINAPI IDvdInfo2_GetVMGAttributes_Proxy(IDvdInfo2 *This,DVD_MenuAttributes *pATR); 15422 void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15423 HRESULT WINAPI IDvdInfo2_GetCurrentVideoAttributes_Proxy(IDvdInfo2 *This,DVD_VideoAttributes *pATR); 15424 void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15425 HRESULT WINAPI IDvdInfo2_GetAudioAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR); 15426 void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15427 HRESULT WINAPI IDvdInfo2_GetKaraokeAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes); 15428 void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15429 HRESULT WINAPI IDvdInfo2_GetSubpictureAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR); 15430 void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15431 HRESULT WINAPI IDvdInfo2_GetDVDVolumeInfo_Proxy(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); 15432 void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15433 HRESULT WINAPI IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(IDvdInfo2 *This,ULONG *pulNumOfLangs); 15434 void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15435 HRESULT WINAPI IDvdInfo2_GetDVDTextLanguageInfo_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet); 15436 void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15437 HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsNative_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); 15438 void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15439 HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); 15440 void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15441 HRESULT WINAPI IDvdInfo2_GetPlayerParentalLevel_Proxy(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]); 15442 void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15443 HRESULT WINAPI IDvdInfo2_GetNumberOfChapters_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters); 15444 void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15445 HRESULT WINAPI IDvdInfo2_GetTitleParentalLevels_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels); 15446 void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15447 HRESULT WINAPI IDvdInfo2_GetDVDDirectory_Proxy(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize); 15448 void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15449 HRESULT WINAPI IDvdInfo2_IsAudioStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); 15450 void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15451 HRESULT WINAPI IDvdInfo2_GetDiscID_Proxy(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID); 15452 void __RPC_STUB IDvdInfo2_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15453 HRESULT WINAPI IDvdInfo2_GetState_Proxy(IDvdInfo2 *This,IDvdState **pStateData); 15454 void __RPC_STUB IDvdInfo2_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15455 HRESULT WINAPI IDvdInfo2_GetMenuLanguages_Proxy(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages); 15456 void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15457 HRESULT WINAPI IDvdInfo2_GetButtonAtPosition_Proxy(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex); 15458 void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15459 HRESULT WINAPI IDvdInfo2_GetCmdFromEvent_Proxy(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj); 15460 void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15461 HRESULT WINAPI IDvdInfo2_GetDefaultMenuLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage); 15462 void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15463 HRESULT WINAPI IDvdInfo2_GetDefaultAudioLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension); 15464 void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15465 HRESULT WINAPI IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension); 15466 void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15467 HRESULT WINAPI IDvdInfo2_GetDecoderCaps_Proxy(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps); 15468 void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15469 HRESULT WINAPI IDvdInfo2_GetButtonRect_Proxy(IDvdInfo2 *This,ULONG ulButton,RECT *pRect); 15470 void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15471 HRESULT WINAPI IDvdInfo2_IsSubpictureStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); 15472 void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15473 #endif 15474 15475 typedef enum _AM_DVD_GRAPH_FLAGS { 15476 AM_DVD_HWDEC_PREFER = 0x1,AM_DVD_HWDEC_ONLY = 0x2,AM_DVD_SWDEC_PREFER = 0x4,AM_DVD_SWDEC_ONLY = 0x8,AM_DVD_NOVPE = 0x100, 15477 AM_DVD_VMR9_ONLY = 0x800 15478 } AM_DVD_GRAPH_FLAGS; 15479 15480 typedef enum _AM_DVD_STREAM_FLAGS { 15481 AM_DVD_STREAM_VIDEO = 0x1,AM_DVD_STREAM_AUDIO = 0x2,AM_DVD_STREAM_SUBPIC = 0x4 15482 } AM_DVD_STREAM_FLAGS; 15483 15484 typedef struct __MIDL___MIDL_itf_strmif_0389_0001 { 15485 HRESULT hrVPEStatus; 15486 WINBOOL bDvdVolInvalid; 15487 WINBOOL bDvdVolUnknown; 15488 WINBOOL bNoLine21In; 15489 WINBOOL bNoLine21Out; 15490 int iNumStreams; 15491 int iNumStreamsFailed; 15492 DWORD dwFailedStreamsFlag; 15493 } AM_DVD_RENDERSTATUS; 15494 15495 extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec; 15496 extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec; 15497 #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__ 15498 #define __IDvdGraphBuilder_INTERFACE_DEFINED__ 15499 EXTERN_C const IID IID_IDvdGraphBuilder; 15500 #if defined(__cplusplus) && !defined(CINTERFACE) 15501 struct IDvdGraphBuilder : public IUnknown { 15502 public: 15503 virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppGB) = 0; 15504 virtual HRESULT WINAPI GetDvdInterface(REFIID riid,void **ppvIF) = 0; 15505 virtual HRESULT WINAPI RenderDvdVideoVolume(LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus) = 0; 15506 }; 15507 #else 15508 typedef struct IDvdGraphBuilderVtbl { 15509 BEGIN_INTERFACE 15510 HRESULT (WINAPI *QueryInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvObject); 15511 ULONG (WINAPI *AddRef)(IDvdGraphBuilder *This); 15512 ULONG (WINAPI *Release)(IDvdGraphBuilder *This); 15513 HRESULT (WINAPI *GetFiltergraph)(IDvdGraphBuilder *This,IGraphBuilder **ppGB); 15514 HRESULT (WINAPI *GetDvdInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvIF); 15515 HRESULT (WINAPI *RenderDvdVideoVolume)(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus); 15516 END_INTERFACE 15517 } IDvdGraphBuilderVtbl; 15518 struct IDvdGraphBuilder { 15519 CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl; 15520 }; 15521 #ifdef COBJMACROS 15522 #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15523 #define IDvdGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 15524 #define IDvdGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 15525 #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) (This)->lpVtbl->GetFiltergraph(This,ppGB) 15526 #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) (This)->lpVtbl->GetDvdInterface(This,riid,ppvIF) 15527 #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) (This)->lpVtbl->RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) 15528 #endif 15529 #endif 15530 HRESULT WINAPI IDvdGraphBuilder_GetFiltergraph_Proxy(IDvdGraphBuilder *This,IGraphBuilder **ppGB); 15531 void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15532 HRESULT WINAPI IDvdGraphBuilder_GetDvdInterface_Proxy(IDvdGraphBuilder *This,REFIID riid,void **ppvIF); 15533 void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15534 HRESULT WINAPI IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus); 15535 void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15536 #endif 15537 15538 #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__ 15539 #define __IDDrawExclModeVideo_INTERFACE_DEFINED__ 15540 EXTERN_C const IID IID_IDDrawExclModeVideo; 15541 #if defined(__cplusplus) && !defined(CINTERFACE) 15542 struct IDDrawExclModeVideo : public IUnknown { 15543 public: 15544 virtual HRESULT WINAPI SetDDrawObject(IDirectDraw *pDDrawObject) = 0; 15545 virtual HRESULT WINAPI GetDDrawObject(IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal) = 0; 15546 virtual HRESULT WINAPI SetDDrawSurface(IDirectDrawSurface *pDDrawSurface) = 0; 15547 virtual HRESULT WINAPI GetDDrawSurface(IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal) = 0; 15548 virtual HRESULT WINAPI SetDrawParameters(const RECT *prcSource,const RECT *prcTarget) = 0; 15549 virtual HRESULT WINAPI GetNativeVideoProps(DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY) = 0; 15550 virtual HRESULT WINAPI SetCallbackInterface(IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags) = 0; 15551 }; 15552 #else 15553 typedef struct IDDrawExclModeVideoVtbl { 15554 BEGIN_INTERFACE 15555 HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideo *This,REFIID riid,void **ppvObject); 15556 ULONG (WINAPI *AddRef)(IDDrawExclModeVideo *This); 15557 ULONG (WINAPI *Release)(IDDrawExclModeVideo *This); 15558 HRESULT (WINAPI *SetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject); 15559 HRESULT (WINAPI *GetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal); 15560 HRESULT (WINAPI *SetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface); 15561 HRESULT (WINAPI *GetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal); 15562 HRESULT (WINAPI *SetDrawParameters)(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget); 15563 HRESULT (WINAPI *GetNativeVideoProps)(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY); 15564 HRESULT (WINAPI *SetCallbackInterface)(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags); 15565 END_INTERFACE 15566 } IDDrawExclModeVideoVtbl; 15567 struct IDDrawExclModeVideo { 15568 CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl; 15569 }; 15570 #ifdef COBJMACROS 15571 #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15572 #define IDDrawExclModeVideo_AddRef(This) (This)->lpVtbl->AddRef(This) 15573 #define IDDrawExclModeVideo_Release(This) (This)->lpVtbl->Release(This) 15574 #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) (This)->lpVtbl->SetDDrawObject(This,pDDrawObject) 15575 #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) (This)->lpVtbl->GetDDrawObject(This,ppDDrawObject,pbUsingExternal) 15576 #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) (This)->lpVtbl->SetDDrawSurface(This,pDDrawSurface) 15577 #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) (This)->lpVtbl->GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) 15578 #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) (This)->lpVtbl->SetDrawParameters(This,prcSource,prcTarget) 15579 #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) (This)->lpVtbl->GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) 15580 #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) (This)->lpVtbl->SetCallbackInterface(This,pCallback,dwFlags) 15581 #endif 15582 #endif 15583 HRESULT WINAPI IDDrawExclModeVideo_SetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject); 15584 void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15585 HRESULT WINAPI IDDrawExclModeVideo_GetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal); 15586 void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15587 HRESULT WINAPI IDDrawExclModeVideo_SetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface); 15588 void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15589 HRESULT WINAPI IDDrawExclModeVideo_GetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal); 15590 void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15591 HRESULT WINAPI IDDrawExclModeVideo_SetDrawParameters_Proxy(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget); 15592 void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15593 HRESULT WINAPI IDDrawExclModeVideo_GetNativeVideoProps_Proxy(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY); 15594 void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15595 HRESULT WINAPI IDDrawExclModeVideo_SetCallbackInterface_Proxy(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags); 15596 void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15597 #endif 15598 15599 enum _AM_OVERLAY_NOTIFY_FLAGS { 15600 AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4 15601 }; 15602 15603 extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec; 15604 extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec; 15605 #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ 15606 #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ 15607 EXTERN_C const IID IID_IDDrawExclModeVideoCallback; 15608 #if defined(__cplusplus) && !defined(CINTERFACE) 15609 struct IDDrawExclModeVideoCallback : public IUnknown { 15610 public: 15611 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; 15612 virtual HRESULT WINAPI OnUpdateColorKey(const COLORKEY *pKey,DWORD dwColor) = 0; 15613 virtual HRESULT WINAPI OnUpdateSize(DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight) = 0; 15614 }; 15615 #else 15616 typedef struct IDDrawExclModeVideoCallbackVtbl { 15617 BEGIN_INTERFACE 15618 HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideoCallback *This,REFIID riid,void **ppvObject); 15619 ULONG (WINAPI *AddRef)(IDDrawExclModeVideoCallback *This); 15620 ULONG (WINAPI *Release)(IDDrawExclModeVideoCallback *This); 15621 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); 15622 HRESULT (WINAPI *OnUpdateColorKey)(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor); 15623 HRESULT (WINAPI *OnUpdateSize)(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight); 15624 END_INTERFACE 15625 } IDDrawExclModeVideoCallbackVtbl; 15626 struct IDDrawExclModeVideoCallback { 15627 CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl; 15628 }; 15629 #ifdef COBJMACROS 15630 #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15631 #define IDDrawExclModeVideoCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 15632 #define IDDrawExclModeVideoCallback_Release(This) (This)->lpVtbl->Release(This) 15633 #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) (This)->lpVtbl->OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) 15634 #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) (This)->lpVtbl->OnUpdateColorKey(This,pKey,dwColor) 15635 #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) (This)->lpVtbl->OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) 15636 #endif 15637 #endif 15638 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); 15639 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15640 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor); 15641 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15642 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight); 15643 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15644 #endif 15645 15646 typedef enum __MIDL___MIDL_itf_strmif_0397_0002 { 15647 VMRSample_SyncPoint = 0x1,VMRSample_Preroll = 0x2,VMRSample_Discontinuity = 0x4,VMRSample_TimeValid = 0x8,VMRSample_SrcDstRectsValid = 0x10 15648 } VMRPresentationFlags; 15649 15650 typedef struct tagVMRPRESENTATIONINFO { 15651 DWORD dwFlags; 15652 LPDIRECTDRAWSURFACE7 lpSurf; 15653 REFERENCE_TIME rtStart; 15654 REFERENCE_TIME rtEnd; 15655 SIZE szAspectRatio; 15656 RECT rcSrc; 15657 RECT rcDst; 15658 DWORD dwTypeSpecificFlags; 15659 DWORD dwInterlaceFlags; 15660 } VMRPRESENTATIONINFO; 15661 15662 extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec; 15663 extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec; 15664 #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__ 15665 #define __IVMRImagePresenter_INTERFACE_DEFINED__ 15666 EXTERN_C const IID IID_IVMRImagePresenter; 15667 #if defined(__cplusplus) && !defined(CINTERFACE) 15668 struct IVMRImagePresenter : public IUnknown { 15669 public: 15670 virtual HRESULT WINAPI StartPresenting(DWORD_PTR dwUserID) = 0; 15671 virtual HRESULT WINAPI StopPresenting(DWORD_PTR dwUserID) = 0; 15672 virtual HRESULT WINAPI PresentImage(DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo) = 0; 15673 }; 15674 #else 15675 typedef struct IVMRImagePresenterVtbl { 15676 BEGIN_INTERFACE 15677 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenter *This,REFIID riid,void **ppvObject); 15678 ULONG (WINAPI *AddRef)(IVMRImagePresenter *This); 15679 ULONG (WINAPI *Release)(IVMRImagePresenter *This); 15680 HRESULT (WINAPI *StartPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID); 15681 HRESULT (WINAPI *StopPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID); 15682 HRESULT (WINAPI *PresentImage)(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo); 15683 END_INTERFACE 15684 } IVMRImagePresenterVtbl; 15685 struct IVMRImagePresenter { 15686 CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl; 15687 }; 15688 #ifdef COBJMACROS 15689 #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15690 #define IVMRImagePresenter_AddRef(This) (This)->lpVtbl->AddRef(This) 15691 #define IVMRImagePresenter_Release(This) (This)->lpVtbl->Release(This) 15692 #define IVMRImagePresenter_StartPresenting(This,dwUserID) (This)->lpVtbl->StartPresenting(This,dwUserID) 15693 #define IVMRImagePresenter_StopPresenting(This,dwUserID) (This)->lpVtbl->StopPresenting(This,dwUserID) 15694 #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) (This)->lpVtbl->PresentImage(This,dwUserID,lpPresInfo) 15695 #endif 15696 #endif 15697 HRESULT WINAPI IVMRImagePresenter_StartPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID); 15698 void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15699 HRESULT WINAPI IVMRImagePresenter_StopPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID); 15700 void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15701 HRESULT WINAPI IVMRImagePresenter_PresentImage_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo); 15702 void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15703 #endif 15704 15705 typedef enum __MIDL___MIDL_itf_strmif_0398_0001 { 15706 AMAP_PIXELFORMAT_VALID = 0x1,AMAP_3D_TARGET = 0x2,AMAP_ALLOW_SYSMEM = 0x4,AMAP_FORCE_SYSMEM = 0x8,AMAP_DIRECTED_FLIP = 0x10,AMAP_DXVA_TARGET = 0x20 15707 } VMRSurfaceAllocationFlags; 15708 15709 typedef struct tagVMRALLOCATIONINFO { 15710 DWORD dwFlags; 15711 LPBITMAPINFOHEADER lpHdr; 15712 LPDDPIXELFORMAT lpPixFmt; 15713 SIZE szAspectRatio; 15714 DWORD dwMinBuffers; 15715 DWORD dwMaxBuffers; 15716 DWORD dwInterlaceFlags; 15717 SIZE szNativeSize; 15718 } VMRALLOCATIONINFO; 15719 15720 extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec; 15721 extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec; 15722 #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__ 15723 #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__ 15724 EXTERN_C const IID IID_IVMRSurfaceAllocator; 15725 #if defined(__cplusplus) && !defined(CINTERFACE) 15726 struct IVMRSurfaceAllocator : public IUnknown { 15727 public: 15728 virtual HRESULT WINAPI AllocateSurface(DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface) = 0; 15729 virtual HRESULT WINAPI FreeSurface(DWORD_PTR dwID) = 0; 15730 virtual HRESULT WINAPI PrepareSurface(DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags) = 0; 15731 virtual HRESULT WINAPI AdviseNotify(IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0; 15732 }; 15733 #else 15734 typedef struct IVMRSurfaceAllocatorVtbl { 15735 BEGIN_INTERFACE 15736 HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocator *This,REFIID riid,void **ppvObject); 15737 ULONG (WINAPI *AddRef)(IVMRSurfaceAllocator *This); 15738 ULONG (WINAPI *Release)(IVMRSurfaceAllocator *This); 15739 HRESULT (WINAPI *AllocateSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface); 15740 HRESULT (WINAPI *FreeSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwID); 15741 HRESULT (WINAPI *PrepareSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags); 15742 HRESULT (WINAPI *AdviseNotify)(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify); 15743 END_INTERFACE 15744 } IVMRSurfaceAllocatorVtbl; 15745 struct IVMRSurfaceAllocator { 15746 CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl; 15747 }; 15748 #ifdef COBJMACROS 15749 #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15750 #define IVMRSurfaceAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 15751 #define IVMRSurfaceAllocator_Release(This) (This)->lpVtbl->Release(This) 15752 #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) (This)->lpVtbl->AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) 15753 #define IVMRSurfaceAllocator_FreeSurface(This,dwID) (This)->lpVtbl->FreeSurface(This,dwID) 15754 #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) (This)->lpVtbl->PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) 15755 #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) (This)->lpVtbl->AdviseNotify(This,lpIVMRSurfAllocNotify) 15756 #endif 15757 #endif 15758 HRESULT WINAPI IVMRSurfaceAllocator_AllocateSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface); 15759 void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15760 HRESULT WINAPI IVMRSurfaceAllocator_FreeSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwID); 15761 void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15762 HRESULT WINAPI IVMRSurfaceAllocator_PrepareSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags); 15763 void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15764 HRESULT WINAPI IVMRSurfaceAllocator_AdviseNotify_Proxy(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify); 15765 void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15766 #endif 15767 15768 #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ 15769 #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ 15770 EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify; 15771 #if defined(__cplusplus) && !defined(CINTERFACE) 15772 struct IVMRSurfaceAllocatorNotify : public IUnknown { 15773 public: 15774 virtual HRESULT WINAPI AdviseSurfaceAllocator(DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0; 15775 virtual HRESULT WINAPI SetDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0; 15776 virtual HRESULT WINAPI ChangeDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0; 15777 virtual HRESULT WINAPI RestoreDDrawSurfaces(void) = 0; 15778 virtual HRESULT WINAPI NotifyEvent(LONG EventCode,LONG_PTR Param1,LONG_PTR Param2) = 0; 15779 virtual HRESULT WINAPI SetBorderColor(COLORREF clrBorder) = 0; 15780 }; 15781 #else 15782 typedef struct IVMRSurfaceAllocatorNotifyVtbl { 15783 BEGIN_INTERFACE 15784 HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocatorNotify *This,REFIID riid,void **ppvObject); 15785 ULONG (WINAPI *AddRef)(IVMRSurfaceAllocatorNotify *This); 15786 ULONG (WINAPI *Release)(IVMRSurfaceAllocatorNotify *This); 15787 HRESULT (WINAPI *AdviseSurfaceAllocator)(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator); 15788 HRESULT (WINAPI *SetDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); 15789 HRESULT (WINAPI *ChangeDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); 15790 HRESULT (WINAPI *RestoreDDrawSurfaces)(IVMRSurfaceAllocatorNotify *This); 15791 HRESULT (WINAPI *NotifyEvent)(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2); 15792 HRESULT (WINAPI *SetBorderColor)(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder); 15793 END_INTERFACE 15794 } IVMRSurfaceAllocatorNotifyVtbl; 15795 struct IVMRSurfaceAllocatorNotify { 15796 CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl; 15797 }; 15798 #ifdef COBJMACROS 15799 #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15800 #define IVMRSurfaceAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 15801 #define IVMRSurfaceAllocatorNotify_Release(This) (This)->lpVtbl->Release(This) 15802 #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) (This)->lpVtbl->AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) 15803 #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->SetDDrawDevice(This,lpDDrawDevice,hMonitor) 15804 #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) 15805 #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) (This)->lpVtbl->RestoreDDrawSurfaces(This) 15806 #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) (This)->lpVtbl->NotifyEvent(This,EventCode,Param1,Param2) 15807 #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) (This)->lpVtbl->SetBorderColor(This,clrBorder) 15808 #endif 15809 #endif 15810 HRESULT WINAPI IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator); 15811 void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15812 HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); 15813 void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15814 HRESULT WINAPI IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); 15815 void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15816 HRESULT WINAPI IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(IVMRSurfaceAllocatorNotify *This); 15817 void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15818 HRESULT WINAPI IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2); 15819 void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15820 HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder); 15821 void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15822 #endif 15823 15824 typedef enum __MIDL___MIDL_itf_strmif_0400_0001 { 15825 VMR_ARMODE_NONE = 0,VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1 15826 } VMR_ASPECT_RATIO_MODE; 15827 15828 extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec; 15829 extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec; 15830 #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__ 15831 #define __IVMRWindowlessControl_INTERFACE_DEFINED__ 15832 EXTERN_C const IID IID_IVMRWindowlessControl; 15833 #if defined(__cplusplus) && !defined(CINTERFACE) 15834 struct IVMRWindowlessControl : public IUnknown { 15835 public: 15836 virtual HRESULT WINAPI GetNativeVideoSize(LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight) = 0; 15837 virtual HRESULT WINAPI GetMinIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0; 15838 virtual HRESULT WINAPI GetMaxIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0; 15839 virtual HRESULT WINAPI SetVideoPosition(const LPRECT lpSRCRect,const LPRECT lpDSTRect) = 0; 15840 virtual HRESULT WINAPI GetVideoPosition(LPRECT lpSRCRect,LPRECT lpDSTRect) = 0; 15841 virtual HRESULT WINAPI GetAspectRatioMode(DWORD *lpAspectRatioMode) = 0; 15842 virtual HRESULT WINAPI SetAspectRatioMode(DWORD AspectRatioMode) = 0; 15843 virtual HRESULT WINAPI SetVideoClippingWindow(HWND hwnd) = 0; 15844 virtual HRESULT WINAPI RepaintVideo(HWND hwnd,HDC hdc) = 0; 15845 virtual HRESULT WINAPI DisplayModeChanged(void) = 0; 15846 virtual HRESULT WINAPI GetCurrentImage(BYTE **lpDib) = 0; 15847 virtual HRESULT WINAPI SetBorderColor(COLORREF Clr) = 0; 15848 virtual HRESULT WINAPI GetBorderColor(COLORREF *lpClr) = 0; 15849 virtual HRESULT WINAPI SetColorKey(COLORREF Clr) = 0; 15850 virtual HRESULT WINAPI GetColorKey(COLORREF *lpClr) = 0; 15851 }; 15852 #else 15853 typedef struct IVMRWindowlessControlVtbl { 15854 BEGIN_INTERFACE 15855 HRESULT (WINAPI *QueryInterface)(IVMRWindowlessControl *This,REFIID riid,void **ppvObject); 15856 ULONG (WINAPI *AddRef)(IVMRWindowlessControl *This); 15857 ULONG (WINAPI *Release)(IVMRWindowlessControl *This); 15858 HRESULT (WINAPI *GetNativeVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight); 15859 HRESULT (WINAPI *GetMinIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); 15860 HRESULT (WINAPI *GetMaxIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); 15861 HRESULT (WINAPI *SetVideoPosition)(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect); 15862 HRESULT (WINAPI *GetVideoPosition)(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect); 15863 HRESULT (WINAPI *GetAspectRatioMode)(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode); 15864 HRESULT (WINAPI *SetAspectRatioMode)(IVMRWindowlessControl *This,DWORD AspectRatioMode); 15865 HRESULT (WINAPI *SetVideoClippingWindow)(IVMRWindowlessControl *This,HWND hwnd); 15866 HRESULT (WINAPI *RepaintVideo)(IVMRWindowlessControl *This,HWND hwnd,HDC hdc); 15867 HRESULT (WINAPI *DisplayModeChanged)(IVMRWindowlessControl *This); 15868 HRESULT (WINAPI *GetCurrentImage)(IVMRWindowlessControl *This,BYTE **lpDib); 15869 HRESULT (WINAPI *SetBorderColor)(IVMRWindowlessControl *This,COLORREF Clr); 15870 HRESULT (WINAPI *GetBorderColor)(IVMRWindowlessControl *This,COLORREF *lpClr); 15871 HRESULT (WINAPI *SetColorKey)(IVMRWindowlessControl *This,COLORREF Clr); 15872 HRESULT (WINAPI *GetColorKey)(IVMRWindowlessControl *This,COLORREF *lpClr); 15873 END_INTERFACE 15874 } IVMRWindowlessControlVtbl; 15875 struct IVMRWindowlessControl { 15876 CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl; 15877 }; 15878 #ifdef COBJMACROS 15879 #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15880 #define IVMRWindowlessControl_AddRef(This) (This)->lpVtbl->AddRef(This) 15881 #define IVMRWindowlessControl_Release(This) (This)->lpVtbl->Release(This) 15882 #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) (This)->lpVtbl->GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) 15883 #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMinIdealVideoSize(This,lpWidth,lpHeight) 15884 #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMaxIdealVideoSize(This,lpWidth,lpHeight) 15885 #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->SetVideoPosition(This,lpSRCRect,lpDSTRect) 15886 #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->GetVideoPosition(This,lpSRCRect,lpDSTRect) 15887 #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,lpAspectRatioMode) 15888 #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,AspectRatioMode) 15889 #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd) 15890 #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc) 15891 #define IVMRWindowlessControl_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This) 15892 #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) (This)->lpVtbl->GetCurrentImage(This,lpDib) 15893 #define IVMRWindowlessControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr) 15894 #define IVMRWindowlessControl_GetBorderColor(This,lpClr) (This)->lpVtbl->GetBorderColor(This,lpClr) 15895 #define IVMRWindowlessControl_SetColorKey(This,Clr) (This)->lpVtbl->SetColorKey(This,Clr) 15896 #define IVMRWindowlessControl_GetColorKey(This,lpClr) (This)->lpVtbl->GetColorKey(This,lpClr) 15897 #endif 15898 #endif 15899 HRESULT WINAPI IVMRWindowlessControl_GetNativeVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight); 15900 void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15901 HRESULT WINAPI IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); 15902 void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15903 HRESULT WINAPI IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); 15904 void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15905 HRESULT WINAPI IVMRWindowlessControl_SetVideoPosition_Proxy(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect); 15906 void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15907 HRESULT WINAPI IVMRWindowlessControl_GetVideoPosition_Proxy(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect); 15908 void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15909 HRESULT WINAPI IVMRWindowlessControl_GetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode); 15910 void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15911 HRESULT WINAPI IVMRWindowlessControl_SetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD AspectRatioMode); 15912 void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15913 HRESULT WINAPI IVMRWindowlessControl_SetVideoClippingWindow_Proxy(IVMRWindowlessControl *This,HWND hwnd); 15914 void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15915 HRESULT WINAPI IVMRWindowlessControl_RepaintVideo_Proxy(IVMRWindowlessControl *This,HWND hwnd,HDC hdc); 15916 void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15917 HRESULT WINAPI IVMRWindowlessControl_DisplayModeChanged_Proxy(IVMRWindowlessControl *This); 15918 void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15919 HRESULT WINAPI IVMRWindowlessControl_GetCurrentImage_Proxy(IVMRWindowlessControl *This,BYTE **lpDib); 15920 void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15921 HRESULT WINAPI IVMRWindowlessControl_SetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF Clr); 15922 void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15923 HRESULT WINAPI IVMRWindowlessControl_GetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr); 15924 void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15925 HRESULT WINAPI IVMRWindowlessControl_SetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF Clr); 15926 void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15927 HRESULT WINAPI IVMRWindowlessControl_GetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr); 15928 void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15929 #endif 15930 15931 typedef enum __MIDL___MIDL_itf_strmif_0401_0001 { 15932 MixerPref_NoDecimation = 0x1,MixerPref_DecimateOutput = 0x2,MixerPref_ARAdjustXorY = 0x4,MixerPref_DecimationReserved = 0x8, 15933 MixerPref_DecimateMask = 0xf,MixerPref_BiLinearFiltering = 0x10,MixerPref_PointFiltering = 0x20,MixerPref_FilteringMask = 0xf0, 15934 MixerPref_RenderTargetRGB = 0x100,MixerPref_RenderTargetYUV = 0x1000,MixerPref_RenderTargetYUV420 = 0x200,MixerPref_RenderTargetYUV422 = 0x400, 15935 MixerPref_RenderTargetYUV444 = 0x800,MixerPref_RenderTargetReserved = 0xe000,MixerPref_RenderTargetMask = 0xff00, 15936 MixerPref_DynamicSwitchToBOB = 0x10000,MixerPref_DynamicDecimateBy2 = 0x20000,MixerPref_DynamicReserved = 0xc0000, 15937 MixerPref_DynamicMask = 0xf0000 15938 } VMRMixerPrefs; 15939 15940 typedef struct _NORMALIZEDRECT { 15941 float left; 15942 float top; 15943 float right; 15944 float bottom; 15945 } NORMALIZEDRECT; 15946 15947 typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT; 15948 15949 extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_c_ifspec; 15950 extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_s_ifspec; 15951 #ifndef __IVMRMixerControl_INTERFACE_DEFINED__ 15952 #define __IVMRMixerControl_INTERFACE_DEFINED__ 15953 EXTERN_C const IID IID_IVMRMixerControl; 15954 #if defined(__cplusplus) && !defined(CINTERFACE) 15955 struct IVMRMixerControl : public IUnknown { 15956 public: 15957 virtual HRESULT WINAPI SetAlpha(DWORD dwStreamID,float Alpha) = 0; 15958 virtual HRESULT WINAPI GetAlpha(DWORD dwStreamID,float *pAlpha) = 0; 15959 virtual HRESULT WINAPI SetZOrder(DWORD dwStreamID,DWORD dwZ) = 0; 15960 virtual HRESULT WINAPI GetZOrder(DWORD dwStreamID,DWORD *pZ) = 0; 15961 virtual HRESULT WINAPI SetOutputRect(DWORD dwStreamID,const NORMALIZEDRECT *pRect) = 0; 15962 virtual HRESULT WINAPI GetOutputRect(DWORD dwStreamID,NORMALIZEDRECT *pRect) = 0; 15963 virtual HRESULT WINAPI SetBackgroundClr(COLORREF ClrBkg) = 0; 15964 virtual HRESULT WINAPI GetBackgroundClr(COLORREF *lpClrBkg) = 0; 15965 virtual HRESULT WINAPI SetMixingPrefs(DWORD dwMixerPrefs) = 0; 15966 virtual HRESULT WINAPI GetMixingPrefs(DWORD *pdwMixerPrefs) = 0; 15967 }; 15968 #else 15969 typedef struct IVMRMixerControlVtbl { 15970 BEGIN_INTERFACE 15971 HRESULT (WINAPI *QueryInterface)(IVMRMixerControl *This,REFIID riid,void **ppvObject); 15972 ULONG (WINAPI *AddRef)(IVMRMixerControl *This); 15973 ULONG (WINAPI *Release)(IVMRMixerControl *This); 15974 HRESULT (WINAPI *SetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float Alpha); 15975 HRESULT (WINAPI *GetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha); 15976 HRESULT (WINAPI *SetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ); 15977 HRESULT (WINAPI *GetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ); 15978 HRESULT (WINAPI *SetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect); 15979 HRESULT (WINAPI *GetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect); 15980 HRESULT (WINAPI *SetBackgroundClr)(IVMRMixerControl *This,COLORREF ClrBkg); 15981 HRESULT (WINAPI *GetBackgroundClr)(IVMRMixerControl *This,COLORREF *lpClrBkg); 15982 HRESULT (WINAPI *SetMixingPrefs)(IVMRMixerControl *This,DWORD dwMixerPrefs); 15983 HRESULT (WINAPI *GetMixingPrefs)(IVMRMixerControl *This,DWORD *pdwMixerPrefs); 15984 END_INTERFACE 15985 } IVMRMixerControlVtbl; 15986 struct IVMRMixerControl { 15987 CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl; 15988 }; 15989 #ifdef COBJMACROS 15990 #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15991 #define IVMRMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This) 15992 #define IVMRMixerControl_Release(This) (This)->lpVtbl->Release(This) 15993 #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) (This)->lpVtbl->SetAlpha(This,dwStreamID,Alpha) 15994 #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) (This)->lpVtbl->GetAlpha(This,dwStreamID,pAlpha) 15995 #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetZOrder(This,dwStreamID,dwZ) 15996 #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) (This)->lpVtbl->GetZOrder(This,dwStreamID,pZ) 15997 #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->SetOutputRect(This,dwStreamID,pRect) 15998 #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->GetOutputRect(This,dwStreamID,pRect) 15999 #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) (This)->lpVtbl->SetBackgroundClr(This,ClrBkg) 16000 #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) (This)->lpVtbl->GetBackgroundClr(This,lpClrBkg) 16001 #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) (This)->lpVtbl->SetMixingPrefs(This,dwMixerPrefs) 16002 #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) (This)->lpVtbl->GetMixingPrefs(This,pdwMixerPrefs) 16003 #endif 16004 #endif 16005 HRESULT WINAPI IVMRMixerControl_SetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float Alpha); 16006 void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16007 HRESULT WINAPI IVMRMixerControl_GetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha); 16008 void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16009 HRESULT WINAPI IVMRMixerControl_SetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ); 16010 void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16011 HRESULT WINAPI IVMRMixerControl_GetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ); 16012 void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16013 HRESULT WINAPI IVMRMixerControl_SetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect); 16014 void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16015 HRESULT WINAPI IVMRMixerControl_GetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect); 16016 void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16017 HRESULT WINAPI IVMRMixerControl_SetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF ClrBkg); 16018 void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16019 HRESULT WINAPI IVMRMixerControl_GetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF *lpClrBkg); 16020 void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16021 HRESULT WINAPI IVMRMixerControl_SetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD dwMixerPrefs); 16022 void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16023 HRESULT WINAPI IVMRMixerControl_GetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD *pdwMixerPrefs); 16024 16025 void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16026 #endif 16027 16028 #ifdef __cplusplus 16029 typedef struct tagVMRGUID { 16030 ::GUID *pGUID; 16031 ::GUID GUID; 16032 } VMRGUID; 16033 #else 16034 typedef struct tagVMRGUID { 16035 GUID *pGUID; 16036 GUID GUID; 16037 } VMRGUID; 16038 #endif 16039 16040 typedef struct tagVMRMONITORINFO { 16041 VMRGUID guid; 16042 RECT rcMonitor; 16043 HMONITOR hMon; 16044 DWORD dwFlags; 16045 wchar_t szDevice[32]; 16046 wchar_t szDescription[256]; 16047 LARGE_INTEGER liDriverVersion; 16048 DWORD dwVendorId; 16049 DWORD dwDeviceId; 16050 DWORD dwSubSysId; 16051 DWORD dwRevision; 16052 } VMRMONITORINFO; 16053 16054 extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_c_ifspec; 16055 extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_s_ifspec; 16056 #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__ 16057 #define __IVMRMonitorConfig_INTERFACE_DEFINED__ 16058 EXTERN_C const IID IID_IVMRMonitorConfig; 16059 #if defined(__cplusplus) && !defined(CINTERFACE) 16060 struct IVMRMonitorConfig : public IUnknown { 16061 public: 16062 virtual HRESULT WINAPI SetMonitor(const VMRGUID *pGUID) = 0; 16063 virtual HRESULT WINAPI GetMonitor(VMRGUID *pGUID) = 0; 16064 virtual HRESULT WINAPI SetDefaultMonitor(const VMRGUID *pGUID) = 0; 16065 virtual HRESULT WINAPI GetDefaultMonitor(VMRGUID *pGUID) = 0; 16066 virtual HRESULT WINAPI GetAvailableMonitors(VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices) = 0; 16067 }; 16068 #else 16069 typedef struct IVMRMonitorConfigVtbl { 16070 BEGIN_INTERFACE 16071 HRESULT (WINAPI *QueryInterface)(IVMRMonitorConfig *This,REFIID riid,void **ppvObject); 16072 ULONG (WINAPI *AddRef)(IVMRMonitorConfig *This); 16073 ULONG (WINAPI *Release)(IVMRMonitorConfig *This); 16074 HRESULT (WINAPI *SetMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID); 16075 HRESULT (WINAPI *GetMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID); 16076 HRESULT (WINAPI *SetDefaultMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID); 16077 HRESULT (WINAPI *GetDefaultMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID); 16078 HRESULT (WINAPI *GetAvailableMonitors)(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices); 16079 END_INTERFACE 16080 } IVMRMonitorConfigVtbl; 16081 struct IVMRMonitorConfig { 16082 CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl; 16083 }; 16084 #ifdef COBJMACROS 16085 #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16086 #define IVMRMonitorConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 16087 #define IVMRMonitorConfig_Release(This) (This)->lpVtbl->Release(This) 16088 #define IVMRMonitorConfig_SetMonitor(This,pGUID) (This)->lpVtbl->SetMonitor(This,pGUID) 16089 #define IVMRMonitorConfig_GetMonitor(This,pGUID) (This)->lpVtbl->GetMonitor(This,pGUID) 16090 #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) (This)->lpVtbl->SetDefaultMonitor(This,pGUID) 16091 #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) (This)->lpVtbl->GetDefaultMonitor(This,pGUID) 16092 #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) (This)->lpVtbl->GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) 16093 #endif 16094 #endif 16095 HRESULT WINAPI IVMRMonitorConfig_SetMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID); 16096 void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16097 HRESULT WINAPI IVMRMonitorConfig_GetMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID); 16098 void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16099 HRESULT WINAPI IVMRMonitorConfig_SetDefaultMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID); 16100 void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16101 HRESULT WINAPI IVMRMonitorConfig_GetDefaultMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID); 16102 void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16103 HRESULT WINAPI IVMRMonitorConfig_GetAvailableMonitors_Proxy(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices); 16104 void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16105 #endif 16106 16107 typedef enum __MIDL___MIDL_itf_strmif_0403_0001 { 16108 RenderPrefs_RestrictToInitialMonitor = 0,RenderPrefs_ForceOffscreen = 0x1,RenderPrefs_ForceOverlays = 0x2,RenderPrefs_AllowOverlays = 0, 16109 RenderPrefs_AllowOffscreen = 0,RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,RenderPrefs_Reserved = 0x10,RenderPrefs_PreferAGPMemWhenMixing = 0x20, 16110 RenderPrefs_Mask = 0x3f 16111 } VMRRenderPrefs; 16112 16113 typedef enum __MIDL___MIDL_itf_strmif_0403_0002 { 16114 VMRMode_Windowed = 0x1,VMRMode_Windowless = 0x2,VMRMode_Renderless = 0x4,VMRMode_Mask = 0x7 16115 } VMRMode; 16116 16117 enum __MIDL___MIDL_itf_strmif_0403_0003 { 16118 MAX_NUMBER_OF_STREAMS = 16 16119 }; 16120 16121 extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec; 16122 extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec; 16123 #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__ 16124 #define __IVMRFilterConfig_INTERFACE_DEFINED__ 16125 EXTERN_C const IID IID_IVMRFilterConfig; 16126 #if defined(__cplusplus) && !defined(CINTERFACE) 16127 struct IVMRFilterConfig : public IUnknown { 16128 public: 16129 virtual HRESULT WINAPI SetImageCompositor(IVMRImageCompositor *lpVMRImgCompositor) = 0; 16130 virtual HRESULT WINAPI SetNumberOfStreams(DWORD dwMaxStreams) = 0; 16131 virtual HRESULT WINAPI GetNumberOfStreams(DWORD *pdwMaxStreams) = 0; 16132 virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0; 16133 virtual HRESULT WINAPI GetRenderingPrefs(DWORD *pdwRenderFlags) = 0; 16134 virtual HRESULT WINAPI SetRenderingMode(DWORD Mode) = 0; 16135 virtual HRESULT WINAPI GetRenderingMode(DWORD *pMode) = 0; 16136 }; 16137 #else 16138 typedef struct IVMRFilterConfigVtbl { 16139 BEGIN_INTERFACE 16140 HRESULT (WINAPI *QueryInterface)(IVMRFilterConfig *This,REFIID riid,void **ppvObject); 16141 ULONG (WINAPI *AddRef)(IVMRFilterConfig *This); 16142 ULONG (WINAPI *Release)(IVMRFilterConfig *This); 16143 HRESULT (WINAPI *SetImageCompositor)(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor); 16144 HRESULT (WINAPI *SetNumberOfStreams)(IVMRFilterConfig *This,DWORD dwMaxStreams); 16145 HRESULT (WINAPI *GetNumberOfStreams)(IVMRFilterConfig *This,DWORD *pdwMaxStreams); 16146 HRESULT (WINAPI *SetRenderingPrefs)(IVMRFilterConfig *This,DWORD dwRenderFlags); 16147 HRESULT (WINAPI *GetRenderingPrefs)(IVMRFilterConfig *This,DWORD *pdwRenderFlags); 16148 HRESULT (WINAPI *SetRenderingMode)(IVMRFilterConfig *This,DWORD Mode); 16149 HRESULT (WINAPI *GetRenderingMode)(IVMRFilterConfig *This,DWORD *pMode); 16150 END_INTERFACE 16151 } IVMRFilterConfigVtbl; 16152 struct IVMRFilterConfig { 16153 CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl; 16154 }; 16155 #ifdef COBJMACROS 16156 #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16157 #define IVMRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 16158 #define IVMRFilterConfig_Release(This) (This)->lpVtbl->Release(This) 16159 #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) (This)->lpVtbl->SetImageCompositor(This,lpVMRImgCompositor) 16160 #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams) 16161 #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams) 16162 #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) 16163 #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags) 16164 #define IVMRFilterConfig_SetRenderingMode(This,Mode) (This)->lpVtbl->SetRenderingMode(This,Mode) 16165 #define IVMRFilterConfig_GetRenderingMode(This,pMode) (This)->lpVtbl->GetRenderingMode(This,pMode) 16166 #endif 16167 #endif 16168 HRESULT WINAPI IVMRFilterConfig_SetImageCompositor_Proxy(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor); 16169 void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16170 HRESULT WINAPI IVMRFilterConfig_SetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD dwMaxStreams); 16171 void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16172 HRESULT WINAPI IVMRFilterConfig_GetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD *pdwMaxStreams); 16173 void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16174 HRESULT WINAPI IVMRFilterConfig_SetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD dwRenderFlags); 16175 void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16176 HRESULT WINAPI IVMRFilterConfig_GetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD *pdwRenderFlags); 16177 void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16178 HRESULT WINAPI IVMRFilterConfig_SetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD Mode); 16179 void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16180 HRESULT WINAPI IVMRFilterConfig_GetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD *pMode); 16181 void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16182 #endif 16183 16184 #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__ 16185 #define __IVMRAspectRatioControl_INTERFACE_DEFINED__ 16186 EXTERN_C const IID IID_IVMRAspectRatioControl; 16187 #if defined(__cplusplus) && !defined(CINTERFACE) 16188 struct IVMRAspectRatioControl : public IUnknown { 16189 public: 16190 virtual HRESULT WINAPI GetAspectRatioMode(LPDWORD lpdwARMode) = 0; 16191 virtual HRESULT WINAPI SetAspectRatioMode(DWORD dwARMode) = 0; 16192 }; 16193 #else 16194 typedef struct IVMRAspectRatioControlVtbl { 16195 BEGIN_INTERFACE 16196 HRESULT (WINAPI *QueryInterface)(IVMRAspectRatioControl *This,REFIID riid,void **ppvObject); 16197 ULONG (WINAPI *AddRef)(IVMRAspectRatioControl *This); 16198 ULONG (WINAPI *Release)(IVMRAspectRatioControl *This); 16199 HRESULT (WINAPI *GetAspectRatioMode)(IVMRAspectRatioControl *This,LPDWORD lpdwARMode); 16200 HRESULT (WINAPI *SetAspectRatioMode)(IVMRAspectRatioControl *This,DWORD dwARMode); 16201 END_INTERFACE 16202 } IVMRAspectRatioControlVtbl; 16203 struct IVMRAspectRatioControl { 16204 CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl; 16205 }; 16206 #ifdef COBJMACROS 16207 #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16208 #define IVMRAspectRatioControl_AddRef(This) (This)->lpVtbl->AddRef(This) 16209 #define IVMRAspectRatioControl_Release(This) (This)->lpVtbl->Release(This) 16210 #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) (This)->lpVtbl->GetAspectRatioMode(This,lpdwARMode) 16211 #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) (This)->lpVtbl->SetAspectRatioMode(This,dwARMode) 16212 #endif 16213 #endif 16214 HRESULT WINAPI IVMRAspectRatioControl_GetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,LPDWORD lpdwARMode); 16215 void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16216 HRESULT WINAPI IVMRAspectRatioControl_SetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,DWORD dwARMode); 16217 void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16218 #endif 16219 16220 typedef enum __MIDL___MIDL_itf_strmif_0405_0001 { 16221 DeinterlacePref_NextBest = 0x1,DeinterlacePref_BOB = 0x2,DeinterlacePref_Weave = 0x4,DeinterlacePref_Mask = 0x7 16222 } VMRDeinterlacePrefs; 16223 16224 typedef enum __MIDL___MIDL_itf_strmif_0405_0002 { 16225 DeinterlaceTech_Unknown = 0,DeinterlaceTech_BOBLineReplicate = 0x1,DeinterlaceTech_BOBVerticalStretch = 0x2,DeinterlaceTech_MedianFiltering = 0x4, 16226 DeinterlaceTech_EdgeFiltering = 0x10,DeinterlaceTech_FieldAdaptive = 0x20,DeinterlaceTech_PixelAdaptive = 0x40, 16227 DeinterlaceTech_MotionVectorSteered = 0x80 16228 } VMRDeinterlaceTech; 16229 16230 typedef struct _VMRFrequency { 16231 DWORD dwNumerator; 16232 DWORD dwDenominator; 16233 } VMRFrequency; 16234 16235 typedef struct _VMRVideoDesc { 16236 DWORD dwSize; 16237 DWORD dwSampleWidth; 16238 DWORD dwSampleHeight; 16239 WINBOOL SingleFieldPerSample; 16240 DWORD dwFourCC; 16241 VMRFrequency InputSampleFreq; 16242 VMRFrequency OutputFrameFreq; 16243 } VMRVideoDesc; 16244 16245 typedef struct _VMRDeinterlaceCaps { 16246 DWORD dwSize; 16247 DWORD dwNumPreviousOutputFrames; 16248 DWORD dwNumForwardRefSamples; 16249 DWORD dwNumBackwardRefSamples; 16250 VMRDeinterlaceTech DeinterlaceTechnology; 16251 } VMRDeinterlaceCaps; 16252 16253 extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_c_ifspec; 16254 extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_s_ifspec; 16255 #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__ 16256 #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__ 16257 EXTERN_C const IID IID_IVMRDeinterlaceControl; 16258 #if defined(__cplusplus) && !defined(CINTERFACE) 16259 struct IVMRDeinterlaceControl : public IUnknown { 16260 public: 16261 virtual HRESULT WINAPI GetNumberOfDeinterlaceModes(VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes) = 0; 16262 virtual HRESULT WINAPI GetDeinterlaceModeCaps(LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0; 16263 virtual HRESULT WINAPI GetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; 16264 virtual HRESULT WINAPI SetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; 16265 virtual HRESULT WINAPI GetDeinterlacePrefs(LPDWORD lpdwDeinterlacePrefs) = 0; 16266 virtual HRESULT WINAPI SetDeinterlacePrefs(DWORD dwDeinterlacePrefs) = 0; 16267 virtual HRESULT WINAPI GetActualDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; 16268 }; 16269 #else 16270 typedef struct IVMRDeinterlaceControlVtbl { 16271 BEGIN_INTERFACE 16272 HRESULT (WINAPI *QueryInterface)(IVMRDeinterlaceControl *This,REFIID riid,void **ppvObject); 16273 ULONG (WINAPI *AddRef)(IVMRDeinterlaceControl *This); 16274 ULONG (WINAPI *Release)(IVMRDeinterlaceControl *This); 16275 HRESULT (WINAPI *GetNumberOfDeinterlaceModes)(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes); 16276 HRESULT (WINAPI *GetDeinterlaceModeCaps)(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps); 16277 HRESULT (WINAPI *GetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 16278 HRESULT (WINAPI *SetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 16279 HRESULT (WINAPI *GetDeinterlacePrefs)(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs); 16280 HRESULT (WINAPI *SetDeinterlacePrefs)(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs); 16281 HRESULT (WINAPI *GetActualDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 16282 END_INTERFACE 16283 } IVMRDeinterlaceControlVtbl; 16284 struct IVMRDeinterlaceControl { 16285 CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl; 16286 }; 16287 #ifdef COBJMACROS 16288 #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16289 #define IVMRDeinterlaceControl_AddRef(This) (This)->lpVtbl->AddRef(This) 16290 #define IVMRDeinterlaceControl_Release(This) (This)->lpVtbl->Release(This) 16291 #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) 16292 #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) 16293 #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) 16294 #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) 16295 #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) (This)->lpVtbl->GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) 16296 #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) (This)->lpVtbl->SetDeinterlacePrefs(This,dwDeinterlacePrefs) 16297 #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) 16298 #endif 16299 #endif 16300 HRESULT WINAPI IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes); 16301 void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16302 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps); 16303 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16304 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 16305 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16306 HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 16307 void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16308 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs); 16309 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16310 HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs); 16311 void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16312 HRESULT WINAPI IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 16313 void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16314 #endif 16315 16316 typedef struct _VMRALPHABITMAP { 16317 DWORD dwFlags; 16318 HDC hdc; 16319 LPDIRECTDRAWSURFACE7 pDDS; 16320 RECT rSrc; 16321 NORMALIZEDRECT rDest; 16322 FLOAT fAlpha; 16323 COLORREF clrSrcKey; 16324 } VMRALPHABITMAP; 16325 16326 typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP; 16327 16328 #define VMRBITMAP_DISABLE 0x00000001 16329 #define VMRBITMAP_HDC 0x00000002 16330 #define VMRBITMAP_ENTIREDDS 0x00000004 16331 #define VMRBITMAP_SRCCOLORKEY 0x00000008 16332 #define VMRBITMAP_SRCRECT 0x00000010 16333 16334 extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec; 16335 extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec; 16336 #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__ 16337 #define __IVMRMixerBitmap_INTERFACE_DEFINED__ 16338 EXTERN_C const IID IID_IVMRMixerBitmap; 16339 #if defined(__cplusplus) && !defined(CINTERFACE) 16340 struct IVMRMixerBitmap : public IUnknown { 16341 public: 16342 virtual HRESULT WINAPI SetAlphaBitmap(const VMRALPHABITMAP *pBmpParms) = 0; 16343 virtual HRESULT WINAPI UpdateAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0; 16344 virtual HRESULT WINAPI GetAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0; 16345 }; 16346 #else 16347 typedef struct IVMRMixerBitmapVtbl { 16348 BEGIN_INTERFACE 16349 HRESULT (WINAPI *QueryInterface)(IVMRMixerBitmap *This,REFIID riid,void **ppvObject); 16350 ULONG (WINAPI *AddRef)(IVMRMixerBitmap *This); 16351 ULONG (WINAPI *Release)(IVMRMixerBitmap *This); 16352 HRESULT (WINAPI *SetAlphaBitmap)(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms); 16353 HRESULT (WINAPI *UpdateAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); 16354 HRESULT (WINAPI *GetAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); 16355 END_INTERFACE 16356 } IVMRMixerBitmapVtbl; 16357 struct IVMRMixerBitmap { 16358 CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl; 16359 }; 16360 #ifdef COBJMACROS 16361 #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16362 #define IVMRMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This) 16363 #define IVMRMixerBitmap_Release(This) (This)->lpVtbl->Release(This) 16364 #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) (This)->lpVtbl->SetAlphaBitmap(This,pBmpParms) 16365 #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,pBmpParms) 16366 #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->GetAlphaBitmapParameters(This,pBmpParms) 16367 #endif 16368 #endif 16369 HRESULT WINAPI IVMRMixerBitmap_SetAlphaBitmap_Proxy(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms); 16370 void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16371 HRESULT WINAPI IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); 16372 void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16373 HRESULT WINAPI IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); 16374 void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16375 #endif 16376 16377 typedef struct _VMRVIDEOSTREAMINFO { 16378 LPDIRECTDRAWSURFACE7 pddsVideoSurface; 16379 DWORD dwWidth; 16380 DWORD dwHeight; 16381 DWORD dwStrmID; 16382 FLOAT fAlpha; 16383 DDCOLORKEY ddClrKey; 16384 NORMALIZEDRECT rNormal; 16385 } VMRVIDEOSTREAMINFO; 16386 16387 extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_c_ifspec; 16388 extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_s_ifspec; 16389 #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__ 16390 #define __IVMRImageCompositor_INTERFACE_DEFINED__ 16391 EXTERN_C const IID IID_IVMRImageCompositor; 16392 #if defined(__cplusplus) && !defined(CINTERFACE) 16393 struct IVMRImageCompositor : public IUnknown { 16394 public: 16395 virtual HRESULT WINAPI InitCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0; 16396 virtual HRESULT WINAPI TermCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0; 16397 virtual HRESULT WINAPI SetStreamMediaType(DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture) = 0; 16398 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; 16399 }; 16400 #else 16401 typedef struct IVMRImageCompositorVtbl { 16402 BEGIN_INTERFACE 16403 HRESULT (WINAPI *QueryInterface)(IVMRImageCompositor *This,REFIID riid,void **ppvObject); 16404 ULONG (WINAPI *AddRef)(IVMRImageCompositor *This); 16405 ULONG (WINAPI *Release)(IVMRImageCompositor *This); 16406 HRESULT (WINAPI *InitCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); 16407 HRESULT (WINAPI *TermCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); 16408 HRESULT (WINAPI *SetStreamMediaType)(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture); 16409 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); 16410 END_INTERFACE 16411 } IVMRImageCompositorVtbl; 16412 struct IVMRImageCompositor { 16413 CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl; 16414 }; 16415 #ifdef COBJMACROS 16416 #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16417 #define IVMRImageCompositor_AddRef(This) (This)->lpVtbl->AddRef(This) 16418 #define IVMRImageCompositor_Release(This) (This)->lpVtbl->Release(This) 16419 #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) 16420 #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) 16421 #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) (This)->lpVtbl->SetStreamMediaType(This,dwStrmID,pmt,fTexture) 16422 #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) (This)->lpVtbl->CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) 16423 #endif 16424 #endif 16425 HRESULT WINAPI IVMRImageCompositor_InitCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); 16426 void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16427 HRESULT WINAPI IVMRImageCompositor_TermCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); 16428 void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16429 HRESULT WINAPI IVMRImageCompositor_SetStreamMediaType_Proxy(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture); 16430 void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16431 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); 16432 void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16433 #endif 16434 16435 #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__ 16436 #define __IVMRVideoStreamControl_INTERFACE_DEFINED__ 16437 EXTERN_C const IID IID_IVMRVideoStreamControl; 16438 #if defined(__cplusplus) && !defined(CINTERFACE) 16439 struct IVMRVideoStreamControl : public IUnknown { 16440 public: 16441 virtual HRESULT WINAPI SetColorKey(LPDDCOLORKEY lpClrKey) = 0; 16442 virtual HRESULT WINAPI GetColorKey(LPDDCOLORKEY lpClrKey) = 0; 16443 virtual HRESULT WINAPI SetStreamActiveState(WINBOOL fActive) = 0; 16444 virtual HRESULT WINAPI GetStreamActiveState(WINBOOL *lpfActive) = 0; 16445 }; 16446 #else 16447 typedef struct IVMRVideoStreamControlVtbl { 16448 BEGIN_INTERFACE 16449 HRESULT (WINAPI *QueryInterface)(IVMRVideoStreamControl *This,REFIID riid,void **ppvObject); 16450 ULONG (WINAPI *AddRef)(IVMRVideoStreamControl *This); 16451 ULONG (WINAPI *Release)(IVMRVideoStreamControl *This); 16452 HRESULT (WINAPI *SetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); 16453 HRESULT (WINAPI *GetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); 16454 HRESULT (WINAPI *SetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL fActive); 16455 HRESULT (WINAPI *GetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL *lpfActive); 16456 END_INTERFACE 16457 } IVMRVideoStreamControlVtbl; 16458 struct IVMRVideoStreamControl { 16459 CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl; 16460 }; 16461 #ifdef COBJMACROS 16462 #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16463 #define IVMRVideoStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) 16464 #define IVMRVideoStreamControl_Release(This) (This)->lpVtbl->Release(This) 16465 #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) (This)->lpVtbl->SetColorKey(This,lpClrKey) 16466 #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) (This)->lpVtbl->GetColorKey(This,lpClrKey) 16467 #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) (This)->lpVtbl->SetStreamActiveState(This,fActive) 16468 #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) (This)->lpVtbl->GetStreamActiveState(This,lpfActive) 16469 #endif 16470 #endif 16471 HRESULT WINAPI IVMRVideoStreamControl_SetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); 16472 void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16473 HRESULT WINAPI IVMRVideoStreamControl_GetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); 16474 void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16475 HRESULT WINAPI IVMRVideoStreamControl_SetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL fActive); 16476 void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16477 HRESULT WINAPI IVMRVideoStreamControl_GetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL *lpfActive); 16478 void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16479 #endif 16480 16481 #ifndef __IVMRSurface_INTERFACE_DEFINED__ 16482 #define __IVMRSurface_INTERFACE_DEFINED__ 16483 EXTERN_C const IID IID_IVMRSurface; 16484 #if defined(__cplusplus) && !defined(CINTERFACE) 16485 struct IVMRSurface : public IUnknown { 16486 public: 16487 virtual HRESULT WINAPI IsSurfaceLocked(void) = 0; 16488 virtual HRESULT WINAPI LockSurface(BYTE **lpSurface) = 0; 16489 virtual HRESULT WINAPI UnlockSurface(void) = 0; 16490 virtual HRESULT WINAPI GetSurface(LPDIRECTDRAWSURFACE7 *lplpSurface) = 0; 16491 }; 16492 #else 16493 typedef struct IVMRSurfaceVtbl { 16494 BEGIN_INTERFACE 16495 HRESULT (WINAPI *QueryInterface)(IVMRSurface *This,REFIID riid,void **ppvObject); 16496 ULONG (WINAPI *AddRef)(IVMRSurface *This); 16497 ULONG (WINAPI *Release)(IVMRSurface *This); 16498 HRESULT (WINAPI *IsSurfaceLocked)(IVMRSurface *This); 16499 HRESULT (WINAPI *LockSurface)(IVMRSurface *This,BYTE **lpSurface); 16500 HRESULT (WINAPI *UnlockSurface)(IVMRSurface *This); 16501 HRESULT (WINAPI *GetSurface)(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface); 16502 END_INTERFACE 16503 } IVMRSurfaceVtbl; 16504 struct IVMRSurface { 16505 CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl; 16506 }; 16507 #ifdef COBJMACROS 16508 #define IVMRSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16509 #define IVMRSurface_AddRef(This) (This)->lpVtbl->AddRef(This) 16510 #define IVMRSurface_Release(This) (This)->lpVtbl->Release(This) 16511 #define IVMRSurface_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This) 16512 #define IVMRSurface_LockSurface(This,lpSurface) (This)->lpVtbl->LockSurface(This,lpSurface) 16513 #define IVMRSurface_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This) 16514 #define IVMRSurface_GetSurface(This,lplpSurface) (This)->lpVtbl->GetSurface(This,lplpSurface) 16515 #endif 16516 #endif 16517 HRESULT WINAPI IVMRSurface_IsSurfaceLocked_Proxy(IVMRSurface *This); 16518 void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16519 HRESULT WINAPI IVMRSurface_LockSurface_Proxy(IVMRSurface *This,BYTE **lpSurface); 16520 void __RPC_STUB IVMRSurface_LockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16521 HRESULT WINAPI IVMRSurface_UnlockSurface_Proxy(IVMRSurface *This); 16522 void __RPC_STUB IVMRSurface_UnlockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16523 HRESULT WINAPI IVMRSurface_GetSurface_Proxy(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface); 16524 void __RPC_STUB IVMRSurface_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16525 #endif 16526 16527 #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__ 16528 #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__ 16529 EXTERN_C const IID IID_IVMRImagePresenterConfig; 16530 16531 #if defined(__cplusplus) && !defined(CINTERFACE) 16532 struct IVMRImagePresenterConfig : public IUnknown { 16533 public: 16534 virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0; 16535 virtual HRESULT WINAPI GetRenderingPrefs(DWORD *dwRenderFlags) = 0; 16536 }; 16537 #else 16538 typedef struct IVMRImagePresenterConfigVtbl { 16539 BEGIN_INTERFACE 16540 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterConfig *This,REFIID riid,void **ppvObject); 16541 ULONG (WINAPI *AddRef)(IVMRImagePresenterConfig *This); 16542 ULONG (WINAPI *Release)(IVMRImagePresenterConfig *This); 16543 HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD dwRenderFlags); 16544 HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags); 16545 END_INTERFACE 16546 } IVMRImagePresenterConfigVtbl; 16547 struct IVMRImagePresenterConfig { 16548 CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl; 16549 }; 16550 #ifdef COBJMACROS 16551 #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16552 #define IVMRImagePresenterConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 16553 #define IVMRImagePresenterConfig_Release(This) (This)->lpVtbl->Release(This) 16554 #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) 16555 #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags) 16556 #endif 16557 #endif 16558 HRESULT WINAPI IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD dwRenderFlags); 16559 void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16560 HRESULT WINAPI IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags); 16561 void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16562 #endif 16563 16564 #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ 16565 #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ 16566 EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig; 16567 #if defined(__cplusplus) && !defined(CINTERFACE) 16568 struct IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig { 16569 public: 16570 virtual HRESULT WINAPI SetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0; 16571 virtual HRESULT WINAPI GetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0; 16572 }; 16573 #else 16574 typedef struct IVMRImagePresenterExclModeConfigVtbl { 16575 BEGIN_INTERFACE 16576 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterExclModeConfig *This,REFIID riid,void **ppvObject); 16577 ULONG (WINAPI *AddRef)(IVMRImagePresenterExclModeConfig *This); 16578 ULONG (WINAPI *Release)(IVMRImagePresenterExclModeConfig *This); 16579 HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD dwRenderFlags); 16580 HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD *dwRenderFlags); 16581 HRESULT (WINAPI *SetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf); 16582 HRESULT (WINAPI *GetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf); 16583 END_INTERFACE 16584 } IVMRImagePresenterExclModeConfigVtbl; 16585 struct IVMRImagePresenterExclModeConfig { 16586 CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl; 16587 }; 16588 #ifdef COBJMACROS 16589 #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16590 #define IVMRImagePresenterExclModeConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 16591 #define IVMRImagePresenterExclModeConfig_Release(This) (This)->lpVtbl->Release(This) 16592 #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) 16593 #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags) 16594 #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) 16595 #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) 16596 #endif 16597 #endif 16598 HRESULT WINAPI IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf); 16599 void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16600 HRESULT WINAPI IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf); 16601 void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16602 #endif 16603 16604 #ifndef __IVPManager_INTERFACE_DEFINED__ 16605 #define __IVPManager_INTERFACE_DEFINED__ 16606 EXTERN_C const IID IID_IVPManager; 16607 #if defined(__cplusplus) && !defined(CINTERFACE) 16608 struct IVPManager : public IUnknown { 16609 public: 16610 virtual HRESULT WINAPI SetVideoPortIndex(DWORD dwVideoPortIndex) = 0; 16611 virtual HRESULT WINAPI GetVideoPortIndex(DWORD *pdwVideoPortIndex) = 0; 16612 }; 16613 #else 16614 typedef struct IVPManagerVtbl { 16615 BEGIN_INTERFACE 16616 HRESULT (WINAPI *QueryInterface)(IVPManager *This,REFIID riid,void **ppvObject); 16617 ULONG (WINAPI *AddRef)(IVPManager *This); 16618 ULONG (WINAPI *Release)(IVPManager *This); 16619 HRESULT (WINAPI *SetVideoPortIndex)(IVPManager *This,DWORD dwVideoPortIndex); 16620 HRESULT (WINAPI *GetVideoPortIndex)(IVPManager *This,DWORD *pdwVideoPortIndex); 16621 END_INTERFACE 16622 } IVPManagerVtbl; 16623 struct IVPManager { 16624 CONST_VTBL struct IVPManagerVtbl *lpVtbl; 16625 }; 16626 #ifdef COBJMACROS 16627 #define IVPManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 16628 #define IVPManager_AddRef(This) (This)->lpVtbl->AddRef(This) 16629 #define IVPManager_Release(This) (This)->lpVtbl->Release(This) 16630 #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) (This)->lpVtbl->SetVideoPortIndex(This,dwVideoPortIndex) 16631 #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) (This)->lpVtbl->GetVideoPortIndex(This,pdwVideoPortIndex) 16632 #endif 16633 #endif 16634 HRESULT WINAPI IVPManager_SetVideoPortIndex_Proxy(IVPManager *This,DWORD dwVideoPortIndex); 16635 void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16636 HRESULT WINAPI IVPManager_GetVideoPortIndex_Proxy(IVPManager *This,DWORD *pdwVideoPortIndex); 16637 void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 16638 #endif 16639 16640 extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec; 16641 extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec; 16642 /* Begin additional prototypes for all interfaces */ 16643 16644 16645 /* End additional prototypes */ 16646 16647 #ifdef __cplusplus 16648 } 16649 #endif 16650 16651 #endif /* __strmif_h__ */