1 /*** Autogenerated by WIDL 4.12.1 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 __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ 470 #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ 471 typedef interface IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling; 472 #ifdef __cplusplus 473 interface IAMAsyncReaderTimestampScaling; 474 #endif /* __cplusplus */ 475 #endif 476 477 #ifndef __IAMPluginControl_FWD_DEFINED__ 478 #define __IAMPluginControl_FWD_DEFINED__ 479 typedef interface IAMPluginControl IAMPluginControl; 480 #ifdef __cplusplus 481 interface IAMPluginControl; 482 #endif /* __cplusplus */ 483 #endif 484 485 /* Headers for imported files */ 486 487 #include <unknwn.h> 488 #include <objidl.h> 489 #include <oaidl.h> 490 491 #ifdef __cplusplus 492 extern "C" { 493 #endif 494 495 /** 496 * This file is part of the mingw-w64 runtime package. 497 * No warranty is given; refer to the file DISCLAIMER within this package. 498 */ 499 500 #include <winapifamily.h> 501 502 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 503 504 #define CDEF_CLASS_DEFAULT 0x1 505 #define CDEF_BYPASS_CLASS_MANAGER 0x2 506 #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x8 507 #define CDEF_DEVMON_CMGR_DEVICE 0x10 508 #define CDEF_DEVMON_DMO 0x20 509 #define CDEF_DEVMON_PNP_DEVICE 0x40 510 #define CDEF_DEVMON_FILTER 0x80 511 512 #define CDEF_DEVMON_SELECTIVE_MASK 0xf0 513 514 515 /***************************************************************************** 516 * ICreateDevEnum interface 517 */ 518 #ifndef __ICreateDevEnum_INTERFACE_DEFINED__ 519 #define __ICreateDevEnum_INTERFACE_DEFINED__ 520 521 DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86); 522 #if defined(__cplusplus) && !defined(CINTERFACE) 523 MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86") 524 ICreateDevEnum : public IUnknown 525 { 526 virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 527 REFCLSID clsidDeviceClass, 528 IEnumMoniker **ppEnumMoniker, 529 DWORD dwFlags) = 0; 530 531 }; 532 #ifdef __CRT_UUID_DECL 533 __CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86) 534 #endif 535 #else 536 typedef struct ICreateDevEnumVtbl { 537 BEGIN_INTERFACE 538 539 /*** IUnknown methods ***/ 540 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 541 ICreateDevEnum *This, 542 REFIID riid, 543 void **ppvObject); 544 545 ULONG (STDMETHODCALLTYPE *AddRef)( 546 ICreateDevEnum *This); 547 548 ULONG (STDMETHODCALLTYPE *Release)( 549 ICreateDevEnum *This); 550 551 /*** ICreateDevEnum methods ***/ 552 HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)( 553 ICreateDevEnum *This, 554 REFCLSID clsidDeviceClass, 555 IEnumMoniker **ppEnumMoniker, 556 DWORD dwFlags); 557 558 END_INTERFACE 559 } ICreateDevEnumVtbl; 560 561 interface ICreateDevEnum { 562 CONST_VTBL ICreateDevEnumVtbl* lpVtbl; 563 }; 564 565 #ifdef COBJMACROS 566 #ifndef WIDL_C_INLINE_WRAPPERS 567 /*** IUnknown methods ***/ 568 #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 569 #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This) 570 #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This) 571 /*** ICreateDevEnum methods ***/ 572 #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) 573 #else 574 /*** IUnknown methods ***/ 575 static FORCEINLINE HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) { 576 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 577 } 578 static FORCEINLINE ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) { 579 return This->lpVtbl->AddRef(This); 580 } 581 static FORCEINLINE ULONG ICreateDevEnum_Release(ICreateDevEnum* This) { 582 return This->lpVtbl->Release(This); 583 } 584 /*** ICreateDevEnum methods ***/ 585 static FORCEINLINE HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) { 586 return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags); 587 } 588 #endif 589 #endif 590 591 #endif 592 593 594 #endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */ 595 596 #endif 597 /** 598 * This file is part of the mingw-w64 runtime package. 599 * No warranty is given; refer to the file DISCLAIMER within this package. 600 */ 601 602 #include <winapifamily.h> 603 604 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 605 606 #define CHARS_IN_GUID 39 607 608 #ifdef WINE_NO_UNICODE_MACROS 609 #undef GetTimeFormat 610 #endif 611 612 typedef struct _AMMediaType { 613 GUID majortype; 614 GUID subtype; 615 WINBOOL bFixedSizeSamples; 616 WINBOOL bTemporalCompression; 617 ULONG lSampleSize; 618 GUID formattype; 619 IUnknown *pUnk; 620 ULONG cbFormat; 621 BYTE *pbFormat; 622 } AM_MEDIA_TYPE; 623 624 typedef enum _PinDirection { 625 PINDIR_INPUT = 0, 626 PINDIR_OUTPUT = 1 627 } PIN_DIRECTION; 628 629 #define MAX_PIN_NAME 128 630 #define MAX_FILTER_NAME 128 631 632 #ifndef REFERENCE_TIME_DEFINED 633 #define REFERENCE_TIME_DEFINED 634 typedef LONGLONG REFERENCE_TIME; 635 #endif 636 637 #ifndef REFTIME_DEFINED 638 #define REFTIME_DEFINED 639 typedef double REFTIME; 640 #endif 641 642 typedef DWORD_PTR HSEMAPHORE; 643 typedef DWORD_PTR HEVENT; 644 645 typedef struct _AllocatorProperties { 646 LONG cBuffers; 647 LONG cbBuffer; 648 LONG cbAlign; 649 LONG cbPrefix; 650 } ALLOCATOR_PROPERTIES; 651 652 #ifndef __IAMovieSetup_FWD_DEFINED__ 653 #define __IAMovieSetup_FWD_DEFINED__ 654 typedef interface IAMovieSetup IAMovieSetup; 655 #ifdef __cplusplus 656 interface IAMovieSetup; 657 #endif /* __cplusplus */ 658 #endif 659 660 #ifndef __IEnumFilters_FWD_DEFINED__ 661 #define __IEnumFilters_FWD_DEFINED__ 662 typedef interface IEnumFilters IEnumFilters; 663 #ifdef __cplusplus 664 interface IEnumFilters; 665 #endif /* __cplusplus */ 666 #endif 667 668 #ifndef __IEnumMediaTypes_FWD_DEFINED__ 669 #define __IEnumMediaTypes_FWD_DEFINED__ 670 typedef interface IEnumMediaTypes IEnumMediaTypes; 671 #ifdef __cplusplus 672 interface IEnumMediaTypes; 673 #endif /* __cplusplus */ 674 #endif 675 676 #ifndef __IEnumPins_FWD_DEFINED__ 677 #define __IEnumPins_FWD_DEFINED__ 678 typedef interface IEnumPins IEnumPins; 679 #ifdef __cplusplus 680 interface IEnumPins; 681 #endif /* __cplusplus */ 682 #endif 683 684 #ifndef __IBaseFilter_FWD_DEFINED__ 685 #define __IBaseFilter_FWD_DEFINED__ 686 typedef interface IBaseFilter IBaseFilter; 687 #ifdef __cplusplus 688 interface IBaseFilter; 689 #endif /* __cplusplus */ 690 #endif 691 692 #ifndef __IFilterGraph_FWD_DEFINED__ 693 #define __IFilterGraph_FWD_DEFINED__ 694 typedef interface IFilterGraph IFilterGraph; 695 #ifdef __cplusplus 696 interface IFilterGraph; 697 #endif /* __cplusplus */ 698 #endif 699 700 #ifndef __IMediaFilter_FWD_DEFINED__ 701 #define __IMediaFilter_FWD_DEFINED__ 702 typedef interface IMediaFilter IMediaFilter; 703 #ifdef __cplusplus 704 interface IMediaFilter; 705 #endif /* __cplusplus */ 706 #endif 707 708 #ifndef __IMediaSample_FWD_DEFINED__ 709 #define __IMediaSample_FWD_DEFINED__ 710 typedef interface IMediaSample IMediaSample; 711 #ifdef __cplusplus 712 interface IMediaSample; 713 #endif /* __cplusplus */ 714 #endif 715 716 #ifndef __IMemAllocator_FWD_DEFINED__ 717 #define __IMemAllocator_FWD_DEFINED__ 718 typedef interface IMemAllocator IMemAllocator; 719 #ifdef __cplusplus 720 interface IMemAllocator; 721 #endif /* __cplusplus */ 722 #endif 723 724 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ 725 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ 726 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; 727 #ifdef __cplusplus 728 interface IMemAllocatorCallbackTemp; 729 #endif /* __cplusplus */ 730 #endif 731 732 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 733 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 734 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; 735 #ifdef __cplusplus 736 interface IMemAllocatorNotifyCallbackTemp; 737 #endif /* __cplusplus */ 738 #endif 739 740 #ifndef __IMemInputPin_FWD_DEFINED__ 741 #define __IMemInputPin_FWD_DEFINED__ 742 typedef interface IMemInputPin IMemInputPin; 743 #ifdef __cplusplus 744 interface IMemInputPin; 745 #endif /* __cplusplus */ 746 #endif 747 748 #ifndef __IPin_FWD_DEFINED__ 749 #define __IPin_FWD_DEFINED__ 750 typedef interface IPin IPin; 751 #ifdef __cplusplus 752 interface IPin; 753 #endif /* __cplusplus */ 754 #endif 755 756 #ifndef __IReferenceClock_FWD_DEFINED__ 757 #define __IReferenceClock_FWD_DEFINED__ 758 typedef interface IReferenceClock IReferenceClock; 759 #ifdef __cplusplus 760 interface IReferenceClock; 761 #endif /* __cplusplus */ 762 #endif 763 764 765 /***************************************************************************** 766 * IPin interface 767 */ 768 #ifndef __IPin_INTERFACE_DEFINED__ 769 #define __IPin_INTERFACE_DEFINED__ 770 771 typedef struct _PinInfo { 772 IBaseFilter *pFilter; 773 PIN_DIRECTION dir; 774 WCHAR achName[128]; 775 } PIN_INFO; 776 777 DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 778 #if defined(__cplusplus) && !defined(CINTERFACE) 779 MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770") 780 IPin : public IUnknown 781 { 782 virtual HRESULT STDMETHODCALLTYPE Connect( 783 IPin *pReceivePin, 784 const AM_MEDIA_TYPE *pmt) = 0; 785 786 virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 787 IPin *pConnector, 788 const AM_MEDIA_TYPE *pmt) = 0; 789 790 virtual HRESULT STDMETHODCALLTYPE Disconnect( 791 ) = 0; 792 793 virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 794 IPin **pPin) = 0; 795 796 virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 797 AM_MEDIA_TYPE *pmt) = 0; 798 799 virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 800 PIN_INFO *pInfo) = 0; 801 802 virtual HRESULT STDMETHODCALLTYPE QueryDirection( 803 PIN_DIRECTION *pPinDir) = 0; 804 805 virtual HRESULT STDMETHODCALLTYPE QueryId( 806 LPWSTR *Id) = 0; 807 808 virtual HRESULT STDMETHODCALLTYPE QueryAccept( 809 const AM_MEDIA_TYPE *pmt) = 0; 810 811 virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 812 IEnumMediaTypes **ppEnum) = 0; 813 814 virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 815 IPin **apPin, 816 ULONG *nPin) = 0; 817 818 virtual HRESULT STDMETHODCALLTYPE EndOfStream( 819 ) = 0; 820 821 virtual HRESULT STDMETHODCALLTYPE BeginFlush( 822 ) = 0; 823 824 virtual HRESULT STDMETHODCALLTYPE EndFlush( 825 ) = 0; 826 827 virtual HRESULT STDMETHODCALLTYPE NewSegment( 828 REFERENCE_TIME tStart, 829 REFERENCE_TIME tStop, 830 double dRate) = 0; 831 832 }; 833 #ifdef __CRT_UUID_DECL 834 __CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 835 #endif 836 #else 837 typedef struct IPinVtbl { 838 BEGIN_INTERFACE 839 840 /*** IUnknown methods ***/ 841 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 842 IPin *This, 843 REFIID riid, 844 void **ppvObject); 845 846 ULONG (STDMETHODCALLTYPE *AddRef)( 847 IPin *This); 848 849 ULONG (STDMETHODCALLTYPE *Release)( 850 IPin *This); 851 852 /*** IPin methods ***/ 853 HRESULT (STDMETHODCALLTYPE *Connect)( 854 IPin *This, 855 IPin *pReceivePin, 856 const AM_MEDIA_TYPE *pmt); 857 858 HRESULT (STDMETHODCALLTYPE *ReceiveConnection)( 859 IPin *This, 860 IPin *pConnector, 861 const AM_MEDIA_TYPE *pmt); 862 863 HRESULT (STDMETHODCALLTYPE *Disconnect)( 864 IPin *This); 865 866 HRESULT (STDMETHODCALLTYPE *ConnectedTo)( 867 IPin *This, 868 IPin **pPin); 869 870 HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)( 871 IPin *This, 872 AM_MEDIA_TYPE *pmt); 873 874 HRESULT (STDMETHODCALLTYPE *QueryPinInfo)( 875 IPin *This, 876 PIN_INFO *pInfo); 877 878 HRESULT (STDMETHODCALLTYPE *QueryDirection)( 879 IPin *This, 880 PIN_DIRECTION *pPinDir); 881 882 HRESULT (STDMETHODCALLTYPE *QueryId)( 883 IPin *This, 884 LPWSTR *Id); 885 886 HRESULT (STDMETHODCALLTYPE *QueryAccept)( 887 IPin *This, 888 const AM_MEDIA_TYPE *pmt); 889 890 HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)( 891 IPin *This, 892 IEnumMediaTypes **ppEnum); 893 894 HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)( 895 IPin *This, 896 IPin **apPin, 897 ULONG *nPin); 898 899 HRESULT (STDMETHODCALLTYPE *EndOfStream)( 900 IPin *This); 901 902 HRESULT (STDMETHODCALLTYPE *BeginFlush)( 903 IPin *This); 904 905 HRESULT (STDMETHODCALLTYPE *EndFlush)( 906 IPin *This); 907 908 HRESULT (STDMETHODCALLTYPE *NewSegment)( 909 IPin *This, 910 REFERENCE_TIME tStart, 911 REFERENCE_TIME tStop, 912 double dRate); 913 914 END_INTERFACE 915 } IPinVtbl; 916 917 interface IPin { 918 CONST_VTBL IPinVtbl* lpVtbl; 919 }; 920 921 #ifdef COBJMACROS 922 #ifndef WIDL_C_INLINE_WRAPPERS 923 /*** IUnknown methods ***/ 924 #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 925 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This) 926 #define IPin_Release(This) (This)->lpVtbl->Release(This) 927 /*** IPin methods ***/ 928 #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt) 929 #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt) 930 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This) 931 #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin) 932 #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt) 933 #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo) 934 #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir) 935 #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id) 936 #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt) 937 #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum) 938 #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin) 939 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) 940 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) 941 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This) 942 #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate) 943 #else 944 /*** IUnknown methods ***/ 945 static FORCEINLINE HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) { 946 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 947 } 948 static FORCEINLINE ULONG IPin_AddRef(IPin* This) { 949 return This->lpVtbl->AddRef(This); 950 } 951 static FORCEINLINE ULONG IPin_Release(IPin* This) { 952 return This->lpVtbl->Release(This); 953 } 954 /*** IPin methods ***/ 955 static FORCEINLINE HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) { 956 return This->lpVtbl->Connect(This,pReceivePin,pmt); 957 } 958 static FORCEINLINE HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) { 959 return This->lpVtbl->ReceiveConnection(This,pConnector,pmt); 960 } 961 static FORCEINLINE HRESULT IPin_Disconnect(IPin* This) { 962 return This->lpVtbl->Disconnect(This); 963 } 964 static FORCEINLINE HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) { 965 return This->lpVtbl->ConnectedTo(This,pPin); 966 } 967 static FORCEINLINE HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) { 968 return This->lpVtbl->ConnectionMediaType(This,pmt); 969 } 970 static FORCEINLINE HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) { 971 return This->lpVtbl->QueryPinInfo(This,pInfo); 972 } 973 static FORCEINLINE HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) { 974 return This->lpVtbl->QueryDirection(This,pPinDir); 975 } 976 static FORCEINLINE HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) { 977 return This->lpVtbl->QueryId(This,Id); 978 } 979 static FORCEINLINE HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) { 980 return This->lpVtbl->QueryAccept(This,pmt); 981 } 982 static FORCEINLINE HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) { 983 return This->lpVtbl->EnumMediaTypes(This,ppEnum); 984 } 985 static FORCEINLINE HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) { 986 return This->lpVtbl->QueryInternalConnections(This,apPin,nPin); 987 } 988 static FORCEINLINE HRESULT IPin_EndOfStream(IPin* This) { 989 return This->lpVtbl->EndOfStream(This); 990 } 991 static FORCEINLINE HRESULT IPin_BeginFlush(IPin* This) { 992 return This->lpVtbl->BeginFlush(This); 993 } 994 static FORCEINLINE HRESULT IPin_EndFlush(IPin* This) { 995 return This->lpVtbl->EndFlush(This); 996 } 997 static FORCEINLINE HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) { 998 return This->lpVtbl->NewSegment(This,tStart,tStop,dRate); 999 } 1000 #endif 1001 #endif 1002 1003 #endif 1004 1005 1006 #endif /* __IPin_INTERFACE_DEFINED__ */ 1007 1008 typedef IPin *PPIN; 1009 1010 /***************************************************************************** 1011 * IEnumPins interface 1012 */ 1013 #ifndef __IEnumPins_INTERFACE_DEFINED__ 1014 #define __IEnumPins_INTERFACE_DEFINED__ 1015 1016 DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1017 #if defined(__cplusplus) && !defined(CINTERFACE) 1018 MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770") 1019 IEnumPins : public IUnknown 1020 { 1021 virtual HRESULT STDMETHODCALLTYPE Next( 1022 ULONG cPins, 1023 IPin **ppPins, 1024 ULONG *pcFetched) = 0; 1025 1026 virtual HRESULT STDMETHODCALLTYPE Skip( 1027 ULONG cPins) = 0; 1028 1029 virtual HRESULT STDMETHODCALLTYPE Reset( 1030 ) = 0; 1031 1032 virtual HRESULT STDMETHODCALLTYPE Clone( 1033 IEnumPins **ppEnum) = 0; 1034 1035 }; 1036 #ifdef __CRT_UUID_DECL 1037 __CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1038 #endif 1039 #else 1040 typedef struct IEnumPinsVtbl { 1041 BEGIN_INTERFACE 1042 1043 /*** IUnknown methods ***/ 1044 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1045 IEnumPins *This, 1046 REFIID riid, 1047 void **ppvObject); 1048 1049 ULONG (STDMETHODCALLTYPE *AddRef)( 1050 IEnumPins *This); 1051 1052 ULONG (STDMETHODCALLTYPE *Release)( 1053 IEnumPins *This); 1054 1055 /*** IEnumPins methods ***/ 1056 HRESULT (STDMETHODCALLTYPE *Next)( 1057 IEnumPins *This, 1058 ULONG cPins, 1059 IPin **ppPins, 1060 ULONG *pcFetched); 1061 1062 HRESULT (STDMETHODCALLTYPE *Skip)( 1063 IEnumPins *This, 1064 ULONG cPins); 1065 1066 HRESULT (STDMETHODCALLTYPE *Reset)( 1067 IEnumPins *This); 1068 1069 HRESULT (STDMETHODCALLTYPE *Clone)( 1070 IEnumPins *This, 1071 IEnumPins **ppEnum); 1072 1073 END_INTERFACE 1074 } IEnumPinsVtbl; 1075 1076 interface IEnumPins { 1077 CONST_VTBL IEnumPinsVtbl* lpVtbl; 1078 }; 1079 1080 #ifdef COBJMACROS 1081 #ifndef WIDL_C_INLINE_WRAPPERS 1082 /*** IUnknown methods ***/ 1083 #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1084 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This) 1085 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This) 1086 /*** IEnumPins methods ***/ 1087 #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched) 1088 #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins) 1089 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This) 1090 #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1091 #else 1092 /*** IUnknown methods ***/ 1093 static FORCEINLINE HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) { 1094 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1095 } 1096 static FORCEINLINE ULONG IEnumPins_AddRef(IEnumPins* This) { 1097 return This->lpVtbl->AddRef(This); 1098 } 1099 static FORCEINLINE ULONG IEnumPins_Release(IEnumPins* This) { 1100 return This->lpVtbl->Release(This); 1101 } 1102 /*** IEnumPins methods ***/ 1103 static FORCEINLINE HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) { 1104 return This->lpVtbl->Next(This,cPins,ppPins,pcFetched); 1105 } 1106 static FORCEINLINE HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) { 1107 return This->lpVtbl->Skip(This,cPins); 1108 } 1109 static FORCEINLINE HRESULT IEnumPins_Reset(IEnumPins* This) { 1110 return This->lpVtbl->Reset(This); 1111 } 1112 static FORCEINLINE HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) { 1113 return This->lpVtbl->Clone(This,ppEnum); 1114 } 1115 #endif 1116 #endif 1117 1118 #endif 1119 1120 1121 #endif /* __IEnumPins_INTERFACE_DEFINED__ */ 1122 1123 typedef IEnumPins *PENUMPINS; 1124 1125 /***************************************************************************** 1126 * IEnumMediaTypes interface 1127 */ 1128 #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__ 1129 #define __IEnumMediaTypes_INTERFACE_DEFINED__ 1130 1131 DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a); 1132 #if defined(__cplusplus) && !defined(CINTERFACE) 1133 MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a") 1134 IEnumMediaTypes : public IUnknown 1135 { 1136 virtual HRESULT STDMETHODCALLTYPE Next( 1137 ULONG cMediaTypes, 1138 AM_MEDIA_TYPE **ppMediaTypes, 1139 ULONG *pcFetched) = 0; 1140 1141 virtual HRESULT STDMETHODCALLTYPE Skip( 1142 ULONG cMediaTypes) = 0; 1143 1144 virtual HRESULT STDMETHODCALLTYPE Reset( 1145 ) = 0; 1146 1147 virtual HRESULT STDMETHODCALLTYPE Clone( 1148 IEnumMediaTypes **ppEnum) = 0; 1149 1150 }; 1151 #ifdef __CRT_UUID_DECL 1152 __CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a) 1153 #endif 1154 #else 1155 typedef struct IEnumMediaTypesVtbl { 1156 BEGIN_INTERFACE 1157 1158 /*** IUnknown methods ***/ 1159 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1160 IEnumMediaTypes *This, 1161 REFIID riid, 1162 void **ppvObject); 1163 1164 ULONG (STDMETHODCALLTYPE *AddRef)( 1165 IEnumMediaTypes *This); 1166 1167 ULONG (STDMETHODCALLTYPE *Release)( 1168 IEnumMediaTypes *This); 1169 1170 /*** IEnumMediaTypes methods ***/ 1171 HRESULT (STDMETHODCALLTYPE *Next)( 1172 IEnumMediaTypes *This, 1173 ULONG cMediaTypes, 1174 AM_MEDIA_TYPE **ppMediaTypes, 1175 ULONG *pcFetched); 1176 1177 HRESULT (STDMETHODCALLTYPE *Skip)( 1178 IEnumMediaTypes *This, 1179 ULONG cMediaTypes); 1180 1181 HRESULT (STDMETHODCALLTYPE *Reset)( 1182 IEnumMediaTypes *This); 1183 1184 HRESULT (STDMETHODCALLTYPE *Clone)( 1185 IEnumMediaTypes *This, 1186 IEnumMediaTypes **ppEnum); 1187 1188 END_INTERFACE 1189 } IEnumMediaTypesVtbl; 1190 1191 interface IEnumMediaTypes { 1192 CONST_VTBL IEnumMediaTypesVtbl* lpVtbl; 1193 }; 1194 1195 #ifdef COBJMACROS 1196 #ifndef WIDL_C_INLINE_WRAPPERS 1197 /*** IUnknown methods ***/ 1198 #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1199 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This) 1200 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This) 1201 /*** IEnumMediaTypes methods ***/ 1202 #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched) 1203 #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes) 1204 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This) 1205 #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1206 #else 1207 /*** IUnknown methods ***/ 1208 static FORCEINLINE HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) { 1209 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1210 } 1211 static FORCEINLINE ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) { 1212 return This->lpVtbl->AddRef(This); 1213 } 1214 static FORCEINLINE ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) { 1215 return This->lpVtbl->Release(This); 1216 } 1217 /*** IEnumMediaTypes methods ***/ 1218 static FORCEINLINE HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) { 1219 return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched); 1220 } 1221 static FORCEINLINE HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) { 1222 return This->lpVtbl->Skip(This,cMediaTypes); 1223 } 1224 static FORCEINLINE HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) { 1225 return This->lpVtbl->Reset(This); 1226 } 1227 static FORCEINLINE HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) { 1228 return This->lpVtbl->Clone(This,ppEnum); 1229 } 1230 #endif 1231 #endif 1232 1233 #endif 1234 1235 1236 #endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */ 1237 1238 typedef IEnumMediaTypes *PENUMMEDIATYPES; 1239 1240 /***************************************************************************** 1241 * IFilterGraph interface 1242 */ 1243 #ifndef __IFilterGraph_INTERFACE_DEFINED__ 1244 #define __IFilterGraph_INTERFACE_DEFINED__ 1245 1246 DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1247 #if defined(__cplusplus) && !defined(CINTERFACE) 1248 MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770") 1249 IFilterGraph : public IUnknown 1250 { 1251 virtual HRESULT STDMETHODCALLTYPE AddFilter( 1252 IBaseFilter *pFilter, 1253 LPCWSTR pName) = 0; 1254 1255 virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 1256 IBaseFilter *pFilter) = 0; 1257 1258 virtual HRESULT STDMETHODCALLTYPE EnumFilters( 1259 IEnumFilters **ppEnum) = 0; 1260 1261 virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 1262 LPCWSTR pName, 1263 IBaseFilter **ppFilter) = 0; 1264 1265 virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 1266 IPin *ppinOut, 1267 IPin *ppinIn, 1268 const AM_MEDIA_TYPE *pmt) = 0; 1269 1270 virtual HRESULT STDMETHODCALLTYPE Reconnect( 1271 IPin *ppin) = 0; 1272 1273 virtual HRESULT STDMETHODCALLTYPE Disconnect( 1274 IPin *ppin) = 0; 1275 1276 virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( 1277 ) = 0; 1278 1279 }; 1280 #ifdef __CRT_UUID_DECL 1281 __CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1282 #endif 1283 #else 1284 typedef struct IFilterGraphVtbl { 1285 BEGIN_INTERFACE 1286 1287 /*** IUnknown methods ***/ 1288 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1289 IFilterGraph *This, 1290 REFIID riid, 1291 void **ppvObject); 1292 1293 ULONG (STDMETHODCALLTYPE *AddRef)( 1294 IFilterGraph *This); 1295 1296 ULONG (STDMETHODCALLTYPE *Release)( 1297 IFilterGraph *This); 1298 1299 /*** IFilterGraph methods ***/ 1300 HRESULT (STDMETHODCALLTYPE *AddFilter)( 1301 IFilterGraph *This, 1302 IBaseFilter *pFilter, 1303 LPCWSTR pName); 1304 1305 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 1306 IFilterGraph *This, 1307 IBaseFilter *pFilter); 1308 1309 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 1310 IFilterGraph *This, 1311 IEnumFilters **ppEnum); 1312 1313 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 1314 IFilterGraph *This, 1315 LPCWSTR pName, 1316 IBaseFilter **ppFilter); 1317 1318 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 1319 IFilterGraph *This, 1320 IPin *ppinOut, 1321 IPin *ppinIn, 1322 const AM_MEDIA_TYPE *pmt); 1323 1324 HRESULT (STDMETHODCALLTYPE *Reconnect)( 1325 IFilterGraph *This, 1326 IPin *ppin); 1327 1328 HRESULT (STDMETHODCALLTYPE *Disconnect)( 1329 IFilterGraph *This, 1330 IPin *ppin); 1331 1332 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 1333 IFilterGraph *This); 1334 1335 END_INTERFACE 1336 } IFilterGraphVtbl; 1337 1338 interface IFilterGraph { 1339 CONST_VTBL IFilterGraphVtbl* lpVtbl; 1340 }; 1341 1342 #ifdef COBJMACROS 1343 #ifndef WIDL_C_INLINE_WRAPPERS 1344 /*** IUnknown methods ***/ 1345 #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1346 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This) 1347 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This) 1348 /*** IFilterGraph methods ***/ 1349 #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 1350 #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 1351 #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 1352 #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 1353 #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 1354 #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 1355 #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 1356 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 1357 #else 1358 /*** IUnknown methods ***/ 1359 static FORCEINLINE HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) { 1360 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1361 } 1362 static FORCEINLINE ULONG IFilterGraph_AddRef(IFilterGraph* This) { 1363 return This->lpVtbl->AddRef(This); 1364 } 1365 static FORCEINLINE ULONG IFilterGraph_Release(IFilterGraph* This) { 1366 return This->lpVtbl->Release(This); 1367 } 1368 /*** IFilterGraph methods ***/ 1369 static FORCEINLINE HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) { 1370 return This->lpVtbl->AddFilter(This,pFilter,pName); 1371 } 1372 static FORCEINLINE HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) { 1373 return This->lpVtbl->RemoveFilter(This,pFilter); 1374 } 1375 static FORCEINLINE HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) { 1376 return This->lpVtbl->EnumFilters(This,ppEnum); 1377 } 1378 static FORCEINLINE HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) { 1379 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 1380 } 1381 static FORCEINLINE HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 1382 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 1383 } 1384 static FORCEINLINE HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) { 1385 return This->lpVtbl->Reconnect(This,ppin); 1386 } 1387 static FORCEINLINE HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) { 1388 return This->lpVtbl->Disconnect(This,ppin); 1389 } 1390 static FORCEINLINE HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) { 1391 return This->lpVtbl->SetDefaultSyncSource(This); 1392 } 1393 #endif 1394 #endif 1395 1396 #endif 1397 1398 1399 #endif /* __IFilterGraph_INTERFACE_DEFINED__ */ 1400 1401 typedef IFilterGraph *PFILTERGRAPH; 1402 1403 /***************************************************************************** 1404 * IEnumFilters interface 1405 */ 1406 #ifndef __IEnumFilters_INTERFACE_DEFINED__ 1407 #define __IEnumFilters_INTERFACE_DEFINED__ 1408 1409 DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1410 #if defined(__cplusplus) && !defined(CINTERFACE) 1411 MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770") 1412 IEnumFilters : public IUnknown 1413 { 1414 virtual HRESULT STDMETHODCALLTYPE Next( 1415 ULONG cFilters, 1416 IBaseFilter **ppFilter, 1417 ULONG *pcFetched) = 0; 1418 1419 virtual HRESULT STDMETHODCALLTYPE Skip( 1420 ULONG cFilters) = 0; 1421 1422 virtual HRESULT STDMETHODCALLTYPE Reset( 1423 ) = 0; 1424 1425 virtual HRESULT STDMETHODCALLTYPE Clone( 1426 IEnumFilters **ppEnum) = 0; 1427 1428 }; 1429 #ifdef __CRT_UUID_DECL 1430 __CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1431 #endif 1432 #else 1433 typedef struct IEnumFiltersVtbl { 1434 BEGIN_INTERFACE 1435 1436 /*** IUnknown methods ***/ 1437 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1438 IEnumFilters *This, 1439 REFIID riid, 1440 void **ppvObject); 1441 1442 ULONG (STDMETHODCALLTYPE *AddRef)( 1443 IEnumFilters *This); 1444 1445 ULONG (STDMETHODCALLTYPE *Release)( 1446 IEnumFilters *This); 1447 1448 /*** IEnumFilters methods ***/ 1449 HRESULT (STDMETHODCALLTYPE *Next)( 1450 IEnumFilters *This, 1451 ULONG cFilters, 1452 IBaseFilter **ppFilter, 1453 ULONG *pcFetched); 1454 1455 HRESULT (STDMETHODCALLTYPE *Skip)( 1456 IEnumFilters *This, 1457 ULONG cFilters); 1458 1459 HRESULT (STDMETHODCALLTYPE *Reset)( 1460 IEnumFilters *This); 1461 1462 HRESULT (STDMETHODCALLTYPE *Clone)( 1463 IEnumFilters *This, 1464 IEnumFilters **ppEnum); 1465 1466 END_INTERFACE 1467 } IEnumFiltersVtbl; 1468 1469 interface IEnumFilters { 1470 CONST_VTBL IEnumFiltersVtbl* lpVtbl; 1471 }; 1472 1473 #ifdef COBJMACROS 1474 #ifndef WIDL_C_INLINE_WRAPPERS 1475 /*** IUnknown methods ***/ 1476 #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1477 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This) 1478 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This) 1479 /*** IEnumFilters methods ***/ 1480 #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched) 1481 #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) 1482 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This) 1483 #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1484 #else 1485 /*** IUnknown methods ***/ 1486 static FORCEINLINE HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) { 1487 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1488 } 1489 static FORCEINLINE ULONG IEnumFilters_AddRef(IEnumFilters* This) { 1490 return This->lpVtbl->AddRef(This); 1491 } 1492 static FORCEINLINE ULONG IEnumFilters_Release(IEnumFilters* This) { 1493 return This->lpVtbl->Release(This); 1494 } 1495 /*** IEnumFilters methods ***/ 1496 static FORCEINLINE HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) { 1497 return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched); 1498 } 1499 static FORCEINLINE HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) { 1500 return This->lpVtbl->Skip(This,cFilters); 1501 } 1502 static FORCEINLINE HRESULT IEnumFilters_Reset(IEnumFilters* This) { 1503 return This->lpVtbl->Reset(This); 1504 } 1505 static FORCEINLINE HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) { 1506 return This->lpVtbl->Clone(This,ppEnum); 1507 } 1508 #endif 1509 #endif 1510 1511 #endif 1512 1513 1514 #endif /* __IEnumFilters_INTERFACE_DEFINED__ */ 1515 1516 typedef IEnumFilters *PENUMFILTERS; 1517 1518 /***************************************************************************** 1519 * IMediaFilter interface 1520 */ 1521 #ifndef __IMediaFilter_INTERFACE_DEFINED__ 1522 #define __IMediaFilter_INTERFACE_DEFINED__ 1523 1524 typedef enum _FilterState { 1525 State_Stopped = 0, 1526 State_Paused = 1, 1527 State_Running = 2 1528 } FILTER_STATE; 1529 1530 DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1531 #if defined(__cplusplus) && !defined(CINTERFACE) 1532 MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770") 1533 IMediaFilter : public IPersist 1534 { 1535 virtual HRESULT STDMETHODCALLTYPE Stop( 1536 ) = 0; 1537 1538 virtual HRESULT STDMETHODCALLTYPE Pause( 1539 ) = 0; 1540 1541 virtual HRESULT STDMETHODCALLTYPE Run( 1542 REFERENCE_TIME tStart) = 0; 1543 1544 virtual HRESULT STDMETHODCALLTYPE GetState( 1545 DWORD dwMilliSecsTimeout, 1546 FILTER_STATE *State) = 0; 1547 1548 virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 1549 IReferenceClock *pClock) = 0; 1550 1551 virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 1552 IReferenceClock **pClock) = 0; 1553 1554 }; 1555 #ifdef __CRT_UUID_DECL 1556 __CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1557 #endif 1558 #else 1559 typedef struct IMediaFilterVtbl { 1560 BEGIN_INTERFACE 1561 1562 /*** IUnknown methods ***/ 1563 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1564 IMediaFilter *This, 1565 REFIID riid, 1566 void **ppvObject); 1567 1568 ULONG (STDMETHODCALLTYPE *AddRef)( 1569 IMediaFilter *This); 1570 1571 ULONG (STDMETHODCALLTYPE *Release)( 1572 IMediaFilter *This); 1573 1574 /*** IPersist methods ***/ 1575 HRESULT (STDMETHODCALLTYPE *GetClassID)( 1576 IMediaFilter *This, 1577 CLSID *pClassID); 1578 1579 /*** IMediaFilter methods ***/ 1580 HRESULT (STDMETHODCALLTYPE *Stop)( 1581 IMediaFilter *This); 1582 1583 HRESULT (STDMETHODCALLTYPE *Pause)( 1584 IMediaFilter *This); 1585 1586 HRESULT (STDMETHODCALLTYPE *Run)( 1587 IMediaFilter *This, 1588 REFERENCE_TIME tStart); 1589 1590 HRESULT (STDMETHODCALLTYPE *GetState)( 1591 IMediaFilter *This, 1592 DWORD dwMilliSecsTimeout, 1593 FILTER_STATE *State); 1594 1595 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 1596 IMediaFilter *This, 1597 IReferenceClock *pClock); 1598 1599 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 1600 IMediaFilter *This, 1601 IReferenceClock **pClock); 1602 1603 END_INTERFACE 1604 } IMediaFilterVtbl; 1605 1606 interface IMediaFilter { 1607 CONST_VTBL IMediaFilterVtbl* lpVtbl; 1608 }; 1609 1610 #ifdef COBJMACROS 1611 #ifndef WIDL_C_INLINE_WRAPPERS 1612 /*** IUnknown methods ***/ 1613 #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1614 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1615 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This) 1616 /*** IPersist methods ***/ 1617 #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1618 /*** IMediaFilter methods ***/ 1619 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This) 1620 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This) 1621 #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1622 #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1623 #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1624 #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1625 #else 1626 /*** IUnknown methods ***/ 1627 static FORCEINLINE HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) { 1628 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1629 } 1630 static FORCEINLINE ULONG IMediaFilter_AddRef(IMediaFilter* This) { 1631 return This->lpVtbl->AddRef(This); 1632 } 1633 static FORCEINLINE ULONG IMediaFilter_Release(IMediaFilter* This) { 1634 return This->lpVtbl->Release(This); 1635 } 1636 /*** IPersist methods ***/ 1637 static FORCEINLINE HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) { 1638 return This->lpVtbl->GetClassID(This,pClassID); 1639 } 1640 /*** IMediaFilter methods ***/ 1641 static FORCEINLINE HRESULT IMediaFilter_Stop(IMediaFilter* This) { 1642 return This->lpVtbl->Stop(This); 1643 } 1644 static FORCEINLINE HRESULT IMediaFilter_Pause(IMediaFilter* This) { 1645 return This->lpVtbl->Pause(This); 1646 } 1647 static FORCEINLINE HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) { 1648 return This->lpVtbl->Run(This,tStart); 1649 } 1650 static FORCEINLINE HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1651 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1652 } 1653 static FORCEINLINE HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) { 1654 return This->lpVtbl->SetSyncSource(This,pClock); 1655 } 1656 static FORCEINLINE HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) { 1657 return This->lpVtbl->GetSyncSource(This,pClock); 1658 } 1659 #endif 1660 #endif 1661 1662 #endif 1663 1664 1665 #endif /* __IMediaFilter_INTERFACE_DEFINED__ */ 1666 1667 typedef IMediaFilter *PMEDIAFILTER; 1668 1669 /***************************************************************************** 1670 * IBaseFilter interface 1671 */ 1672 #ifndef __IBaseFilter_INTERFACE_DEFINED__ 1673 #define __IBaseFilter_INTERFACE_DEFINED__ 1674 1675 typedef struct _FilterInfo { 1676 WCHAR achName[128]; 1677 IFilterGraph *pGraph; 1678 } FILTER_INFO; 1679 1680 DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1681 #if defined(__cplusplus) && !defined(CINTERFACE) 1682 MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770") 1683 IBaseFilter : public IMediaFilter 1684 { 1685 virtual HRESULT STDMETHODCALLTYPE EnumPins( 1686 IEnumPins **ppEnum) = 0; 1687 1688 virtual HRESULT STDMETHODCALLTYPE FindPin( 1689 LPCWSTR Id, 1690 IPin **ppPin) = 0; 1691 1692 virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 1693 FILTER_INFO *pInfo) = 0; 1694 1695 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 1696 IFilterGraph *pGraph, 1697 LPCWSTR pName) = 0; 1698 1699 virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 1700 LPWSTR *pVendorInfo) = 0; 1701 1702 }; 1703 #ifdef __CRT_UUID_DECL 1704 __CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1705 #endif 1706 #else 1707 typedef struct IBaseFilterVtbl { 1708 BEGIN_INTERFACE 1709 1710 /*** IUnknown methods ***/ 1711 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1712 IBaseFilter *This, 1713 REFIID riid, 1714 void **ppvObject); 1715 1716 ULONG (STDMETHODCALLTYPE *AddRef)( 1717 IBaseFilter *This); 1718 1719 ULONG (STDMETHODCALLTYPE *Release)( 1720 IBaseFilter *This); 1721 1722 /*** IPersist methods ***/ 1723 HRESULT (STDMETHODCALLTYPE *GetClassID)( 1724 IBaseFilter *This, 1725 CLSID *pClassID); 1726 1727 /*** IMediaFilter methods ***/ 1728 HRESULT (STDMETHODCALLTYPE *Stop)( 1729 IBaseFilter *This); 1730 1731 HRESULT (STDMETHODCALLTYPE *Pause)( 1732 IBaseFilter *This); 1733 1734 HRESULT (STDMETHODCALLTYPE *Run)( 1735 IBaseFilter *This, 1736 REFERENCE_TIME tStart); 1737 1738 HRESULT (STDMETHODCALLTYPE *GetState)( 1739 IBaseFilter *This, 1740 DWORD dwMilliSecsTimeout, 1741 FILTER_STATE *State); 1742 1743 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 1744 IBaseFilter *This, 1745 IReferenceClock *pClock); 1746 1747 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 1748 IBaseFilter *This, 1749 IReferenceClock **pClock); 1750 1751 /*** IBaseFilter methods ***/ 1752 HRESULT (STDMETHODCALLTYPE *EnumPins)( 1753 IBaseFilter *This, 1754 IEnumPins **ppEnum); 1755 1756 HRESULT (STDMETHODCALLTYPE *FindPin)( 1757 IBaseFilter *This, 1758 LPCWSTR Id, 1759 IPin **ppPin); 1760 1761 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( 1762 IBaseFilter *This, 1763 FILTER_INFO *pInfo); 1764 1765 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( 1766 IBaseFilter *This, 1767 IFilterGraph *pGraph, 1768 LPCWSTR pName); 1769 1770 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( 1771 IBaseFilter *This, 1772 LPWSTR *pVendorInfo); 1773 1774 END_INTERFACE 1775 } IBaseFilterVtbl; 1776 1777 interface IBaseFilter { 1778 CONST_VTBL IBaseFilterVtbl* lpVtbl; 1779 }; 1780 1781 #ifdef COBJMACROS 1782 #ifndef WIDL_C_INLINE_WRAPPERS 1783 /*** IUnknown methods ***/ 1784 #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1785 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1786 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This) 1787 /*** IPersist methods ***/ 1788 #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1789 /*** IMediaFilter methods ***/ 1790 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This) 1791 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This) 1792 #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1793 #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1794 #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1795 #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1796 /*** IBaseFilter methods ***/ 1797 #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) 1798 #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) 1799 #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) 1800 #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) 1801 #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) 1802 #else 1803 /*** IUnknown methods ***/ 1804 static FORCEINLINE HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) { 1805 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1806 } 1807 static FORCEINLINE ULONG IBaseFilter_AddRef(IBaseFilter* This) { 1808 return This->lpVtbl->AddRef(This); 1809 } 1810 static FORCEINLINE ULONG IBaseFilter_Release(IBaseFilter* This) { 1811 return This->lpVtbl->Release(This); 1812 } 1813 /*** IPersist methods ***/ 1814 static FORCEINLINE HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) { 1815 return This->lpVtbl->GetClassID(This,pClassID); 1816 } 1817 /*** IMediaFilter methods ***/ 1818 static FORCEINLINE HRESULT IBaseFilter_Stop(IBaseFilter* This) { 1819 return This->lpVtbl->Stop(This); 1820 } 1821 static FORCEINLINE HRESULT IBaseFilter_Pause(IBaseFilter* This) { 1822 return This->lpVtbl->Pause(This); 1823 } 1824 static FORCEINLINE HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) { 1825 return This->lpVtbl->Run(This,tStart); 1826 } 1827 static FORCEINLINE HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1828 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1829 } 1830 static FORCEINLINE HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) { 1831 return This->lpVtbl->SetSyncSource(This,pClock); 1832 } 1833 static FORCEINLINE HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) { 1834 return This->lpVtbl->GetSyncSource(This,pClock); 1835 } 1836 /*** IBaseFilter methods ***/ 1837 static FORCEINLINE HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) { 1838 return This->lpVtbl->EnumPins(This,ppEnum); 1839 } 1840 static FORCEINLINE HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) { 1841 return This->lpVtbl->FindPin(This,Id,ppPin); 1842 } 1843 static FORCEINLINE HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) { 1844 return This->lpVtbl->QueryFilterInfo(This,pInfo); 1845 } 1846 static FORCEINLINE HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { 1847 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); 1848 } 1849 static FORCEINLINE HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) { 1850 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); 1851 } 1852 #endif 1853 #endif 1854 1855 #endif 1856 1857 1858 #endif /* __IBaseFilter_INTERFACE_DEFINED__ */ 1859 1860 typedef IBaseFilter *PFILTER; 1861 1862 /***************************************************************************** 1863 * IReferenceClock interface 1864 */ 1865 #ifndef __IReferenceClock_INTERFACE_DEFINED__ 1866 #define __IReferenceClock_INTERFACE_DEFINED__ 1867 1868 DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1869 #if defined(__cplusplus) && !defined(CINTERFACE) 1870 MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770") 1871 IReferenceClock : public IUnknown 1872 { 1873 virtual HRESULT STDMETHODCALLTYPE GetTime( 1874 REFERENCE_TIME *pTime) = 0; 1875 1876 virtual HRESULT STDMETHODCALLTYPE AdviseTime( 1877 REFERENCE_TIME baseTime, 1878 REFERENCE_TIME streamTime, 1879 HEVENT hEvent, 1880 DWORD_PTR *pdwAdviseCookie) = 0; 1881 1882 virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 1883 REFERENCE_TIME startTime, 1884 REFERENCE_TIME periodTime, 1885 HSEMAPHORE hSemaphore, 1886 DWORD_PTR *pdwAdviseCookie) = 0; 1887 1888 virtual HRESULT STDMETHODCALLTYPE Unadvise( 1889 DWORD_PTR dwAdviseCookie) = 0; 1890 1891 }; 1892 #ifdef __CRT_UUID_DECL 1893 __CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1894 #endif 1895 #else 1896 typedef struct IReferenceClockVtbl { 1897 BEGIN_INTERFACE 1898 1899 /*** IUnknown methods ***/ 1900 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1901 IReferenceClock *This, 1902 REFIID riid, 1903 void **ppvObject); 1904 1905 ULONG (STDMETHODCALLTYPE *AddRef)( 1906 IReferenceClock *This); 1907 1908 ULONG (STDMETHODCALLTYPE *Release)( 1909 IReferenceClock *This); 1910 1911 /*** IReferenceClock methods ***/ 1912 HRESULT (STDMETHODCALLTYPE *GetTime)( 1913 IReferenceClock *This, 1914 REFERENCE_TIME *pTime); 1915 1916 HRESULT (STDMETHODCALLTYPE *AdviseTime)( 1917 IReferenceClock *This, 1918 REFERENCE_TIME baseTime, 1919 REFERENCE_TIME streamTime, 1920 HEVENT hEvent, 1921 DWORD_PTR *pdwAdviseCookie); 1922 1923 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( 1924 IReferenceClock *This, 1925 REFERENCE_TIME startTime, 1926 REFERENCE_TIME periodTime, 1927 HSEMAPHORE hSemaphore, 1928 DWORD_PTR *pdwAdviseCookie); 1929 1930 HRESULT (STDMETHODCALLTYPE *Unadvise)( 1931 IReferenceClock *This, 1932 DWORD_PTR dwAdviseCookie); 1933 1934 END_INTERFACE 1935 } IReferenceClockVtbl; 1936 1937 interface IReferenceClock { 1938 CONST_VTBL IReferenceClockVtbl* lpVtbl; 1939 }; 1940 1941 #ifdef COBJMACROS 1942 #ifndef WIDL_C_INLINE_WRAPPERS 1943 /*** IUnknown methods ***/ 1944 #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1945 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This) 1946 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This) 1947 /*** IReferenceClock methods ***/ 1948 #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 1949 #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 1950 #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 1951 #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 1952 #else 1953 /*** IUnknown methods ***/ 1954 static FORCEINLINE HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) { 1955 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1956 } 1957 static FORCEINLINE ULONG IReferenceClock_AddRef(IReferenceClock* This) { 1958 return This->lpVtbl->AddRef(This); 1959 } 1960 static FORCEINLINE ULONG IReferenceClock_Release(IReferenceClock* This) { 1961 return This->lpVtbl->Release(This); 1962 } 1963 /*** IReferenceClock methods ***/ 1964 static FORCEINLINE HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) { 1965 return This->lpVtbl->GetTime(This,pTime); 1966 } 1967 static FORCEINLINE HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { 1968 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); 1969 } 1970 static FORCEINLINE HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { 1971 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); 1972 } 1973 static FORCEINLINE HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) { 1974 return This->lpVtbl->Unadvise(This,dwAdviseCookie); 1975 } 1976 #endif 1977 #endif 1978 1979 #endif 1980 1981 1982 #endif /* __IReferenceClock_INTERFACE_DEFINED__ */ 1983 1984 typedef IReferenceClock *PREFERENCECLOCK; 1985 1986 /***************************************************************************** 1987 * IReferenceClockTimerControl interface 1988 */ 1989 #ifndef __IReferenceClockTimerControl_INTERFACE_DEFINED__ 1990 #define __IReferenceClockTimerControl_INTERFACE_DEFINED__ 1991 1992 DEFINE_GUID(IID_IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8); 1993 #if defined(__cplusplus) && !defined(CINTERFACE) 1994 MIDL_INTERFACE("ebec459c-2eca-4d42-a8af-30df557614b8") 1995 IReferenceClockTimerControl : public IUnknown 1996 { 1997 virtual HRESULT STDMETHODCALLTYPE SetDefaultTimerResolution( 1998 REFERENCE_TIME timerResolution) = 0; 1999 2000 virtual HRESULT STDMETHODCALLTYPE GetDefaultTimerResolution( 2001 REFERENCE_TIME *pTimerResolution) = 0; 2002 2003 }; 2004 #ifdef __CRT_UUID_DECL 2005 __CRT_UUID_DECL(IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8) 2006 #endif 2007 #else 2008 typedef struct IReferenceClockTimerControlVtbl { 2009 BEGIN_INTERFACE 2010 2011 /*** IUnknown methods ***/ 2012 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2013 IReferenceClockTimerControl *This, 2014 REFIID riid, 2015 void **ppvObject); 2016 2017 ULONG (STDMETHODCALLTYPE *AddRef)( 2018 IReferenceClockTimerControl *This); 2019 2020 ULONG (STDMETHODCALLTYPE *Release)( 2021 IReferenceClockTimerControl *This); 2022 2023 /*** IReferenceClockTimerControl methods ***/ 2024 HRESULT (STDMETHODCALLTYPE *SetDefaultTimerResolution)( 2025 IReferenceClockTimerControl *This, 2026 REFERENCE_TIME timerResolution); 2027 2028 HRESULT (STDMETHODCALLTYPE *GetDefaultTimerResolution)( 2029 IReferenceClockTimerControl *This, 2030 REFERENCE_TIME *pTimerResolution); 2031 2032 END_INTERFACE 2033 } IReferenceClockTimerControlVtbl; 2034 2035 interface IReferenceClockTimerControl { 2036 CONST_VTBL IReferenceClockTimerControlVtbl* lpVtbl; 2037 }; 2038 2039 #ifdef COBJMACROS 2040 #ifndef WIDL_C_INLINE_WRAPPERS 2041 /*** IUnknown methods ***/ 2042 #define IReferenceClockTimerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2043 #define IReferenceClockTimerControl_AddRef(This) (This)->lpVtbl->AddRef(This) 2044 #define IReferenceClockTimerControl_Release(This) (This)->lpVtbl->Release(This) 2045 /*** IReferenceClockTimerControl methods ***/ 2046 #define IReferenceClockTimerControl_SetDefaultTimerResolution(This,timerResolution) (This)->lpVtbl->SetDefaultTimerResolution(This,timerResolution) 2047 #define IReferenceClockTimerControl_GetDefaultTimerResolution(This,pTimerResolution) (This)->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution) 2048 #else 2049 /*** IUnknown methods ***/ 2050 static FORCEINLINE HRESULT IReferenceClockTimerControl_QueryInterface(IReferenceClockTimerControl* This,REFIID riid,void **ppvObject) { 2051 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2052 } 2053 static FORCEINLINE ULONG IReferenceClockTimerControl_AddRef(IReferenceClockTimerControl* This) { 2054 return This->lpVtbl->AddRef(This); 2055 } 2056 static FORCEINLINE ULONG IReferenceClockTimerControl_Release(IReferenceClockTimerControl* This) { 2057 return This->lpVtbl->Release(This); 2058 } 2059 /*** IReferenceClockTimerControl methods ***/ 2060 static FORCEINLINE HRESULT IReferenceClockTimerControl_SetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME timerResolution) { 2061 return This->lpVtbl->SetDefaultTimerResolution(This,timerResolution); 2062 } 2063 static FORCEINLINE HRESULT IReferenceClockTimerControl_GetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME *pTimerResolution) { 2064 return This->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution); 2065 } 2066 #endif 2067 #endif 2068 2069 #endif 2070 2071 2072 #endif /* __IReferenceClockTimerControl_INTERFACE_DEFINED__ */ 2073 2074 2075 /***************************************************************************** 2076 * IReferenceClock2 interface 2077 */ 2078 #ifndef __IReferenceClock2_INTERFACE_DEFINED__ 2079 #define __IReferenceClock2_INTERFACE_DEFINED__ 2080 2081 DEFINE_GUID(IID_IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 2082 #if defined(__cplusplus) && !defined(CINTERFACE) 2083 MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60") 2084 IReferenceClock2 : public IReferenceClock 2085 { 2086 }; 2087 #ifdef __CRT_UUID_DECL 2088 __CRT_UUID_DECL(IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 2089 #endif 2090 #else 2091 typedef struct IReferenceClock2Vtbl { 2092 BEGIN_INTERFACE 2093 2094 /*** IUnknown methods ***/ 2095 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2096 IReferenceClock2 *This, 2097 REFIID riid, 2098 void **ppvObject); 2099 2100 ULONG (STDMETHODCALLTYPE *AddRef)( 2101 IReferenceClock2 *This); 2102 2103 ULONG (STDMETHODCALLTYPE *Release)( 2104 IReferenceClock2 *This); 2105 2106 /*** IReferenceClock methods ***/ 2107 HRESULT (STDMETHODCALLTYPE *GetTime)( 2108 IReferenceClock2 *This, 2109 REFERENCE_TIME *pTime); 2110 2111 HRESULT (STDMETHODCALLTYPE *AdviseTime)( 2112 IReferenceClock2 *This, 2113 REFERENCE_TIME baseTime, 2114 REFERENCE_TIME streamTime, 2115 HEVENT hEvent, 2116 DWORD_PTR *pdwAdviseCookie); 2117 2118 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( 2119 IReferenceClock2 *This, 2120 REFERENCE_TIME startTime, 2121 REFERENCE_TIME periodTime, 2122 HSEMAPHORE hSemaphore, 2123 DWORD_PTR *pdwAdviseCookie); 2124 2125 HRESULT (STDMETHODCALLTYPE *Unadvise)( 2126 IReferenceClock2 *This, 2127 DWORD_PTR dwAdviseCookie); 2128 2129 END_INTERFACE 2130 } IReferenceClock2Vtbl; 2131 2132 interface IReferenceClock2 { 2133 CONST_VTBL IReferenceClock2Vtbl* lpVtbl; 2134 }; 2135 2136 #ifdef COBJMACROS 2137 #ifndef WIDL_C_INLINE_WRAPPERS 2138 /*** IUnknown methods ***/ 2139 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2140 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This) 2141 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This) 2142 /*** IReferenceClock methods ***/ 2143 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 2144 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 2145 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 2146 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 2147 #else 2148 /*** IUnknown methods ***/ 2149 static FORCEINLINE HRESULT IReferenceClock2_QueryInterface(IReferenceClock2* This,REFIID riid,void **ppvObject) { 2150 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2151 } 2152 static FORCEINLINE ULONG IReferenceClock2_AddRef(IReferenceClock2* This) { 2153 return This->lpVtbl->AddRef(This); 2154 } 2155 static FORCEINLINE ULONG IReferenceClock2_Release(IReferenceClock2* This) { 2156 return This->lpVtbl->Release(This); 2157 } 2158 /*** IReferenceClock methods ***/ 2159 static FORCEINLINE HRESULT IReferenceClock2_GetTime(IReferenceClock2* This,REFERENCE_TIME *pTime) { 2160 return This->lpVtbl->GetTime(This,pTime); 2161 } 2162 static FORCEINLINE HRESULT IReferenceClock2_AdviseTime(IReferenceClock2* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { 2163 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); 2164 } 2165 static FORCEINLINE HRESULT IReferenceClock2_AdvisePeriodic(IReferenceClock2* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { 2166 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); 2167 } 2168 static FORCEINLINE HRESULT IReferenceClock2_Unadvise(IReferenceClock2* This,DWORD_PTR dwAdviseCookie) { 2169 return This->lpVtbl->Unadvise(This,dwAdviseCookie); 2170 } 2171 #endif 2172 #endif 2173 2174 #endif 2175 2176 2177 #endif /* __IReferenceClock2_INTERFACE_DEFINED__ */ 2178 2179 typedef IReferenceClock2 *PREFERENCECLOCK2; 2180 2181 /***************************************************************************** 2182 * IMediaSample interface 2183 */ 2184 #ifndef __IMediaSample_INTERFACE_DEFINED__ 2185 #define __IMediaSample_INTERFACE_DEFINED__ 2186 2187 DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2188 #if defined(__cplusplus) && !defined(CINTERFACE) 2189 MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770") 2190 IMediaSample : public IUnknown 2191 { 2192 virtual HRESULT STDMETHODCALLTYPE GetPointer( 2193 BYTE **ppBuffer) = 0; 2194 2195 virtual LONG STDMETHODCALLTYPE GetSize( 2196 ) = 0; 2197 2198 virtual HRESULT STDMETHODCALLTYPE GetTime( 2199 REFERENCE_TIME *pTimeStart, 2200 REFERENCE_TIME *pTimeEnd) = 0; 2201 2202 virtual HRESULT STDMETHODCALLTYPE SetTime( 2203 REFERENCE_TIME *pTimeStart, 2204 REFERENCE_TIME *pTimeEnd) = 0; 2205 2206 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( 2207 ) = 0; 2208 2209 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 2210 WINBOOL bIsSyncPoint) = 0; 2211 2212 virtual HRESULT STDMETHODCALLTYPE IsPreroll( 2213 ) = 0; 2214 2215 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 2216 WINBOOL bIsPreroll) = 0; 2217 2218 virtual LONG STDMETHODCALLTYPE GetActualDataLength( 2219 ) = 0; 2220 2221 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 2222 LONG a) = 0; 2223 2224 virtual HRESULT STDMETHODCALLTYPE GetMediaType( 2225 AM_MEDIA_TYPE **ppMediaType) = 0; 2226 2227 virtual HRESULT STDMETHODCALLTYPE SetMediaType( 2228 AM_MEDIA_TYPE *pMediaType) = 0; 2229 2230 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( 2231 ) = 0; 2232 2233 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 2234 WINBOOL bDiscontinuity) = 0; 2235 2236 virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 2237 LONGLONG *pTimeStart, 2238 LONGLONG *pTimeEnd) = 0; 2239 2240 virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 2241 LONGLONG *pTimeStart, 2242 LONGLONG *pTimeEnd) = 0; 2243 2244 }; 2245 #ifdef __CRT_UUID_DECL 2246 __CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2247 #endif 2248 #else 2249 typedef struct IMediaSampleVtbl { 2250 BEGIN_INTERFACE 2251 2252 /*** IUnknown methods ***/ 2253 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2254 IMediaSample *This, 2255 REFIID riid, 2256 void **ppvObject); 2257 2258 ULONG (STDMETHODCALLTYPE *AddRef)( 2259 IMediaSample *This); 2260 2261 ULONG (STDMETHODCALLTYPE *Release)( 2262 IMediaSample *This); 2263 2264 /*** IMediaSample methods ***/ 2265 HRESULT (STDMETHODCALLTYPE *GetPointer)( 2266 IMediaSample *This, 2267 BYTE **ppBuffer); 2268 2269 LONG (STDMETHODCALLTYPE *GetSize)( 2270 IMediaSample *This); 2271 2272 HRESULT (STDMETHODCALLTYPE *GetTime)( 2273 IMediaSample *This, 2274 REFERENCE_TIME *pTimeStart, 2275 REFERENCE_TIME *pTimeEnd); 2276 2277 HRESULT (STDMETHODCALLTYPE *SetTime)( 2278 IMediaSample *This, 2279 REFERENCE_TIME *pTimeStart, 2280 REFERENCE_TIME *pTimeEnd); 2281 2282 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 2283 IMediaSample *This); 2284 2285 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 2286 IMediaSample *This, 2287 WINBOOL bIsSyncPoint); 2288 2289 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 2290 IMediaSample *This); 2291 2292 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 2293 IMediaSample *This, 2294 WINBOOL bIsPreroll); 2295 2296 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 2297 IMediaSample *This); 2298 2299 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 2300 IMediaSample *This, 2301 LONG a); 2302 2303 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 2304 IMediaSample *This, 2305 AM_MEDIA_TYPE **ppMediaType); 2306 2307 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 2308 IMediaSample *This, 2309 AM_MEDIA_TYPE *pMediaType); 2310 2311 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 2312 IMediaSample *This); 2313 2314 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 2315 IMediaSample *This, 2316 WINBOOL bDiscontinuity); 2317 2318 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 2319 IMediaSample *This, 2320 LONGLONG *pTimeStart, 2321 LONGLONG *pTimeEnd); 2322 2323 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 2324 IMediaSample *This, 2325 LONGLONG *pTimeStart, 2326 LONGLONG *pTimeEnd); 2327 2328 END_INTERFACE 2329 } IMediaSampleVtbl; 2330 2331 interface IMediaSample { 2332 CONST_VTBL IMediaSampleVtbl* lpVtbl; 2333 }; 2334 2335 #ifdef COBJMACROS 2336 #ifndef WIDL_C_INLINE_WRAPPERS 2337 /*** IUnknown methods ***/ 2338 #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2339 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) 2340 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This) 2341 /*** IMediaSample methods ***/ 2342 #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 2343 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This) 2344 #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 2345 #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 2346 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 2347 #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 2348 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 2349 #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 2350 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 2351 #define IMediaSample_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) 2352 #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 2353 #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 2354 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 2355 #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 2356 #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 2357 #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 2358 #else 2359 /*** IUnknown methods ***/ 2360 static FORCEINLINE HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) { 2361 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2362 } 2363 static FORCEINLINE ULONG IMediaSample_AddRef(IMediaSample* This) { 2364 return This->lpVtbl->AddRef(This); 2365 } 2366 static FORCEINLINE ULONG IMediaSample_Release(IMediaSample* This) { 2367 return This->lpVtbl->Release(This); 2368 } 2369 /*** IMediaSample methods ***/ 2370 static FORCEINLINE HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) { 2371 return This->lpVtbl->GetPointer(This,ppBuffer); 2372 } 2373 static FORCEINLINE LONG IMediaSample_GetSize(IMediaSample* This) { 2374 return This->lpVtbl->GetSize(This); 2375 } 2376 static FORCEINLINE HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2377 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 2378 } 2379 static FORCEINLINE HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2380 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 2381 } 2382 static FORCEINLINE HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) { 2383 return This->lpVtbl->IsSyncPoint(This); 2384 } 2385 static FORCEINLINE HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) { 2386 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 2387 } 2388 static FORCEINLINE HRESULT IMediaSample_IsPreroll(IMediaSample* This) { 2389 return This->lpVtbl->IsPreroll(This); 2390 } 2391 static FORCEINLINE HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) { 2392 return This->lpVtbl->SetPreroll(This,bIsPreroll); 2393 } 2394 static FORCEINLINE LONG IMediaSample_GetActualDataLength(IMediaSample* This) { 2395 return This->lpVtbl->GetActualDataLength(This); 2396 } 2397 static FORCEINLINE HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG a) { 2398 return This->lpVtbl->SetActualDataLength(This,a); 2399 } 2400 static FORCEINLINE HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) { 2401 return This->lpVtbl->GetMediaType(This,ppMediaType); 2402 } 2403 static FORCEINLINE HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) { 2404 return This->lpVtbl->SetMediaType(This,pMediaType); 2405 } 2406 static FORCEINLINE HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) { 2407 return This->lpVtbl->IsDiscontinuity(This); 2408 } 2409 static FORCEINLINE HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) { 2410 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 2411 } 2412 static FORCEINLINE HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2413 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 2414 } 2415 static FORCEINLINE HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2416 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 2417 } 2418 #endif 2419 #endif 2420 2421 #endif 2422 2423 2424 #endif /* __IMediaSample_INTERFACE_DEFINED__ */ 2425 2426 typedef IMediaSample *PMEDIASAMPLE; 2427 2428 enum tagAM_SAMPLE_PROPERTY_FLAGS { 2429 AM_SAMPLE_SPLICEPOINT = 0x1, 2430 AM_SAMPLE_PREROLL = 0x2, 2431 AM_SAMPLE_DATADISCONTINUITY = 0x4, 2432 AM_SAMPLE_TYPECHANGED = 0x8, 2433 AM_SAMPLE_TIMEVALID = 0x10, 2434 AM_SAMPLE_TIMEDISCONTINUITY = 0x40, 2435 AM_SAMPLE_FLUSH_ON_PAUSE = 0x80, 2436 AM_SAMPLE_STOPVALID = 0x100, 2437 AM_SAMPLE_ENDOFSTREAM = 0x200, 2438 AM_STREAM_MEDIA = 0, 2439 AM_STREAM_CONTROL = 1 2440 }; 2441 2442 typedef struct tagAM_SAMPLE2_PROPERTIES { 2443 DWORD cbData; 2444 DWORD dwTypeSpecificFlags; 2445 DWORD dwSampleFlags; 2446 LONG lActual; 2447 REFERENCE_TIME tStart; 2448 REFERENCE_TIME tStop; 2449 DWORD dwStreamId; 2450 AM_MEDIA_TYPE *pMediaType; 2451 BYTE *pbBuffer; 2452 LONG cbBuffer; 2453 } AM_SAMPLE2_PROPERTIES; 2454 2455 /***************************************************************************** 2456 * IMediaSample2 interface 2457 */ 2458 #ifndef __IMediaSample2_INTERFACE_DEFINED__ 2459 #define __IMediaSample2_INTERFACE_DEFINED__ 2460 2461 DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 2462 #if defined(__cplusplus) && !defined(CINTERFACE) 2463 MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60") 2464 IMediaSample2 : public IMediaSample 2465 { 2466 virtual HRESULT STDMETHODCALLTYPE GetProperties( 2467 DWORD cbProperties, 2468 BYTE *pbProperties) = 0; 2469 2470 virtual HRESULT STDMETHODCALLTYPE SetProperties( 2471 DWORD cbProperties, 2472 const BYTE *pbProperties) = 0; 2473 2474 }; 2475 #ifdef __CRT_UUID_DECL 2476 __CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 2477 #endif 2478 #else 2479 typedef struct IMediaSample2Vtbl { 2480 BEGIN_INTERFACE 2481 2482 /*** IUnknown methods ***/ 2483 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2484 IMediaSample2 *This, 2485 REFIID riid, 2486 void **ppvObject); 2487 2488 ULONG (STDMETHODCALLTYPE *AddRef)( 2489 IMediaSample2 *This); 2490 2491 ULONG (STDMETHODCALLTYPE *Release)( 2492 IMediaSample2 *This); 2493 2494 /*** IMediaSample methods ***/ 2495 HRESULT (STDMETHODCALLTYPE *GetPointer)( 2496 IMediaSample2 *This, 2497 BYTE **ppBuffer); 2498 2499 LONG (STDMETHODCALLTYPE *GetSize)( 2500 IMediaSample2 *This); 2501 2502 HRESULT (STDMETHODCALLTYPE *GetTime)( 2503 IMediaSample2 *This, 2504 REFERENCE_TIME *pTimeStart, 2505 REFERENCE_TIME *pTimeEnd); 2506 2507 HRESULT (STDMETHODCALLTYPE *SetTime)( 2508 IMediaSample2 *This, 2509 REFERENCE_TIME *pTimeStart, 2510 REFERENCE_TIME *pTimeEnd); 2511 2512 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 2513 IMediaSample2 *This); 2514 2515 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 2516 IMediaSample2 *This, 2517 WINBOOL bIsSyncPoint); 2518 2519 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 2520 IMediaSample2 *This); 2521 2522 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 2523 IMediaSample2 *This, 2524 WINBOOL bIsPreroll); 2525 2526 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 2527 IMediaSample2 *This); 2528 2529 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 2530 IMediaSample2 *This, 2531 LONG a); 2532 2533 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 2534 IMediaSample2 *This, 2535 AM_MEDIA_TYPE **ppMediaType); 2536 2537 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 2538 IMediaSample2 *This, 2539 AM_MEDIA_TYPE *pMediaType); 2540 2541 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 2542 IMediaSample2 *This); 2543 2544 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 2545 IMediaSample2 *This, 2546 WINBOOL bDiscontinuity); 2547 2548 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 2549 IMediaSample2 *This, 2550 LONGLONG *pTimeStart, 2551 LONGLONG *pTimeEnd); 2552 2553 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 2554 IMediaSample2 *This, 2555 LONGLONG *pTimeStart, 2556 LONGLONG *pTimeEnd); 2557 2558 /*** IMediaSample2 methods ***/ 2559 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2560 IMediaSample2 *This, 2561 DWORD cbProperties, 2562 BYTE *pbProperties); 2563 2564 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2565 IMediaSample2 *This, 2566 DWORD cbProperties, 2567 const BYTE *pbProperties); 2568 2569 END_INTERFACE 2570 } IMediaSample2Vtbl; 2571 2572 interface IMediaSample2 { 2573 CONST_VTBL IMediaSample2Vtbl* lpVtbl; 2574 }; 2575 2576 #ifdef COBJMACROS 2577 #ifndef WIDL_C_INLINE_WRAPPERS 2578 /*** IUnknown methods ***/ 2579 #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2580 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This) 2581 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This) 2582 /*** IMediaSample methods ***/ 2583 #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 2584 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This) 2585 #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 2586 #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 2587 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 2588 #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 2589 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 2590 #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 2591 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 2592 #define IMediaSample2_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) 2593 #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 2594 #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 2595 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 2596 #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 2597 #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 2598 #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 2599 /*** IMediaSample2 methods ***/ 2600 #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties) 2601 #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties) 2602 #else 2603 /*** IUnknown methods ***/ 2604 static FORCEINLINE HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) { 2605 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2606 } 2607 static FORCEINLINE ULONG IMediaSample2_AddRef(IMediaSample2* This) { 2608 return This->lpVtbl->AddRef(This); 2609 } 2610 static FORCEINLINE ULONG IMediaSample2_Release(IMediaSample2* This) { 2611 return This->lpVtbl->Release(This); 2612 } 2613 /*** IMediaSample methods ***/ 2614 static FORCEINLINE HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) { 2615 return This->lpVtbl->GetPointer(This,ppBuffer); 2616 } 2617 static FORCEINLINE LONG IMediaSample2_GetSize(IMediaSample2* This) { 2618 return This->lpVtbl->GetSize(This); 2619 } 2620 static FORCEINLINE HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2621 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 2622 } 2623 static FORCEINLINE HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2624 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 2625 } 2626 static FORCEINLINE HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) { 2627 return This->lpVtbl->IsSyncPoint(This); 2628 } 2629 static FORCEINLINE HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) { 2630 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 2631 } 2632 static FORCEINLINE HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) { 2633 return This->lpVtbl->IsPreroll(This); 2634 } 2635 static FORCEINLINE HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) { 2636 return This->lpVtbl->SetPreroll(This,bIsPreroll); 2637 } 2638 static FORCEINLINE LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) { 2639 return This->lpVtbl->GetActualDataLength(This); 2640 } 2641 static FORCEINLINE HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG a) { 2642 return This->lpVtbl->SetActualDataLength(This,a); 2643 } 2644 static FORCEINLINE HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) { 2645 return This->lpVtbl->GetMediaType(This,ppMediaType); 2646 } 2647 static FORCEINLINE HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) { 2648 return This->lpVtbl->SetMediaType(This,pMediaType); 2649 } 2650 static FORCEINLINE HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) { 2651 return This->lpVtbl->IsDiscontinuity(This); 2652 } 2653 static FORCEINLINE HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) { 2654 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 2655 } 2656 static FORCEINLINE HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2657 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 2658 } 2659 static FORCEINLINE HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2660 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 2661 } 2662 /*** IMediaSample2 methods ***/ 2663 static FORCEINLINE HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) { 2664 return This->lpVtbl->GetProperties(This,cbProperties,pbProperties); 2665 } 2666 static FORCEINLINE HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) { 2667 return This->lpVtbl->SetProperties(This,cbProperties,pbProperties); 2668 } 2669 #endif 2670 #endif 2671 2672 #endif 2673 2674 2675 #endif /* __IMediaSample2_INTERFACE_DEFINED__ */ 2676 2677 typedef IMediaSample2 *PMEDIASAMPLE2; 2678 2679 /***************************************************************************** 2680 * IMediaSample2Config interface 2681 */ 2682 #ifndef __IMediaSample2Config_INTERFACE_DEFINED__ 2683 #define __IMediaSample2Config_INTERFACE_DEFINED__ 2684 2685 DEFINE_GUID(IID_IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3); 2686 #if defined(__cplusplus) && !defined(CINTERFACE) 2687 MIDL_INTERFACE("68961e68-832b-41ea-bc91-63593f3e70e3") 2688 IMediaSample2Config : public IUnknown 2689 { 2690 virtual HRESULT STDMETHODCALLTYPE GetSurface( 2691 IUnknown **ppDirect3DSurface9) = 0; 2692 2693 }; 2694 #ifdef __CRT_UUID_DECL 2695 __CRT_UUID_DECL(IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3) 2696 #endif 2697 #else 2698 typedef struct IMediaSample2ConfigVtbl { 2699 BEGIN_INTERFACE 2700 2701 /*** IUnknown methods ***/ 2702 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2703 IMediaSample2Config *This, 2704 REFIID riid, 2705 void **ppvObject); 2706 2707 ULONG (STDMETHODCALLTYPE *AddRef)( 2708 IMediaSample2Config *This); 2709 2710 ULONG (STDMETHODCALLTYPE *Release)( 2711 IMediaSample2Config *This); 2712 2713 /*** IMediaSample2Config methods ***/ 2714 HRESULT (STDMETHODCALLTYPE *GetSurface)( 2715 IMediaSample2Config *This, 2716 IUnknown **ppDirect3DSurface9); 2717 2718 END_INTERFACE 2719 } IMediaSample2ConfigVtbl; 2720 2721 interface IMediaSample2Config { 2722 CONST_VTBL IMediaSample2ConfigVtbl* lpVtbl; 2723 }; 2724 2725 #ifdef COBJMACROS 2726 #ifndef WIDL_C_INLINE_WRAPPERS 2727 /*** IUnknown methods ***/ 2728 #define IMediaSample2Config_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2729 #define IMediaSample2Config_AddRef(This) (This)->lpVtbl->AddRef(This) 2730 #define IMediaSample2Config_Release(This) (This)->lpVtbl->Release(This) 2731 /*** IMediaSample2Config methods ***/ 2732 #define IMediaSample2Config_GetSurface(This,ppDirect3DSurface9) (This)->lpVtbl->GetSurface(This,ppDirect3DSurface9) 2733 #else 2734 /*** IUnknown methods ***/ 2735 static FORCEINLINE HRESULT IMediaSample2Config_QueryInterface(IMediaSample2Config* This,REFIID riid,void **ppvObject) { 2736 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2737 } 2738 static FORCEINLINE ULONG IMediaSample2Config_AddRef(IMediaSample2Config* This) { 2739 return This->lpVtbl->AddRef(This); 2740 } 2741 static FORCEINLINE ULONG IMediaSample2Config_Release(IMediaSample2Config* This) { 2742 return This->lpVtbl->Release(This); 2743 } 2744 /*** IMediaSample2Config methods ***/ 2745 static FORCEINLINE HRESULT IMediaSample2Config_GetSurface(IMediaSample2Config* This,IUnknown **ppDirect3DSurface9) { 2746 return This->lpVtbl->GetSurface(This,ppDirect3DSurface9); 2747 } 2748 #endif 2749 #endif 2750 2751 #endif 2752 2753 2754 #endif /* __IMediaSample2Config_INTERFACE_DEFINED__ */ 2755 2756 2757 #define AM_GBF_PREVFRAMESKIPPED 1 2758 #define AM_GBF_NOTASYNCPOINT 2 2759 #define AM_GBF_NOWAIT 4 2760 #define AM_GBF_NODDSURFACELOCK 8 2761 2762 /***************************************************************************** 2763 * IMemAllocator interface 2764 */ 2765 #ifndef __IMemAllocator_INTERFACE_DEFINED__ 2766 #define __IMemAllocator_INTERFACE_DEFINED__ 2767 2768 DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2769 #if defined(__cplusplus) && !defined(CINTERFACE) 2770 MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770") 2771 IMemAllocator : public IUnknown 2772 { 2773 virtual HRESULT STDMETHODCALLTYPE SetProperties( 2774 ALLOCATOR_PROPERTIES *pRequest, 2775 ALLOCATOR_PROPERTIES *pActual) = 0; 2776 2777 virtual HRESULT STDMETHODCALLTYPE GetProperties( 2778 ALLOCATOR_PROPERTIES *pProps) = 0; 2779 2780 virtual HRESULT STDMETHODCALLTYPE Commit( 2781 ) = 0; 2782 2783 virtual HRESULT STDMETHODCALLTYPE Decommit( 2784 ) = 0; 2785 2786 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 2787 IMediaSample **ppBuffer, 2788 REFERENCE_TIME *pStartTime, 2789 REFERENCE_TIME *pEndTime, 2790 DWORD dwFlags) = 0; 2791 2792 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 2793 IMediaSample *pBuffer) = 0; 2794 2795 }; 2796 #ifdef __CRT_UUID_DECL 2797 __CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2798 #endif 2799 #else 2800 typedef struct IMemAllocatorVtbl { 2801 BEGIN_INTERFACE 2802 2803 /*** IUnknown methods ***/ 2804 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2805 IMemAllocator *This, 2806 REFIID riid, 2807 void **ppvObject); 2808 2809 ULONG (STDMETHODCALLTYPE *AddRef)( 2810 IMemAllocator *This); 2811 2812 ULONG (STDMETHODCALLTYPE *Release)( 2813 IMemAllocator *This); 2814 2815 /*** IMemAllocator methods ***/ 2816 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2817 IMemAllocator *This, 2818 ALLOCATOR_PROPERTIES *pRequest, 2819 ALLOCATOR_PROPERTIES *pActual); 2820 2821 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2822 IMemAllocator *This, 2823 ALLOCATOR_PROPERTIES *pProps); 2824 2825 HRESULT (STDMETHODCALLTYPE *Commit)( 2826 IMemAllocator *This); 2827 2828 HRESULT (STDMETHODCALLTYPE *Decommit)( 2829 IMemAllocator *This); 2830 2831 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2832 IMemAllocator *This, 2833 IMediaSample **ppBuffer, 2834 REFERENCE_TIME *pStartTime, 2835 REFERENCE_TIME *pEndTime, 2836 DWORD dwFlags); 2837 2838 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 2839 IMemAllocator *This, 2840 IMediaSample *pBuffer); 2841 2842 END_INTERFACE 2843 } IMemAllocatorVtbl; 2844 2845 interface IMemAllocator { 2846 CONST_VTBL IMemAllocatorVtbl* lpVtbl; 2847 }; 2848 2849 #ifdef COBJMACROS 2850 #ifndef WIDL_C_INLINE_WRAPPERS 2851 /*** IUnknown methods ***/ 2852 #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2853 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 2854 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This) 2855 /*** IMemAllocator methods ***/ 2856 #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) 2857 #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) 2858 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This) 2859 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This) 2860 #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) 2861 #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) 2862 #else 2863 /*** IUnknown methods ***/ 2864 static FORCEINLINE HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) { 2865 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2866 } 2867 static FORCEINLINE ULONG IMemAllocator_AddRef(IMemAllocator* This) { 2868 return This->lpVtbl->AddRef(This); 2869 } 2870 static FORCEINLINE ULONG IMemAllocator_Release(IMemAllocator* This) { 2871 return This->lpVtbl->Release(This); 2872 } 2873 /*** IMemAllocator methods ***/ 2874 static FORCEINLINE HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { 2875 return This->lpVtbl->SetProperties(This,pRequest,pActual); 2876 } 2877 static FORCEINLINE HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) { 2878 return This->lpVtbl->GetProperties(This,pProps); 2879 } 2880 static FORCEINLINE HRESULT IMemAllocator_Commit(IMemAllocator* This) { 2881 return This->lpVtbl->Commit(This); 2882 } 2883 static FORCEINLINE HRESULT IMemAllocator_Decommit(IMemAllocator* This) { 2884 return This->lpVtbl->Decommit(This); 2885 } 2886 static FORCEINLINE HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { 2887 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); 2888 } 2889 static FORCEINLINE HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) { 2890 return This->lpVtbl->ReleaseBuffer(This,pBuffer); 2891 } 2892 #endif 2893 #endif 2894 2895 #endif 2896 2897 2898 #endif /* __IMemAllocator_INTERFACE_DEFINED__ */ 2899 2900 typedef IMemAllocator *PMEMALLOCATOR; 2901 2902 /***************************************************************************** 2903 * IMemAllocatorCallbackTemp interface 2904 */ 2905 #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ 2906 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ 2907 2908 DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 2909 #if defined(__cplusplus) && !defined(CINTERFACE) 2910 MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375") 2911 IMemAllocatorCallbackTemp : public IMemAllocator 2912 { 2913 virtual HRESULT STDMETHODCALLTYPE SetNotify( 2914 IMemAllocatorNotifyCallbackTemp *pNotify) = 0; 2915 2916 virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 2917 LONG *plBuffersFree) = 0; 2918 2919 }; 2920 #ifdef __CRT_UUID_DECL 2921 __CRT_UUID_DECL(IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 2922 #endif 2923 #else 2924 typedef struct IMemAllocatorCallbackTempVtbl { 2925 BEGIN_INTERFACE 2926 2927 /*** IUnknown methods ***/ 2928 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2929 IMemAllocatorCallbackTemp *This, 2930 REFIID riid, 2931 void **ppvObject); 2932 2933 ULONG (STDMETHODCALLTYPE *AddRef)( 2934 IMemAllocatorCallbackTemp *This); 2935 2936 ULONG (STDMETHODCALLTYPE *Release)( 2937 IMemAllocatorCallbackTemp *This); 2938 2939 /*** IMemAllocator methods ***/ 2940 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2941 IMemAllocatorCallbackTemp *This, 2942 ALLOCATOR_PROPERTIES *pRequest, 2943 ALLOCATOR_PROPERTIES *pActual); 2944 2945 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2946 IMemAllocatorCallbackTemp *This, 2947 ALLOCATOR_PROPERTIES *pProps); 2948 2949 HRESULT (STDMETHODCALLTYPE *Commit)( 2950 IMemAllocatorCallbackTemp *This); 2951 2952 HRESULT (STDMETHODCALLTYPE *Decommit)( 2953 IMemAllocatorCallbackTemp *This); 2954 2955 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2956 IMemAllocatorCallbackTemp *This, 2957 IMediaSample **ppBuffer, 2958 REFERENCE_TIME *pStartTime, 2959 REFERENCE_TIME *pEndTime, 2960 DWORD dwFlags); 2961 2962 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 2963 IMemAllocatorCallbackTemp *This, 2964 IMediaSample *pBuffer); 2965 2966 /*** IMemAllocatorCallbackTemp methods ***/ 2967 HRESULT (STDMETHODCALLTYPE *SetNotify)( 2968 IMemAllocatorCallbackTemp *This, 2969 IMemAllocatorNotifyCallbackTemp *pNotify); 2970 2971 HRESULT (STDMETHODCALLTYPE *GetFreeCount)( 2972 IMemAllocatorCallbackTemp *This, 2973 LONG *plBuffersFree); 2974 2975 END_INTERFACE 2976 } IMemAllocatorCallbackTempVtbl; 2977 2978 interface IMemAllocatorCallbackTemp { 2979 CONST_VTBL IMemAllocatorCallbackTempVtbl* lpVtbl; 2980 }; 2981 2982 #ifdef COBJMACROS 2983 #ifndef WIDL_C_INLINE_WRAPPERS 2984 /*** IUnknown methods ***/ 2985 #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2986 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) 2987 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This) 2988 /*** IMemAllocator methods ***/ 2989 #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) 2990 #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) 2991 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This) 2992 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This) 2993 #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) 2994 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) 2995 /*** IMemAllocatorCallbackTemp methods ***/ 2996 #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify) 2997 #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree) 2998 #else 2999 /*** IUnknown methods ***/ 3000 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_QueryInterface(IMemAllocatorCallbackTemp* This,REFIID riid,void **ppvObject) { 3001 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3002 } 3003 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_AddRef(IMemAllocatorCallbackTemp* This) { 3004 return This->lpVtbl->AddRef(This); 3005 } 3006 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_Release(IMemAllocatorCallbackTemp* This) { 3007 return This->lpVtbl->Release(This); 3008 } 3009 /*** IMemAllocator methods ***/ 3010 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { 3011 return This->lpVtbl->SetProperties(This,pRequest,pActual); 3012 } 3013 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pProps) { 3014 return This->lpVtbl->GetProperties(This,pProps); 3015 } 3016 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Commit(IMemAllocatorCallbackTemp* This) { 3017 return This->lpVtbl->Commit(This); 3018 } 3019 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Decommit(IMemAllocatorCallbackTemp* This) { 3020 return This->lpVtbl->Decommit(This); 3021 } 3022 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetBuffer(IMemAllocatorCallbackTemp* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { 3023 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); 3024 } 3025 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_ReleaseBuffer(IMemAllocatorCallbackTemp* This,IMediaSample *pBuffer) { 3026 return This->lpVtbl->ReleaseBuffer(This,pBuffer); 3027 } 3028 /*** IMemAllocatorCallbackTemp methods ***/ 3029 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetNotify(IMemAllocatorCallbackTemp* This,IMemAllocatorNotifyCallbackTemp *pNotify) { 3030 return This->lpVtbl->SetNotify(This,pNotify); 3031 } 3032 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetFreeCount(IMemAllocatorCallbackTemp* This,LONG *plBuffersFree) { 3033 return This->lpVtbl->GetFreeCount(This,plBuffersFree); 3034 } 3035 #endif 3036 #endif 3037 3038 #endif 3039 3040 3041 #endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */ 3042 3043 3044 /***************************************************************************** 3045 * IMemAllocatorNotifyCallbackTemp interface 3046 */ 3047 #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ 3048 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ 3049 3050 DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 3051 #if defined(__cplusplus) && !defined(CINTERFACE) 3052 MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375") 3053 IMemAllocatorNotifyCallbackTemp : public IUnknown 3054 { 3055 virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 3056 ) = 0; 3057 3058 }; 3059 #ifdef __CRT_UUID_DECL 3060 __CRT_UUID_DECL(IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 3061 #endif 3062 #else 3063 typedef struct IMemAllocatorNotifyCallbackTempVtbl { 3064 BEGIN_INTERFACE 3065 3066 /*** IUnknown methods ***/ 3067 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3068 IMemAllocatorNotifyCallbackTemp *This, 3069 REFIID riid, 3070 void **ppvObject); 3071 3072 ULONG (STDMETHODCALLTYPE *AddRef)( 3073 IMemAllocatorNotifyCallbackTemp *This); 3074 3075 ULONG (STDMETHODCALLTYPE *Release)( 3076 IMemAllocatorNotifyCallbackTemp *This); 3077 3078 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3079 HRESULT (STDMETHODCALLTYPE *NotifyRelease)( 3080 IMemAllocatorNotifyCallbackTemp *This); 3081 3082 END_INTERFACE 3083 } IMemAllocatorNotifyCallbackTempVtbl; 3084 3085 interface IMemAllocatorNotifyCallbackTemp { 3086 CONST_VTBL IMemAllocatorNotifyCallbackTempVtbl* lpVtbl; 3087 }; 3088 3089 #ifdef COBJMACROS 3090 #ifndef WIDL_C_INLINE_WRAPPERS 3091 /*** IUnknown methods ***/ 3092 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3093 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) 3094 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This) 3095 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3096 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This) 3097 #else 3098 /*** IUnknown methods ***/ 3099 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_QueryInterface(IMemAllocatorNotifyCallbackTemp* This,REFIID riid,void **ppvObject) { 3100 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3101 } 3102 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_AddRef(IMemAllocatorNotifyCallbackTemp* This) { 3103 return This->lpVtbl->AddRef(This); 3104 } 3105 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_Release(IMemAllocatorNotifyCallbackTemp* This) { 3106 return This->lpVtbl->Release(This); 3107 } 3108 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3109 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_NotifyRelease(IMemAllocatorNotifyCallbackTemp* This) { 3110 return This->lpVtbl->NotifyRelease(This); 3111 } 3112 #endif 3113 #endif 3114 3115 #endif 3116 3117 3118 #endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */ 3119 3120 3121 /***************************************************************************** 3122 * IMemInputPin interface 3123 */ 3124 #ifndef __IMemInputPin_INTERFACE_DEFINED__ 3125 #define __IMemInputPin_INTERFACE_DEFINED__ 3126 3127 DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 3128 #if defined(__cplusplus) && !defined(CINTERFACE) 3129 MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770") 3130 IMemInputPin : public IUnknown 3131 { 3132 virtual HRESULT STDMETHODCALLTYPE GetAllocator( 3133 IMemAllocator **ppAllocator) = 0; 3134 3135 virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 3136 IMemAllocator *pAllocator, 3137 WINBOOL bReadOnly) = 0; 3138 3139 virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 3140 ALLOCATOR_PROPERTIES *pProps) = 0; 3141 3142 virtual HRESULT STDMETHODCALLTYPE Receive( 3143 IMediaSample *pSample) = 0; 3144 3145 virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 3146 IMediaSample **pSamples, 3147 LONG nSamples, 3148 LONG *nSamplesProcessed) = 0; 3149 3150 virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( 3151 ) = 0; 3152 3153 }; 3154 #ifdef __CRT_UUID_DECL 3155 __CRT_UUID_DECL(IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 3156 #endif 3157 #else 3158 typedef struct IMemInputPinVtbl { 3159 BEGIN_INTERFACE 3160 3161 /*** IUnknown methods ***/ 3162 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3163 IMemInputPin *This, 3164 REFIID riid, 3165 void **ppvObject); 3166 3167 ULONG (STDMETHODCALLTYPE *AddRef)( 3168 IMemInputPin *This); 3169 3170 ULONG (STDMETHODCALLTYPE *Release)( 3171 IMemInputPin *This); 3172 3173 /*** IMemInputPin methods ***/ 3174 HRESULT (STDMETHODCALLTYPE *GetAllocator)( 3175 IMemInputPin *This, 3176 IMemAllocator **ppAllocator); 3177 3178 HRESULT (STDMETHODCALLTYPE *NotifyAllocator)( 3179 IMemInputPin *This, 3180 IMemAllocator *pAllocator, 3181 WINBOOL bReadOnly); 3182 3183 HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)( 3184 IMemInputPin *This, 3185 ALLOCATOR_PROPERTIES *pProps); 3186 3187 HRESULT (STDMETHODCALLTYPE *Receive)( 3188 IMemInputPin *This, 3189 IMediaSample *pSample); 3190 3191 HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)( 3192 IMemInputPin *This, 3193 IMediaSample **pSamples, 3194 LONG nSamples, 3195 LONG *nSamplesProcessed); 3196 3197 HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)( 3198 IMemInputPin *This); 3199 3200 END_INTERFACE 3201 } IMemInputPinVtbl; 3202 3203 interface IMemInputPin { 3204 CONST_VTBL IMemInputPinVtbl* lpVtbl; 3205 }; 3206 3207 #ifdef COBJMACROS 3208 #ifndef WIDL_C_INLINE_WRAPPERS 3209 /*** IUnknown methods ***/ 3210 #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3211 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This) 3212 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This) 3213 /*** IMemInputPin methods ***/ 3214 #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator) 3215 #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly) 3216 #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps) 3217 #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample) 3218 #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) 3219 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This) 3220 #else 3221 /*** IUnknown methods ***/ 3222 static FORCEINLINE HRESULT IMemInputPin_QueryInterface(IMemInputPin* This,REFIID riid,void **ppvObject) { 3223 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3224 } 3225 static FORCEINLINE ULONG IMemInputPin_AddRef(IMemInputPin* This) { 3226 return This->lpVtbl->AddRef(This); 3227 } 3228 static FORCEINLINE ULONG IMemInputPin_Release(IMemInputPin* This) { 3229 return This->lpVtbl->Release(This); 3230 } 3231 /*** IMemInputPin methods ***/ 3232 static FORCEINLINE HRESULT IMemInputPin_GetAllocator(IMemInputPin* This,IMemAllocator **ppAllocator) { 3233 return This->lpVtbl->GetAllocator(This,ppAllocator); 3234 } 3235 static FORCEINLINE HRESULT IMemInputPin_NotifyAllocator(IMemInputPin* This,IMemAllocator *pAllocator,WINBOOL bReadOnly) { 3236 return This->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly); 3237 } 3238 static FORCEINLINE HRESULT IMemInputPin_GetAllocatorRequirements(IMemInputPin* This,ALLOCATOR_PROPERTIES *pProps) { 3239 return This->lpVtbl->GetAllocatorRequirements(This,pProps); 3240 } 3241 static FORCEINLINE HRESULT IMemInputPin_Receive(IMemInputPin* This,IMediaSample *pSample) { 3242 return This->lpVtbl->Receive(This,pSample); 3243 } 3244 static FORCEINLINE HRESULT IMemInputPin_ReceiveMultiple(IMemInputPin* This,IMediaSample **pSamples,LONG nSamples,LONG *nSamplesProcessed) { 3245 return This->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed); 3246 } 3247 static FORCEINLINE HRESULT IMemInputPin_ReceiveCanBlock(IMemInputPin* This) { 3248 return This->lpVtbl->ReceiveCanBlock(This); 3249 } 3250 #endif 3251 #endif 3252 3253 #endif 3254 3255 3256 #endif /* __IMemInputPin_INTERFACE_DEFINED__ */ 3257 3258 typedef IMemInputPin *PMEMINPUTPIN; 3259 3260 /***************************************************************************** 3261 * IAMovieSetup interface 3262 */ 3263 #ifndef __IAMovieSetup_INTERFACE_DEFINED__ 3264 #define __IAMovieSetup_INTERFACE_DEFINED__ 3265 3266 DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20); 3267 #if defined(__cplusplus) && !defined(CINTERFACE) 3268 MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20") 3269 IAMovieSetup : public IUnknown 3270 { 3271 virtual HRESULT STDMETHODCALLTYPE Register( 3272 ) = 0; 3273 3274 virtual HRESULT STDMETHODCALLTYPE Unregister( 3275 ) = 0; 3276 3277 }; 3278 #ifdef __CRT_UUID_DECL 3279 __CRT_UUID_DECL(IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20) 3280 #endif 3281 #else 3282 typedef struct IAMovieSetupVtbl { 3283 BEGIN_INTERFACE 3284 3285 /*** IUnknown methods ***/ 3286 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3287 IAMovieSetup *This, 3288 REFIID riid, 3289 void **ppvObject); 3290 3291 ULONG (STDMETHODCALLTYPE *AddRef)( 3292 IAMovieSetup *This); 3293 3294 ULONG (STDMETHODCALLTYPE *Release)( 3295 IAMovieSetup *This); 3296 3297 /*** IAMovieSetup methods ***/ 3298 HRESULT (STDMETHODCALLTYPE *Register)( 3299 IAMovieSetup *This); 3300 3301 HRESULT (STDMETHODCALLTYPE *Unregister)( 3302 IAMovieSetup *This); 3303 3304 END_INTERFACE 3305 } IAMovieSetupVtbl; 3306 3307 interface IAMovieSetup { 3308 CONST_VTBL IAMovieSetupVtbl* lpVtbl; 3309 }; 3310 3311 #ifdef COBJMACROS 3312 #ifndef WIDL_C_INLINE_WRAPPERS 3313 /*** IUnknown methods ***/ 3314 #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3315 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This) 3316 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This) 3317 /*** IAMovieSetup methods ***/ 3318 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This) 3319 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This) 3320 #else 3321 /*** IUnknown methods ***/ 3322 static FORCEINLINE HRESULT IAMovieSetup_QueryInterface(IAMovieSetup* This,REFIID riid,void **ppvObject) { 3323 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3324 } 3325 static FORCEINLINE ULONG IAMovieSetup_AddRef(IAMovieSetup* This) { 3326 return This->lpVtbl->AddRef(This); 3327 } 3328 static FORCEINLINE ULONG IAMovieSetup_Release(IAMovieSetup* This) { 3329 return This->lpVtbl->Release(This); 3330 } 3331 /*** IAMovieSetup methods ***/ 3332 static FORCEINLINE HRESULT IAMovieSetup_Register(IAMovieSetup* This) { 3333 return This->lpVtbl->Register(This); 3334 } 3335 static FORCEINLINE HRESULT IAMovieSetup_Unregister(IAMovieSetup* This) { 3336 return This->lpVtbl->Unregister(This); 3337 } 3338 #endif 3339 #endif 3340 3341 #endif 3342 3343 3344 #endif /* __IAMovieSetup_INTERFACE_DEFINED__ */ 3345 3346 typedef IAMovieSetup *PAMOVIESETUP; 3347 3348 typedef enum AM_SEEKING_SeekingFlags { 3349 AM_SEEKING_NoPositioning = 0x0, 3350 AM_SEEKING_AbsolutePositioning = 0x1, 3351 AM_SEEKING_RelativePositioning = 0x2, 3352 AM_SEEKING_IncrementalPositioning = 0x3, 3353 AM_SEEKING_PositioningBitsMask = 0x3, 3354 AM_SEEKING_SeekToKeyFrame = 0x4, 3355 AM_SEEKING_ReturnTime = 0x8, 3356 AM_SEEKING_Segment = 0x10, 3357 AM_SEEKING_NoFlush = 0x20 3358 } AM_SEEKING_SEEKING_FLAGS; 3359 3360 typedef enum AM_SEEKING_SeekingCapabilities { 3361 AM_SEEKING_CanSeekAbsolute = 0x1, 3362 AM_SEEKING_CanSeekForwards = 0x2, 3363 AM_SEEKING_CanSeekBackwards = 0x4, 3364 AM_SEEKING_CanGetCurrentPos = 0x8, 3365 AM_SEEKING_CanGetStopPos = 0x10, 3366 AM_SEEKING_CanGetDuration = 0x20, 3367 AM_SEEKING_CanPlayBackwards = 0x40, 3368 AM_SEEKING_CanDoSegments = 0x80, 3369 AM_SEEKING_Source = 0x100 3370 } AM_SEEKING_SEEKING_CAPABILITIES; 3371 3372 /***************************************************************************** 3373 * IMediaSeeking interface 3374 */ 3375 #ifndef __IMediaSeeking_INTERFACE_DEFINED__ 3376 #define __IMediaSeeking_INTERFACE_DEFINED__ 3377 3378 DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 3379 #if defined(__cplusplus) && !defined(CINTERFACE) 3380 MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60") 3381 IMediaSeeking : public IUnknown 3382 { 3383 virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 3384 DWORD *pCapabilities) = 0; 3385 3386 virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 3387 DWORD *pCapabilities) = 0; 3388 3389 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 3390 const GUID *pFormat) = 0; 3391 3392 virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 3393 GUID *pFormat) = 0; 3394 3395 virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 3396 GUID *pFormat) = 0; 3397 3398 virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 3399 const GUID *pFormat) = 0; 3400 3401 virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 3402 const GUID *pFormat) = 0; 3403 3404 virtual HRESULT STDMETHODCALLTYPE GetDuration( 3405 LONGLONG *pDuration) = 0; 3406 3407 virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 3408 LONGLONG *pStop) = 0; 3409 3410 virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 3411 LONGLONG *pCurrent) = 0; 3412 3413 virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 3414 LONGLONG *pTarget, 3415 const GUID *pTargetFormat, 3416 LONGLONG Source, 3417 const GUID *pSourceFormat) = 0; 3418 3419 virtual HRESULT STDMETHODCALLTYPE SetPositions( 3420 LONGLONG *pCurrent, 3421 DWORD dwCurrentFlags, 3422 LONGLONG *pStop, 3423 DWORD dwStopFlags) = 0; 3424 3425 virtual HRESULT STDMETHODCALLTYPE GetPositions( 3426 LONGLONG *pCurrent, 3427 LONGLONG *pStop) = 0; 3428 3429 virtual HRESULT STDMETHODCALLTYPE GetAvailable( 3430 LONGLONG *pEarliest, 3431 LONGLONG *pLatest) = 0; 3432 3433 virtual HRESULT STDMETHODCALLTYPE SetRate( 3434 double dRate) = 0; 3435 3436 virtual HRESULT STDMETHODCALLTYPE GetRate( 3437 double *pdRate) = 0; 3438 3439 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 3440 LONGLONG *pllPreroll) = 0; 3441 3442 }; 3443 #ifdef __CRT_UUID_DECL 3444 __CRT_UUID_DECL(IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 3445 #endif 3446 #else 3447 typedef struct IMediaSeekingVtbl { 3448 BEGIN_INTERFACE 3449 3450 /*** IUnknown methods ***/ 3451 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3452 IMediaSeeking *This, 3453 REFIID riid, 3454 void **ppvObject); 3455 3456 ULONG (STDMETHODCALLTYPE *AddRef)( 3457 IMediaSeeking *This); 3458 3459 ULONG (STDMETHODCALLTYPE *Release)( 3460 IMediaSeeking *This); 3461 3462 /*** IMediaSeeking methods ***/ 3463 HRESULT (STDMETHODCALLTYPE *GetCapabilities)( 3464 IMediaSeeking *This, 3465 DWORD *pCapabilities); 3466 3467 HRESULT (STDMETHODCALLTYPE *CheckCapabilities)( 3468 IMediaSeeking *This, 3469 DWORD *pCapabilities); 3470 3471 HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( 3472 IMediaSeeking *This, 3473 const GUID *pFormat); 3474 3475 HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)( 3476 IMediaSeeking *This, 3477 GUID *pFormat); 3478 3479 HRESULT (STDMETHODCALLTYPE *GetTimeFormat)( 3480 IMediaSeeking *This, 3481 GUID *pFormat); 3482 3483 HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)( 3484 IMediaSeeking *This, 3485 const GUID *pFormat); 3486 3487 HRESULT (STDMETHODCALLTYPE *SetTimeFormat)( 3488 IMediaSeeking *This, 3489 const GUID *pFormat); 3490 3491 HRESULT (STDMETHODCALLTYPE *GetDuration)( 3492 IMediaSeeking *This, 3493 LONGLONG *pDuration); 3494 3495 HRESULT (STDMETHODCALLTYPE *GetStopPosition)( 3496 IMediaSeeking *This, 3497 LONGLONG *pStop); 3498 3499 HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( 3500 IMediaSeeking *This, 3501 LONGLONG *pCurrent); 3502 3503 HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)( 3504 IMediaSeeking *This, 3505 LONGLONG *pTarget, 3506 const GUID *pTargetFormat, 3507 LONGLONG Source, 3508 const GUID *pSourceFormat); 3509 3510 HRESULT (STDMETHODCALLTYPE *SetPositions)( 3511 IMediaSeeking *This, 3512 LONGLONG *pCurrent, 3513 DWORD dwCurrentFlags, 3514 LONGLONG *pStop, 3515 DWORD dwStopFlags); 3516 3517 HRESULT (STDMETHODCALLTYPE *GetPositions)( 3518 IMediaSeeking *This, 3519 LONGLONG *pCurrent, 3520 LONGLONG *pStop); 3521 3522 HRESULT (STDMETHODCALLTYPE *GetAvailable)( 3523 IMediaSeeking *This, 3524 LONGLONG *pEarliest, 3525 LONGLONG *pLatest); 3526 3527 HRESULT (STDMETHODCALLTYPE *SetRate)( 3528 IMediaSeeking *This, 3529 double dRate); 3530 3531 HRESULT (STDMETHODCALLTYPE *GetRate)( 3532 IMediaSeeking *This, 3533 double *pdRate); 3534 3535 HRESULT (STDMETHODCALLTYPE *GetPreroll)( 3536 IMediaSeeking *This, 3537 LONGLONG *pllPreroll); 3538 3539 END_INTERFACE 3540 } IMediaSeekingVtbl; 3541 3542 interface IMediaSeeking { 3543 CONST_VTBL IMediaSeekingVtbl* lpVtbl; 3544 }; 3545 3546 #ifdef COBJMACROS 3547 #ifndef WIDL_C_INLINE_WRAPPERS 3548 /*** IUnknown methods ***/ 3549 #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3550 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This) 3551 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This) 3552 /*** IMediaSeeking methods ***/ 3553 #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities) 3554 #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities) 3555 #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat) 3556 #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat) 3557 #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat) 3558 #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat) 3559 #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat) 3560 #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) 3561 #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop) 3562 #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent) 3563 #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) 3564 #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) 3565 #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop) 3566 #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest) 3567 #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate) 3568 #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate) 3569 #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll) 3570 #else 3571 /*** IUnknown methods ***/ 3572 static FORCEINLINE HRESULT IMediaSeeking_QueryInterface(IMediaSeeking* This,REFIID riid,void **ppvObject) { 3573 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3574 } 3575 static FORCEINLINE ULONG IMediaSeeking_AddRef(IMediaSeeking* This) { 3576 return This->lpVtbl->AddRef(This); 3577 } 3578 static FORCEINLINE ULONG IMediaSeeking_Release(IMediaSeeking* This) { 3579 return This->lpVtbl->Release(This); 3580 } 3581 /*** IMediaSeeking methods ***/ 3582 static FORCEINLINE HRESULT IMediaSeeking_GetCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { 3583 return This->lpVtbl->GetCapabilities(This,pCapabilities); 3584 } 3585 static FORCEINLINE HRESULT IMediaSeeking_CheckCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { 3586 return This->lpVtbl->CheckCapabilities(This,pCapabilities); 3587 } 3588 static FORCEINLINE HRESULT IMediaSeeking_IsFormatSupported(IMediaSeeking* This,const GUID *pFormat) { 3589 return This->lpVtbl->IsFormatSupported(This,pFormat); 3590 } 3591 static FORCEINLINE HRESULT IMediaSeeking_QueryPreferredFormat(IMediaSeeking* This,GUID *pFormat) { 3592 return This->lpVtbl->QueryPreferredFormat(This,pFormat); 3593 } 3594 static FORCEINLINE HRESULT IMediaSeeking_GetTimeFormat(IMediaSeeking* This,GUID *pFormat) { 3595 return This->lpVtbl->GetTimeFormat(This,pFormat); 3596 } 3597 static FORCEINLINE HRESULT IMediaSeeking_IsUsingTimeFormat(IMediaSeeking* This,const GUID *pFormat) { 3598 return This->lpVtbl->IsUsingTimeFormat(This,pFormat); 3599 } 3600 static FORCEINLINE HRESULT IMediaSeeking_SetTimeFormat(IMediaSeeking* This,const GUID *pFormat) { 3601 return This->lpVtbl->SetTimeFormat(This,pFormat); 3602 } 3603 static FORCEINLINE HRESULT IMediaSeeking_GetDuration(IMediaSeeking* This,LONGLONG *pDuration) { 3604 return This->lpVtbl->GetDuration(This,pDuration); 3605 } 3606 static FORCEINLINE HRESULT IMediaSeeking_GetStopPosition(IMediaSeeking* This,LONGLONG *pStop) { 3607 return This->lpVtbl->GetStopPosition(This,pStop); 3608 } 3609 static FORCEINLINE HRESULT IMediaSeeking_GetCurrentPosition(IMediaSeeking* This,LONGLONG *pCurrent) { 3610 return This->lpVtbl->GetCurrentPosition(This,pCurrent); 3611 } 3612 static FORCEINLINE HRESULT IMediaSeeking_ConvertTimeFormat(IMediaSeeking* This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) { 3613 return This->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat); 3614 } 3615 static FORCEINLINE HRESULT IMediaSeeking_SetPositions(IMediaSeeking* This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) { 3616 return This->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags); 3617 } 3618 static FORCEINLINE HRESULT IMediaSeeking_GetPositions(IMediaSeeking* This,LONGLONG *pCurrent,LONGLONG *pStop) { 3619 return This->lpVtbl->GetPositions(This,pCurrent,pStop); 3620 } 3621 static FORCEINLINE HRESULT IMediaSeeking_GetAvailable(IMediaSeeking* This,LONGLONG *pEarliest,LONGLONG *pLatest) { 3622 return This->lpVtbl->GetAvailable(This,pEarliest,pLatest); 3623 } 3624 static FORCEINLINE HRESULT IMediaSeeking_SetRate(IMediaSeeking* This,double dRate) { 3625 return This->lpVtbl->SetRate(This,dRate); 3626 } 3627 static FORCEINLINE HRESULT IMediaSeeking_GetRate(IMediaSeeking* This,double *pdRate) { 3628 return This->lpVtbl->GetRate(This,pdRate); 3629 } 3630 static FORCEINLINE HRESULT IMediaSeeking_GetPreroll(IMediaSeeking* This,LONGLONG *pllPreroll) { 3631 return This->lpVtbl->GetPreroll(This,pllPreroll); 3632 } 3633 #endif 3634 #endif 3635 3636 #endif 3637 3638 3639 #endif /* __IMediaSeeking_INTERFACE_DEFINED__ */ 3640 3641 typedef IMediaSeeking *PMEDIASEEKING; 3642 3643 enum tagAM_MEDIAEVENT_FLAGS { 3644 AM_MEDIAEVENT_NONOTIFY = 0x1 3645 }; 3646 3647 #endif 3648 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ 3649 #define __IAMAnalogVideoDecoder_FWD_DEFINED__ 3650 typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder; 3651 #ifdef __cplusplus 3652 interface IAMAnalogVideoDecoder; 3653 #endif /* __cplusplus */ 3654 #endif 3655 3656 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ 3657 #define __IAMAnalogVideoEncoder_FWD_DEFINED__ 3658 typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder; 3659 #ifdef __cplusplus 3660 interface IAMAnalogVideoEncoder; 3661 #endif /* __cplusplus */ 3662 #endif 3663 3664 #ifndef __IAMAudioInputMixer_FWD_DEFINED__ 3665 #define __IAMAudioInputMixer_FWD_DEFINED__ 3666 typedef interface IAMAudioInputMixer IAMAudioInputMixer; 3667 #ifdef __cplusplus 3668 interface IAMAudioInputMixer; 3669 #endif /* __cplusplus */ 3670 #endif 3671 3672 #ifndef __IAMAudioRendererStats_FWD_DEFINED__ 3673 #define __IAMAudioRendererStats_FWD_DEFINED__ 3674 typedef interface IAMAudioRendererStats IAMAudioRendererStats; 3675 #ifdef __cplusplus 3676 interface IAMAudioRendererStats; 3677 #endif /* __cplusplus */ 3678 #endif 3679 3680 #ifndef __IAMBufferNegotiation_FWD_DEFINED__ 3681 #define __IAMBufferNegotiation_FWD_DEFINED__ 3682 typedef interface IAMBufferNegotiation IAMBufferNegotiation; 3683 #ifdef __cplusplus 3684 interface IAMBufferNegotiation; 3685 #endif /* __cplusplus */ 3686 #endif 3687 3688 #ifndef __IAMCameraControl_FWD_DEFINED__ 3689 #define __IAMCameraControl_FWD_DEFINED__ 3690 typedef interface IAMCameraControl IAMCameraControl; 3691 #ifdef __cplusplus 3692 interface IAMCameraControl; 3693 #endif /* __cplusplus */ 3694 #endif 3695 3696 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__ 3697 #define __IAMCertifiedOutputProtection_FWD_DEFINED__ 3698 typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection; 3699 #ifdef __cplusplus 3700 interface IAMCertifiedOutputProtection; 3701 #endif /* __cplusplus */ 3702 #endif 3703 3704 #ifndef __IAMClockSlave_FWD_DEFINED__ 3705 #define __IAMClockSlave_FWD_DEFINED__ 3706 typedef interface IAMClockSlave IAMClockSlave; 3707 #ifdef __cplusplus 3708 interface IAMClockSlave; 3709 #endif /* __cplusplus */ 3710 #endif 3711 3712 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ 3713 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ 3714 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; 3715 #ifdef __cplusplus 3716 interface IAMCopyCaptureFileProgress; 3717 #endif /* __cplusplus */ 3718 #endif 3719 3720 #ifndef __IAMCrossbar_FWD_DEFINED__ 3721 #define __IAMCrossbar_FWD_DEFINED__ 3722 typedef interface IAMCrossbar IAMCrossbar; 3723 #ifdef __cplusplus 3724 interface IAMCrossbar; 3725 #endif /* __cplusplus */ 3726 #endif 3727 3728 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ 3729 #define __IAMDevMemoryAllocator_FWD_DEFINED__ 3730 typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator; 3731 #ifdef __cplusplus 3732 interface IAMDevMemoryAllocator; 3733 #endif /* __cplusplus */ 3734 #endif 3735 3736 #ifndef __IAMDevMemoryControl_FWD_DEFINED__ 3737 #define __IAMDevMemoryControl_FWD_DEFINED__ 3738 typedef interface IAMDevMemoryControl IAMDevMemoryControl; 3739 #ifdef __cplusplus 3740 interface IAMDevMemoryControl; 3741 #endif /* __cplusplus */ 3742 #endif 3743 3744 #ifndef __IAMDroppedFrames_FWD_DEFINED__ 3745 #define __IAMDroppedFrames_FWD_DEFINED__ 3746 typedef interface IAMDroppedFrames IAMDroppedFrames; 3747 #ifdef __cplusplus 3748 interface IAMDroppedFrames; 3749 #endif /* __cplusplus */ 3750 #endif 3751 3752 #ifndef __IAMExtDevice_FWD_DEFINED__ 3753 #define __IAMExtDevice_FWD_DEFINED__ 3754 typedef interface IAMExtDevice IAMExtDevice; 3755 #ifdef __cplusplus 3756 interface IAMExtDevice; 3757 #endif /* __cplusplus */ 3758 #endif 3759 3760 #ifndef __IAMExtTransport_FWD_DEFINED__ 3761 #define __IAMExtTransport_FWD_DEFINED__ 3762 typedef interface IAMExtTransport IAMExtTransport; 3763 #ifdef __cplusplus 3764 interface IAMExtTransport; 3765 #endif /* __cplusplus */ 3766 #endif 3767 3768 #ifndef __IAMGraphStreams_FWD_DEFINED__ 3769 #define __IAMGraphStreams_FWD_DEFINED__ 3770 typedef interface IAMGraphStreams IAMGraphStreams; 3771 #ifdef __cplusplus 3772 interface IAMGraphStreams; 3773 #endif /* __cplusplus */ 3774 #endif 3775 3776 #ifndef __IAMLatency_FWD_DEFINED__ 3777 #define __IAMLatency_FWD_DEFINED__ 3778 typedef interface IAMLatency IAMLatency; 3779 #ifdef __cplusplus 3780 interface IAMLatency; 3781 #endif /* __cplusplus */ 3782 #endif 3783 3784 #ifndef __IAMOpenProgress_FWD_DEFINED__ 3785 #define __IAMOpenProgress_FWD_DEFINED__ 3786 typedef interface IAMOpenProgress IAMOpenProgress; 3787 #ifdef __cplusplus 3788 interface IAMOpenProgress; 3789 #endif /* __cplusplus */ 3790 #endif 3791 3792 #ifndef __IAMOverlayFX_FWD_DEFINED__ 3793 #define __IAMOverlayFX_FWD_DEFINED__ 3794 typedef interface IAMOverlayFX IAMOverlayFX; 3795 #ifdef __cplusplus 3796 interface IAMOverlayFX; 3797 #endif /* __cplusplus */ 3798 #endif 3799 3800 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ 3801 #define __IAMPhysicalPinInfo_FWD_DEFINED__ 3802 typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo; 3803 #ifdef __cplusplus 3804 interface IAMPhysicalPinInfo; 3805 #endif /* __cplusplus */ 3806 #endif 3807 3808 #ifndef __IAMPushSource_FWD_DEFINED__ 3809 #define __IAMPushSource_FWD_DEFINED__ 3810 typedef interface IAMPushSource IAMPushSource; 3811 #ifdef __cplusplus 3812 interface IAMPushSource; 3813 #endif /* __cplusplus */ 3814 #endif 3815 3816 #ifndef __IAMStreamConfig_FWD_DEFINED__ 3817 #define __IAMStreamConfig_FWD_DEFINED__ 3818 typedef interface IAMStreamConfig IAMStreamConfig; 3819 #ifdef __cplusplus 3820 interface IAMStreamConfig; 3821 #endif /* __cplusplus */ 3822 #endif 3823 3824 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ 3825 #define __IAMTimecodeDisplay_FWD_DEFINED__ 3826 typedef interface IAMTimecodeDisplay IAMTimecodeDisplay; 3827 #ifdef __cplusplus 3828 interface IAMTimecodeDisplay; 3829 #endif /* __cplusplus */ 3830 #endif 3831 3832 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ 3833 #define __IAMTimecodeGenerator_FWD_DEFINED__ 3834 typedef interface IAMTimecodeGenerator IAMTimecodeGenerator; 3835 #ifdef __cplusplus 3836 interface IAMTimecodeGenerator; 3837 #endif /* __cplusplus */ 3838 #endif 3839 3840 #ifndef __IAMTimecodeReader_FWD_DEFINED__ 3841 #define __IAMTimecodeReader_FWD_DEFINED__ 3842 typedef interface IAMTimecodeReader IAMTimecodeReader; 3843 #ifdef __cplusplus 3844 interface IAMTimecodeReader; 3845 #endif /* __cplusplus */ 3846 #endif 3847 3848 #ifndef __IAMTVTuner_FWD_DEFINED__ 3849 #define __IAMTVTuner_FWD_DEFINED__ 3850 typedef interface IAMTVTuner IAMTVTuner; 3851 #ifdef __cplusplus 3852 interface IAMTVTuner; 3853 #endif /* __cplusplus */ 3854 #endif 3855 3856 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ 3857 #define __IAMVfwCaptureDialogs_FWD_DEFINED__ 3858 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; 3859 #ifdef __cplusplus 3860 interface IAMVfwCaptureDialogs; 3861 #endif /* __cplusplus */ 3862 #endif 3863 3864 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ 3865 #define __IAMVfwCompressDialogs_FWD_DEFINED__ 3866 typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs; 3867 #ifdef __cplusplus 3868 interface IAMVfwCompressDialogs; 3869 #endif /* __cplusplus */ 3870 #endif 3871 3872 #ifndef __IAMVideoCompression_FWD_DEFINED__ 3873 #define __IAMVideoCompression_FWD_DEFINED__ 3874 typedef interface IAMVideoCompression IAMVideoCompression; 3875 #ifdef __cplusplus 3876 interface IAMVideoCompression; 3877 #endif /* __cplusplus */ 3878 #endif 3879 3880 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ 3881 #define __IAMVideoDecimationProperties_FWD_DEFINED__ 3882 typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties; 3883 #ifdef __cplusplus 3884 interface IAMVideoDecimationProperties; 3885 #endif /* __cplusplus */ 3886 #endif 3887 3888 #ifndef __IAMVideoProcAmp_FWD_DEFINED__ 3889 #define __IAMVideoProcAmp_FWD_DEFINED__ 3890 typedef interface IAMVideoProcAmp IAMVideoProcAmp; 3891 #ifdef __cplusplus 3892 interface IAMVideoProcAmp; 3893 #endif /* __cplusplus */ 3894 #endif 3895 3896 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ 3897 #define __IAMGraphBuilderCallback_FWD_DEFINED__ 3898 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; 3899 #ifdef __cplusplus 3900 interface IAMGraphBuilderCallback; 3901 #endif /* __cplusplus */ 3902 #endif 3903 3904 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ 3905 #define __ICaptureGraphBuilder_FWD_DEFINED__ 3906 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; 3907 #ifdef __cplusplus 3908 interface ICaptureGraphBuilder; 3909 #endif /* __cplusplus */ 3910 #endif 3911 3912 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ 3913 #define __ICaptureGraphBuilder2_FWD_DEFINED__ 3914 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; 3915 #ifdef __cplusplus 3916 interface ICaptureGraphBuilder2; 3917 #endif /* __cplusplus */ 3918 #endif 3919 3920 #ifndef __IConfigAviMux_FWD_DEFINED__ 3921 #define __IConfigAviMux_FWD_DEFINED__ 3922 typedef interface IConfigAviMux IConfigAviMux; 3923 #ifdef __cplusplus 3924 interface IConfigAviMux; 3925 #endif /* __cplusplus */ 3926 #endif 3927 3928 #ifndef __IConfigInterleaving_FWD_DEFINED__ 3929 #define __IConfigInterleaving_FWD_DEFINED__ 3930 typedef interface IConfigInterleaving IConfigInterleaving; 3931 #ifdef __cplusplus 3932 interface IConfigInterleaving; 3933 #endif /* __cplusplus */ 3934 #endif 3935 3936 #ifndef __IDecimateVideoImage_FWD_DEFINED__ 3937 #define __IDecimateVideoImage_FWD_DEFINED__ 3938 typedef interface IDecimateVideoImage IDecimateVideoImage; 3939 #ifdef __cplusplus 3940 interface IDecimateVideoImage; 3941 #endif /* __cplusplus */ 3942 #endif 3943 3944 #ifndef __IDrawVideoImage_FWD_DEFINED__ 3945 #define __IDrawVideoImage_FWD_DEFINED__ 3946 typedef interface IDrawVideoImage IDrawVideoImage; 3947 #ifdef __cplusplus 3948 interface IDrawVideoImage; 3949 #endif /* __cplusplus */ 3950 #endif 3951 3952 #ifndef __IEnumRegFilters_FWD_DEFINED__ 3953 #define __IEnumRegFilters_FWD_DEFINED__ 3954 typedef interface IEnumRegFilters IEnumRegFilters; 3955 #ifdef __cplusplus 3956 interface IEnumRegFilters; 3957 #endif /* __cplusplus */ 3958 #endif 3959 3960 #ifndef __IEnumStreamIdMap_FWD_DEFINED__ 3961 #define __IEnumStreamIdMap_FWD_DEFINED__ 3962 typedef interface IEnumStreamIdMap IEnumStreamIdMap; 3963 #ifdef __cplusplus 3964 interface IEnumStreamIdMap; 3965 #endif /* __cplusplus */ 3966 #endif 3967 3968 #ifndef __IFileSourceFilter_FWD_DEFINED__ 3969 #define __IFileSourceFilter_FWD_DEFINED__ 3970 typedef interface IFileSourceFilter IFileSourceFilter; 3971 #ifdef __cplusplus 3972 interface IFileSourceFilter; 3973 #endif /* __cplusplus */ 3974 #endif 3975 3976 #ifndef __IFileSinkFilter_FWD_DEFINED__ 3977 #define __IFileSinkFilter_FWD_DEFINED__ 3978 typedef interface IFileSinkFilter IFileSinkFilter; 3979 #ifdef __cplusplus 3980 interface IFileSinkFilter; 3981 #endif /* __cplusplus */ 3982 #endif 3983 3984 #ifndef __IFileSinkFilter2_FWD_DEFINED__ 3985 #define __IFileSinkFilter2_FWD_DEFINED__ 3986 typedef interface IFileSinkFilter2 IFileSinkFilter2; 3987 #ifdef __cplusplus 3988 interface IFileSinkFilter2; 3989 #endif /* __cplusplus */ 3990 #endif 3991 3992 #ifndef __IFilterMapper_FWD_DEFINED__ 3993 #define __IFilterMapper_FWD_DEFINED__ 3994 typedef interface IFilterMapper IFilterMapper; 3995 #ifdef __cplusplus 3996 interface IFilterMapper; 3997 #endif /* __cplusplus */ 3998 #endif 3999 4000 #ifndef __IFilterMapper2_FWD_DEFINED__ 4001 #define __IFilterMapper2_FWD_DEFINED__ 4002 typedef interface IFilterMapper2 IFilterMapper2; 4003 #ifdef __cplusplus 4004 interface IFilterMapper2; 4005 #endif /* __cplusplus */ 4006 #endif 4007 4008 #ifndef __IGraphBuilder_FWD_DEFINED__ 4009 #define __IGraphBuilder_FWD_DEFINED__ 4010 typedef interface IGraphBuilder IGraphBuilder; 4011 #ifdef __cplusplus 4012 interface IGraphBuilder; 4013 #endif /* __cplusplus */ 4014 #endif 4015 4016 #ifndef __IKsPropertySet_FWD_DEFINED__ 4017 #define __IKsPropertySet_FWD_DEFINED__ 4018 typedef interface IKsPropertySet IKsPropertySet; 4019 #ifdef __cplusplus 4020 interface IKsPropertySet; 4021 #endif /* __cplusplus */ 4022 #endif 4023 4024 #ifndef __IMediaEventSink_FWD_DEFINED__ 4025 #define __IMediaEventSink_FWD_DEFINED__ 4026 typedef interface IMediaEventSink IMediaEventSink; 4027 #ifdef __cplusplus 4028 interface IMediaEventSink; 4029 #endif /* __cplusplus */ 4030 #endif 4031 4032 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ 4033 #define __IMpeg2Demultiplexer_FWD_DEFINED__ 4034 typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer; 4035 #ifdef __cplusplus 4036 interface IMpeg2Demultiplexer; 4037 #endif /* __cplusplus */ 4038 #endif 4039 4040 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ 4041 #define __IMPEG2StreamIdMap_FWD_DEFINED__ 4042 typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap; 4043 #ifdef __cplusplus 4044 interface IMPEG2StreamIdMap; 4045 #endif /* __cplusplus */ 4046 #endif 4047 4048 #ifndef __IOverlay_FWD_DEFINED__ 4049 #define __IOverlay_FWD_DEFINED__ 4050 typedef interface IOverlay IOverlay; 4051 #ifdef __cplusplus 4052 interface IOverlay; 4053 #endif /* __cplusplus */ 4054 #endif 4055 4056 #ifndef __IOverlayNotify_FWD_DEFINED__ 4057 #define __IOverlayNotify_FWD_DEFINED__ 4058 typedef interface IOverlayNotify IOverlayNotify; 4059 #ifdef __cplusplus 4060 interface IOverlayNotify; 4061 #endif /* __cplusplus */ 4062 #endif 4063 4064 #ifndef __IOverlayNotify2_FWD_DEFINED__ 4065 #define __IOverlayNotify2_FWD_DEFINED__ 4066 typedef interface IOverlayNotify2 IOverlayNotify2; 4067 #ifdef __cplusplus 4068 interface IOverlayNotify2; 4069 #endif /* __cplusplus */ 4070 #endif 4071 4072 #ifndef __IQualityControl_FWD_DEFINED__ 4073 #define __IQualityControl_FWD_DEFINED__ 4074 typedef interface IQualityControl IQualityControl; 4075 #ifdef __cplusplus 4076 interface IQualityControl; 4077 #endif /* __cplusplus */ 4078 #endif 4079 4080 #ifndef __ISeekingPassThru_FWD_DEFINED__ 4081 #define __ISeekingPassThru_FWD_DEFINED__ 4082 typedef interface ISeekingPassThru ISeekingPassThru; 4083 #ifdef __cplusplus 4084 interface ISeekingPassThru; 4085 #endif /* __cplusplus */ 4086 #endif 4087 4088 typedef enum tagAnalogVideoStandard { 4089 AnalogVideo_None = 0x0, 4090 AnalogVideo_NTSC_M = 0x1, 4091 AnalogVideo_NTSC_M_J = 0x2, 4092 AnalogVideo_NTSC_433 = 0x4, 4093 AnalogVideo_PAL_B = 0x10, 4094 AnalogVideo_PAL_D = 0x20, 4095 AnalogVideo_PAL_G = 0x40, 4096 AnalogVideo_PAL_H = 0x80, 4097 AnalogVideo_PAL_I = 0x100, 4098 AnalogVideo_PAL_M = 0x200, 4099 AnalogVideo_PAL_N = 0x400, 4100 AnalogVideo_PAL_60 = 0x800, 4101 AnalogVideo_SECAM_B = 0x1000, 4102 AnalogVideo_SECAM_D = 0x2000, 4103 AnalogVideo_SECAM_G = 0x4000, 4104 AnalogVideo_SECAM_H = 0x8000, 4105 AnalogVideo_SECAM_K = 0x10000, 4106 AnalogVideo_SECAM_K1 = 0x20000, 4107 AnalogVideo_SECAM_L = 0x40000, 4108 AnalogVideo_SECAM_L1 = 0x80000, 4109 AnalogVideo_PAL_N_COMBO = 0x100000, 4110 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, 4111 AnalogVideoMask_MCE_PAL = (((AnalogVideo_PAL_B | AnalogVideo_PAL_D) | AnalogVideo_PAL_G) | AnalogVideo_PAL_H) | AnalogVideo_PAL_I, 4112 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 4113 } AnalogVideoStandard; 4114 typedef enum tagTunerInputType { 4115 TunerInputCable = 0, 4116 TunerInputAntenna = 1 4117 } TunerInputType; 4118 typedef struct __WIDL_strmif_generated_name_00000002 { 4119 CLSID Clsid; 4120 LPWSTR Name; 4121 } REGFILTER; 4122 typedef enum tagTVAudioMode { 4123 AMTVAUDIO_MODE_MONO = 0x1, 4124 AMTVAUDIO_MODE_STEREO = 0x2, 4125 AMTVAUDIO_MODE_LANG_A = 0x10, 4126 AMTVAUDIO_MODE_LANG_B = 0x20, 4127 AMTVAUDIO_MODE_LANG_C = 0x40, 4128 AMTVAUDIO_PRESET_STEREO = 0x200, 4129 AMTVAUDIO_PRESET_LANG_A = 0x1000, 4130 AMTVAUDIO_PRESET_LANG_B = 0x2000, 4131 AMTVAUDIO_PRESET_LANG_C = 0x4000 4132 } TVAudioMode; 4133 /***************************************************************************** 4134 * IEnumRegFilters interface 4135 */ 4136 #ifndef __IEnumRegFilters_INTERFACE_DEFINED__ 4137 #define __IEnumRegFilters_INTERFACE_DEFINED__ 4138 4139 DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4140 #if defined(__cplusplus) && !defined(CINTERFACE) 4141 MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770") 4142 IEnumRegFilters : public IUnknown 4143 { 4144 virtual HRESULT STDMETHODCALLTYPE Next( 4145 ULONG cFilters, 4146 REGFILTER **apRegFilter, 4147 ULONG *pcFetched) = 0; 4148 4149 virtual HRESULT STDMETHODCALLTYPE Skip( 4150 ULONG cFilters) = 0; 4151 4152 virtual HRESULT STDMETHODCALLTYPE Reset( 4153 ) = 0; 4154 4155 virtual HRESULT STDMETHODCALLTYPE Clone( 4156 IEnumRegFilters **ppEnum) = 0; 4157 4158 }; 4159 #ifdef __CRT_UUID_DECL 4160 __CRT_UUID_DECL(IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4161 #endif 4162 #else 4163 typedef struct IEnumRegFiltersVtbl { 4164 BEGIN_INTERFACE 4165 4166 /*** IUnknown methods ***/ 4167 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4168 IEnumRegFilters *This, 4169 REFIID riid, 4170 void **ppvObject); 4171 4172 ULONG (STDMETHODCALLTYPE *AddRef)( 4173 IEnumRegFilters *This); 4174 4175 ULONG (STDMETHODCALLTYPE *Release)( 4176 IEnumRegFilters *This); 4177 4178 /*** IEnumRegFilters methods ***/ 4179 HRESULT (STDMETHODCALLTYPE *Next)( 4180 IEnumRegFilters *This, 4181 ULONG cFilters, 4182 REGFILTER **apRegFilter, 4183 ULONG *pcFetched); 4184 4185 HRESULT (STDMETHODCALLTYPE *Skip)( 4186 IEnumRegFilters *This, 4187 ULONG cFilters); 4188 4189 HRESULT (STDMETHODCALLTYPE *Reset)( 4190 IEnumRegFilters *This); 4191 4192 HRESULT (STDMETHODCALLTYPE *Clone)( 4193 IEnumRegFilters *This, 4194 IEnumRegFilters **ppEnum); 4195 4196 END_INTERFACE 4197 } IEnumRegFiltersVtbl; 4198 4199 interface IEnumRegFilters { 4200 CONST_VTBL IEnumRegFiltersVtbl* lpVtbl; 4201 }; 4202 4203 #ifdef COBJMACROS 4204 #ifndef WIDL_C_INLINE_WRAPPERS 4205 /*** IUnknown methods ***/ 4206 #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4207 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This) 4208 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This) 4209 /*** IEnumRegFilters methods ***/ 4210 #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched) 4211 #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) 4212 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This) 4213 #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 4214 #else 4215 /*** IUnknown methods ***/ 4216 static FORCEINLINE HRESULT IEnumRegFilters_QueryInterface(IEnumRegFilters* This,REFIID riid,void **ppvObject) { 4217 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4218 } 4219 static FORCEINLINE ULONG IEnumRegFilters_AddRef(IEnumRegFilters* This) { 4220 return This->lpVtbl->AddRef(This); 4221 } 4222 static FORCEINLINE ULONG IEnumRegFilters_Release(IEnumRegFilters* This) { 4223 return This->lpVtbl->Release(This); 4224 } 4225 /*** IEnumRegFilters methods ***/ 4226 static FORCEINLINE HRESULT IEnumRegFilters_Next(IEnumRegFilters* This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) { 4227 return This->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched); 4228 } 4229 static FORCEINLINE HRESULT IEnumRegFilters_Skip(IEnumRegFilters* This,ULONG cFilters) { 4230 return This->lpVtbl->Skip(This,cFilters); 4231 } 4232 static FORCEINLINE HRESULT IEnumRegFilters_Reset(IEnumRegFilters* This) { 4233 return This->lpVtbl->Reset(This); 4234 } 4235 static FORCEINLINE HRESULT IEnumRegFilters_Clone(IEnumRegFilters* This,IEnumRegFilters **ppEnum) { 4236 return This->lpVtbl->Clone(This,ppEnum); 4237 } 4238 #endif 4239 #endif 4240 4241 #endif 4242 4243 4244 #endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */ 4245 4246 typedef IEnumRegFilters *PENUMREGFILTERS; 4247 /***************************************************************************** 4248 * IFilterMapper interface 4249 */ 4250 #ifndef __IFilterMapper_INTERFACE_DEFINED__ 4251 #define __IFilterMapper_INTERFACE_DEFINED__ 4252 4253 enum { 4254 MERIT_PREFERRED = 0x800000, 4255 MERIT_NORMAL = 0x600000, 4256 MERIT_UNLIKELY = 0x400000, 4257 MERIT_DO_NOT_USE = 0x200000, 4258 MERIT_SW_COMPRESSOR = 0x100000, 4259 MERIT_HW_COMPRESSOR = 0x100050 4260 }; 4261 DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4262 #if defined(__cplusplus) && !defined(CINTERFACE) 4263 MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770") 4264 IFilterMapper : public IUnknown 4265 { 4266 virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 4267 CLSID clsid, 4268 LPCWSTR Name, 4269 DWORD dwMerit) = 0; 4270 4271 virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 4272 CLSID clsid, 4273 LPCWSTR Name, 4274 CLSID *MRId) = 0; 4275 4276 virtual HRESULT STDMETHODCALLTYPE RegisterPin( 4277 CLSID Filter, 4278 LPCWSTR Name, 4279 WINBOOL bRendered, 4280 WINBOOL bOutput, 4281 WINBOOL bZero, 4282 WINBOOL bMany, 4283 CLSID ConnectsToFilter, 4284 LPCWSTR ConnectsToPin) = 0; 4285 4286 virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 4287 CLSID clsFilter, 4288 LPCWSTR strName, 4289 CLSID clsMajorType, 4290 CLSID clsSubType) = 0; 4291 4292 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 4293 CLSID Filter) = 0; 4294 4295 virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 4296 CLSID MRId) = 0; 4297 4298 virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 4299 CLSID Filter, 4300 LPCWSTR Name) = 0; 4301 4302 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 4303 IEnumRegFilters **ppEnum, 4304 DWORD dwMerit, 4305 WINBOOL bInputNeeded, 4306 CLSID clsInMaj, 4307 CLSID clsInSub, 4308 WINBOOL bRender, 4309 WINBOOL bOututNeeded, 4310 CLSID clsOutMaj, 4311 CLSID clsOutSub) = 0; 4312 4313 }; 4314 #ifdef __CRT_UUID_DECL 4315 __CRT_UUID_DECL(IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4316 #endif 4317 #else 4318 typedef struct IFilterMapperVtbl { 4319 BEGIN_INTERFACE 4320 4321 /*** IUnknown methods ***/ 4322 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4323 IFilterMapper *This, 4324 REFIID riid, 4325 void **ppvObject); 4326 4327 ULONG (STDMETHODCALLTYPE *AddRef)( 4328 IFilterMapper *This); 4329 4330 ULONG (STDMETHODCALLTYPE *Release)( 4331 IFilterMapper *This); 4332 4333 /*** IFilterMapper methods ***/ 4334 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4335 IFilterMapper *This, 4336 CLSID clsid, 4337 LPCWSTR Name, 4338 DWORD dwMerit); 4339 4340 HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)( 4341 IFilterMapper *This, 4342 CLSID clsid, 4343 LPCWSTR Name, 4344 CLSID *MRId); 4345 4346 HRESULT (STDMETHODCALLTYPE *RegisterPin)( 4347 IFilterMapper *This, 4348 CLSID Filter, 4349 LPCWSTR Name, 4350 WINBOOL bRendered, 4351 WINBOOL bOutput, 4352 WINBOOL bZero, 4353 WINBOOL bMany, 4354 CLSID ConnectsToFilter, 4355 LPCWSTR ConnectsToPin); 4356 4357 HRESULT (STDMETHODCALLTYPE *RegisterPinType)( 4358 IFilterMapper *This, 4359 CLSID clsFilter, 4360 LPCWSTR strName, 4361 CLSID clsMajorType, 4362 CLSID clsSubType); 4363 4364 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4365 IFilterMapper *This, 4366 CLSID Filter); 4367 4368 HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)( 4369 IFilterMapper *This, 4370 CLSID MRId); 4371 4372 HRESULT (STDMETHODCALLTYPE *UnregisterPin)( 4373 IFilterMapper *This, 4374 CLSID Filter, 4375 LPCWSTR Name); 4376 4377 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4378 IFilterMapper *This, 4379 IEnumRegFilters **ppEnum, 4380 DWORD dwMerit, 4381 WINBOOL bInputNeeded, 4382 CLSID clsInMaj, 4383 CLSID clsInSub, 4384 WINBOOL bRender, 4385 WINBOOL bOututNeeded, 4386 CLSID clsOutMaj, 4387 CLSID clsOutSub); 4388 4389 END_INTERFACE 4390 } IFilterMapperVtbl; 4391 4392 interface IFilterMapper { 4393 CONST_VTBL IFilterMapperVtbl* lpVtbl; 4394 }; 4395 4396 #ifdef COBJMACROS 4397 #ifndef WIDL_C_INLINE_WRAPPERS 4398 /*** IUnknown methods ***/ 4399 #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4400 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This) 4401 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This) 4402 /*** IFilterMapper methods ***/ 4403 #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit) 4404 #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId) 4405 #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) 4406 #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) 4407 #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter) 4408 #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId) 4409 #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name) 4410 #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub) (This)->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub) 4411 #else 4412 /*** IUnknown methods ***/ 4413 static FORCEINLINE HRESULT IFilterMapper_QueryInterface(IFilterMapper* This,REFIID riid,void **ppvObject) { 4414 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4415 } 4416 static FORCEINLINE ULONG IFilterMapper_AddRef(IFilterMapper* This) { 4417 return This->lpVtbl->AddRef(This); 4418 } 4419 static FORCEINLINE ULONG IFilterMapper_Release(IFilterMapper* This) { 4420 return This->lpVtbl->Release(This); 4421 } 4422 /*** IFilterMapper methods ***/ 4423 static FORCEINLINE HRESULT IFilterMapper_RegisterFilter(IFilterMapper* This,CLSID clsid,LPCWSTR Name,DWORD dwMerit) { 4424 return This->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit); 4425 } 4426 static FORCEINLINE HRESULT IFilterMapper_RegisterFilterInstance(IFilterMapper* This,CLSID clsid,LPCWSTR Name,CLSID *MRId) { 4427 return This->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId); 4428 } 4429 static FORCEINLINE HRESULT IFilterMapper_RegisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) { 4430 return This->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin); 4431 } 4432 static FORCEINLINE HRESULT IFilterMapper_RegisterPinType(IFilterMapper* This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) { 4433 return This->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType); 4434 } 4435 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilter(IFilterMapper* This,CLSID Filter) { 4436 return This->lpVtbl->UnregisterFilter(This,Filter); 4437 } 4438 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilterInstance(IFilterMapper* This,CLSID MRId) { 4439 return This->lpVtbl->UnregisterFilterInstance(This,MRId); 4440 } 4441 static FORCEINLINE HRESULT IFilterMapper_UnregisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name) { 4442 return This->lpVtbl->UnregisterPin(This,Filter,Name); 4443 } 4444 static FORCEINLINE HRESULT IFilterMapper_EnumMatchingFilters(IFilterMapper* This,IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOututNeeded,CLSID clsOutMaj,CLSID clsOutSub) { 4445 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub); 4446 } 4447 #endif 4448 #endif 4449 4450 #endif 4451 4452 4453 #endif /* __IFilterMapper_INTERFACE_DEFINED__ */ 4454 4455 typedef struct __WIDL_strmif_generated_name_00000003 { 4456 const CLSID *clsMajorType; 4457 const CLSID *clsMinorType; 4458 } REGPINTYPES; 4459 typedef struct __WIDL_strmif_generated_name_00000004 { 4460 LPWSTR strName; 4461 WINBOOL bRendered; 4462 WINBOOL bOutput; 4463 WINBOOL bZero; 4464 WINBOOL bMany; 4465 const CLSID *clsConnectsToFilter; 4466 const WCHAR *strConnectsToPin; 4467 UINT nMediaTypes; 4468 const REGPINTYPES *lpMediaType; 4469 } REGFILTERPINS; 4470 typedef struct __WIDL_strmif_generated_name_00000005 { 4471 CLSID clsMedium; 4472 DWORD dw1; 4473 DWORD dw2; 4474 } REGPINMEDIUM; 4475 enum { 4476 REG_PINFLAG_B_ZERO = 0x1, 4477 REG_PINFLAG_B_RENDERER = 0x2, 4478 REG_PINFLAG_B_MANY = 0x4, 4479 REG_PINFLAG_B_OUTPUT = 0x8 4480 }; 4481 typedef struct __WIDL_strmif_generated_name_00000006 { 4482 DWORD dwFlags; 4483 UINT cInstances; 4484 UINT nMediaTypes; 4485 const REGPINTYPES *lpMediaType; 4486 UINT nMediums; 4487 const REGPINMEDIUM *lpMedium; 4488 const CLSID *clsPinCategory; 4489 } REGFILTERPINS2; 4490 typedef struct __WIDL_strmif_generated_name_00000007 { 4491 DWORD dwVersion; 4492 DWORD dwMerit; 4493 __C89_NAMELESS union { 4494 __C89_NAMELESS struct { 4495 ULONG cPins; 4496 const REGFILTERPINS *rgPins; 4497 } __C89_NAMELESSSTRUCTNAME1; 4498 __C89_NAMELESS struct { 4499 ULONG cPins2; 4500 const REGFILTERPINS2 *rgPins2; 4501 } __C89_NAMELESSSTRUCTNAME2; 4502 } __C89_NAMELESSUNIONNAME; 4503 } REGFILTER2; 4504 /***************************************************************************** 4505 * IFilterMapper2 interface 4506 */ 4507 #ifndef __IFilterMapper2_INTERFACE_DEFINED__ 4508 #define __IFilterMapper2_INTERFACE_DEFINED__ 4509 4510 DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 4511 #if defined(__cplusplus) && !defined(CINTERFACE) 4512 MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375") 4513 IFilterMapper2 : public IUnknown 4514 { 4515 virtual HRESULT STDMETHODCALLTYPE CreateCategory( 4516 REFCLSID clsidCategory, 4517 DWORD dwCategoryMerit, 4518 LPCWSTR Description) = 0; 4519 4520 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 4521 const CLSID *pclsidCategory, 4522 LPCOLESTR szInstance, 4523 REFCLSID Filter) = 0; 4524 4525 virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 4526 REFCLSID clsidFilter, 4527 LPCWSTR Name, 4528 IMoniker **ppMoniker, 4529 const CLSID *pclsidCategory, 4530 LPCOLESTR szInstance, 4531 const REGFILTER2 *prf2) = 0; 4532 4533 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 4534 IEnumMoniker **ppEnum, 4535 DWORD dwFlags, 4536 WINBOOL bExactMatch, 4537 DWORD dwMerit, 4538 WINBOOL bInputNeeded, 4539 DWORD cInputTypes, 4540 const GUID *pInputTypes, 4541 const REGPINMEDIUM *pMedIn, 4542 const CLSID *pPinCategoryIn, 4543 WINBOOL bRender, 4544 WINBOOL bOutputNeeded, 4545 DWORD cOutputTypes, 4546 const GUID *pOutputTypes, 4547 const REGPINMEDIUM *pMedOut, 4548 const CLSID *pPinCategoryOut) = 0; 4549 4550 }; 4551 #ifdef __CRT_UUID_DECL 4552 __CRT_UUID_DECL(IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 4553 #endif 4554 #else 4555 typedef struct IFilterMapper2Vtbl { 4556 BEGIN_INTERFACE 4557 4558 /*** IUnknown methods ***/ 4559 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4560 IFilterMapper2 *This, 4561 REFIID riid, 4562 void **ppvObject); 4563 4564 ULONG (STDMETHODCALLTYPE *AddRef)( 4565 IFilterMapper2 *This); 4566 4567 ULONG (STDMETHODCALLTYPE *Release)( 4568 IFilterMapper2 *This); 4569 4570 /*** IFilterMapper2 methods ***/ 4571 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 4572 IFilterMapper2 *This, 4573 REFCLSID clsidCategory, 4574 DWORD dwCategoryMerit, 4575 LPCWSTR Description); 4576 4577 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4578 IFilterMapper2 *This, 4579 const CLSID *pclsidCategory, 4580 LPCOLESTR szInstance, 4581 REFCLSID Filter); 4582 4583 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4584 IFilterMapper2 *This, 4585 REFCLSID clsidFilter, 4586 LPCWSTR Name, 4587 IMoniker **ppMoniker, 4588 const CLSID *pclsidCategory, 4589 LPCOLESTR szInstance, 4590 const REGFILTER2 *prf2); 4591 4592 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4593 IFilterMapper2 *This, 4594 IEnumMoniker **ppEnum, 4595 DWORD dwFlags, 4596 WINBOOL bExactMatch, 4597 DWORD dwMerit, 4598 WINBOOL bInputNeeded, 4599 DWORD cInputTypes, 4600 const GUID *pInputTypes, 4601 const REGPINMEDIUM *pMedIn, 4602 const CLSID *pPinCategoryIn, 4603 WINBOOL bRender, 4604 WINBOOL bOutputNeeded, 4605 DWORD cOutputTypes, 4606 const GUID *pOutputTypes, 4607 const REGPINMEDIUM *pMedOut, 4608 const CLSID *pPinCategoryOut); 4609 4610 END_INTERFACE 4611 } IFilterMapper2Vtbl; 4612 4613 interface IFilterMapper2 { 4614 CONST_VTBL IFilterMapper2Vtbl* lpVtbl; 4615 }; 4616 4617 #ifdef COBJMACROS 4618 #ifndef WIDL_C_INLINE_WRAPPERS 4619 /*** IUnknown methods ***/ 4620 #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4621 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This) 4622 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This) 4623 /*** IFilterMapper2 methods ***/ 4624 #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) 4625 #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) 4626 #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) 4627 #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) 4628 #else 4629 /*** IUnknown methods ***/ 4630 static FORCEINLINE HRESULT IFilterMapper2_QueryInterface(IFilterMapper2* This,REFIID riid,void **ppvObject) { 4631 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4632 } 4633 static FORCEINLINE ULONG IFilterMapper2_AddRef(IFilterMapper2* This) { 4634 return This->lpVtbl->AddRef(This); 4635 } 4636 static FORCEINLINE ULONG IFilterMapper2_Release(IFilterMapper2* This) { 4637 return This->lpVtbl->Release(This); 4638 } 4639 /*** IFilterMapper2 methods ***/ 4640 static FORCEINLINE HRESULT IFilterMapper2_CreateCategory(IFilterMapper2* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { 4641 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); 4642 } 4643 static FORCEINLINE HRESULT IFilterMapper2_UnregisterFilter(IFilterMapper2* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { 4644 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); 4645 } 4646 static FORCEINLINE HRESULT IFilterMapper2_RegisterFilter(IFilterMapper2* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { 4647 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); 4648 } 4649 static FORCEINLINE HRESULT IFilterMapper2_EnumMatchingFilters(IFilterMapper2* This,IEnumMoniker **ppEnum,DWORD dwFlags,WINBOOL bExactMatch,DWORD dwMerit,WINBOOL bInputNeeded,DWORD cInputTypes,const GUID *pInputTypes,const REGPINMEDIUM *pMedIn,const CLSID *pPinCategoryIn,WINBOOL bRender,WINBOOL bOutputNeeded,DWORD cOutputTypes,const GUID *pOutputTypes,const REGPINMEDIUM *pMedOut,const CLSID *pPinCategoryOut) { 4650 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); 4651 } 4652 #endif 4653 #endif 4654 4655 #endif 4656 4657 4658 #endif /* __IFilterMapper2_INTERFACE_DEFINED__ */ 4659 4660 /***************************************************************************** 4661 * IFilterMapper3 interface 4662 */ 4663 #ifndef __IFilterMapper3_INTERFACE_DEFINED__ 4664 #define __IFilterMapper3_INTERFACE_DEFINED__ 4665 4666 DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 4667 #if defined(__cplusplus) && !defined(CINTERFACE) 4668 MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375") 4669 IFilterMapper3 : public IFilterMapper2 4670 { 4671 virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( 4672 ICreateDevEnum **ppEnum) = 0; 4673 4674 }; 4675 #ifdef __CRT_UUID_DECL 4676 __CRT_UUID_DECL(IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 4677 #endif 4678 #else 4679 typedef struct IFilterMapper3Vtbl { 4680 BEGIN_INTERFACE 4681 4682 /*** IUnknown methods ***/ 4683 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4684 IFilterMapper3 *This, 4685 REFIID riid, 4686 void **ppvObject); 4687 4688 ULONG (STDMETHODCALLTYPE *AddRef)( 4689 IFilterMapper3 *This); 4690 4691 ULONG (STDMETHODCALLTYPE *Release)( 4692 IFilterMapper3 *This); 4693 4694 /*** IFilterMapper2 methods ***/ 4695 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 4696 IFilterMapper3 *This, 4697 REFCLSID clsidCategory, 4698 DWORD dwCategoryMerit, 4699 LPCWSTR Description); 4700 4701 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4702 IFilterMapper3 *This, 4703 const CLSID *pclsidCategory, 4704 LPCOLESTR szInstance, 4705 REFCLSID Filter); 4706 4707 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4708 IFilterMapper3 *This, 4709 REFCLSID clsidFilter, 4710 LPCWSTR Name, 4711 IMoniker **ppMoniker, 4712 const CLSID *pclsidCategory, 4713 LPCOLESTR szInstance, 4714 const REGFILTER2 *prf2); 4715 4716 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4717 IFilterMapper3 *This, 4718 IEnumMoniker **ppEnum, 4719 DWORD dwFlags, 4720 WINBOOL bExactMatch, 4721 DWORD dwMerit, 4722 WINBOOL bInputNeeded, 4723 DWORD cInputTypes, 4724 const GUID *pInputTypes, 4725 const REGPINMEDIUM *pMedIn, 4726 const CLSID *pPinCategoryIn, 4727 WINBOOL bRender, 4728 WINBOOL bOutputNeeded, 4729 DWORD cOutputTypes, 4730 const GUID *pOutputTypes, 4731 const REGPINMEDIUM *pMedOut, 4732 const CLSID *pPinCategoryOut); 4733 4734 /*** IFilterMapper3 methods ***/ 4735 HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)( 4736 IFilterMapper3 *This, 4737 ICreateDevEnum **ppEnum); 4738 4739 END_INTERFACE 4740 } IFilterMapper3Vtbl; 4741 4742 interface IFilterMapper3 { 4743 CONST_VTBL IFilterMapper3Vtbl* lpVtbl; 4744 }; 4745 4746 #ifdef COBJMACROS 4747 #ifndef WIDL_C_INLINE_WRAPPERS 4748 /*** IUnknown methods ***/ 4749 #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4750 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This) 4751 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This) 4752 /*** IFilterMapper2 methods ***/ 4753 #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) 4754 #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) 4755 #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) 4756 #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) 4757 /*** IFilterMapper3 methods ***/ 4758 #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum) 4759 #else 4760 /*** IUnknown methods ***/ 4761 static FORCEINLINE HRESULT IFilterMapper3_QueryInterface(IFilterMapper3* This,REFIID riid,void **ppvObject) { 4762 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4763 } 4764 static FORCEINLINE ULONG IFilterMapper3_AddRef(IFilterMapper3* This) { 4765 return This->lpVtbl->AddRef(This); 4766 } 4767 static FORCEINLINE ULONG IFilterMapper3_Release(IFilterMapper3* This) { 4768 return This->lpVtbl->Release(This); 4769 } 4770 /*** IFilterMapper2 methods ***/ 4771 static FORCEINLINE HRESULT IFilterMapper3_CreateCategory(IFilterMapper3* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { 4772 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); 4773 } 4774 static FORCEINLINE HRESULT IFilterMapper3_UnregisterFilter(IFilterMapper3* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { 4775 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); 4776 } 4777 static FORCEINLINE HRESULT IFilterMapper3_RegisterFilter(IFilterMapper3* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { 4778 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); 4779 } 4780 static FORCEINLINE HRESULT IFilterMapper3_EnumMatchingFilters(IFilterMapper3* This,IEnumMoniker **ppEnum,DWORD dwFlags,WINBOOL bExactMatch,DWORD dwMerit,WINBOOL bInputNeeded,DWORD cInputTypes,const GUID *pInputTypes,const REGPINMEDIUM *pMedIn,const CLSID *pPinCategoryIn,WINBOOL bRender,WINBOOL bOutputNeeded,DWORD cOutputTypes,const GUID *pOutputTypes,const REGPINMEDIUM *pMedOut,const CLSID *pPinCategoryOut) { 4781 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); 4782 } 4783 /*** IFilterMapper3 methods ***/ 4784 static FORCEINLINE HRESULT IFilterMapper3_GetICreateDevEnum(IFilterMapper3* This,ICreateDevEnum **ppEnum) { 4785 return This->lpVtbl->GetICreateDevEnum(This,ppEnum); 4786 } 4787 #endif 4788 #endif 4789 4790 #endif 4791 4792 4793 #endif /* __IFilterMapper3_INTERFACE_DEFINED__ */ 4794 4795 typedef enum tagQualityMessageType { 4796 Famine = 0, 4797 Flood = 1 4798 } QualityMessageType; 4799 typedef struct tagQuality { 4800 QualityMessageType Type; 4801 LONG Proportion; 4802 REFERENCE_TIME Late; 4803 REFERENCE_TIME TimeStamp; 4804 } Quality; 4805 typedef IQualityControl *PQUALITYCONTROL; 4806 /***************************************************************************** 4807 * IQualityControl interface 4808 */ 4809 #ifndef __IQualityControl_INTERFACE_DEFINED__ 4810 #define __IQualityControl_INTERFACE_DEFINED__ 4811 4812 DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4813 #if defined(__cplusplus) && !defined(CINTERFACE) 4814 MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770") 4815 IQualityControl : public IUnknown 4816 { 4817 virtual HRESULT STDMETHODCALLTYPE Notify( 4818 IBaseFilter *pSelf, 4819 Quality q) = 0; 4820 4821 virtual HRESULT STDMETHODCALLTYPE SetSink( 4822 IQualityControl *piqc) = 0; 4823 4824 }; 4825 #ifdef __CRT_UUID_DECL 4826 __CRT_UUID_DECL(IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4827 #endif 4828 #else 4829 typedef struct IQualityControlVtbl { 4830 BEGIN_INTERFACE 4831 4832 /*** IUnknown methods ***/ 4833 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4834 IQualityControl *This, 4835 REFIID riid, 4836 void **ppvObject); 4837 4838 ULONG (STDMETHODCALLTYPE *AddRef)( 4839 IQualityControl *This); 4840 4841 ULONG (STDMETHODCALLTYPE *Release)( 4842 IQualityControl *This); 4843 4844 /*** IQualityControl methods ***/ 4845 HRESULT (STDMETHODCALLTYPE *Notify)( 4846 IQualityControl *This, 4847 IBaseFilter *pSelf, 4848 Quality q); 4849 4850 HRESULT (STDMETHODCALLTYPE *SetSink)( 4851 IQualityControl *This, 4852 IQualityControl *piqc); 4853 4854 END_INTERFACE 4855 } IQualityControlVtbl; 4856 4857 interface IQualityControl { 4858 CONST_VTBL IQualityControlVtbl* lpVtbl; 4859 }; 4860 4861 #ifdef COBJMACROS 4862 #ifndef WIDL_C_INLINE_WRAPPERS 4863 /*** IUnknown methods ***/ 4864 #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4865 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This) 4866 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This) 4867 /*** IQualityControl methods ***/ 4868 #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q) 4869 #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc) 4870 #else 4871 /*** IUnknown methods ***/ 4872 static FORCEINLINE HRESULT IQualityControl_QueryInterface(IQualityControl* This,REFIID riid,void **ppvObject) { 4873 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4874 } 4875 static FORCEINLINE ULONG IQualityControl_AddRef(IQualityControl* This) { 4876 return This->lpVtbl->AddRef(This); 4877 } 4878 static FORCEINLINE ULONG IQualityControl_Release(IQualityControl* This) { 4879 return This->lpVtbl->Release(This); 4880 } 4881 /*** IQualityControl methods ***/ 4882 static FORCEINLINE HRESULT IQualityControl_Notify(IQualityControl* This,IBaseFilter *pSelf,Quality q) { 4883 return This->lpVtbl->Notify(This,pSelf,q); 4884 } 4885 static FORCEINLINE HRESULT IQualityControl_SetSink(IQualityControl* This,IQualityControl *piqc) { 4886 return This->lpVtbl->SetSink(This,piqc); 4887 } 4888 #endif 4889 #endif 4890 4891 #endif 4892 4893 4894 #endif /* __IQualityControl_INTERFACE_DEFINED__ */ 4895 4896 enum { 4897 CK_NOCOLORKEY = 0x0, 4898 CK_INDEX = 0x1, 4899 CK_RGB = 0x2 4900 }; 4901 typedef struct tagCOLORKEY { 4902 DWORD KeyType; 4903 DWORD PaletteIndex; 4904 COLORREF LowColorValue; 4905 COLORREF HighColorValue; 4906 } COLORKEY; 4907 enum { 4908 ADVISE_NONE = 0x0, 4909 ADVISE_CLIPPING = 0x1, 4910 ADVISE_PALETTE = 0x2, 4911 ADVISE_COLORKEY = 0x4, 4912 ADVISE_POSITION = 0x8, 4913 ADVISE_DISPLAY_CHANGE = 0x10 4914 }; 4915 #define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION) 4916 4917 #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE) 4918 4919 #ifndef _WINGDI_ 4920 typedef struct _RGNDATAHEADER { 4921 DWORD dwSize; 4922 DWORD iType; 4923 DWORD nCount; 4924 DWORD nRgnSize; 4925 RECT rcBound; 4926 } RGNDATAHEADER; 4927 typedef struct _RGNDATA { 4928 RGNDATAHEADER rdh; 4929 char Buffer[1]; 4930 } RGNDATA; 4931 #endif /* _WINGDI_ */ 4932 /***************************************************************************** 4933 * IOverlayNotify interface 4934 */ 4935 #ifndef __IOverlayNotify_INTERFACE_DEFINED__ 4936 #define __IOverlayNotify_INTERFACE_DEFINED__ 4937 4938 DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4939 #if defined(__cplusplus) && !defined(CINTERFACE) 4940 MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770") 4941 IOverlayNotify : public IUnknown 4942 { 4943 virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 4944 DWORD dwColors, 4945 const PALETTEENTRY *pPalette) = 0; 4946 4947 virtual HRESULT STDMETHODCALLTYPE OnClipChange( 4948 const RECT *pSourceRect, 4949 const RECT *pDestinationRect, 4950 const RGNDATA *pRgnData) = 0; 4951 4952 virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 4953 const COLORKEY *pColorKey) = 0; 4954 4955 virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 4956 const RECT *pSourceRect, 4957 const RECT *pDestinationRect) = 0; 4958 4959 }; 4960 #ifdef __CRT_UUID_DECL 4961 __CRT_UUID_DECL(IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4962 #endif 4963 #else 4964 typedef struct IOverlayNotifyVtbl { 4965 BEGIN_INTERFACE 4966 4967 /*** IUnknown methods ***/ 4968 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4969 IOverlayNotify *This, 4970 REFIID riid, 4971 void **ppvObject); 4972 4973 ULONG (STDMETHODCALLTYPE *AddRef)( 4974 IOverlayNotify *This); 4975 4976 ULONG (STDMETHODCALLTYPE *Release)( 4977 IOverlayNotify *This); 4978 4979 /*** IOverlayNotify methods ***/ 4980 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( 4981 IOverlayNotify *This, 4982 DWORD dwColors, 4983 const PALETTEENTRY *pPalette); 4984 4985 HRESULT (STDMETHODCALLTYPE *OnClipChange)( 4986 IOverlayNotify *This, 4987 const RECT *pSourceRect, 4988 const RECT *pDestinationRect, 4989 const RGNDATA *pRgnData); 4990 4991 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( 4992 IOverlayNotify *This, 4993 const COLORKEY *pColorKey); 4994 4995 HRESULT (STDMETHODCALLTYPE *OnPositionChange)( 4996 IOverlayNotify *This, 4997 const RECT *pSourceRect, 4998 const RECT *pDestinationRect); 4999 5000 END_INTERFACE 5001 } IOverlayNotifyVtbl; 5002 5003 interface IOverlayNotify { 5004 CONST_VTBL IOverlayNotifyVtbl* lpVtbl; 5005 }; 5006 5007 #ifdef COBJMACROS 5008 #ifndef WIDL_C_INLINE_WRAPPERS 5009 /*** IUnknown methods ***/ 5010 #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5011 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 5012 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This) 5013 /*** IOverlayNotify methods ***/ 5014 #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) 5015 #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) 5016 #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) 5017 #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) 5018 #else 5019 /*** IUnknown methods ***/ 5020 static FORCEINLINE HRESULT IOverlayNotify_QueryInterface(IOverlayNotify* This,REFIID riid,void **ppvObject) { 5021 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5022 } 5023 static FORCEINLINE ULONG IOverlayNotify_AddRef(IOverlayNotify* This) { 5024 return This->lpVtbl->AddRef(This); 5025 } 5026 static FORCEINLINE ULONG IOverlayNotify_Release(IOverlayNotify* This) { 5027 return This->lpVtbl->Release(This); 5028 } 5029 /*** IOverlayNotify methods ***/ 5030 static FORCEINLINE HRESULT IOverlayNotify_OnPaletteChange(IOverlayNotify* This,DWORD dwColors,const PALETTEENTRY *pPalette) { 5031 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); 5032 } 5033 static FORCEINLINE HRESULT IOverlayNotify_OnClipChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { 5034 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); 5035 } 5036 static FORCEINLINE HRESULT IOverlayNotify_OnColorKeyChange(IOverlayNotify* This,const COLORKEY *pColorKey) { 5037 return This->lpVtbl->OnColorKeyChange(This,pColorKey); 5038 } 5039 static FORCEINLINE HRESULT IOverlayNotify_OnPositionChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect) { 5040 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); 5041 } 5042 #endif 5043 #endif 5044 5045 #endif 5046 5047 5048 #endif /* __IOverlayNotify_INTERFACE_DEFINED__ */ 5049 5050 typedef IOverlayNotify *POVERLAYNOTIFY; 5051 #if 0 5052 typedef HANDLE HMONITOR; 5053 #endif /* 0 */ 5054 /***************************************************************************** 5055 * IOverlayNotify2 interface 5056 */ 5057 #ifndef __IOverlayNotify2_INTERFACE_DEFINED__ 5058 #define __IOverlayNotify2_INTERFACE_DEFINED__ 5059 5060 DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96); 5061 #if defined(__cplusplus) && !defined(CINTERFACE) 5062 MIDL_INTERFACE("680efa10-d535-11d1-87c8-00a0c9223196") 5063 IOverlayNotify2 : public IOverlayNotify 5064 { 5065 virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 5066 HMONITOR hMonitor) = 0; 5067 5068 }; 5069 #ifdef __CRT_UUID_DECL 5070 __CRT_UUID_DECL(IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96) 5071 #endif 5072 #else 5073 typedef struct IOverlayNotify2Vtbl { 5074 BEGIN_INTERFACE 5075 5076 /*** IUnknown methods ***/ 5077 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5078 IOverlayNotify2 *This, 5079 REFIID riid, 5080 void **ppvObject); 5081 5082 ULONG (STDMETHODCALLTYPE *AddRef)( 5083 IOverlayNotify2 *This); 5084 5085 ULONG (STDMETHODCALLTYPE *Release)( 5086 IOverlayNotify2 *This); 5087 5088 /*** IOverlayNotify methods ***/ 5089 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( 5090 IOverlayNotify2 *This, 5091 DWORD dwColors, 5092 const PALETTEENTRY *pPalette); 5093 5094 HRESULT (STDMETHODCALLTYPE *OnClipChange)( 5095 IOverlayNotify2 *This, 5096 const RECT *pSourceRect, 5097 const RECT *pDestinationRect, 5098 const RGNDATA *pRgnData); 5099 5100 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( 5101 IOverlayNotify2 *This, 5102 const COLORKEY *pColorKey); 5103 5104 HRESULT (STDMETHODCALLTYPE *OnPositionChange)( 5105 IOverlayNotify2 *This, 5106 const RECT *pSourceRect, 5107 const RECT *pDestinationRect); 5108 5109 /*** IOverlayNotify2 methods ***/ 5110 HRESULT (STDMETHODCALLTYPE *OnDisplayChange)( 5111 IOverlayNotify2 *This, 5112 HMONITOR hMonitor); 5113 5114 END_INTERFACE 5115 } IOverlayNotify2Vtbl; 5116 5117 interface IOverlayNotify2 { 5118 CONST_VTBL IOverlayNotify2Vtbl* lpVtbl; 5119 }; 5120 5121 #ifdef COBJMACROS 5122 #ifndef WIDL_C_INLINE_WRAPPERS 5123 /*** IUnknown methods ***/ 5124 #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5125 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This) 5126 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This) 5127 /*** IOverlayNotify methods ***/ 5128 #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) 5129 #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) 5130 #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) 5131 #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) 5132 /*** IOverlayNotify2 methods ***/ 5133 #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor) 5134 #else 5135 /*** IUnknown methods ***/ 5136 static FORCEINLINE HRESULT IOverlayNotify2_QueryInterface(IOverlayNotify2* This,REFIID riid,void **ppvObject) { 5137 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5138 } 5139 static FORCEINLINE ULONG IOverlayNotify2_AddRef(IOverlayNotify2* This) { 5140 return This->lpVtbl->AddRef(This); 5141 } 5142 static FORCEINLINE ULONG IOverlayNotify2_Release(IOverlayNotify2* This) { 5143 return This->lpVtbl->Release(This); 5144 } 5145 /*** IOverlayNotify methods ***/ 5146 static FORCEINLINE HRESULT IOverlayNotify2_OnPaletteChange(IOverlayNotify2* This,DWORD dwColors,const PALETTEENTRY *pPalette) { 5147 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); 5148 } 5149 static FORCEINLINE HRESULT IOverlayNotify2_OnClipChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { 5150 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); 5151 } 5152 static FORCEINLINE HRESULT IOverlayNotify2_OnColorKeyChange(IOverlayNotify2* This,const COLORKEY *pColorKey) { 5153 return This->lpVtbl->OnColorKeyChange(This,pColorKey); 5154 } 5155 static FORCEINLINE HRESULT IOverlayNotify2_OnPositionChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect) { 5156 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); 5157 } 5158 /*** IOverlayNotify2 methods ***/ 5159 static FORCEINLINE HRESULT IOverlayNotify2_OnDisplayChange(IOverlayNotify2* This,HMONITOR hMonitor) { 5160 return This->lpVtbl->OnDisplayChange(This,hMonitor); 5161 } 5162 #endif 5163 #endif 5164 5165 #endif 5166 5167 5168 #endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */ 5169 5170 typedef IOverlayNotify2 *POVERLAYNOTIFY2; 5171 /***************************************************************************** 5172 * IOverlay interface 5173 */ 5174 #ifndef __IOverlay_INTERFACE_DEFINED__ 5175 #define __IOverlay_INTERFACE_DEFINED__ 5176 5177 DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5178 #if defined(__cplusplus) && !defined(CINTERFACE) 5179 MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770") 5180 IOverlay : public IUnknown 5181 { 5182 virtual HRESULT STDMETHODCALLTYPE GetPalette( 5183 DWORD *pdwColors, 5184 PALETTEENTRY **ppPalette) = 0; 5185 5186 virtual HRESULT STDMETHODCALLTYPE SetPalette( 5187 DWORD dwColors, 5188 PALETTEENTRY *pPalette) = 0; 5189 5190 virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 5191 COLORKEY *pColorKey) = 0; 5192 5193 virtual HRESULT STDMETHODCALLTYPE GetColorKey( 5194 COLORKEY *pColorKey) = 0; 5195 5196 virtual HRESULT STDMETHODCALLTYPE SetColorKey( 5197 COLORKEY *pColorKey) = 0; 5198 5199 virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 5200 HWND *pHwnd) = 0; 5201 5202 virtual HRESULT STDMETHODCALLTYPE GetClipList( 5203 RECT *pSourceRect, 5204 RECT *pDestinationRect, 5205 RGNDATA **ppRgnData) = 0; 5206 5207 virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 5208 RECT *pSourceRect, 5209 RECT *pDestinationRect) = 0; 5210 5211 virtual HRESULT STDMETHODCALLTYPE Advise( 5212 IOverlayNotify *pOverlayNotify, 5213 DWORD dwInterests) = 0; 5214 5215 virtual HRESULT STDMETHODCALLTYPE Unadvise( 5216 ) = 0; 5217 5218 }; 5219 #ifdef __CRT_UUID_DECL 5220 __CRT_UUID_DECL(IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5221 #endif 5222 #else 5223 typedef struct IOverlayVtbl { 5224 BEGIN_INTERFACE 5225 5226 /*** IUnknown methods ***/ 5227 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5228 IOverlay *This, 5229 REFIID riid, 5230 void **ppvObject); 5231 5232 ULONG (STDMETHODCALLTYPE *AddRef)( 5233 IOverlay *This); 5234 5235 ULONG (STDMETHODCALLTYPE *Release)( 5236 IOverlay *This); 5237 5238 /*** IOverlay methods ***/ 5239 HRESULT (STDMETHODCALLTYPE *GetPalette)( 5240 IOverlay *This, 5241 DWORD *pdwColors, 5242 PALETTEENTRY **ppPalette); 5243 5244 HRESULT (STDMETHODCALLTYPE *SetPalette)( 5245 IOverlay *This, 5246 DWORD dwColors, 5247 PALETTEENTRY *pPalette); 5248 5249 HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)( 5250 IOverlay *This, 5251 COLORKEY *pColorKey); 5252 5253 HRESULT (STDMETHODCALLTYPE *GetColorKey)( 5254 IOverlay *This, 5255 COLORKEY *pColorKey); 5256 5257 HRESULT (STDMETHODCALLTYPE *SetColorKey)( 5258 IOverlay *This, 5259 COLORKEY *pColorKey); 5260 5261 HRESULT (STDMETHODCALLTYPE *GetWindowHandle)( 5262 IOverlay *This, 5263 HWND *pHwnd); 5264 5265 HRESULT (STDMETHODCALLTYPE *GetClipList)( 5266 IOverlay *This, 5267 RECT *pSourceRect, 5268 RECT *pDestinationRect, 5269 RGNDATA **ppRgnData); 5270 5271 HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( 5272 IOverlay *This, 5273 RECT *pSourceRect, 5274 RECT *pDestinationRect); 5275 5276 HRESULT (STDMETHODCALLTYPE *Advise)( 5277 IOverlay *This, 5278 IOverlayNotify *pOverlayNotify, 5279 DWORD dwInterests); 5280 5281 HRESULT (STDMETHODCALLTYPE *Unadvise)( 5282 IOverlay *This); 5283 5284 END_INTERFACE 5285 } IOverlayVtbl; 5286 5287 interface IOverlay { 5288 CONST_VTBL IOverlayVtbl* lpVtbl; 5289 }; 5290 5291 #ifdef COBJMACROS 5292 #ifndef WIDL_C_INLINE_WRAPPERS 5293 /*** IUnknown methods ***/ 5294 #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5295 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This) 5296 #define IOverlay_Release(This) (This)->lpVtbl->Release(This) 5297 /*** IOverlay methods ***/ 5298 #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette) 5299 #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette) 5300 #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey) 5301 #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey) 5302 #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey) 5303 #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd) 5304 #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) 5305 #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect) 5306 #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests) 5307 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This) 5308 #else 5309 /*** IUnknown methods ***/ 5310 static FORCEINLINE HRESULT IOverlay_QueryInterface(IOverlay* This,REFIID riid,void **ppvObject) { 5311 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5312 } 5313 static FORCEINLINE ULONG IOverlay_AddRef(IOverlay* This) { 5314 return This->lpVtbl->AddRef(This); 5315 } 5316 static FORCEINLINE ULONG IOverlay_Release(IOverlay* This) { 5317 return This->lpVtbl->Release(This); 5318 } 5319 /*** IOverlay methods ***/ 5320 static FORCEINLINE HRESULT IOverlay_GetPalette(IOverlay* This,DWORD *pdwColors,PALETTEENTRY **ppPalette) { 5321 return This->lpVtbl->GetPalette(This,pdwColors,ppPalette); 5322 } 5323 static FORCEINLINE HRESULT IOverlay_SetPalette(IOverlay* This,DWORD dwColors,PALETTEENTRY *pPalette) { 5324 return This->lpVtbl->SetPalette(This,dwColors,pPalette); 5325 } 5326 static FORCEINLINE HRESULT IOverlay_GetDefaultColorKey(IOverlay* This,COLORKEY *pColorKey) { 5327 return This->lpVtbl->GetDefaultColorKey(This,pColorKey); 5328 } 5329 static FORCEINLINE HRESULT IOverlay_GetColorKey(IOverlay* This,COLORKEY *pColorKey) { 5330 return This->lpVtbl->GetColorKey(This,pColorKey); 5331 } 5332 static FORCEINLINE HRESULT IOverlay_SetColorKey(IOverlay* This,COLORKEY *pColorKey) { 5333 return This->lpVtbl->SetColorKey(This,pColorKey); 5334 } 5335 static FORCEINLINE HRESULT IOverlay_GetWindowHandle(IOverlay* This,HWND *pHwnd) { 5336 return This->lpVtbl->GetWindowHandle(This,pHwnd); 5337 } 5338 static FORCEINLINE HRESULT IOverlay_GetClipList(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) { 5339 return This->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData); 5340 } 5341 static FORCEINLINE HRESULT IOverlay_GetVideoPosition(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect) { 5342 return This->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect); 5343 } 5344 static FORCEINLINE HRESULT IOverlay_Advise(IOverlay* This,IOverlayNotify *pOverlayNotify,DWORD dwInterests) { 5345 return This->lpVtbl->Advise(This,pOverlayNotify,dwInterests); 5346 } 5347 static FORCEINLINE HRESULT IOverlay_Unadvise(IOverlay* This) { 5348 return This->lpVtbl->Unadvise(This); 5349 } 5350 #endif 5351 #endif 5352 5353 #endif 5354 5355 5356 #endif /* __IOverlay_INTERFACE_DEFINED__ */ 5357 5358 typedef IOverlay *POVERLAY; 5359 /***************************************************************************** 5360 * IMediaEventSink interface 5361 */ 5362 #ifndef __IMediaEventSink_INTERFACE_DEFINED__ 5363 #define __IMediaEventSink_INTERFACE_DEFINED__ 5364 5365 DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5366 #if defined(__cplusplus) && !defined(CINTERFACE) 5367 MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770") 5368 IMediaEventSink : public IUnknown 5369 { 5370 virtual HRESULT STDMETHODCALLTYPE Notify( 5371 LONG EventCode, 5372 LONG_PTR EventParam1, 5373 LONG_PTR EventParam2) = 0; 5374 5375 }; 5376 #ifdef __CRT_UUID_DECL 5377 __CRT_UUID_DECL(IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5378 #endif 5379 #else 5380 typedef struct IMediaEventSinkVtbl { 5381 BEGIN_INTERFACE 5382 5383 /*** IUnknown methods ***/ 5384 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5385 IMediaEventSink *This, 5386 REFIID riid, 5387 void **ppvObject); 5388 5389 ULONG (STDMETHODCALLTYPE *AddRef)( 5390 IMediaEventSink *This); 5391 5392 ULONG (STDMETHODCALLTYPE *Release)( 5393 IMediaEventSink *This); 5394 5395 /*** IMediaEventSink methods ***/ 5396 HRESULT (STDMETHODCALLTYPE *Notify)( 5397 IMediaEventSink *This, 5398 LONG EventCode, 5399 LONG_PTR EventParam1, 5400 LONG_PTR EventParam2); 5401 5402 END_INTERFACE 5403 } IMediaEventSinkVtbl; 5404 5405 interface IMediaEventSink { 5406 CONST_VTBL IMediaEventSinkVtbl* lpVtbl; 5407 }; 5408 5409 #ifdef COBJMACROS 5410 #ifndef WIDL_C_INLINE_WRAPPERS 5411 /*** IUnknown methods ***/ 5412 #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5413 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) 5414 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This) 5415 /*** IMediaEventSink methods ***/ 5416 #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2) 5417 #else 5418 /*** IUnknown methods ***/ 5419 static FORCEINLINE HRESULT IMediaEventSink_QueryInterface(IMediaEventSink* This,REFIID riid,void **ppvObject) { 5420 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5421 } 5422 static FORCEINLINE ULONG IMediaEventSink_AddRef(IMediaEventSink* This) { 5423 return This->lpVtbl->AddRef(This); 5424 } 5425 static FORCEINLINE ULONG IMediaEventSink_Release(IMediaEventSink* This) { 5426 return This->lpVtbl->Release(This); 5427 } 5428 /*** IMediaEventSink methods ***/ 5429 static FORCEINLINE HRESULT IMediaEventSink_Notify(IMediaEventSink* This,LONG EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) { 5430 return This->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2); 5431 } 5432 #endif 5433 #endif 5434 5435 #endif 5436 5437 5438 #endif /* __IMediaEventSink_INTERFACE_DEFINED__ */ 5439 5440 typedef IMediaEventSink *PMEDIAEVENTSINK; 5441 /***************************************************************************** 5442 * IFileSourceFilter interface 5443 */ 5444 #ifndef __IFileSourceFilter_INTERFACE_DEFINED__ 5445 #define __IFileSourceFilter_INTERFACE_DEFINED__ 5446 5447 DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5448 #if defined(__cplusplus) && !defined(CINTERFACE) 5449 MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770") 5450 IFileSourceFilter : public IUnknown 5451 { 5452 virtual HRESULT STDMETHODCALLTYPE Load( 5453 LPCOLESTR pszFileName, 5454 const AM_MEDIA_TYPE *pmt) = 0; 5455 5456 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 5457 LPOLESTR *ppszFileName, 5458 AM_MEDIA_TYPE *pmt) = 0; 5459 5460 }; 5461 #ifdef __CRT_UUID_DECL 5462 __CRT_UUID_DECL(IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5463 #endif 5464 #else 5465 typedef struct IFileSourceFilterVtbl { 5466 BEGIN_INTERFACE 5467 5468 /*** IUnknown methods ***/ 5469 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5470 IFileSourceFilter *This, 5471 REFIID riid, 5472 void **ppvObject); 5473 5474 ULONG (STDMETHODCALLTYPE *AddRef)( 5475 IFileSourceFilter *This); 5476 5477 ULONG (STDMETHODCALLTYPE *Release)( 5478 IFileSourceFilter *This); 5479 5480 /*** IFileSourceFilter methods ***/ 5481 HRESULT (STDMETHODCALLTYPE *Load)( 5482 IFileSourceFilter *This, 5483 LPCOLESTR pszFileName, 5484 const AM_MEDIA_TYPE *pmt); 5485 5486 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 5487 IFileSourceFilter *This, 5488 LPOLESTR *ppszFileName, 5489 AM_MEDIA_TYPE *pmt); 5490 5491 END_INTERFACE 5492 } IFileSourceFilterVtbl; 5493 5494 interface IFileSourceFilter { 5495 CONST_VTBL IFileSourceFilterVtbl* lpVtbl; 5496 }; 5497 5498 #ifdef COBJMACROS 5499 #ifndef WIDL_C_INLINE_WRAPPERS 5500 /*** IUnknown methods ***/ 5501 #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5502 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 5503 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This) 5504 /*** IFileSourceFilter methods ***/ 5505 #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt) 5506 #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 5507 #else 5508 /*** IUnknown methods ***/ 5509 static FORCEINLINE HRESULT IFileSourceFilter_QueryInterface(IFileSourceFilter* This,REFIID riid,void **ppvObject) { 5510 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5511 } 5512 static FORCEINLINE ULONG IFileSourceFilter_AddRef(IFileSourceFilter* This) { 5513 return This->lpVtbl->AddRef(This); 5514 } 5515 static FORCEINLINE ULONG IFileSourceFilter_Release(IFileSourceFilter* This) { 5516 return This->lpVtbl->Release(This); 5517 } 5518 /*** IFileSourceFilter methods ***/ 5519 static FORCEINLINE HRESULT IFileSourceFilter_Load(IFileSourceFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 5520 return This->lpVtbl->Load(This,pszFileName,pmt); 5521 } 5522 static FORCEINLINE HRESULT IFileSourceFilter_GetCurFile(IFileSourceFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 5523 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 5524 } 5525 #endif 5526 #endif 5527 5528 #endif 5529 5530 5531 #endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */ 5532 5533 typedef IFileSourceFilter *PFILTERFILESOURCE; 5534 /***************************************************************************** 5535 * IFileSinkFilter interface 5536 */ 5537 #ifndef __IFileSinkFilter_INTERFACE_DEFINED__ 5538 #define __IFileSinkFilter_INTERFACE_DEFINED__ 5539 5540 DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); 5541 #if defined(__cplusplus) && !defined(CINTERFACE) 5542 MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6") 5543 IFileSinkFilter : public IUnknown 5544 { 5545 virtual HRESULT STDMETHODCALLTYPE SetFileName( 5546 LPCOLESTR pszFileName, 5547 const AM_MEDIA_TYPE *pmt) = 0; 5548 5549 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 5550 LPOLESTR *ppszFileName, 5551 AM_MEDIA_TYPE *pmt) = 0; 5552 5553 }; 5554 #ifdef __CRT_UUID_DECL 5555 __CRT_UUID_DECL(IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) 5556 #endif 5557 #else 5558 typedef struct IFileSinkFilterVtbl { 5559 BEGIN_INTERFACE 5560 5561 /*** IUnknown methods ***/ 5562 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5563 IFileSinkFilter *This, 5564 REFIID riid, 5565 void **ppvObject); 5566 5567 ULONG (STDMETHODCALLTYPE *AddRef)( 5568 IFileSinkFilter *This); 5569 5570 ULONG (STDMETHODCALLTYPE *Release)( 5571 IFileSinkFilter *This); 5572 5573 /*** IFileSinkFilter methods ***/ 5574 HRESULT (STDMETHODCALLTYPE *SetFileName)( 5575 IFileSinkFilter *This, 5576 LPCOLESTR pszFileName, 5577 const AM_MEDIA_TYPE *pmt); 5578 5579 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 5580 IFileSinkFilter *This, 5581 LPOLESTR *ppszFileName, 5582 AM_MEDIA_TYPE *pmt); 5583 5584 END_INTERFACE 5585 } IFileSinkFilterVtbl; 5586 5587 interface IFileSinkFilter { 5588 CONST_VTBL IFileSinkFilterVtbl* lpVtbl; 5589 }; 5590 5591 #ifdef COBJMACROS 5592 #ifndef WIDL_C_INLINE_WRAPPERS 5593 /*** IUnknown methods ***/ 5594 #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5595 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 5596 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This) 5597 /*** IFileSinkFilter methods ***/ 5598 #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) 5599 #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 5600 #else 5601 /*** IUnknown methods ***/ 5602 static FORCEINLINE HRESULT IFileSinkFilter_QueryInterface(IFileSinkFilter* This,REFIID riid,void **ppvObject) { 5603 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5604 } 5605 static FORCEINLINE ULONG IFileSinkFilter_AddRef(IFileSinkFilter* This) { 5606 return This->lpVtbl->AddRef(This); 5607 } 5608 static FORCEINLINE ULONG IFileSinkFilter_Release(IFileSinkFilter* This) { 5609 return This->lpVtbl->Release(This); 5610 } 5611 /*** IFileSinkFilter methods ***/ 5612 static FORCEINLINE HRESULT IFileSinkFilter_SetFileName(IFileSinkFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 5613 return This->lpVtbl->SetFileName(This,pszFileName,pmt); 5614 } 5615 static FORCEINLINE HRESULT IFileSinkFilter_GetCurFile(IFileSinkFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 5616 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 5617 } 5618 #endif 5619 #endif 5620 5621 #endif 5622 5623 5624 #endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */ 5625 5626 typedef IFileSinkFilter *PFILTERFILESINK; 5627 /***************************************************************************** 5628 * IFileSinkFilter2 interface 5629 */ 5630 #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__ 5631 #define __IFileSinkFilter2_INTERFACE_DEFINED__ 5632 5633 DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86); 5634 #if defined(__cplusplus) && !defined(CINTERFACE) 5635 MIDL_INTERFACE("00855b90-ce1b-11d0-bd4f-00a0c911ce86") 5636 IFileSinkFilter2 : public IFileSinkFilter 5637 { 5638 virtual HRESULT STDMETHODCALLTYPE SetMode( 5639 DWORD dwFlags) = 0; 5640 5641 virtual HRESULT STDMETHODCALLTYPE GetMode( 5642 DWORD *pdwFlags) = 0; 5643 5644 }; 5645 #ifdef __CRT_UUID_DECL 5646 __CRT_UUID_DECL(IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86) 5647 #endif 5648 #else 5649 typedef struct IFileSinkFilter2Vtbl { 5650 BEGIN_INTERFACE 5651 5652 /*** IUnknown methods ***/ 5653 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5654 IFileSinkFilter2 *This, 5655 REFIID riid, 5656 void **ppvObject); 5657 5658 ULONG (STDMETHODCALLTYPE *AddRef)( 5659 IFileSinkFilter2 *This); 5660 5661 ULONG (STDMETHODCALLTYPE *Release)( 5662 IFileSinkFilter2 *This); 5663 5664 /*** IFileSinkFilter methods ***/ 5665 HRESULT (STDMETHODCALLTYPE *SetFileName)( 5666 IFileSinkFilter2 *This, 5667 LPCOLESTR pszFileName, 5668 const AM_MEDIA_TYPE *pmt); 5669 5670 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 5671 IFileSinkFilter2 *This, 5672 LPOLESTR *ppszFileName, 5673 AM_MEDIA_TYPE *pmt); 5674 5675 /*** IFileSinkFilter2 methods ***/ 5676 HRESULT (STDMETHODCALLTYPE *SetMode)( 5677 IFileSinkFilter2 *This, 5678 DWORD dwFlags); 5679 5680 HRESULT (STDMETHODCALLTYPE *GetMode)( 5681 IFileSinkFilter2 *This, 5682 DWORD *pdwFlags); 5683 5684 END_INTERFACE 5685 } IFileSinkFilter2Vtbl; 5686 5687 interface IFileSinkFilter2 { 5688 CONST_VTBL IFileSinkFilter2Vtbl* lpVtbl; 5689 }; 5690 5691 #ifdef COBJMACROS 5692 #ifndef WIDL_C_INLINE_WRAPPERS 5693 /*** IUnknown methods ***/ 5694 #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5695 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This) 5696 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This) 5697 /*** IFileSinkFilter methods ***/ 5698 #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) 5699 #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 5700 /*** IFileSinkFilter2 methods ***/ 5701 #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags) 5702 #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags) 5703 #else 5704 /*** IUnknown methods ***/ 5705 static FORCEINLINE HRESULT IFileSinkFilter2_QueryInterface(IFileSinkFilter2* This,REFIID riid,void **ppvObject) { 5706 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5707 } 5708 static FORCEINLINE ULONG IFileSinkFilter2_AddRef(IFileSinkFilter2* This) { 5709 return This->lpVtbl->AddRef(This); 5710 } 5711 static FORCEINLINE ULONG IFileSinkFilter2_Release(IFileSinkFilter2* This) { 5712 return This->lpVtbl->Release(This); 5713 } 5714 /*** IFileSinkFilter methods ***/ 5715 static FORCEINLINE HRESULT IFileSinkFilter2_SetFileName(IFileSinkFilter2* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 5716 return This->lpVtbl->SetFileName(This,pszFileName,pmt); 5717 } 5718 static FORCEINLINE HRESULT IFileSinkFilter2_GetCurFile(IFileSinkFilter2* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 5719 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 5720 } 5721 /*** IFileSinkFilter2 methods ***/ 5722 static FORCEINLINE HRESULT IFileSinkFilter2_SetMode(IFileSinkFilter2* This,DWORD dwFlags) { 5723 return This->lpVtbl->SetMode(This,dwFlags); 5724 } 5725 static FORCEINLINE HRESULT IFileSinkFilter2_GetMode(IFileSinkFilter2* This,DWORD *pdwFlags) { 5726 return This->lpVtbl->GetMode(This,pdwFlags); 5727 } 5728 #endif 5729 #endif 5730 5731 #endif 5732 5733 5734 #endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */ 5735 5736 typedef IFileSinkFilter2 *PFILESINKFILTER2; 5737 typedef enum __WIDL_strmif_generated_name_00000008 { 5738 AM_FILE_OVERWRITE = 0x1 5739 } AM_FILESINK_FLAGS; 5740 /***************************************************************************** 5741 * IGraphBuilder interface 5742 */ 5743 #ifndef __IGraphBuilder_INTERFACE_DEFINED__ 5744 #define __IGraphBuilder_INTERFACE_DEFINED__ 5745 5746 DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5747 #if defined(__cplusplus) && !defined(CINTERFACE) 5748 MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770") 5749 IGraphBuilder : public IFilterGraph 5750 { 5751 virtual HRESULT STDMETHODCALLTYPE Connect( 5752 IPin *ppinOut, 5753 IPin *ppinIn) = 0; 5754 5755 virtual HRESULT STDMETHODCALLTYPE Render( 5756 IPin *ppinOut) = 0; 5757 5758 virtual HRESULT STDMETHODCALLTYPE RenderFile( 5759 LPCWSTR lpcwstrFile, 5760 LPCWSTR lpcwstrPlayList) = 0; 5761 5762 virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 5763 LPCWSTR lpcwstrFileName, 5764 LPCWSTR lpcwstrFilterName, 5765 IBaseFilter **ppFilter) = 0; 5766 5767 virtual HRESULT STDMETHODCALLTYPE SetLogFile( 5768 DWORD_PTR hFile) = 0; 5769 5770 virtual HRESULT STDMETHODCALLTYPE Abort( 5771 ) = 0; 5772 5773 virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( 5774 ) = 0; 5775 5776 }; 5777 #ifdef __CRT_UUID_DECL 5778 __CRT_UUID_DECL(IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5779 #endif 5780 #else 5781 typedef struct IGraphBuilderVtbl { 5782 BEGIN_INTERFACE 5783 5784 /*** IUnknown methods ***/ 5785 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5786 IGraphBuilder *This, 5787 REFIID riid, 5788 void **ppvObject); 5789 5790 ULONG (STDMETHODCALLTYPE *AddRef)( 5791 IGraphBuilder *This); 5792 5793 ULONG (STDMETHODCALLTYPE *Release)( 5794 IGraphBuilder *This); 5795 5796 /*** IFilterGraph methods ***/ 5797 HRESULT (STDMETHODCALLTYPE *AddFilter)( 5798 IGraphBuilder *This, 5799 IBaseFilter *pFilter, 5800 LPCWSTR pName); 5801 5802 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 5803 IGraphBuilder *This, 5804 IBaseFilter *pFilter); 5805 5806 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 5807 IGraphBuilder *This, 5808 IEnumFilters **ppEnum); 5809 5810 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 5811 IGraphBuilder *This, 5812 LPCWSTR pName, 5813 IBaseFilter **ppFilter); 5814 5815 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 5816 IGraphBuilder *This, 5817 IPin *ppinOut, 5818 IPin *ppinIn, 5819 const AM_MEDIA_TYPE *pmt); 5820 5821 HRESULT (STDMETHODCALLTYPE *Reconnect)( 5822 IGraphBuilder *This, 5823 IPin *ppin); 5824 5825 HRESULT (STDMETHODCALLTYPE *Disconnect)( 5826 IGraphBuilder *This, 5827 IPin *ppin); 5828 5829 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 5830 IGraphBuilder *This); 5831 5832 /*** IGraphBuilder methods ***/ 5833 HRESULT (STDMETHODCALLTYPE *Connect)( 5834 IGraphBuilder *This, 5835 IPin *ppinOut, 5836 IPin *ppinIn); 5837 5838 HRESULT (STDMETHODCALLTYPE *Render)( 5839 IGraphBuilder *This, 5840 IPin *ppinOut); 5841 5842 HRESULT (STDMETHODCALLTYPE *RenderFile)( 5843 IGraphBuilder *This, 5844 LPCWSTR lpcwstrFile, 5845 LPCWSTR lpcwstrPlayList); 5846 5847 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( 5848 IGraphBuilder *This, 5849 LPCWSTR lpcwstrFileName, 5850 LPCWSTR lpcwstrFilterName, 5851 IBaseFilter **ppFilter); 5852 5853 HRESULT (STDMETHODCALLTYPE *SetLogFile)( 5854 IGraphBuilder *This, 5855 DWORD_PTR hFile); 5856 5857 HRESULT (STDMETHODCALLTYPE *Abort)( 5858 IGraphBuilder *This); 5859 5860 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( 5861 IGraphBuilder *This); 5862 5863 END_INTERFACE 5864 } IGraphBuilderVtbl; 5865 5866 interface IGraphBuilder { 5867 CONST_VTBL IGraphBuilderVtbl* lpVtbl; 5868 }; 5869 5870 #ifdef COBJMACROS 5871 #ifndef WIDL_C_INLINE_WRAPPERS 5872 /*** IUnknown methods ***/ 5873 #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5874 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 5875 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 5876 /*** IFilterGraph methods ***/ 5877 #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 5878 #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 5879 #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 5880 #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 5881 #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 5882 #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 5883 #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 5884 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 5885 /*** IGraphBuilder methods ***/ 5886 #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) 5887 #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) 5888 #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) 5889 #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) 5890 #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) 5891 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This) 5892 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) 5893 #else 5894 /*** IUnknown methods ***/ 5895 static FORCEINLINE HRESULT IGraphBuilder_QueryInterface(IGraphBuilder* This,REFIID riid,void **ppvObject) { 5896 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5897 } 5898 static FORCEINLINE ULONG IGraphBuilder_AddRef(IGraphBuilder* This) { 5899 return This->lpVtbl->AddRef(This); 5900 } 5901 static FORCEINLINE ULONG IGraphBuilder_Release(IGraphBuilder* This) { 5902 return This->lpVtbl->Release(This); 5903 } 5904 /*** IFilterGraph methods ***/ 5905 static FORCEINLINE HRESULT IGraphBuilder_AddFilter(IGraphBuilder* This,IBaseFilter *pFilter,LPCWSTR pName) { 5906 return This->lpVtbl->AddFilter(This,pFilter,pName); 5907 } 5908 static FORCEINLINE HRESULT IGraphBuilder_RemoveFilter(IGraphBuilder* This,IBaseFilter *pFilter) { 5909 return This->lpVtbl->RemoveFilter(This,pFilter); 5910 } 5911 static FORCEINLINE HRESULT IGraphBuilder_EnumFilters(IGraphBuilder* This,IEnumFilters **ppEnum) { 5912 return This->lpVtbl->EnumFilters(This,ppEnum); 5913 } 5914 static FORCEINLINE HRESULT IGraphBuilder_FindFilterByName(IGraphBuilder* This,LPCWSTR pName,IBaseFilter **ppFilter) { 5915 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 5916 } 5917 static FORCEINLINE HRESULT IGraphBuilder_ConnectDirect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 5918 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 5919 } 5920 static FORCEINLINE HRESULT IGraphBuilder_Reconnect(IGraphBuilder* This,IPin *ppin) { 5921 return This->lpVtbl->Reconnect(This,ppin); 5922 } 5923 static FORCEINLINE HRESULT IGraphBuilder_Disconnect(IGraphBuilder* This,IPin *ppin) { 5924 return This->lpVtbl->Disconnect(This,ppin); 5925 } 5926 static FORCEINLINE HRESULT IGraphBuilder_SetDefaultSyncSource(IGraphBuilder* This) { 5927 return This->lpVtbl->SetDefaultSyncSource(This); 5928 } 5929 /*** IGraphBuilder methods ***/ 5930 static FORCEINLINE HRESULT IGraphBuilder_Connect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn) { 5931 return This->lpVtbl->Connect(This,ppinOut,ppinIn); 5932 } 5933 static FORCEINLINE HRESULT IGraphBuilder_Render(IGraphBuilder* This,IPin *ppinOut) { 5934 return This->lpVtbl->Render(This,ppinOut); 5935 } 5936 static FORCEINLINE HRESULT IGraphBuilder_RenderFile(IGraphBuilder* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { 5937 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); 5938 } 5939 static FORCEINLINE HRESULT IGraphBuilder_AddSourceFilter(IGraphBuilder* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 5940 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); 5941 } 5942 static FORCEINLINE HRESULT IGraphBuilder_SetLogFile(IGraphBuilder* This,DWORD_PTR hFile) { 5943 return This->lpVtbl->SetLogFile(This,hFile); 5944 } 5945 static FORCEINLINE HRESULT IGraphBuilder_Abort(IGraphBuilder* This) { 5946 return This->lpVtbl->Abort(This); 5947 } 5948 static FORCEINLINE HRESULT IGraphBuilder_ShouldOperationContinue(IGraphBuilder* This) { 5949 return This->lpVtbl->ShouldOperationContinue(This); 5950 } 5951 #endif 5952 #endif 5953 5954 #endif 5955 5956 5957 #endif /* __IGraphBuilder_INTERFACE_DEFINED__ */ 5958 5959 /***************************************************************************** 5960 * ICaptureGraphBuilder interface 5961 */ 5962 #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__ 5963 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__ 5964 5965 DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 5966 #if defined(__cplusplus) && !defined(CINTERFACE) 5967 MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5") 5968 ICaptureGraphBuilder : public IUnknown 5969 { 5970 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 5971 IGraphBuilder *pfg) = 0; 5972 5973 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 5974 IGraphBuilder **ppfg) = 0; 5975 5976 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 5977 const GUID *pType, 5978 LPCOLESTR lpstrFile, 5979 IBaseFilter **ppf, 5980 IFileSinkFilter **ppSink) = 0; 5981 5982 virtual HRESULT STDMETHODCALLTYPE FindInterface( 5983 const GUID *pCategory, 5984 IBaseFilter *pf, 5985 REFIID riid, 5986 void **ppint) = 0; 5987 5988 virtual HRESULT STDMETHODCALLTYPE RenderStream( 5989 const GUID *pCategory, 5990 IUnknown *pSource, 5991 IBaseFilter *pfCompressor, 5992 IBaseFilter *pfRenderer) = 0; 5993 5994 virtual HRESULT STDMETHODCALLTYPE ControlStream( 5995 const GUID *pCategory, 5996 IBaseFilter *pFilter, 5997 REFERENCE_TIME *pstart, 5998 REFERENCE_TIME *pstop, 5999 WORD wStartCookie, 6000 WORD wStopCookie) = 0; 6001 6002 virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 6003 LPCOLESTR lpstr, 6004 DWORDLONG dwlSize) = 0; 6005 6006 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 6007 LPOLESTR lpwstrOld, 6008 LPOLESTR lpwstrNew, 6009 int fAllowEscAbort, 6010 IAMCopyCaptureFileProgress *pCallback) = 0; 6011 6012 }; 6013 #ifdef __CRT_UUID_DECL 6014 __CRT_UUID_DECL(ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 6015 #endif 6016 #else 6017 typedef struct ICaptureGraphBuilderVtbl { 6018 BEGIN_INTERFACE 6019 6020 /*** IUnknown methods ***/ 6021 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6022 ICaptureGraphBuilder *This, 6023 REFIID riid, 6024 void **ppvObject); 6025 6026 ULONG (STDMETHODCALLTYPE *AddRef)( 6027 ICaptureGraphBuilder *This); 6028 6029 ULONG (STDMETHODCALLTYPE *Release)( 6030 ICaptureGraphBuilder *This); 6031 6032 /*** ICaptureGraphBuilder methods ***/ 6033 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( 6034 ICaptureGraphBuilder *This, 6035 IGraphBuilder *pfg); 6036 6037 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( 6038 ICaptureGraphBuilder *This, 6039 IGraphBuilder **ppfg); 6040 6041 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( 6042 ICaptureGraphBuilder *This, 6043 const GUID *pType, 6044 LPCOLESTR lpstrFile, 6045 IBaseFilter **ppf, 6046 IFileSinkFilter **ppSink); 6047 6048 HRESULT (STDMETHODCALLTYPE *FindInterface)( 6049 ICaptureGraphBuilder *This, 6050 const GUID *pCategory, 6051 IBaseFilter *pf, 6052 REFIID riid, 6053 void **ppint); 6054 6055 HRESULT (STDMETHODCALLTYPE *RenderStream)( 6056 ICaptureGraphBuilder *This, 6057 const GUID *pCategory, 6058 IUnknown *pSource, 6059 IBaseFilter *pfCompressor, 6060 IBaseFilter *pfRenderer); 6061 6062 HRESULT (STDMETHODCALLTYPE *ControlStream)( 6063 ICaptureGraphBuilder *This, 6064 const GUID *pCategory, 6065 IBaseFilter *pFilter, 6066 REFERENCE_TIME *pstart, 6067 REFERENCE_TIME *pstop, 6068 WORD wStartCookie, 6069 WORD wStopCookie); 6070 6071 HRESULT (STDMETHODCALLTYPE *AllocCapFile)( 6072 ICaptureGraphBuilder *This, 6073 LPCOLESTR lpstr, 6074 DWORDLONG dwlSize); 6075 6076 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( 6077 ICaptureGraphBuilder *This, 6078 LPOLESTR lpwstrOld, 6079 LPOLESTR lpwstrNew, 6080 int fAllowEscAbort, 6081 IAMCopyCaptureFileProgress *pCallback); 6082 6083 END_INTERFACE 6084 } ICaptureGraphBuilderVtbl; 6085 6086 interface ICaptureGraphBuilder { 6087 CONST_VTBL ICaptureGraphBuilderVtbl* lpVtbl; 6088 }; 6089 6090 #ifdef COBJMACROS 6091 #ifndef WIDL_C_INLINE_WRAPPERS 6092 /*** IUnknown methods ***/ 6093 #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6094 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 6095 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 6096 /*** ICaptureGraphBuilder methods ***/ 6097 #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) 6098 #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) 6099 #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) 6100 #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint) 6101 #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) 6102 #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) 6103 #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) 6104 #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) 6105 #else 6106 /*** IUnknown methods ***/ 6107 static FORCEINLINE HRESULT ICaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder* This,REFIID riid,void **ppvObject) { 6108 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6109 } 6110 static FORCEINLINE ULONG ICaptureGraphBuilder_AddRef(ICaptureGraphBuilder* This) { 6111 return This->lpVtbl->AddRef(This); 6112 } 6113 static FORCEINLINE ULONG ICaptureGraphBuilder_Release(ICaptureGraphBuilder* This) { 6114 return This->lpVtbl->Release(This); 6115 } 6116 /*** ICaptureGraphBuilder methods ***/ 6117 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder *pfg) { 6118 return This->lpVtbl->SetFiltergraph(This,pfg); 6119 } 6120 static FORCEINLINE HRESULT ICaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder **ppfg) { 6121 return This->lpVtbl->GetFiltergraph(This,ppfg); 6122 } 6123 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { 6124 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); 6125 } 6126 static FORCEINLINE HRESULT ICaptureGraphBuilder_FindInterface(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) { 6127 return This->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint); 6128 } 6129 static FORCEINLINE HRESULT ICaptureGraphBuilder_RenderStream(ICaptureGraphBuilder* This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { 6130 return This->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer); 6131 } 6132 static FORCEINLINE HRESULT ICaptureGraphBuilder_ControlStream(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) { 6133 return This->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie); 6134 } 6135 static FORCEINLINE HRESULT ICaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { 6136 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); 6137 } 6138 static FORCEINLINE HRESULT ICaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { 6139 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); 6140 } 6141 #endif 6142 #endif 6143 6144 #endif 6145 6146 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( 6147 ICaptureGraphBuilder* This, 6148 const GUID *pCategory, 6149 IBaseFilter *pf, 6150 REFIID riid, 6151 IUnknown **ppint); 6152 void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub( 6153 IRpcStubBuffer* This, 6154 IRpcChannelBuffer* pRpcChannelBuffer, 6155 PRPC_MESSAGE pRpcMessage, 6156 DWORD* pdwStubPhase); 6157 HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy( 6158 ICaptureGraphBuilder* This, 6159 const GUID *pCategory, 6160 IBaseFilter *pf, 6161 REFIID riid, 6162 void **ppint); 6163 HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub( 6164 ICaptureGraphBuilder* This, 6165 const GUID *pCategory, 6166 IBaseFilter *pf, 6167 REFIID riid, 6168 IUnknown **ppint); 6169 6170 #endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */ 6171 6172 /***************************************************************************** 6173 * IAMCopyCaptureFileProgress interface 6174 */ 6175 #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ 6176 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ 6177 6178 DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 6179 #if defined(__cplusplus) && !defined(CINTERFACE) 6180 MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5") 6181 IAMCopyCaptureFileProgress : public IUnknown 6182 { 6183 virtual HRESULT STDMETHODCALLTYPE Progress( 6184 int iProgress) = 0; 6185 6186 }; 6187 #ifdef __CRT_UUID_DECL 6188 __CRT_UUID_DECL(IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 6189 #endif 6190 #else 6191 typedef struct IAMCopyCaptureFileProgressVtbl { 6192 BEGIN_INTERFACE 6193 6194 /*** IUnknown methods ***/ 6195 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6196 IAMCopyCaptureFileProgress *This, 6197 REFIID riid, 6198 void **ppvObject); 6199 6200 ULONG (STDMETHODCALLTYPE *AddRef)( 6201 IAMCopyCaptureFileProgress *This); 6202 6203 ULONG (STDMETHODCALLTYPE *Release)( 6204 IAMCopyCaptureFileProgress *This); 6205 6206 /*** IAMCopyCaptureFileProgress methods ***/ 6207 HRESULT (STDMETHODCALLTYPE *Progress)( 6208 IAMCopyCaptureFileProgress *This, 6209 int iProgress); 6210 6211 END_INTERFACE 6212 } IAMCopyCaptureFileProgressVtbl; 6213 6214 interface IAMCopyCaptureFileProgress { 6215 CONST_VTBL IAMCopyCaptureFileProgressVtbl* lpVtbl; 6216 }; 6217 6218 #ifdef COBJMACROS 6219 #ifndef WIDL_C_INLINE_WRAPPERS 6220 /*** IUnknown methods ***/ 6221 #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6222 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This) 6223 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This) 6224 /*** IAMCopyCaptureFileProgress methods ***/ 6225 #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress) 6226 #else 6227 /*** IUnknown methods ***/ 6228 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_QueryInterface(IAMCopyCaptureFileProgress* This,REFIID riid,void **ppvObject) { 6229 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6230 } 6231 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_AddRef(IAMCopyCaptureFileProgress* This) { 6232 return This->lpVtbl->AddRef(This); 6233 } 6234 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_Release(IAMCopyCaptureFileProgress* This) { 6235 return This->lpVtbl->Release(This); 6236 } 6237 /*** IAMCopyCaptureFileProgress methods ***/ 6238 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_Progress(IAMCopyCaptureFileProgress* This,int iProgress) { 6239 return This->lpVtbl->Progress(This,iProgress); 6240 } 6241 #endif 6242 #endif 6243 6244 #endif 6245 6246 6247 #endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */ 6248 6249 /***************************************************************************** 6250 * ICaptureGraphBuilder2 interface 6251 */ 6252 #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__ 6253 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__ 6254 6255 DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d); 6256 #if defined(__cplusplus) && !defined(CINTERFACE) 6257 MIDL_INTERFACE("93e5a4e0-2d50-11d2-abfa-00a0c9c6e38d") 6258 ICaptureGraphBuilder2 : public IUnknown 6259 { 6260 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 6261 IGraphBuilder *pfg) = 0; 6262 6263 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 6264 IGraphBuilder **ppfg) = 0; 6265 6266 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 6267 const GUID *pType, 6268 LPCOLESTR lpstrFile, 6269 IBaseFilter **ppf, 6270 IFileSinkFilter **ppSink) = 0; 6271 6272 virtual HRESULT STDMETHODCALLTYPE FindInterface( 6273 const GUID *pCategory, 6274 const GUID *pType, 6275 IBaseFilter *pf, 6276 REFIID riid, 6277 void **ppint) = 0; 6278 6279 virtual HRESULT STDMETHODCALLTYPE RenderStream( 6280 const GUID *pCategory, 6281 const GUID *pType, 6282 IUnknown *pSource, 6283 IBaseFilter *pfCompressor, 6284 IBaseFilter *pfRenderer) = 0; 6285 6286 virtual HRESULT STDMETHODCALLTYPE ControlStream( 6287 const GUID *pCategory, 6288 const GUID *pType, 6289 IBaseFilter *pFilter, 6290 REFERENCE_TIME *pstart, 6291 REFERENCE_TIME *pstop, 6292 WORD wStartCookie, 6293 WORD wStopCookie) = 0; 6294 6295 virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 6296 LPCOLESTR lpstr, 6297 DWORDLONG dwlSize) = 0; 6298 6299 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 6300 LPOLESTR lpwstrOld, 6301 LPOLESTR lpwstrNew, 6302 int fAllowEscAbort, 6303 IAMCopyCaptureFileProgress *pCallback) = 0; 6304 6305 virtual HRESULT STDMETHODCALLTYPE FindPin( 6306 IUnknown *pSource, 6307 PIN_DIRECTION pindir, 6308 const GUID *pCategory, 6309 const GUID *pType, 6310 WINBOOL fUnconnected, 6311 int num, 6312 IPin **ppPin) = 0; 6313 6314 }; 6315 #ifdef __CRT_UUID_DECL 6316 __CRT_UUID_DECL(ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d) 6317 #endif 6318 #else 6319 typedef struct ICaptureGraphBuilder2Vtbl { 6320 BEGIN_INTERFACE 6321 6322 /*** IUnknown methods ***/ 6323 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6324 ICaptureGraphBuilder2 *This, 6325 REFIID riid, 6326 void **ppvObject); 6327 6328 ULONG (STDMETHODCALLTYPE *AddRef)( 6329 ICaptureGraphBuilder2 *This); 6330 6331 ULONG (STDMETHODCALLTYPE *Release)( 6332 ICaptureGraphBuilder2 *This); 6333 6334 /*** ICaptureGraphBuilder2 methods ***/ 6335 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( 6336 ICaptureGraphBuilder2 *This, 6337 IGraphBuilder *pfg); 6338 6339 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( 6340 ICaptureGraphBuilder2 *This, 6341 IGraphBuilder **ppfg); 6342 6343 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( 6344 ICaptureGraphBuilder2 *This, 6345 const GUID *pType, 6346 LPCOLESTR lpstrFile, 6347 IBaseFilter **ppf, 6348 IFileSinkFilter **ppSink); 6349 6350 HRESULT (STDMETHODCALLTYPE *FindInterface)( 6351 ICaptureGraphBuilder2 *This, 6352 const GUID *pCategory, 6353 const GUID *pType, 6354 IBaseFilter *pf, 6355 REFIID riid, 6356 void **ppint); 6357 6358 HRESULT (STDMETHODCALLTYPE *RenderStream)( 6359 ICaptureGraphBuilder2 *This, 6360 const GUID *pCategory, 6361 const GUID *pType, 6362 IUnknown *pSource, 6363 IBaseFilter *pfCompressor, 6364 IBaseFilter *pfRenderer); 6365 6366 HRESULT (STDMETHODCALLTYPE *ControlStream)( 6367 ICaptureGraphBuilder2 *This, 6368 const GUID *pCategory, 6369 const GUID *pType, 6370 IBaseFilter *pFilter, 6371 REFERENCE_TIME *pstart, 6372 REFERENCE_TIME *pstop, 6373 WORD wStartCookie, 6374 WORD wStopCookie); 6375 6376 HRESULT (STDMETHODCALLTYPE *AllocCapFile)( 6377 ICaptureGraphBuilder2 *This, 6378 LPCOLESTR lpstr, 6379 DWORDLONG dwlSize); 6380 6381 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( 6382 ICaptureGraphBuilder2 *This, 6383 LPOLESTR lpwstrOld, 6384 LPOLESTR lpwstrNew, 6385 int fAllowEscAbort, 6386 IAMCopyCaptureFileProgress *pCallback); 6387 6388 HRESULT (STDMETHODCALLTYPE *FindPin)( 6389 ICaptureGraphBuilder2 *This, 6390 IUnknown *pSource, 6391 PIN_DIRECTION pindir, 6392 const GUID *pCategory, 6393 const GUID *pType, 6394 WINBOOL fUnconnected, 6395 int num, 6396 IPin **ppPin); 6397 6398 END_INTERFACE 6399 } ICaptureGraphBuilder2Vtbl; 6400 6401 interface ICaptureGraphBuilder2 { 6402 CONST_VTBL ICaptureGraphBuilder2Vtbl* lpVtbl; 6403 }; 6404 6405 #ifdef COBJMACROS 6406 #ifndef WIDL_C_INLINE_WRAPPERS 6407 /*** IUnknown methods ***/ 6408 #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6409 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) 6410 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This) 6411 /*** ICaptureGraphBuilder2 methods ***/ 6412 #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) 6413 #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) 6414 #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) 6415 #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint) 6416 #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) 6417 #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) 6418 #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) 6419 #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) 6420 #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) 6421 #else 6422 /*** IUnknown methods ***/ 6423 static FORCEINLINE HRESULT ICaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2* This,REFIID riid,void **ppvObject) { 6424 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6425 } 6426 static FORCEINLINE ULONG ICaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2* This) { 6427 return This->lpVtbl->AddRef(This); 6428 } 6429 static FORCEINLINE ULONG ICaptureGraphBuilder2_Release(ICaptureGraphBuilder2* This) { 6430 return This->lpVtbl->Release(This); 6431 } 6432 /*** ICaptureGraphBuilder2 methods ***/ 6433 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder *pfg) { 6434 return This->lpVtbl->SetFiltergraph(This,pfg); 6435 } 6436 static FORCEINLINE HRESULT ICaptureGraphBuilder2_GetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder **ppfg) { 6437 return This->lpVtbl->GetFiltergraph(This,ppfg); 6438 } 6439 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { 6440 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); 6441 } 6442 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) { 6443 return This->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint); 6444 } 6445 static FORCEINLINE HRESULT ICaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { 6446 return This->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer); 6447 } 6448 static FORCEINLINE HRESULT ICaptureGraphBuilder2_ControlStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) { 6449 return This->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie); 6450 } 6451 static FORCEINLINE HRESULT ICaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { 6452 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); 6453 } 6454 static FORCEINLINE HRESULT ICaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { 6455 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); 6456 } 6457 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2* This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) { 6458 return This->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin); 6459 } 6460 #endif 6461 #endif 6462 6463 #endif 6464 6465 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( 6466 ICaptureGraphBuilder2* This, 6467 const GUID *pCategory, 6468 const GUID *pType, 6469 IBaseFilter *pf, 6470 REFIID riid, 6471 IUnknown **ppint); 6472 void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub( 6473 IRpcStubBuffer* This, 6474 IRpcChannelBuffer* pRpcChannelBuffer, 6475 PRPC_MESSAGE pRpcMessage, 6476 DWORD* pdwStubPhase); 6477 HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy( 6478 ICaptureGraphBuilder2* This, 6479 const GUID *pCategory, 6480 const GUID *pType, 6481 IBaseFilter *pf, 6482 REFIID riid, 6483 void **ppint); 6484 HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub( 6485 ICaptureGraphBuilder2* This, 6486 const GUID *pCategory, 6487 const GUID *pType, 6488 IBaseFilter *pf, 6489 REFIID riid, 6490 IUnknown **ppint); 6491 6492 #endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */ 6493 6494 /***************************************************************************** 6495 * IConfigAviMux interface 6496 */ 6497 #ifndef __IConfigAviMux_INTERFACE_DEFINED__ 6498 #define __IConfigAviMux_INTERFACE_DEFINED__ 6499 6500 DEFINE_GUID(IID_IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); 6501 #if defined(__cplusplus) && !defined(CINTERFACE) 6502 MIDL_INTERFACE("5acd6aa0-f482-11ce-8b67-00aa00a3f1a6") 6503 IConfigAviMux : public IUnknown 6504 { 6505 virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 6506 LONG iStream) = 0; 6507 6508 virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 6509 LONG *pStream) = 0; 6510 6511 virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 6512 WINBOOL fOldIndex) = 0; 6513 6514 virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 6515 WINBOOL *pfOldIndex) = 0; 6516 6517 }; 6518 #ifdef __CRT_UUID_DECL 6519 __CRT_UUID_DECL(IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) 6520 #endif 6521 #else 6522 typedef struct IConfigAviMuxVtbl { 6523 BEGIN_INTERFACE 6524 6525 /*** IUnknown methods ***/ 6526 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6527 IConfigAviMux *This, 6528 REFIID riid, 6529 void **ppvObject); 6530 6531 ULONG (STDMETHODCALLTYPE *AddRef)( 6532 IConfigAviMux *This); 6533 6534 ULONG (STDMETHODCALLTYPE *Release)( 6535 IConfigAviMux *This); 6536 6537 /*** IConfigAviMux methods ***/ 6538 HRESULT (STDMETHODCALLTYPE *SetMasterStream)( 6539 IConfigAviMux *This, 6540 LONG iStream); 6541 6542 HRESULT (STDMETHODCALLTYPE *GetMasterStream)( 6543 IConfigAviMux *This, 6544 LONG *pStream); 6545 6546 HRESULT (STDMETHODCALLTYPE *SetOutputCompatibilityIndex)( 6547 IConfigAviMux *This, 6548 WINBOOL fOldIndex); 6549 6550 HRESULT (STDMETHODCALLTYPE *GetOutputCompatibilityIndex)( 6551 IConfigAviMux *This, 6552 WINBOOL *pfOldIndex); 6553 6554 END_INTERFACE 6555 } IConfigAviMuxVtbl; 6556 6557 interface IConfigAviMux { 6558 CONST_VTBL IConfigAviMuxVtbl* lpVtbl; 6559 }; 6560 6561 #ifdef COBJMACROS 6562 #ifndef WIDL_C_INLINE_WRAPPERS 6563 /*** IUnknown methods ***/ 6564 #define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6565 #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This) 6566 #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This) 6567 /*** IConfigAviMux methods ***/ 6568 #define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream) 6569 #define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream) 6570 #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex) 6571 #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex) 6572 #else 6573 /*** IUnknown methods ***/ 6574 static FORCEINLINE HRESULT IConfigAviMux_QueryInterface(IConfigAviMux* This,REFIID riid,void **ppvObject) { 6575 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6576 } 6577 static FORCEINLINE ULONG IConfigAviMux_AddRef(IConfigAviMux* This) { 6578 return This->lpVtbl->AddRef(This); 6579 } 6580 static FORCEINLINE ULONG IConfigAviMux_Release(IConfigAviMux* This) { 6581 return This->lpVtbl->Release(This); 6582 } 6583 /*** IConfigAviMux methods ***/ 6584 static FORCEINLINE HRESULT IConfigAviMux_SetMasterStream(IConfigAviMux* This,LONG iStream) { 6585 return This->lpVtbl->SetMasterStream(This,iStream); 6586 } 6587 static FORCEINLINE HRESULT IConfigAviMux_GetMasterStream(IConfigAviMux* This,LONG *pStream) { 6588 return This->lpVtbl->GetMasterStream(This,pStream); 6589 } 6590 static FORCEINLINE HRESULT IConfigAviMux_SetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL fOldIndex) { 6591 return This->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex); 6592 } 6593 static FORCEINLINE HRESULT IConfigAviMux_GetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL *pfOldIndex) { 6594 return This->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex); 6595 } 6596 #endif 6597 #endif 6598 6599 #endif 6600 6601 6602 #endif /* __IConfigAviMux_INTERFACE_DEFINED__ */ 6603 6604 /***************************************************************************** 6605 * IConfigInterleaving interface 6606 */ 6607 #ifndef __IConfigInterleaving_INTERFACE_DEFINED__ 6608 #define __IConfigInterleaving_INTERFACE_DEFINED__ 6609 6610 typedef enum InterleavingMode { 6611 INTERLEAVE_NONE = 0, 6612 INTERLEAVE_CAPTURE = 1, 6613 INTERLEAVE_FULL = 2, 6614 INTERLEAVE_NONE_BUFFERED = 3 6615 } InterleavingMode; 6616 DEFINE_GUID(IID_IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86); 6617 #if defined(__cplusplus) && !defined(CINTERFACE) 6618 MIDL_INTERFACE("bee3d220-157b-11d0-bd23-00a0c911ce86") 6619 IConfigInterleaving : public IUnknown 6620 { 6621 virtual HRESULT STDMETHODCALLTYPE put_Mode( 6622 InterleavingMode mode) = 0; 6623 6624 virtual HRESULT STDMETHODCALLTYPE get_Mode( 6625 InterleavingMode *pMode) = 0; 6626 6627 virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 6628 const REFERENCE_TIME *prtInterleave, 6629 const REFERENCE_TIME *prtPreroll) = 0; 6630 6631 virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 6632 REFERENCE_TIME *prtInterleave, 6633 REFERENCE_TIME *prtPreroll) = 0; 6634 6635 }; 6636 #ifdef __CRT_UUID_DECL 6637 __CRT_UUID_DECL(IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86) 6638 #endif 6639 #else 6640 typedef struct IConfigInterleavingVtbl { 6641 BEGIN_INTERFACE 6642 6643 /*** IUnknown methods ***/ 6644 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6645 IConfigInterleaving *This, 6646 REFIID riid, 6647 void **ppvObject); 6648 6649 ULONG (STDMETHODCALLTYPE *AddRef)( 6650 IConfigInterleaving *This); 6651 6652 ULONG (STDMETHODCALLTYPE *Release)( 6653 IConfigInterleaving *This); 6654 6655 /*** IConfigInterleaving methods ***/ 6656 HRESULT (STDMETHODCALLTYPE *put_Mode)( 6657 IConfigInterleaving *This, 6658 InterleavingMode mode); 6659 6660 HRESULT (STDMETHODCALLTYPE *get_Mode)( 6661 IConfigInterleaving *This, 6662 InterleavingMode *pMode); 6663 6664 HRESULT (STDMETHODCALLTYPE *put_Interleaving)( 6665 IConfigInterleaving *This, 6666 const REFERENCE_TIME *prtInterleave, 6667 const REFERENCE_TIME *prtPreroll); 6668 6669 HRESULT (STDMETHODCALLTYPE *get_Interleaving)( 6670 IConfigInterleaving *This, 6671 REFERENCE_TIME *prtInterleave, 6672 REFERENCE_TIME *prtPreroll); 6673 6674 END_INTERFACE 6675 } IConfigInterleavingVtbl; 6676 6677 interface IConfigInterleaving { 6678 CONST_VTBL IConfigInterleavingVtbl* lpVtbl; 6679 }; 6680 6681 #ifdef COBJMACROS 6682 #ifndef WIDL_C_INLINE_WRAPPERS 6683 /*** IUnknown methods ***/ 6684 #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6685 #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This) 6686 #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This) 6687 /*** IConfigInterleaving methods ***/ 6688 #define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) 6689 #define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode) 6690 #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll) 6691 #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll) 6692 #else 6693 /*** IUnknown methods ***/ 6694 static FORCEINLINE HRESULT IConfigInterleaving_QueryInterface(IConfigInterleaving* This,REFIID riid,void **ppvObject) { 6695 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6696 } 6697 static FORCEINLINE ULONG IConfigInterleaving_AddRef(IConfigInterleaving* This) { 6698 return This->lpVtbl->AddRef(This); 6699 } 6700 static FORCEINLINE ULONG IConfigInterleaving_Release(IConfigInterleaving* This) { 6701 return This->lpVtbl->Release(This); 6702 } 6703 /*** IConfigInterleaving methods ***/ 6704 static FORCEINLINE HRESULT IConfigInterleaving_put_Mode(IConfigInterleaving* This,InterleavingMode mode) { 6705 return This->lpVtbl->put_Mode(This,mode); 6706 } 6707 static FORCEINLINE HRESULT IConfigInterleaving_get_Mode(IConfigInterleaving* This,InterleavingMode *pMode) { 6708 return This->lpVtbl->get_Mode(This,pMode); 6709 } 6710 static FORCEINLINE HRESULT IConfigInterleaving_put_Interleaving(IConfigInterleaving* This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) { 6711 return This->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll); 6712 } 6713 static FORCEINLINE HRESULT IConfigInterleaving_get_Interleaving(IConfigInterleaving* This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) { 6714 return This->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll); 6715 } 6716 #endif 6717 #endif 6718 6719 #endif 6720 6721 6722 #endif /* __IConfigInterleaving_INTERFACE_DEFINED__ */ 6723 6724 /***************************************************************************** 6725 * IAMClockSlave interface 6726 */ 6727 #ifndef __IAMClockSlave_INTERFACE_DEFINED__ 6728 #define __IAMClockSlave_INTERFACE_DEFINED__ 6729 6730 DEFINE_GUID(IID_IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe); 6731 #if defined(__cplusplus) && !defined(CINTERFACE) 6732 MIDL_INTERFACE("9fd52741-176d-4b36-8f51-ca8f933223be") 6733 IAMClockSlave : public IUnknown 6734 { 6735 virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance( 6736 DWORD dwTolerance) = 0; 6737 6738 virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance( 6739 DWORD *pdwTolerance) = 0; 6740 6741 }; 6742 #ifdef __CRT_UUID_DECL 6743 __CRT_UUID_DECL(IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe) 6744 #endif 6745 #else 6746 typedef struct IAMClockSlaveVtbl { 6747 BEGIN_INTERFACE 6748 6749 /*** IUnknown methods ***/ 6750 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6751 IAMClockSlave *This, 6752 REFIID riid, 6753 void **ppvObject); 6754 6755 ULONG (STDMETHODCALLTYPE *AddRef)( 6756 IAMClockSlave *This); 6757 6758 ULONG (STDMETHODCALLTYPE *Release)( 6759 IAMClockSlave *This); 6760 6761 /*** IAMClockSlave methods ***/ 6762 HRESULT (STDMETHODCALLTYPE *SetErrorTolerance)( 6763 IAMClockSlave *This, 6764 DWORD dwTolerance); 6765 6766 HRESULT (STDMETHODCALLTYPE *GetErrorTolerance)( 6767 IAMClockSlave *This, 6768 DWORD *pdwTolerance); 6769 6770 END_INTERFACE 6771 } IAMClockSlaveVtbl; 6772 6773 interface IAMClockSlave { 6774 CONST_VTBL IAMClockSlaveVtbl* lpVtbl; 6775 }; 6776 6777 #ifdef COBJMACROS 6778 #ifndef WIDL_C_INLINE_WRAPPERS 6779 /*** IUnknown methods ***/ 6780 #define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6781 #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This) 6782 #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This) 6783 /*** IAMClockSlave methods ***/ 6784 #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance) 6785 #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance) 6786 #else 6787 /*** IUnknown methods ***/ 6788 static FORCEINLINE HRESULT IAMClockSlave_QueryInterface(IAMClockSlave* This,REFIID riid,void **ppvObject) { 6789 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6790 } 6791 static FORCEINLINE ULONG IAMClockSlave_AddRef(IAMClockSlave* This) { 6792 return This->lpVtbl->AddRef(This); 6793 } 6794 static FORCEINLINE ULONG IAMClockSlave_Release(IAMClockSlave* This) { 6795 return This->lpVtbl->Release(This); 6796 } 6797 /*** IAMClockSlave methods ***/ 6798 static FORCEINLINE HRESULT IAMClockSlave_SetErrorTolerance(IAMClockSlave* This,DWORD dwTolerance) { 6799 return This->lpVtbl->SetErrorTolerance(This,dwTolerance); 6800 } 6801 static FORCEINLINE HRESULT IAMClockSlave_GetErrorTolerance(IAMClockSlave* This,DWORD *pdwTolerance) { 6802 return This->lpVtbl->GetErrorTolerance(This,pdwTolerance); 6803 } 6804 #endif 6805 #endif 6806 6807 #endif 6808 6809 6810 #endif /* __IAMClockSlave_INTERFACE_DEFINED__ */ 6811 6812 typedef struct _AMCOPPSignature { 6813 BYTE Signature[256]; 6814 } AMCOPPSignature; 6815 typedef struct _AMCOPPCommand { 6816 GUID macKDI; 6817 GUID guidCommandID; 6818 DWORD dwSequence; 6819 DWORD bSizeData; 6820 BYTE CommandData[4056]; 6821 } AMCOPPCommand; 6822 typedef struct _AMCOPPCommand *LPAMCOPPCommand; 6823 typedef struct _AMCOPPStatusInput { 6824 GUID rApp; 6825 GUID guidStatusRequestID; 6826 DWORD dwSequence; 6827 DWORD cbSizeData; 6828 BYTE StatusData[4056]; 6829 } AMCOPPStatusInput; 6830 typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput; 6831 typedef struct _AMCOPPStatusOutput { 6832 GUID macKDI; 6833 DWORD cbSizeData; 6834 BYTE COPPStatus[4076]; 6835 } AMCOPPStatusOutput; 6836 typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput; 6837 /***************************************************************************** 6838 * IAMCertifiedOutputProtection interface 6839 */ 6840 #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ 6841 #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ 6842 6843 DEFINE_GUID(IID_IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15); 6844 #if defined(__cplusplus) && !defined(CINTERFACE) 6845 MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515") 6846 IAMCertifiedOutputProtection : public IUnknown 6847 { 6848 virtual HRESULT STDMETHODCALLTYPE KeyExchange( 6849 GUID *pRandom, 6850 BYTE **VarLenCertGH, 6851 DWORD *pdwLengthCertGH) = 0; 6852 6853 virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart( 6854 AMCOPPSignature *pSig) = 0; 6855 6856 virtual HRESULT STDMETHODCALLTYPE ProtectionCommand( 6857 const AMCOPPCommand *cmd) = 0; 6858 6859 virtual HRESULT STDMETHODCALLTYPE ProtectionStatus( 6860 const AMCOPPStatusInput *pStatusInput, 6861 AMCOPPStatusOutput *pStatusOutput) = 0; 6862 6863 }; 6864 #ifdef __CRT_UUID_DECL 6865 __CRT_UUID_DECL(IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15) 6866 #endif 6867 #else 6868 typedef struct IAMCertifiedOutputProtectionVtbl { 6869 BEGIN_INTERFACE 6870 6871 /*** IUnknown methods ***/ 6872 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6873 IAMCertifiedOutputProtection *This, 6874 REFIID riid, 6875 void **ppvObject); 6876 6877 ULONG (STDMETHODCALLTYPE *AddRef)( 6878 IAMCertifiedOutputProtection *This); 6879 6880 ULONG (STDMETHODCALLTYPE *Release)( 6881 IAMCertifiedOutputProtection *This); 6882 6883 /*** IAMCertifiedOutputProtection methods ***/ 6884 HRESULT (STDMETHODCALLTYPE *KeyExchange)( 6885 IAMCertifiedOutputProtection *This, 6886 GUID *pRandom, 6887 BYTE **VarLenCertGH, 6888 DWORD *pdwLengthCertGH); 6889 6890 HRESULT (STDMETHODCALLTYPE *SessionSequenceStart)( 6891 IAMCertifiedOutputProtection *This, 6892 AMCOPPSignature *pSig); 6893 6894 HRESULT (STDMETHODCALLTYPE *ProtectionCommand)( 6895 IAMCertifiedOutputProtection *This, 6896 const AMCOPPCommand *cmd); 6897 6898 HRESULT (STDMETHODCALLTYPE *ProtectionStatus)( 6899 IAMCertifiedOutputProtection *This, 6900 const AMCOPPStatusInput *pStatusInput, 6901 AMCOPPStatusOutput *pStatusOutput); 6902 6903 END_INTERFACE 6904 } IAMCertifiedOutputProtectionVtbl; 6905 6906 interface IAMCertifiedOutputProtection { 6907 CONST_VTBL IAMCertifiedOutputProtectionVtbl* lpVtbl; 6908 }; 6909 6910 #ifdef COBJMACROS 6911 #ifndef WIDL_C_INLINE_WRAPPERS 6912 /*** IUnknown methods ***/ 6913 #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6914 #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This) 6915 #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This) 6916 /*** IAMCertifiedOutputProtection methods ***/ 6917 #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) 6918 #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig) 6919 #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd) 6920 #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput) 6921 #else 6922 /*** IUnknown methods ***/ 6923 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection* This,REFIID riid,void **ppvObject) { 6924 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6925 } 6926 static FORCEINLINE ULONG IAMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection* This) { 6927 return This->lpVtbl->AddRef(This); 6928 } 6929 static FORCEINLINE ULONG IAMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection* This) { 6930 return This->lpVtbl->Release(This); 6931 } 6932 /*** IAMCertifiedOutputProtection methods ***/ 6933 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection* This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) { 6934 return This->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH); 6935 } 6936 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection* This,AMCOPPSignature *pSig) { 6937 return This->lpVtbl->SessionSequenceStart(This,pSig); 6938 } 6939 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection* This,const AMCOPPCommand *cmd) { 6940 return This->lpVtbl->ProtectionCommand(This,cmd); 6941 } 6942 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection* This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) { 6943 return This->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput); 6944 } 6945 #endif 6946 #endif 6947 6948 #endif 6949 6950 6951 #endif /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */ 6952 6953 enum _AM_RENSDEREXFLAGS { 6954 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1 6955 }; 6956 /***************************************************************************** 6957 * IFilterGraph2 interface 6958 */ 6959 #ifndef __IFilterGraph2_INTERFACE_DEFINED__ 6960 #define __IFilterGraph2_INTERFACE_DEFINED__ 6961 6962 DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 6963 #if defined(__cplusplus) && !defined(CINTERFACE) 6964 MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60") 6965 IFilterGraph2 : public IGraphBuilder 6966 { 6967 virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 6968 IMoniker *pMoniker, 6969 IBindCtx *pCtx, 6970 LPCWSTR lpcwstrFilterName, 6971 IBaseFilter **ppFilter) = 0; 6972 6973 virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 6974 IPin *ppin, 6975 const AM_MEDIA_TYPE *pmt) = 0; 6976 6977 virtual HRESULT STDMETHODCALLTYPE RenderEx( 6978 IPin *pPinOut, 6979 DWORD dwFlags, 6980 DWORD *pvContext) = 0; 6981 6982 }; 6983 #ifdef __CRT_UUID_DECL 6984 __CRT_UUID_DECL(IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 6985 #endif 6986 #else 6987 typedef struct IFilterGraph2Vtbl { 6988 BEGIN_INTERFACE 6989 6990 /*** IUnknown methods ***/ 6991 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6992 IFilterGraph2 *This, 6993 REFIID riid, 6994 void **ppvObject); 6995 6996 ULONG (STDMETHODCALLTYPE *AddRef)( 6997 IFilterGraph2 *This); 6998 6999 ULONG (STDMETHODCALLTYPE *Release)( 7000 IFilterGraph2 *This); 7001 7002 /*** IFilterGraph methods ***/ 7003 HRESULT (STDMETHODCALLTYPE *AddFilter)( 7004 IFilterGraph2 *This, 7005 IBaseFilter *pFilter, 7006 LPCWSTR pName); 7007 7008 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 7009 IFilterGraph2 *This, 7010 IBaseFilter *pFilter); 7011 7012 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 7013 IFilterGraph2 *This, 7014 IEnumFilters **ppEnum); 7015 7016 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 7017 IFilterGraph2 *This, 7018 LPCWSTR pName, 7019 IBaseFilter **ppFilter); 7020 7021 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 7022 IFilterGraph2 *This, 7023 IPin *ppinOut, 7024 IPin *ppinIn, 7025 const AM_MEDIA_TYPE *pmt); 7026 7027 HRESULT (STDMETHODCALLTYPE *Reconnect)( 7028 IFilterGraph2 *This, 7029 IPin *ppin); 7030 7031 HRESULT (STDMETHODCALLTYPE *Disconnect)( 7032 IFilterGraph2 *This, 7033 IPin *ppin); 7034 7035 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 7036 IFilterGraph2 *This); 7037 7038 /*** IGraphBuilder methods ***/ 7039 HRESULT (STDMETHODCALLTYPE *Connect)( 7040 IFilterGraph2 *This, 7041 IPin *ppinOut, 7042 IPin *ppinIn); 7043 7044 HRESULT (STDMETHODCALLTYPE *Render)( 7045 IFilterGraph2 *This, 7046 IPin *ppinOut); 7047 7048 HRESULT (STDMETHODCALLTYPE *RenderFile)( 7049 IFilterGraph2 *This, 7050 LPCWSTR lpcwstrFile, 7051 LPCWSTR lpcwstrPlayList); 7052 7053 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( 7054 IFilterGraph2 *This, 7055 LPCWSTR lpcwstrFileName, 7056 LPCWSTR lpcwstrFilterName, 7057 IBaseFilter **ppFilter); 7058 7059 HRESULT (STDMETHODCALLTYPE *SetLogFile)( 7060 IFilterGraph2 *This, 7061 DWORD_PTR hFile); 7062 7063 HRESULT (STDMETHODCALLTYPE *Abort)( 7064 IFilterGraph2 *This); 7065 7066 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( 7067 IFilterGraph2 *This); 7068 7069 /*** IFilterGraph2 methods ***/ 7070 HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)( 7071 IFilterGraph2 *This, 7072 IMoniker *pMoniker, 7073 IBindCtx *pCtx, 7074 LPCWSTR lpcwstrFilterName, 7075 IBaseFilter **ppFilter); 7076 7077 HRESULT (STDMETHODCALLTYPE *ReconnectEx)( 7078 IFilterGraph2 *This, 7079 IPin *ppin, 7080 const AM_MEDIA_TYPE *pmt); 7081 7082 HRESULT (STDMETHODCALLTYPE *RenderEx)( 7083 IFilterGraph2 *This, 7084 IPin *pPinOut, 7085 DWORD dwFlags, 7086 DWORD *pvContext); 7087 7088 END_INTERFACE 7089 } IFilterGraph2Vtbl; 7090 7091 interface IFilterGraph2 { 7092 CONST_VTBL IFilterGraph2Vtbl* lpVtbl; 7093 }; 7094 7095 #ifdef COBJMACROS 7096 #ifndef WIDL_C_INLINE_WRAPPERS 7097 /*** IUnknown methods ***/ 7098 #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7099 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This) 7100 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This) 7101 /*** IFilterGraph methods ***/ 7102 #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 7103 #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 7104 #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 7105 #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 7106 #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 7107 #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 7108 #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 7109 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 7110 /*** IGraphBuilder methods ***/ 7111 #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) 7112 #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) 7113 #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) 7114 #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) 7115 #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) 7116 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This) 7117 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) 7118 /*** IFilterGraph2 methods ***/ 7119 #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) 7120 #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt) 7121 #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext) 7122 #else 7123 /*** IUnknown methods ***/ 7124 static FORCEINLINE HRESULT IFilterGraph2_QueryInterface(IFilterGraph2* This,REFIID riid,void **ppvObject) { 7125 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7126 } 7127 static FORCEINLINE ULONG IFilterGraph2_AddRef(IFilterGraph2* This) { 7128 return This->lpVtbl->AddRef(This); 7129 } 7130 static FORCEINLINE ULONG IFilterGraph2_Release(IFilterGraph2* This) { 7131 return This->lpVtbl->Release(This); 7132 } 7133 /*** IFilterGraph methods ***/ 7134 static FORCEINLINE HRESULT IFilterGraph2_AddFilter(IFilterGraph2* This,IBaseFilter *pFilter,LPCWSTR pName) { 7135 return This->lpVtbl->AddFilter(This,pFilter,pName); 7136 } 7137 static FORCEINLINE HRESULT IFilterGraph2_RemoveFilter(IFilterGraph2* This,IBaseFilter *pFilter) { 7138 return This->lpVtbl->RemoveFilter(This,pFilter); 7139 } 7140 static FORCEINLINE HRESULT IFilterGraph2_EnumFilters(IFilterGraph2* This,IEnumFilters **ppEnum) { 7141 return This->lpVtbl->EnumFilters(This,ppEnum); 7142 } 7143 static FORCEINLINE HRESULT IFilterGraph2_FindFilterByName(IFilterGraph2* This,LPCWSTR pName,IBaseFilter **ppFilter) { 7144 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 7145 } 7146 static FORCEINLINE HRESULT IFilterGraph2_ConnectDirect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 7147 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 7148 } 7149 static FORCEINLINE HRESULT IFilterGraph2_Reconnect(IFilterGraph2* This,IPin *ppin) { 7150 return This->lpVtbl->Reconnect(This,ppin); 7151 } 7152 static FORCEINLINE HRESULT IFilterGraph2_Disconnect(IFilterGraph2* This,IPin *ppin) { 7153 return This->lpVtbl->Disconnect(This,ppin); 7154 } 7155 static FORCEINLINE HRESULT IFilterGraph2_SetDefaultSyncSource(IFilterGraph2* This) { 7156 return This->lpVtbl->SetDefaultSyncSource(This); 7157 } 7158 /*** IGraphBuilder methods ***/ 7159 static FORCEINLINE HRESULT IFilterGraph2_Connect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn) { 7160 return This->lpVtbl->Connect(This,ppinOut,ppinIn); 7161 } 7162 static FORCEINLINE HRESULT IFilterGraph2_Render(IFilterGraph2* This,IPin *ppinOut) { 7163 return This->lpVtbl->Render(This,ppinOut); 7164 } 7165 static FORCEINLINE HRESULT IFilterGraph2_RenderFile(IFilterGraph2* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { 7166 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); 7167 } 7168 static FORCEINLINE HRESULT IFilterGraph2_AddSourceFilter(IFilterGraph2* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 7169 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); 7170 } 7171 static FORCEINLINE HRESULT IFilterGraph2_SetLogFile(IFilterGraph2* This,DWORD_PTR hFile) { 7172 return This->lpVtbl->SetLogFile(This,hFile); 7173 } 7174 static FORCEINLINE HRESULT IFilterGraph2_Abort(IFilterGraph2* This) { 7175 return This->lpVtbl->Abort(This); 7176 } 7177 static FORCEINLINE HRESULT IFilterGraph2_ShouldOperationContinue(IFilterGraph2* This) { 7178 return This->lpVtbl->ShouldOperationContinue(This); 7179 } 7180 /*** IFilterGraph2 methods ***/ 7181 static FORCEINLINE HRESULT IFilterGraph2_AddSourceFilterForMoniker(IFilterGraph2* This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 7182 return This->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter); 7183 } 7184 static FORCEINLINE HRESULT IFilterGraph2_ReconnectEx(IFilterGraph2* This,IPin *ppin,const AM_MEDIA_TYPE *pmt) { 7185 return This->lpVtbl->ReconnectEx(This,ppin,pmt); 7186 } 7187 static FORCEINLINE HRESULT IFilterGraph2_RenderEx(IFilterGraph2* This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) { 7188 return This->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext); 7189 } 7190 #endif 7191 #endif 7192 7193 #endif 7194 7195 7196 #endif /* __IFilterGraph2_INTERFACE_DEFINED__ */ 7197 7198 /***************************************************************************** 7199 * IStreamBuilder interface 7200 */ 7201 #ifndef __IStreamBuilder_INTERFACE_DEFINED__ 7202 #define __IStreamBuilder_INTERFACE_DEFINED__ 7203 7204 DEFINE_GUID(IID_IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7205 #if defined(__cplusplus) && !defined(CINTERFACE) 7206 MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770") 7207 IStreamBuilder : public IUnknown 7208 { 7209 virtual HRESULT STDMETHODCALLTYPE Render( 7210 IPin *ppinOut, 7211 IGraphBuilder *pGraph) = 0; 7212 7213 virtual HRESULT STDMETHODCALLTYPE Backout( 7214 IPin *ppinOut, 7215 IGraphBuilder *pGraph) = 0; 7216 7217 }; 7218 #ifdef __CRT_UUID_DECL 7219 __CRT_UUID_DECL(IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7220 #endif 7221 #else 7222 typedef struct IStreamBuilderVtbl { 7223 BEGIN_INTERFACE 7224 7225 /*** IUnknown methods ***/ 7226 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7227 IStreamBuilder *This, 7228 REFIID riid, 7229 void **ppvObject); 7230 7231 ULONG (STDMETHODCALLTYPE *AddRef)( 7232 IStreamBuilder *This); 7233 7234 ULONG (STDMETHODCALLTYPE *Release)( 7235 IStreamBuilder *This); 7236 7237 /*** IStreamBuilder methods ***/ 7238 HRESULT (STDMETHODCALLTYPE *Render)( 7239 IStreamBuilder *This, 7240 IPin *ppinOut, 7241 IGraphBuilder *pGraph); 7242 7243 HRESULT (STDMETHODCALLTYPE *Backout)( 7244 IStreamBuilder *This, 7245 IPin *ppinOut, 7246 IGraphBuilder *pGraph); 7247 7248 END_INTERFACE 7249 } IStreamBuilderVtbl; 7250 7251 interface IStreamBuilder { 7252 CONST_VTBL IStreamBuilderVtbl* lpVtbl; 7253 }; 7254 7255 #ifdef COBJMACROS 7256 #ifndef WIDL_C_INLINE_WRAPPERS 7257 /*** IUnknown methods ***/ 7258 #define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7259 #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 7260 #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This) 7261 /*** IStreamBuilder methods ***/ 7262 #define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph) 7263 #define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph) 7264 #else 7265 /*** IUnknown methods ***/ 7266 static FORCEINLINE HRESULT IStreamBuilder_QueryInterface(IStreamBuilder* This,REFIID riid,void **ppvObject) { 7267 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7268 } 7269 static FORCEINLINE ULONG IStreamBuilder_AddRef(IStreamBuilder* This) { 7270 return This->lpVtbl->AddRef(This); 7271 } 7272 static FORCEINLINE ULONG IStreamBuilder_Release(IStreamBuilder* This) { 7273 return This->lpVtbl->Release(This); 7274 } 7275 /*** IStreamBuilder methods ***/ 7276 static FORCEINLINE HRESULT IStreamBuilder_Render(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) { 7277 return This->lpVtbl->Render(This,ppinOut,pGraph); 7278 } 7279 static FORCEINLINE HRESULT IStreamBuilder_Backout(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) { 7280 return This->lpVtbl->Backout(This,ppinOut,pGraph); 7281 } 7282 #endif 7283 #endif 7284 7285 #endif 7286 7287 7288 #endif /* __IStreamBuilder_INTERFACE_DEFINED__ */ 7289 7290 /***************************************************************************** 7291 * IAMStreamConfig interface 7292 */ 7293 #ifndef __IAMStreamConfig_INTERFACE_DEFINED__ 7294 #define __IAMStreamConfig_INTERFACE_DEFINED__ 7295 7296 typedef struct _VIDEO_STREAM_CONFIG_CAPS { 7297 GUID guid; 7298 ULONG VideoStandard; 7299 SIZE InputSize; 7300 SIZE MinCroppingSize; 7301 SIZE MaxCroppingSize; 7302 int CropGranularityX; 7303 int CropGranularityY; 7304 int CropAlignX; 7305 int CropAlignY; 7306 SIZE MinOutputSize; 7307 SIZE MaxOutputSize; 7308 int OutputGranularityX; 7309 int OutputGranularityY; 7310 int StretchTapsX; 7311 int StretchTapsY; 7312 int ShrinkTapsX; 7313 int ShrinkTapsY; 7314 LONGLONG MinFrameInterval; 7315 LONGLONG MaxFrameInterval; 7316 LONG MinBitsPerSecond; 7317 LONG MaxBitsPerSecond; 7318 } VIDEO_STREAM_CONFIG_CAPS; 7319 typedef struct _AUDIO_STREAM_CONFIG_CAPS { 7320 GUID guid; 7321 ULONG MinimumChannels; 7322 ULONG MaximumChannels; 7323 ULONG ChannelsGranularity; 7324 ULONG MinimumBitsPerSample; 7325 ULONG MaximumBitsPerSample; 7326 ULONG BitsPerSampleGranularity; 7327 ULONG MinimumSampleFrequency; 7328 ULONG MaximumSampleFrequency; 7329 ULONG SampleFrequencyGranularity; 7330 } AUDIO_STREAM_CONFIG_CAPS; 7331 DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 7332 #if defined(__cplusplus) && !defined(CINTERFACE) 7333 MIDL_INTERFACE("c6e13340-30ac-11d0-a18c-00a0c9118956") 7334 IAMStreamConfig : public IUnknown 7335 { 7336 virtual HRESULT STDMETHODCALLTYPE SetFormat( 7337 AM_MEDIA_TYPE *pmt) = 0; 7338 7339 virtual HRESULT STDMETHODCALLTYPE GetFormat( 7340 AM_MEDIA_TYPE **pmt) = 0; 7341 7342 virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 7343 int *piCount, 7344 int *piSize) = 0; 7345 7346 virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 7347 int iIndex, 7348 AM_MEDIA_TYPE **pmt, 7349 BYTE *pSCC) = 0; 7350 7351 }; 7352 #ifdef __CRT_UUID_DECL 7353 __CRT_UUID_DECL(IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 7354 #endif 7355 #else 7356 typedef struct IAMStreamConfigVtbl { 7357 BEGIN_INTERFACE 7358 7359 /*** IUnknown methods ***/ 7360 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7361 IAMStreamConfig *This, 7362 REFIID riid, 7363 void **ppvObject); 7364 7365 ULONG (STDMETHODCALLTYPE *AddRef)( 7366 IAMStreamConfig *This); 7367 7368 ULONG (STDMETHODCALLTYPE *Release)( 7369 IAMStreamConfig *This); 7370 7371 /*** IAMStreamConfig methods ***/ 7372 HRESULT (STDMETHODCALLTYPE *SetFormat)( 7373 IAMStreamConfig *This, 7374 AM_MEDIA_TYPE *pmt); 7375 7376 HRESULT (STDMETHODCALLTYPE *GetFormat)( 7377 IAMStreamConfig *This, 7378 AM_MEDIA_TYPE **pmt); 7379 7380 HRESULT (STDMETHODCALLTYPE *GetNumberOfCapabilities)( 7381 IAMStreamConfig *This, 7382 int *piCount, 7383 int *piSize); 7384 7385 HRESULT (STDMETHODCALLTYPE *GetStreamCaps)( 7386 IAMStreamConfig *This, 7387 int iIndex, 7388 AM_MEDIA_TYPE **pmt, 7389 BYTE *pSCC); 7390 7391 END_INTERFACE 7392 } IAMStreamConfigVtbl; 7393 7394 interface IAMStreamConfig { 7395 CONST_VTBL IAMStreamConfigVtbl* lpVtbl; 7396 }; 7397 7398 #ifdef COBJMACROS 7399 #ifndef WIDL_C_INLINE_WRAPPERS 7400 /*** IUnknown methods ***/ 7401 #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7402 #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 7403 #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This) 7404 /*** IAMStreamConfig methods ***/ 7405 #define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt) 7406 #define IAMStreamConfig_GetFormat(This,pmt) (This)->lpVtbl->GetFormat(This,pmt) 7407 #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize) 7408 #define IAMStreamConfig_GetStreamCaps(This,iIndex,pmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC) 7409 #else 7410 /*** IUnknown methods ***/ 7411 static FORCEINLINE HRESULT IAMStreamConfig_QueryInterface(IAMStreamConfig* This,REFIID riid,void **ppvObject) { 7412 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7413 } 7414 static FORCEINLINE ULONG IAMStreamConfig_AddRef(IAMStreamConfig* This) { 7415 return This->lpVtbl->AddRef(This); 7416 } 7417 static FORCEINLINE ULONG IAMStreamConfig_Release(IAMStreamConfig* This) { 7418 return This->lpVtbl->Release(This); 7419 } 7420 /*** IAMStreamConfig methods ***/ 7421 static FORCEINLINE HRESULT IAMStreamConfig_SetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE *pmt) { 7422 return This->lpVtbl->SetFormat(This,pmt); 7423 } 7424 static FORCEINLINE HRESULT IAMStreamConfig_GetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE **pmt) { 7425 return This->lpVtbl->GetFormat(This,pmt); 7426 } 7427 static FORCEINLINE HRESULT IAMStreamConfig_GetNumberOfCapabilities(IAMStreamConfig* This,int *piCount,int *piSize) { 7428 return This->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize); 7429 } 7430 static FORCEINLINE HRESULT IAMStreamConfig_GetStreamCaps(IAMStreamConfig* This,int iIndex,AM_MEDIA_TYPE **pmt,BYTE *pSCC) { 7431 return This->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC); 7432 } 7433 #endif 7434 #endif 7435 7436 #endif 7437 7438 7439 #endif /* __IAMStreamConfig_INTERFACE_DEFINED__ */ 7440 7441 typedef enum tagVideoProcAmpProperty { 7442 VideoProcAmp_Brightness = 0, 7443 VideoProcAmp_Contrast = 1, 7444 VideoProcAmp_Hue = 2, 7445 VideoProcAmp_Saturation = 3, 7446 VideoProcAmp_Sharpness = 4, 7447 VideoProcAmp_Gamma = 5, 7448 VideoProcAmp_ColorEnable = 6, 7449 VideoProcAmp_WhiteBalance = 7, 7450 VideoProcAmp_BacklightCompensation = 8, 7451 VideoProcAmp_Gain = 9 7452 } VideoProcAmpProperty; 7453 typedef enum tagVideoProcAmpFlags { 7454 VideoProcAmp_Flags_Auto = 0x1, 7455 VideoProcAmp_Flags_Manual = 0x2 7456 } VideoProcAmpFlags; 7457 /***************************************************************************** 7458 * IAMVideoProcAmp interface 7459 */ 7460 #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__ 7461 #define __IAMVideoProcAmp_INTERFACE_DEFINED__ 7462 7463 DEFINE_GUID(IID_IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 7464 #if defined(__cplusplus) && !defined(CINTERFACE) 7465 MIDL_INTERFACE("c6e13360-30ac-11d0-a18c-00a0c9118956") 7466 IAMVideoProcAmp : public IUnknown 7467 { 7468 virtual HRESULT STDMETHODCALLTYPE GetRange( 7469 LONG Property, 7470 LONG *pMin, 7471 LONG *pMax, 7472 LONG *pSteppingDelta, 7473 LONG *pDefault, 7474 LONG *pCapsFlags) = 0; 7475 7476 virtual HRESULT STDMETHODCALLTYPE Set( 7477 LONG Property, 7478 LONG lValue, 7479 LONG Flags) = 0; 7480 7481 virtual HRESULT STDMETHODCALLTYPE Get( 7482 LONG Property, 7483 LONG *lValue, 7484 LONG *Flags) = 0; 7485 7486 }; 7487 #ifdef __CRT_UUID_DECL 7488 __CRT_UUID_DECL(IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 7489 #endif 7490 #else 7491 typedef struct IAMVideoProcAmpVtbl { 7492 BEGIN_INTERFACE 7493 7494 /*** IUnknown methods ***/ 7495 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7496 IAMVideoProcAmp *This, 7497 REFIID riid, 7498 void **ppvObject); 7499 7500 ULONG (STDMETHODCALLTYPE *AddRef)( 7501 IAMVideoProcAmp *This); 7502 7503 ULONG (STDMETHODCALLTYPE *Release)( 7504 IAMVideoProcAmp *This); 7505 7506 /*** IAMVideoProcAmp methods ***/ 7507 HRESULT (STDMETHODCALLTYPE *GetRange)( 7508 IAMVideoProcAmp *This, 7509 LONG Property, 7510 LONG *pMin, 7511 LONG *pMax, 7512 LONG *pSteppingDelta, 7513 LONG *pDefault, 7514 LONG *pCapsFlags); 7515 7516 HRESULT (STDMETHODCALLTYPE *Set)( 7517 IAMVideoProcAmp *This, 7518 LONG Property, 7519 LONG lValue, 7520 LONG Flags); 7521 7522 HRESULT (STDMETHODCALLTYPE *Get)( 7523 IAMVideoProcAmp *This, 7524 LONG Property, 7525 LONG *lValue, 7526 LONG *Flags); 7527 7528 END_INTERFACE 7529 } IAMVideoProcAmpVtbl; 7530 7531 interface IAMVideoProcAmp { 7532 CONST_VTBL IAMVideoProcAmpVtbl* lpVtbl; 7533 }; 7534 7535 #ifdef COBJMACROS 7536 #ifndef WIDL_C_INLINE_WRAPPERS 7537 /*** IUnknown methods ***/ 7538 #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7539 #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This) 7540 #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This) 7541 /*** IAMVideoProcAmp methods ***/ 7542 #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) 7543 #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags) 7544 #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags) 7545 #else 7546 /*** IUnknown methods ***/ 7547 static FORCEINLINE HRESULT IAMVideoProcAmp_QueryInterface(IAMVideoProcAmp* This,REFIID riid,void **ppvObject) { 7548 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7549 } 7550 static FORCEINLINE ULONG IAMVideoProcAmp_AddRef(IAMVideoProcAmp* This) { 7551 return This->lpVtbl->AddRef(This); 7552 } 7553 static FORCEINLINE ULONG IAMVideoProcAmp_Release(IAMVideoProcAmp* This) { 7554 return This->lpVtbl->Release(This); 7555 } 7556 /*** IAMVideoProcAmp methods ***/ 7557 static FORCEINLINE HRESULT IAMVideoProcAmp_GetRange(IAMVideoProcAmp* This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) { 7558 return This->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags); 7559 } 7560 static FORCEINLINE HRESULT IAMVideoProcAmp_Set(IAMVideoProcAmp* This,LONG Property,LONG lValue,LONG Flags) { 7561 return This->lpVtbl->Set(This,Property,lValue,Flags); 7562 } 7563 static FORCEINLINE HRESULT IAMVideoProcAmp_Get(IAMVideoProcAmp* This,LONG Property,LONG *lValue,LONG *Flags) { 7564 return This->lpVtbl->Get(This,Property,lValue,Flags); 7565 } 7566 #endif 7567 #endif 7568 7569 #endif 7570 7571 7572 #endif /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */ 7573 7574 /***************************************************************************** 7575 * IAsyncReader interface 7576 */ 7577 #ifndef __IAsyncReader_INTERFACE_DEFINED__ 7578 #define __IAsyncReader_INTERFACE_DEFINED__ 7579 7580 DEFINE_GUID(IID_IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7581 #if defined(__cplusplus) && !defined(CINTERFACE) 7582 MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770") 7583 IAsyncReader : public IUnknown 7584 { 7585 virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 7586 IMemAllocator *pPreferred, 7587 ALLOCATOR_PROPERTIES *pProps, 7588 IMemAllocator **ppActual) = 0; 7589 7590 virtual HRESULT STDMETHODCALLTYPE Request( 7591 IMediaSample *pSample, 7592 DWORD_PTR dwUser) = 0; 7593 7594 virtual HRESULT STDMETHODCALLTYPE WaitForNext( 7595 DWORD dwTimeout, 7596 IMediaSample **ppSample, 7597 DWORD_PTR *pdwUser) = 0; 7598 7599 virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 7600 IMediaSample *pSample) = 0; 7601 7602 virtual HRESULT STDMETHODCALLTYPE SyncRead( 7603 LONGLONG llPosition, 7604 LONG lLength, 7605 BYTE *pBuffer) = 0; 7606 7607 virtual HRESULT STDMETHODCALLTYPE Length( 7608 LONGLONG *pTotal, 7609 LONGLONG *pAvailable) = 0; 7610 7611 virtual HRESULT STDMETHODCALLTYPE BeginFlush( 7612 ) = 0; 7613 7614 virtual HRESULT STDMETHODCALLTYPE EndFlush( 7615 ) = 0; 7616 7617 }; 7618 #ifdef __CRT_UUID_DECL 7619 __CRT_UUID_DECL(IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7620 #endif 7621 #else 7622 typedef struct IAsyncReaderVtbl { 7623 BEGIN_INTERFACE 7624 7625 /*** IUnknown methods ***/ 7626 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7627 IAsyncReader *This, 7628 REFIID riid, 7629 void **ppvObject); 7630 7631 ULONG (STDMETHODCALLTYPE *AddRef)( 7632 IAsyncReader *This); 7633 7634 ULONG (STDMETHODCALLTYPE *Release)( 7635 IAsyncReader *This); 7636 7637 /*** IAsyncReader methods ***/ 7638 HRESULT (STDMETHODCALLTYPE *RequestAllocator)( 7639 IAsyncReader *This, 7640 IMemAllocator *pPreferred, 7641 ALLOCATOR_PROPERTIES *pProps, 7642 IMemAllocator **ppActual); 7643 7644 HRESULT (STDMETHODCALLTYPE *Request)( 7645 IAsyncReader *This, 7646 IMediaSample *pSample, 7647 DWORD_PTR dwUser); 7648 7649 HRESULT (STDMETHODCALLTYPE *WaitForNext)( 7650 IAsyncReader *This, 7651 DWORD dwTimeout, 7652 IMediaSample **ppSample, 7653 DWORD_PTR *pdwUser); 7654 7655 HRESULT (STDMETHODCALLTYPE *SyncReadAligned)( 7656 IAsyncReader *This, 7657 IMediaSample *pSample); 7658 7659 HRESULT (STDMETHODCALLTYPE *SyncRead)( 7660 IAsyncReader *This, 7661 LONGLONG llPosition, 7662 LONG lLength, 7663 BYTE *pBuffer); 7664 7665 HRESULT (STDMETHODCALLTYPE *Length)( 7666 IAsyncReader *This, 7667 LONGLONG *pTotal, 7668 LONGLONG *pAvailable); 7669 7670 HRESULT (STDMETHODCALLTYPE *BeginFlush)( 7671 IAsyncReader *This); 7672 7673 HRESULT (STDMETHODCALLTYPE *EndFlush)( 7674 IAsyncReader *This); 7675 7676 END_INTERFACE 7677 } IAsyncReaderVtbl; 7678 7679 interface IAsyncReader { 7680 CONST_VTBL IAsyncReaderVtbl* lpVtbl; 7681 }; 7682 7683 #ifdef COBJMACROS 7684 #ifndef WIDL_C_INLINE_WRAPPERS 7685 /*** IUnknown methods ***/ 7686 #define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7687 #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This) 7688 #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This) 7689 /*** IAsyncReader methods ***/ 7690 #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual) 7691 #define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser) 7692 #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser) 7693 #define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample) 7694 #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer) 7695 #define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable) 7696 #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) 7697 #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This) 7698 #else 7699 /*** IUnknown methods ***/ 7700 static FORCEINLINE HRESULT IAsyncReader_QueryInterface(IAsyncReader* This,REFIID riid,void **ppvObject) { 7701 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7702 } 7703 static FORCEINLINE ULONG IAsyncReader_AddRef(IAsyncReader* This) { 7704 return This->lpVtbl->AddRef(This); 7705 } 7706 static FORCEINLINE ULONG IAsyncReader_Release(IAsyncReader* This) { 7707 return This->lpVtbl->Release(This); 7708 } 7709 /*** IAsyncReader methods ***/ 7710 static FORCEINLINE HRESULT IAsyncReader_RequestAllocator(IAsyncReader* This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) { 7711 return This->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual); 7712 } 7713 static FORCEINLINE HRESULT IAsyncReader_Request(IAsyncReader* This,IMediaSample *pSample,DWORD_PTR dwUser) { 7714 return This->lpVtbl->Request(This,pSample,dwUser); 7715 } 7716 static FORCEINLINE HRESULT IAsyncReader_WaitForNext(IAsyncReader* This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) { 7717 return This->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser); 7718 } 7719 static FORCEINLINE HRESULT IAsyncReader_SyncReadAligned(IAsyncReader* This,IMediaSample *pSample) { 7720 return This->lpVtbl->SyncReadAligned(This,pSample); 7721 } 7722 static FORCEINLINE HRESULT IAsyncReader_SyncRead(IAsyncReader* This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer) { 7723 return This->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer); 7724 } 7725 static FORCEINLINE HRESULT IAsyncReader_Length(IAsyncReader* This,LONGLONG *pTotal,LONGLONG *pAvailable) { 7726 return This->lpVtbl->Length(This,pTotal,pAvailable); 7727 } 7728 static FORCEINLINE HRESULT IAsyncReader_BeginFlush(IAsyncReader* This) { 7729 return This->lpVtbl->BeginFlush(This); 7730 } 7731 static FORCEINLINE HRESULT IAsyncReader_EndFlush(IAsyncReader* This) { 7732 return This->lpVtbl->EndFlush(This); 7733 } 7734 #endif 7735 #endif 7736 7737 #endif 7738 7739 7740 #endif /* __IAsyncReader_INTERFACE_DEFINED__ */ 7741 7742 /***************************************************************************** 7743 * IGraphVersion interface 7744 */ 7745 #ifndef __IGraphVersion_INTERFACE_DEFINED__ 7746 #define __IGraphVersion_INTERFACE_DEFINED__ 7747 7748 DEFINE_GUID(IID_IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7749 #if defined(__cplusplus) && !defined(CINTERFACE) 7750 MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770") 7751 IGraphVersion : public IUnknown 7752 { 7753 virtual HRESULT STDMETHODCALLTYPE QueryVersion( 7754 LONG *pVersion) = 0; 7755 7756 }; 7757 #ifdef __CRT_UUID_DECL 7758 __CRT_UUID_DECL(IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7759 #endif 7760 #else 7761 typedef struct IGraphVersionVtbl { 7762 BEGIN_INTERFACE 7763 7764 /*** IUnknown methods ***/ 7765 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7766 IGraphVersion *This, 7767 REFIID riid, 7768 void **ppvObject); 7769 7770 ULONG (STDMETHODCALLTYPE *AddRef)( 7771 IGraphVersion *This); 7772 7773 ULONG (STDMETHODCALLTYPE *Release)( 7774 IGraphVersion *This); 7775 7776 /*** IGraphVersion methods ***/ 7777 HRESULT (STDMETHODCALLTYPE *QueryVersion)( 7778 IGraphVersion *This, 7779 LONG *pVersion); 7780 7781 END_INTERFACE 7782 } IGraphVersionVtbl; 7783 7784 interface IGraphVersion { 7785 CONST_VTBL IGraphVersionVtbl* lpVtbl; 7786 }; 7787 7788 #ifdef COBJMACROS 7789 #ifndef WIDL_C_INLINE_WRAPPERS 7790 /*** IUnknown methods ***/ 7791 #define IGraphVersion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7792 #define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This) 7793 #define IGraphVersion_Release(This) (This)->lpVtbl->Release(This) 7794 /*** IGraphVersion methods ***/ 7795 #define IGraphVersion_QueryVersion(This,pVersion) (This)->lpVtbl->QueryVersion(This,pVersion) 7796 #else 7797 /*** IUnknown methods ***/ 7798 static FORCEINLINE HRESULT IGraphVersion_QueryInterface(IGraphVersion* This,REFIID riid,void **ppvObject) { 7799 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7800 } 7801 static FORCEINLINE ULONG IGraphVersion_AddRef(IGraphVersion* This) { 7802 return This->lpVtbl->AddRef(This); 7803 } 7804 static FORCEINLINE ULONG IGraphVersion_Release(IGraphVersion* This) { 7805 return This->lpVtbl->Release(This); 7806 } 7807 /*** IGraphVersion methods ***/ 7808 static FORCEINLINE HRESULT IGraphVersion_QueryVersion(IGraphVersion* This,LONG *pVersion) { 7809 return This->lpVtbl->QueryVersion(This,pVersion); 7810 } 7811 #endif 7812 #endif 7813 7814 #endif 7815 7816 7817 #endif /* __IGraphVersion_INTERFACE_DEFINED__ */ 7818 7819 /***************************************************************************** 7820 * IResourceConsumer interface 7821 */ 7822 #ifndef __IResourceConsumer_INTERFACE_DEFINED__ 7823 #define __IResourceConsumer_INTERFACE_DEFINED__ 7824 7825 DEFINE_GUID(IID_IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7826 #if defined(__cplusplus) && !defined(CINTERFACE) 7827 MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770") 7828 IResourceConsumer : public IUnknown 7829 { 7830 virtual HRESULT STDMETHODCALLTYPE AcquireResource( 7831 LONG idResource) = 0; 7832 7833 virtual HRESULT STDMETHODCALLTYPE ReleaseResource( 7834 LONG idResource) = 0; 7835 7836 }; 7837 #ifdef __CRT_UUID_DECL 7838 __CRT_UUID_DECL(IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7839 #endif 7840 #else 7841 typedef struct IResourceConsumerVtbl { 7842 BEGIN_INTERFACE 7843 7844 /*** IUnknown methods ***/ 7845 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7846 IResourceConsumer *This, 7847 REFIID riid, 7848 void **ppvObject); 7849 7850 ULONG (STDMETHODCALLTYPE *AddRef)( 7851 IResourceConsumer *This); 7852 7853 ULONG (STDMETHODCALLTYPE *Release)( 7854 IResourceConsumer *This); 7855 7856 /*** IResourceConsumer methods ***/ 7857 HRESULT (STDMETHODCALLTYPE *AcquireResource)( 7858 IResourceConsumer *This, 7859 LONG idResource); 7860 7861 HRESULT (STDMETHODCALLTYPE *ReleaseResource)( 7862 IResourceConsumer *This, 7863 LONG idResource); 7864 7865 END_INTERFACE 7866 } IResourceConsumerVtbl; 7867 7868 interface IResourceConsumer { 7869 CONST_VTBL IResourceConsumerVtbl* lpVtbl; 7870 }; 7871 7872 #ifdef COBJMACROS 7873 #ifndef WIDL_C_INLINE_WRAPPERS 7874 /*** IUnknown methods ***/ 7875 #define IResourceConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7876 #define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This) 7877 #define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This) 7878 /*** IResourceConsumer methods ***/ 7879 #define IResourceConsumer_AcquireResource(This,idResource) (This)->lpVtbl->AcquireResource(This,idResource) 7880 #define IResourceConsumer_ReleaseResource(This,idResource) (This)->lpVtbl->ReleaseResource(This,idResource) 7881 #else 7882 /*** IUnknown methods ***/ 7883 static FORCEINLINE HRESULT IResourceConsumer_QueryInterface(IResourceConsumer* This,REFIID riid,void **ppvObject) { 7884 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7885 } 7886 static FORCEINLINE ULONG IResourceConsumer_AddRef(IResourceConsumer* This) { 7887 return This->lpVtbl->AddRef(This); 7888 } 7889 static FORCEINLINE ULONG IResourceConsumer_Release(IResourceConsumer* This) { 7890 return This->lpVtbl->Release(This); 7891 } 7892 /*** IResourceConsumer methods ***/ 7893 static FORCEINLINE HRESULT IResourceConsumer_AcquireResource(IResourceConsumer* This,LONG idResource) { 7894 return This->lpVtbl->AcquireResource(This,idResource); 7895 } 7896 static FORCEINLINE HRESULT IResourceConsumer_ReleaseResource(IResourceConsumer* This,LONG idResource) { 7897 return This->lpVtbl->ReleaseResource(This,idResource); 7898 } 7899 #endif 7900 #endif 7901 7902 #endif 7903 7904 7905 #endif /* __IResourceConsumer_INTERFACE_DEFINED__ */ 7906 7907 /***************************************************************************** 7908 * IResourceManager interface 7909 */ 7910 #ifndef __IResourceManager_INTERFACE_DEFINED__ 7911 #define __IResourceManager_INTERFACE_DEFINED__ 7912 7913 DEFINE_GUID(IID_IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 7914 #if defined(__cplusplus) && !defined(CINTERFACE) 7915 MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770") 7916 IResourceManager : public IUnknown 7917 { 7918 virtual HRESULT STDMETHODCALLTYPE Register( 7919 LPCWSTR pName, 7920 LONG cResource, 7921 LONG *plToken) = 0; 7922 7923 virtual HRESULT STDMETHODCALLTYPE RegisterGroup( 7924 LPCWSTR pName, 7925 LONG cResource, 7926 LONG *palTokens, 7927 LONG *plToken) = 0; 7928 7929 virtual HRESULT STDMETHODCALLTYPE RequestResource( 7930 LONG idResource, 7931 IUnknown *pFocusObject, 7932 IResourceConsumer *pConsumer) = 0; 7933 7934 virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( 7935 LONG idResource, 7936 IResourceConsumer *pConsumer, 7937 HRESULT hr) = 0; 7938 7939 virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 7940 LONG idResource, 7941 IResourceConsumer *pConsumer, 7942 WINBOOL bStillWant) = 0; 7943 7944 virtual HRESULT STDMETHODCALLTYPE CancelRequest( 7945 LONG idResource, 7946 IResourceConsumer *pConsumer) = 0; 7947 7948 virtual HRESULT STDMETHODCALLTYPE SetFocus( 7949 IUnknown *pFocusObject) = 0; 7950 7951 virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( 7952 IUnknown *pFocusObject) = 0; 7953 7954 }; 7955 #ifdef __CRT_UUID_DECL 7956 __CRT_UUID_DECL(IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 7957 #endif 7958 #else 7959 typedef struct IResourceManagerVtbl { 7960 BEGIN_INTERFACE 7961 7962 /*** IUnknown methods ***/ 7963 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7964 IResourceManager *This, 7965 REFIID riid, 7966 void **ppvObject); 7967 7968 ULONG (STDMETHODCALLTYPE *AddRef)( 7969 IResourceManager *This); 7970 7971 ULONG (STDMETHODCALLTYPE *Release)( 7972 IResourceManager *This); 7973 7974 /*** IResourceManager methods ***/ 7975 HRESULT (STDMETHODCALLTYPE *Register)( 7976 IResourceManager *This, 7977 LPCWSTR pName, 7978 LONG cResource, 7979 LONG *plToken); 7980 7981 HRESULT (STDMETHODCALLTYPE *RegisterGroup)( 7982 IResourceManager *This, 7983 LPCWSTR pName, 7984 LONG cResource, 7985 LONG *palTokens, 7986 LONG *plToken); 7987 7988 HRESULT (STDMETHODCALLTYPE *RequestResource)( 7989 IResourceManager *This, 7990 LONG idResource, 7991 IUnknown *pFocusObject, 7992 IResourceConsumer *pConsumer); 7993 7994 HRESULT (STDMETHODCALLTYPE *NotifyAcquire)( 7995 IResourceManager *This, 7996 LONG idResource, 7997 IResourceConsumer *pConsumer, 7998 HRESULT hr); 7999 8000 HRESULT (STDMETHODCALLTYPE *NotifyRelease)( 8001 IResourceManager *This, 8002 LONG idResource, 8003 IResourceConsumer *pConsumer, 8004 WINBOOL bStillWant); 8005 8006 HRESULT (STDMETHODCALLTYPE *CancelRequest)( 8007 IResourceManager *This, 8008 LONG idResource, 8009 IResourceConsumer *pConsumer); 8010 8011 HRESULT (STDMETHODCALLTYPE *SetFocus)( 8012 IResourceManager *This, 8013 IUnknown *pFocusObject); 8014 8015 HRESULT (STDMETHODCALLTYPE *ReleaseFocus)( 8016 IResourceManager *This, 8017 IUnknown *pFocusObject); 8018 8019 END_INTERFACE 8020 } IResourceManagerVtbl; 8021 8022 interface IResourceManager { 8023 CONST_VTBL IResourceManagerVtbl* lpVtbl; 8024 }; 8025 8026 #ifdef COBJMACROS 8027 #ifndef WIDL_C_INLINE_WRAPPERS 8028 /*** IUnknown methods ***/ 8029 #define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8030 #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This) 8031 #define IResourceManager_Release(This) (This)->lpVtbl->Release(This) 8032 /*** IResourceManager methods ***/ 8033 #define IResourceManager_Register(This,pName,cResource,plToken) (This)->lpVtbl->Register(This,pName,cResource,plToken) 8034 #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) (This)->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken) 8035 #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) (This)->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer) 8036 #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) (This)->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr) 8037 #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) (This)->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant) 8038 #define IResourceManager_CancelRequest(This,idResource,pConsumer) (This)->lpVtbl->CancelRequest(This,idResource,pConsumer) 8039 #define IResourceManager_SetFocus(This,pFocusObject) (This)->lpVtbl->SetFocus(This,pFocusObject) 8040 #define IResourceManager_ReleaseFocus(This,pFocusObject) (This)->lpVtbl->ReleaseFocus(This,pFocusObject) 8041 #else 8042 /*** IUnknown methods ***/ 8043 static FORCEINLINE HRESULT IResourceManager_QueryInterface(IResourceManager* This,REFIID riid,void **ppvObject) { 8044 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8045 } 8046 static FORCEINLINE ULONG IResourceManager_AddRef(IResourceManager* This) { 8047 return This->lpVtbl->AddRef(This); 8048 } 8049 static FORCEINLINE ULONG IResourceManager_Release(IResourceManager* This) { 8050 return This->lpVtbl->Release(This); 8051 } 8052 /*** IResourceManager methods ***/ 8053 static FORCEINLINE HRESULT IResourceManager_Register(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *plToken) { 8054 return This->lpVtbl->Register(This,pName,cResource,plToken); 8055 } 8056 static FORCEINLINE HRESULT IResourceManager_RegisterGroup(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken) { 8057 return This->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken); 8058 } 8059 static FORCEINLINE HRESULT IResourceManager_RequestResource(IResourceManager* This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer) { 8060 return This->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer); 8061 } 8062 static FORCEINLINE HRESULT IResourceManager_NotifyAcquire(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr) { 8063 return This->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr); 8064 } 8065 static FORCEINLINE HRESULT IResourceManager_NotifyRelease(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant) { 8066 return This->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant); 8067 } 8068 static FORCEINLINE HRESULT IResourceManager_CancelRequest(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer) { 8069 return This->lpVtbl->CancelRequest(This,idResource,pConsumer); 8070 } 8071 static FORCEINLINE HRESULT IResourceManager_SetFocus(IResourceManager* This,IUnknown *pFocusObject) { 8072 return This->lpVtbl->SetFocus(This,pFocusObject); 8073 } 8074 static FORCEINLINE HRESULT IResourceManager_ReleaseFocus(IResourceManager* This,IUnknown *pFocusObject) { 8075 return This->lpVtbl->ReleaseFocus(This,pFocusObject); 8076 } 8077 #endif 8078 #endif 8079 8080 #endif 8081 8082 8083 #endif /* __IResourceManager_INTERFACE_DEFINED__ */ 8084 8085 typedef enum AM_STREAM_INFO_FLAGS { 8086 AM_STREAM_INFO_START_DEFINED = 0x1, 8087 AM_STREAM_INFO_STOP_DEFINED = 0x2, 8088 AM_STREAM_INFO_DISCARDING = 0x4, 8089 AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10 8090 } AM_STREAM_INFO_FLAGS; 8091 typedef struct AM_STREAM_INFO { 8092 REFERENCE_TIME tStart; 8093 REFERENCE_TIME tStop; 8094 DWORD dwStartCookie; 8095 DWORD dwStopCookie; 8096 DWORD dwFlags; 8097 } AM_STREAM_INFO; 8098 /***************************************************************************** 8099 * IAMStreamControl interface 8100 */ 8101 #ifndef __IAMStreamControl_INTERFACE_DEFINED__ 8102 #define __IAMStreamControl_INTERFACE_DEFINED__ 8103 8104 DEFINE_GUID(IID_IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 8105 #if defined(__cplusplus) && !defined(CINTERFACE) 8106 MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60") 8107 IAMStreamControl : public IUnknown 8108 { 8109 virtual HRESULT STDMETHODCALLTYPE StartAt( 8110 const REFERENCE_TIME *ptStart, 8111 DWORD dwCookie) = 0; 8112 8113 virtual HRESULT STDMETHODCALLTYPE StopAt( 8114 const REFERENCE_TIME *ptStop, 8115 WINBOOL bSendExtra, 8116 DWORD dwCookie) = 0; 8117 8118 virtual HRESULT STDMETHODCALLTYPE GetInfo( 8119 AM_STREAM_INFO *pInfo) = 0; 8120 8121 }; 8122 #ifdef __CRT_UUID_DECL 8123 __CRT_UUID_DECL(IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 8124 #endif 8125 #else 8126 typedef struct IAMStreamControlVtbl { 8127 BEGIN_INTERFACE 8128 8129 /*** IUnknown methods ***/ 8130 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8131 IAMStreamControl *This, 8132 REFIID riid, 8133 void **ppvObject); 8134 8135 ULONG (STDMETHODCALLTYPE *AddRef)( 8136 IAMStreamControl *This); 8137 8138 ULONG (STDMETHODCALLTYPE *Release)( 8139 IAMStreamControl *This); 8140 8141 /*** IAMStreamControl methods ***/ 8142 HRESULT (STDMETHODCALLTYPE *StartAt)( 8143 IAMStreamControl *This, 8144 const REFERENCE_TIME *ptStart, 8145 DWORD dwCookie); 8146 8147 HRESULT (STDMETHODCALLTYPE *StopAt)( 8148 IAMStreamControl *This, 8149 const REFERENCE_TIME *ptStop, 8150 WINBOOL bSendExtra, 8151 DWORD dwCookie); 8152 8153 HRESULT (STDMETHODCALLTYPE *GetInfo)( 8154 IAMStreamControl *This, 8155 AM_STREAM_INFO *pInfo); 8156 8157 END_INTERFACE 8158 } IAMStreamControlVtbl; 8159 8160 interface IAMStreamControl { 8161 CONST_VTBL IAMStreamControlVtbl* lpVtbl; 8162 }; 8163 8164 #ifdef COBJMACROS 8165 #ifndef WIDL_C_INLINE_WRAPPERS 8166 /*** IUnknown methods ***/ 8167 #define IAMStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8168 #define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) 8169 #define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This) 8170 /*** IAMStreamControl methods ***/ 8171 #define IAMStreamControl_StartAt(This,ptStart,dwCookie) (This)->lpVtbl->StartAt(This,ptStart,dwCookie) 8172 #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) (This)->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie) 8173 #define IAMStreamControl_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo) 8174 #else 8175 /*** IUnknown methods ***/ 8176 static FORCEINLINE HRESULT IAMStreamControl_QueryInterface(IAMStreamControl* This,REFIID riid,void **ppvObject) { 8177 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8178 } 8179 static FORCEINLINE ULONG IAMStreamControl_AddRef(IAMStreamControl* This) { 8180 return This->lpVtbl->AddRef(This); 8181 } 8182 static FORCEINLINE ULONG IAMStreamControl_Release(IAMStreamControl* This) { 8183 return This->lpVtbl->Release(This); 8184 } 8185 /*** IAMStreamControl methods ***/ 8186 static FORCEINLINE HRESULT IAMStreamControl_StartAt(IAMStreamControl* This,const REFERENCE_TIME *ptStart,DWORD dwCookie) { 8187 return This->lpVtbl->StartAt(This,ptStart,dwCookie); 8188 } 8189 static FORCEINLINE HRESULT IAMStreamControl_StopAt(IAMStreamControl* This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie) { 8190 return This->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie); 8191 } 8192 static FORCEINLINE HRESULT IAMStreamControl_GetInfo(IAMStreamControl* This,AM_STREAM_INFO *pInfo) { 8193 return This->lpVtbl->GetInfo(This,pInfo); 8194 } 8195 #endif 8196 #endif 8197 8198 #endif 8199 8200 8201 #endif /* __IAMStreamControl_INTERFACE_DEFINED__ */ 8202 8203 #ifndef _IKsPropertySet_ 8204 #define _IKsPropertySet_ 8205 #define KSPROPERTY_SUPPORT_GET 1 8206 #define KSPROPERTY_SUPPORT_SET 2 8207 /***************************************************************************** 8208 * IKsPropertySet interface 8209 */ 8210 #ifndef __IKsPropertySet_INTERFACE_DEFINED__ 8211 #define __IKsPropertySet_INTERFACE_DEFINED__ 8212 8213 DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93); 8214 #if defined(__cplusplus) && !defined(CINTERFACE) 8215 MIDL_INTERFACE("31efac30-515c-11d0-a9aa-00aa0061be93") 8216 IKsPropertySet : public IUnknown 8217 { 8218 virtual HRESULT STDMETHODCALLTYPE Set( 8219 REFGUID guidPropSet, 8220 DWORD dwPropID, 8221 LPVOID pInstanceData, 8222 DWORD cbInstanceData, 8223 LPVOID pPropData, 8224 DWORD cbPropData) = 0; 8225 8226 virtual HRESULT STDMETHODCALLTYPE Get( 8227 REFGUID guidPropSet, 8228 DWORD dwPropID, 8229 LPVOID pInstanceData, 8230 DWORD cbInstanceData, 8231 LPVOID pPropData, 8232 DWORD cbPropData, 8233 DWORD *pcbReturned) = 0; 8234 8235 virtual HRESULT STDMETHODCALLTYPE QuerySupported( 8236 REFGUID guidPropSet, 8237 DWORD dwPropID, 8238 DWORD *pTypeSupport) = 0; 8239 8240 }; 8241 #ifdef __CRT_UUID_DECL 8242 __CRT_UUID_DECL(IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93) 8243 #endif 8244 #else 8245 typedef struct IKsPropertySetVtbl { 8246 BEGIN_INTERFACE 8247 8248 /*** IUnknown methods ***/ 8249 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8250 IKsPropertySet *This, 8251 REFIID riid, 8252 void **ppvObject); 8253 8254 ULONG (STDMETHODCALLTYPE *AddRef)( 8255 IKsPropertySet *This); 8256 8257 ULONG (STDMETHODCALLTYPE *Release)( 8258 IKsPropertySet *This); 8259 8260 /*** IKsPropertySet methods ***/ 8261 HRESULT (STDMETHODCALLTYPE *Set)( 8262 IKsPropertySet *This, 8263 REFGUID guidPropSet, 8264 DWORD dwPropID, 8265 LPVOID pInstanceData, 8266 DWORD cbInstanceData, 8267 LPVOID pPropData, 8268 DWORD cbPropData); 8269 8270 HRESULT (STDMETHODCALLTYPE *Get)( 8271 IKsPropertySet *This, 8272 REFGUID guidPropSet, 8273 DWORD dwPropID, 8274 LPVOID pInstanceData, 8275 DWORD cbInstanceData, 8276 LPVOID pPropData, 8277 DWORD cbPropData, 8278 DWORD *pcbReturned); 8279 8280 HRESULT (STDMETHODCALLTYPE *QuerySupported)( 8281 IKsPropertySet *This, 8282 REFGUID guidPropSet, 8283 DWORD dwPropID, 8284 DWORD *pTypeSupport); 8285 8286 END_INTERFACE 8287 } IKsPropertySetVtbl; 8288 8289 interface IKsPropertySet { 8290 CONST_VTBL IKsPropertySetVtbl* lpVtbl; 8291 }; 8292 8293 #ifdef COBJMACROS 8294 #ifndef WIDL_C_INLINE_WRAPPERS 8295 /*** IUnknown methods ***/ 8296 #define IKsPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8297 #define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This) 8298 #define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This) 8299 /*** IKsPropertySet methods ***/ 8300 #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) (This)->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) 8301 #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) (This)->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) 8302 #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) (This)->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) 8303 #else 8304 /*** IUnknown methods ***/ 8305 static FORCEINLINE HRESULT IKsPropertySet_QueryInterface(IKsPropertySet* This,REFIID riid,void **ppvObject) { 8306 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8307 } 8308 static FORCEINLINE ULONG IKsPropertySet_AddRef(IKsPropertySet* This) { 8309 return This->lpVtbl->AddRef(This); 8310 } 8311 static FORCEINLINE ULONG IKsPropertySet_Release(IKsPropertySet* This) { 8312 return This->lpVtbl->Release(This); 8313 } 8314 /*** IKsPropertySet methods ***/ 8315 static FORCEINLINE HRESULT IKsPropertySet_Set(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData) { 8316 return This->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData); 8317 } 8318 static FORCEINLINE HRESULT IKsPropertySet_Get(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned) { 8319 return This->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned); 8320 } 8321 static FORCEINLINE HRESULT IKsPropertySet_QuerySupported(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport) { 8322 return This->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport); 8323 } 8324 #endif 8325 #endif 8326 8327 #endif 8328 8329 8330 #endif /* __IKsPropertySet_INTERFACE_DEFINED__ */ 8331 8332 #endif /* _IKsPropertySet_ */ 8333 /***************************************************************************** 8334 * IMediaPropertyBag interface 8335 */ 8336 #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__ 8337 #define __IMediaPropertyBag_INTERFACE_DEFINED__ 8338 8339 typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG; 8340 DEFINE_GUID(IID_IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86); 8341 #if defined(__cplusplus) && !defined(CINTERFACE) 8342 MIDL_INTERFACE("6025a880-c0d5-11d0-bd4e-00a0c911ce86") 8343 IMediaPropertyBag : public IPropertyBag 8344 { 8345 virtual HRESULT STDMETHODCALLTYPE EnumProperty( 8346 ULONG iProperty, 8347 VARIANT *pvarPropertyName, 8348 VARIANT *pvarPropertyValue) = 0; 8349 8350 }; 8351 #ifdef __CRT_UUID_DECL 8352 __CRT_UUID_DECL(IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86) 8353 #endif 8354 #else 8355 typedef struct IMediaPropertyBagVtbl { 8356 BEGIN_INTERFACE 8357 8358 /*** IUnknown methods ***/ 8359 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8360 IMediaPropertyBag *This, 8361 REFIID riid, 8362 void **ppvObject); 8363 8364 ULONG (STDMETHODCALLTYPE *AddRef)( 8365 IMediaPropertyBag *This); 8366 8367 ULONG (STDMETHODCALLTYPE *Release)( 8368 IMediaPropertyBag *This); 8369 8370 /*** IPropertyBag methods ***/ 8371 HRESULT (STDMETHODCALLTYPE *Read)( 8372 IMediaPropertyBag *This, 8373 LPCOLESTR pszPropName, 8374 VARIANT *pVar, 8375 IErrorLog *pErrorLog); 8376 8377 HRESULT (STDMETHODCALLTYPE *Write)( 8378 IMediaPropertyBag *This, 8379 LPCOLESTR pszPropName, 8380 VARIANT *pVar); 8381 8382 /*** IMediaPropertyBag methods ***/ 8383 HRESULT (STDMETHODCALLTYPE *EnumProperty)( 8384 IMediaPropertyBag *This, 8385 ULONG iProperty, 8386 VARIANT *pvarPropertyName, 8387 VARIANT *pvarPropertyValue); 8388 8389 END_INTERFACE 8390 } IMediaPropertyBagVtbl; 8391 8392 interface IMediaPropertyBag { 8393 CONST_VTBL IMediaPropertyBagVtbl* lpVtbl; 8394 }; 8395 8396 #ifdef COBJMACROS 8397 #ifndef WIDL_C_INLINE_WRAPPERS 8398 /*** IUnknown methods ***/ 8399 #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8400 #define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This) 8401 #define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This) 8402 /*** IPropertyBag methods ***/ 8403 #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog) 8404 #define IMediaPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar) 8405 /*** IMediaPropertyBag methods ***/ 8406 #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) (This)->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) 8407 #else 8408 /*** IUnknown methods ***/ 8409 static FORCEINLINE HRESULT IMediaPropertyBag_QueryInterface(IMediaPropertyBag* This,REFIID riid,void **ppvObject) { 8410 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8411 } 8412 static FORCEINLINE ULONG IMediaPropertyBag_AddRef(IMediaPropertyBag* This) { 8413 return This->lpVtbl->AddRef(This); 8414 } 8415 static FORCEINLINE ULONG IMediaPropertyBag_Release(IMediaPropertyBag* This) { 8416 return This->lpVtbl->Release(This); 8417 } 8418 /*** IPropertyBag methods ***/ 8419 static FORCEINLINE HRESULT IMediaPropertyBag_Read(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) { 8420 return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog); 8421 } 8422 static FORCEINLINE HRESULT IMediaPropertyBag_Write(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar) { 8423 return This->lpVtbl->Write(This,pszPropName,pVar); 8424 } 8425 /*** IMediaPropertyBag methods ***/ 8426 static FORCEINLINE HRESULT IMediaPropertyBag_EnumProperty(IMediaPropertyBag* This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue) { 8427 return This->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue); 8428 } 8429 #endif 8430 #endif 8431 8432 #endif 8433 8434 8435 #endif /* __IMediaPropertyBag_INTERFACE_DEFINED__ */ 8436 8437 /***************************************************************************** 8438 * IPersistMediaPropertyBag interface 8439 */ 8440 #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__ 8441 #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__ 8442 8443 typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG; 8444 DEFINE_GUID(IID_IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86); 8445 #if defined(__cplusplus) && !defined(CINTERFACE) 8446 MIDL_INTERFACE("5738e040-b67f-11d0-bd4d-00a0c911ce86") 8447 IPersistMediaPropertyBag : public IPersist 8448 { 8449 virtual HRESULT STDMETHODCALLTYPE InitNew( 8450 ) = 0; 8451 8452 virtual HRESULT STDMETHODCALLTYPE Load( 8453 IMediaPropertyBag *pPropBag, 8454 IErrorLog *pErrorLog) = 0; 8455 8456 virtual HRESULT STDMETHODCALLTYPE Save( 8457 IMediaPropertyBag *pPropBag, 8458 WINBOOL fClearDirty, 8459 WINBOOL fSaveAllProperties) = 0; 8460 8461 }; 8462 #ifdef __CRT_UUID_DECL 8463 __CRT_UUID_DECL(IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86) 8464 #endif 8465 #else 8466 typedef struct IPersistMediaPropertyBagVtbl { 8467 BEGIN_INTERFACE 8468 8469 /*** IUnknown methods ***/ 8470 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8471 IPersistMediaPropertyBag *This, 8472 REFIID riid, 8473 void **ppvObject); 8474 8475 ULONG (STDMETHODCALLTYPE *AddRef)( 8476 IPersistMediaPropertyBag *This); 8477 8478 ULONG (STDMETHODCALLTYPE *Release)( 8479 IPersistMediaPropertyBag *This); 8480 8481 /*** IPersist methods ***/ 8482 HRESULT (STDMETHODCALLTYPE *GetClassID)( 8483 IPersistMediaPropertyBag *This, 8484 CLSID *pClassID); 8485 8486 /*** IPersistMediaPropertyBag methods ***/ 8487 HRESULT (STDMETHODCALLTYPE *InitNew)( 8488 IPersistMediaPropertyBag *This); 8489 8490 HRESULT (STDMETHODCALLTYPE *Load)( 8491 IPersistMediaPropertyBag *This, 8492 IMediaPropertyBag *pPropBag, 8493 IErrorLog *pErrorLog); 8494 8495 HRESULT (STDMETHODCALLTYPE *Save)( 8496 IPersistMediaPropertyBag *This, 8497 IMediaPropertyBag *pPropBag, 8498 WINBOOL fClearDirty, 8499 WINBOOL fSaveAllProperties); 8500 8501 END_INTERFACE 8502 } IPersistMediaPropertyBagVtbl; 8503 8504 interface IPersistMediaPropertyBag { 8505 CONST_VTBL IPersistMediaPropertyBagVtbl* lpVtbl; 8506 }; 8507 8508 #ifdef COBJMACROS 8509 #ifndef WIDL_C_INLINE_WRAPPERS 8510 /*** IUnknown methods ***/ 8511 #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8512 #define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This) 8513 #define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This) 8514 /*** IPersist methods ***/ 8515 #define IPersistMediaPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 8516 /*** IPersistMediaPropertyBag methods ***/ 8517 #define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This) 8518 #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog) 8519 #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties) 8520 #else 8521 /*** IUnknown methods ***/ 8522 static FORCEINLINE HRESULT IPersistMediaPropertyBag_QueryInterface(IPersistMediaPropertyBag* This,REFIID riid,void **ppvObject) { 8523 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8524 } 8525 static FORCEINLINE ULONG IPersistMediaPropertyBag_AddRef(IPersistMediaPropertyBag* This) { 8526 return This->lpVtbl->AddRef(This); 8527 } 8528 static FORCEINLINE ULONG IPersistMediaPropertyBag_Release(IPersistMediaPropertyBag* This) { 8529 return This->lpVtbl->Release(This); 8530 } 8531 /*** IPersist methods ***/ 8532 static FORCEINLINE HRESULT IPersistMediaPropertyBag_GetClassID(IPersistMediaPropertyBag* This,CLSID *pClassID) { 8533 return This->lpVtbl->GetClassID(This,pClassID); 8534 } 8535 /*** IPersistMediaPropertyBag methods ***/ 8536 static FORCEINLINE HRESULT IPersistMediaPropertyBag_InitNew(IPersistMediaPropertyBag* This) { 8537 return This->lpVtbl->InitNew(This); 8538 } 8539 static FORCEINLINE HRESULT IPersistMediaPropertyBag_Load(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog) { 8540 return This->lpVtbl->Load(This,pPropBag,pErrorLog); 8541 } 8542 static FORCEINLINE HRESULT IPersistMediaPropertyBag_Save(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) { 8543 return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties); 8544 } 8545 #endif 8546 #endif 8547 8548 #endif 8549 8550 8551 #endif /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */ 8552 8553 /***************************************************************************** 8554 * ISeekingPassThru interface 8555 */ 8556 #ifndef __ISeekingPassThru_INTERFACE_DEFINED__ 8557 #define __ISeekingPassThru_INTERFACE_DEFINED__ 8558 8559 DEFINE_GUID(IID_ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 8560 #if defined(__cplusplus) && !defined(CINTERFACE) 8561 MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60") 8562 ISeekingPassThru : public IUnknown 8563 { 8564 virtual HRESULT STDMETHODCALLTYPE Init( 8565 WINBOOL bSupportRendering, 8566 IPin *pPin) = 0; 8567 8568 }; 8569 #ifdef __CRT_UUID_DECL 8570 __CRT_UUID_DECL(ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 8571 #endif 8572 #else 8573 typedef struct ISeekingPassThruVtbl { 8574 BEGIN_INTERFACE 8575 8576 /*** IUnknown methods ***/ 8577 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8578 ISeekingPassThru *This, 8579 REFIID riid, 8580 void **ppvObject); 8581 8582 ULONG (STDMETHODCALLTYPE *AddRef)( 8583 ISeekingPassThru *This); 8584 8585 ULONG (STDMETHODCALLTYPE *Release)( 8586 ISeekingPassThru *This); 8587 8588 /*** ISeekingPassThru methods ***/ 8589 HRESULT (STDMETHODCALLTYPE *Init)( 8590 ISeekingPassThru *This, 8591 WINBOOL bSupportRendering, 8592 IPin *pPin); 8593 8594 END_INTERFACE 8595 } ISeekingPassThruVtbl; 8596 8597 interface ISeekingPassThru { 8598 CONST_VTBL ISeekingPassThruVtbl* lpVtbl; 8599 }; 8600 8601 #ifdef COBJMACROS 8602 #ifndef WIDL_C_INLINE_WRAPPERS 8603 /*** IUnknown methods ***/ 8604 #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8605 #define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This) 8606 #define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This) 8607 /*** ISeekingPassThru methods ***/ 8608 #define ISeekingPassThru_Init(This,bSupportRendering,pPin) (This)->lpVtbl->Init(This,bSupportRendering,pPin) 8609 #else 8610 /*** IUnknown methods ***/ 8611 static FORCEINLINE HRESULT ISeekingPassThru_QueryInterface(ISeekingPassThru* This,REFIID riid,void **ppvObject) { 8612 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8613 } 8614 static FORCEINLINE ULONG ISeekingPassThru_AddRef(ISeekingPassThru* This) { 8615 return This->lpVtbl->AddRef(This); 8616 } 8617 static FORCEINLINE ULONG ISeekingPassThru_Release(ISeekingPassThru* This) { 8618 return This->lpVtbl->Release(This); 8619 } 8620 /*** ISeekingPassThru methods ***/ 8621 static FORCEINLINE HRESULT ISeekingPassThru_Init(ISeekingPassThru* This,WINBOOL bSupportRendering,IPin *pPin) { 8622 return This->lpVtbl->Init(This,bSupportRendering,pPin); 8623 } 8624 #endif 8625 #endif 8626 8627 #endif 8628 8629 8630 #endif /* __ISeekingPassThru_INTERFACE_DEFINED__ */ 8631 8632 enum _AM_FILTER_MISC_FLAGS { 8633 AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1, 8634 AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2 8635 }; 8636 /***************************************************************************** 8637 * IAMFilterMiscFlags interface 8638 */ 8639 #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__ 8640 #define __IAMFilterMiscFlags_INTERFACE_DEFINED__ 8641 8642 DEFINE_GUID(IID_IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 8643 #if defined(__cplusplus) && !defined(CINTERFACE) 8644 MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375") 8645 IAMFilterMiscFlags : public IUnknown 8646 { 8647 virtual ULONG STDMETHODCALLTYPE GetMiscFlags( 8648 ) = 0; 8649 8650 }; 8651 #ifdef __CRT_UUID_DECL 8652 __CRT_UUID_DECL(IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 8653 #endif 8654 #else 8655 typedef struct IAMFilterMiscFlagsVtbl { 8656 BEGIN_INTERFACE 8657 8658 /*** IUnknown methods ***/ 8659 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8660 IAMFilterMiscFlags *This, 8661 REFIID riid, 8662 void **ppvObject); 8663 8664 ULONG (STDMETHODCALLTYPE *AddRef)( 8665 IAMFilterMiscFlags *This); 8666 8667 ULONG (STDMETHODCALLTYPE *Release)( 8668 IAMFilterMiscFlags *This); 8669 8670 /*** IAMFilterMiscFlags methods ***/ 8671 ULONG (STDMETHODCALLTYPE *GetMiscFlags)( 8672 IAMFilterMiscFlags *This); 8673 8674 END_INTERFACE 8675 } IAMFilterMiscFlagsVtbl; 8676 8677 interface IAMFilterMiscFlags { 8678 CONST_VTBL IAMFilterMiscFlagsVtbl* lpVtbl; 8679 }; 8680 8681 #ifdef COBJMACROS 8682 #ifndef WIDL_C_INLINE_WRAPPERS 8683 /*** IUnknown methods ***/ 8684 #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8685 #define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This) 8686 #define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This) 8687 /*** IAMFilterMiscFlags methods ***/ 8688 #define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This) 8689 #else 8690 /*** IUnknown methods ***/ 8691 static FORCEINLINE HRESULT IAMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags* This,REFIID riid,void **ppvObject) { 8692 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8693 } 8694 static FORCEINLINE ULONG IAMFilterMiscFlags_AddRef(IAMFilterMiscFlags* This) { 8695 return This->lpVtbl->AddRef(This); 8696 } 8697 static FORCEINLINE ULONG IAMFilterMiscFlags_Release(IAMFilterMiscFlags* This) { 8698 return This->lpVtbl->Release(This); 8699 } 8700 /*** IAMFilterMiscFlags methods ***/ 8701 static FORCEINLINE ULONG IAMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags* This) { 8702 return This->lpVtbl->GetMiscFlags(This); 8703 } 8704 #endif 8705 #endif 8706 8707 #endif 8708 8709 8710 #endif /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */ 8711 8712 /***************************************************************************** 8713 * IAMGraphBuilderCallback interface 8714 */ 8715 #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__ 8716 #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__ 8717 8718 DEFINE_GUID(IID_IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79); 8719 #if defined(__cplusplus) && !defined(CINTERFACE) 8720 MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79") 8721 IAMGraphBuilderCallback : public IUnknown 8722 { 8723 virtual HRESULT STDMETHODCALLTYPE SelectedFilter( 8724 IMoniker *pMon) = 0; 8725 8726 virtual HRESULT STDMETHODCALLTYPE CreatedFilter( 8727 IBaseFilter *pFil) = 0; 8728 8729 }; 8730 #ifdef __CRT_UUID_DECL 8731 __CRT_UUID_DECL(IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79) 8732 #endif 8733 #else 8734 typedef struct IAMGraphBuilderCallbackVtbl { 8735 BEGIN_INTERFACE 8736 8737 /*** IUnknown methods ***/ 8738 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8739 IAMGraphBuilderCallback *This, 8740 REFIID riid, 8741 void **ppvObject); 8742 8743 ULONG (STDMETHODCALLTYPE *AddRef)( 8744 IAMGraphBuilderCallback *This); 8745 8746 ULONG (STDMETHODCALLTYPE *Release)( 8747 IAMGraphBuilderCallback *This); 8748 8749 /*** IAMGraphBuilderCallback methods ***/ 8750 HRESULT (STDMETHODCALLTYPE *SelectedFilter)( 8751 IAMGraphBuilderCallback *This, 8752 IMoniker *pMon); 8753 8754 HRESULT (STDMETHODCALLTYPE *CreatedFilter)( 8755 IAMGraphBuilderCallback *This, 8756 IBaseFilter *pFil); 8757 8758 END_INTERFACE 8759 } IAMGraphBuilderCallbackVtbl; 8760 8761 interface IAMGraphBuilderCallback { 8762 CONST_VTBL IAMGraphBuilderCallbackVtbl* lpVtbl; 8763 }; 8764 8765 #ifdef COBJMACROS 8766 #ifndef WIDL_C_INLINE_WRAPPERS 8767 /*** IUnknown methods ***/ 8768 #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8769 #define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 8770 #define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This) 8771 /*** IAMGraphBuilderCallback methods ***/ 8772 #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) (This)->lpVtbl->SelectedFilter(This,pMon) 8773 #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) (This)->lpVtbl->CreatedFilter(This,pFil) 8774 #else 8775 /*** IUnknown methods ***/ 8776 static FORCEINLINE HRESULT IAMGraphBuilderCallback_QueryInterface(IAMGraphBuilderCallback* This,REFIID riid,void **ppvObject) { 8777 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8778 } 8779 static FORCEINLINE ULONG IAMGraphBuilderCallback_AddRef(IAMGraphBuilderCallback* This) { 8780 return This->lpVtbl->AddRef(This); 8781 } 8782 static FORCEINLINE ULONG IAMGraphBuilderCallback_Release(IAMGraphBuilderCallback* This) { 8783 return This->lpVtbl->Release(This); 8784 } 8785 /*** IAMGraphBuilderCallback methods ***/ 8786 static FORCEINLINE HRESULT IAMGraphBuilderCallback_SelectedFilter(IAMGraphBuilderCallback* This,IMoniker *pMon) { 8787 return This->lpVtbl->SelectedFilter(This,pMon); 8788 } 8789 static FORCEINLINE HRESULT IAMGraphBuilderCallback_CreatedFilter(IAMGraphBuilderCallback* This,IBaseFilter *pFil) { 8790 return This->lpVtbl->CreatedFilter(This,pFil); 8791 } 8792 #endif 8793 #endif 8794 8795 #endif 8796 8797 8798 #endif /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */ 8799 8800 /***************************************************************************** 8801 * IAMVfwCaptureDialogs interface 8802 */ 8803 #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ 8804 #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ 8805 8806 DEFINE_GUID(IID_IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 8807 #if defined(__cplusplus) && !defined(CINTERFACE) 8808 MIDL_INTERFACE("d8d715a0-6e5e-11d0-b3f0-00aa003761c5") 8809 IAMVfwCaptureDialogs : public IUnknown 8810 { 8811 virtual HRESULT STDMETHODCALLTYPE HasDialog( 8812 int dialog) = 0; 8813 8814 virtual HRESULT STDMETHODCALLTYPE ShowDialog( 8815 int dialog, 8816 HWND hwnd) = 0; 8817 8818 virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 8819 int dialog, 8820 int msg, 8821 LONG data1, 8822 LONG data2) = 0; 8823 8824 }; 8825 #ifdef __CRT_UUID_DECL 8826 __CRT_UUID_DECL(IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 8827 #endif 8828 #else 8829 typedef struct IAMVfwCaptureDialogsVtbl { 8830 BEGIN_INTERFACE 8831 8832 /*** IUnknown methods ***/ 8833 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8834 IAMVfwCaptureDialogs *This, 8835 REFIID riid, 8836 void **ppvObject); 8837 8838 ULONG (STDMETHODCALLTYPE *AddRef)( 8839 IAMVfwCaptureDialogs *This); 8840 8841 ULONG (STDMETHODCALLTYPE *Release)( 8842 IAMVfwCaptureDialogs *This); 8843 8844 /*** IAMVfwCaptureDialogs methods ***/ 8845 HRESULT (STDMETHODCALLTYPE *HasDialog)( 8846 IAMVfwCaptureDialogs *This, 8847 int dialog); 8848 8849 HRESULT (STDMETHODCALLTYPE *ShowDialog)( 8850 IAMVfwCaptureDialogs *This, 8851 int dialog, 8852 HWND hwnd); 8853 8854 HRESULT (STDMETHODCALLTYPE *SendDriverMessage)( 8855 IAMVfwCaptureDialogs *This, 8856 int dialog, 8857 int msg, 8858 LONG data1, 8859 LONG data2); 8860 8861 END_INTERFACE 8862 } IAMVfwCaptureDialogsVtbl; 8863 8864 interface IAMVfwCaptureDialogs { 8865 CONST_VTBL IAMVfwCaptureDialogsVtbl* lpVtbl; 8866 }; 8867 8868 #ifdef COBJMACROS 8869 #ifndef WIDL_C_INLINE_WRAPPERS 8870 /*** IUnknown methods ***/ 8871 #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8872 #define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This) 8873 #define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This) 8874 /*** IAMVfwCaptureDialogs methods ***/ 8875 #define IAMVfwCaptureDialogs_HasDialog(This,dialog) (This)->lpVtbl->HasDialog(This,dialog) 8876 #define IAMVfwCaptureDialogs_ShowDialog(This,dialog,hwnd) (This)->lpVtbl->ShowDialog(This,dialog,hwnd) 8877 #define IAMVfwCaptureDialogs_SendDriverMessage(This,dialog,msg,data1,data2) (This)->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2) 8878 #else 8879 /*** IUnknown methods ***/ 8880 static FORCEINLINE HRESULT IAMVfwCaptureDialogs_QueryInterface(IAMVfwCaptureDialogs* This,REFIID riid,void **ppvObject) { 8881 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8882 } 8883 static FORCEINLINE ULONG IAMVfwCaptureDialogs_AddRef(IAMVfwCaptureDialogs* This) { 8884 return This->lpVtbl->AddRef(This); 8885 } 8886 static FORCEINLINE ULONG IAMVfwCaptureDialogs_Release(IAMVfwCaptureDialogs* This) { 8887 return This->lpVtbl->Release(This); 8888 } 8889 /*** IAMVfwCaptureDialogs methods ***/ 8890 static FORCEINLINE HRESULT IAMVfwCaptureDialogs_HasDialog(IAMVfwCaptureDialogs* This,int dialog) { 8891 return This->lpVtbl->HasDialog(This,dialog); 8892 } 8893 static FORCEINLINE HRESULT IAMVfwCaptureDialogs_ShowDialog(IAMVfwCaptureDialogs* This,int dialog,HWND hwnd) { 8894 return This->lpVtbl->ShowDialog(This,dialog,hwnd); 8895 } 8896 static FORCEINLINE HRESULT IAMVfwCaptureDialogs_SendDriverMessage(IAMVfwCaptureDialogs* This,int dialog,int msg,LONG data1,LONG data2) { 8897 return This->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2); 8898 } 8899 #endif 8900 #endif 8901 8902 #endif 8903 8904 8905 #endif /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */ 8906 8907 #if (_WIN32_WINNT >= 0x0601) 8908 /***************************************************************************** 8909 * IAMAsyncReaderTimestampScaling interface 8910 */ 8911 #ifndef __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ 8912 #define __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ 8913 8914 DEFINE_GUID(IID_IAMAsyncReaderTimestampScaling, 0xcf7b26fc, 0x9a00, 0x485b, 0x81,0x47, 0x3e,0x78,0x9d,0x5e,0x8f,0x67); 8915 #if defined(__cplusplus) && !defined(CINTERFACE) 8916 MIDL_INTERFACE("cf7b26fc-9a00-485b-8147-3e789d5e8f67") 8917 IAMAsyncReaderTimestampScaling : public IUnknown 8918 { 8919 virtual HRESULT STDMETHODCALLTYPE GetTimestampMode( 8920 WINBOOL *pfRaw) = 0; 8921 8922 virtual HRESULT STDMETHODCALLTYPE SetTimestampMode( 8923 WINBOOL fRaw) = 0; 8924 8925 }; 8926 #ifdef __CRT_UUID_DECL 8927 __CRT_UUID_DECL(IAMAsyncReaderTimestampScaling, 0xcf7b26fc, 0x9a00, 0x485b, 0x81,0x47, 0x3e,0x78,0x9d,0x5e,0x8f,0x67) 8928 #endif 8929 #else 8930 typedef struct IAMAsyncReaderTimestampScalingVtbl { 8931 BEGIN_INTERFACE 8932 8933 /*** IUnknown methods ***/ 8934 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8935 IAMAsyncReaderTimestampScaling *This, 8936 REFIID riid, 8937 void **ppvObject); 8938 8939 ULONG (STDMETHODCALLTYPE *AddRef)( 8940 IAMAsyncReaderTimestampScaling *This); 8941 8942 ULONG (STDMETHODCALLTYPE *Release)( 8943 IAMAsyncReaderTimestampScaling *This); 8944 8945 /*** IAMAsyncReaderTimestampScaling methods ***/ 8946 HRESULT (STDMETHODCALLTYPE *GetTimestampMode)( 8947 IAMAsyncReaderTimestampScaling *This, 8948 WINBOOL *pfRaw); 8949 8950 HRESULT (STDMETHODCALLTYPE *SetTimestampMode)( 8951 IAMAsyncReaderTimestampScaling *This, 8952 WINBOOL fRaw); 8953 8954 END_INTERFACE 8955 } IAMAsyncReaderTimestampScalingVtbl; 8956 8957 interface IAMAsyncReaderTimestampScaling { 8958 CONST_VTBL IAMAsyncReaderTimestampScalingVtbl* lpVtbl; 8959 }; 8960 8961 #ifdef COBJMACROS 8962 #ifndef WIDL_C_INLINE_WRAPPERS 8963 /*** IUnknown methods ***/ 8964 #define IAMAsyncReaderTimestampScaling_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8965 #define IAMAsyncReaderTimestampScaling_AddRef(This) (This)->lpVtbl->AddRef(This) 8966 #define IAMAsyncReaderTimestampScaling_Release(This) (This)->lpVtbl->Release(This) 8967 /*** IAMAsyncReaderTimestampScaling methods ***/ 8968 #define IAMAsyncReaderTimestampScaling_GetTimestampMode(This,pfRaw) (This)->lpVtbl->GetTimestampMode(This,pfRaw) 8969 #define IAMAsyncReaderTimestampScaling_SetTimestampMode(This,fRaw) (This)->lpVtbl->SetTimestampMode(This,fRaw) 8970 #else 8971 /*** IUnknown methods ***/ 8972 static FORCEINLINE HRESULT IAMAsyncReaderTimestampScaling_QueryInterface(IAMAsyncReaderTimestampScaling* This,REFIID riid,void **ppvObject) { 8973 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8974 } 8975 static FORCEINLINE ULONG IAMAsyncReaderTimestampScaling_AddRef(IAMAsyncReaderTimestampScaling* This) { 8976 return This->lpVtbl->AddRef(This); 8977 } 8978 static FORCEINLINE ULONG IAMAsyncReaderTimestampScaling_Release(IAMAsyncReaderTimestampScaling* This) { 8979 return This->lpVtbl->Release(This); 8980 } 8981 /*** IAMAsyncReaderTimestampScaling methods ***/ 8982 static FORCEINLINE HRESULT IAMAsyncReaderTimestampScaling_GetTimestampMode(IAMAsyncReaderTimestampScaling* This,WINBOOL *pfRaw) { 8983 return This->lpVtbl->GetTimestampMode(This,pfRaw); 8984 } 8985 static FORCEINLINE HRESULT IAMAsyncReaderTimestampScaling_SetTimestampMode(IAMAsyncReaderTimestampScaling* This,WINBOOL fRaw) { 8986 return This->lpVtbl->SetTimestampMode(This,fRaw); 8987 } 8988 #endif 8989 #endif 8990 8991 #endif 8992 8993 8994 #endif /* __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ */ 8995 8996 /***************************************************************************** 8997 * IAMPluginControl interface 8998 */ 8999 #ifndef __IAMPluginControl_INTERFACE_DEFINED__ 9000 #define __IAMPluginControl_INTERFACE_DEFINED__ 9001 9002 DEFINE_GUID(IID_IAMPluginControl, 0x0e26a181, 0xf40c, 0x4635, 0x87,0x86, 0x97,0x62,0x84,0xb5,0x29,0x81); 9003 #if defined(__cplusplus) && !defined(CINTERFACE) 9004 MIDL_INTERFACE("0e26a181-f40c-4635-8786-976284b52981") 9005 IAMPluginControl : public IUnknown 9006 { 9007 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid( 9008 REFGUID subType, 9009 CLSID *clsid) = 0; 9010 9011 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex( 9012 DWORD index, 9013 GUID *subType, 9014 CLSID *clsid) = 0; 9015 9016 virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid( 9017 REFGUID subType, 9018 const CLSID *clsid) = 0; 9019 9020 virtual HRESULT STDMETHODCALLTYPE IsDisabled( 9021 REFCLSID clsid) = 0; 9022 9023 virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex( 9024 DWORD index, 9025 CLSID *clsid) = 0; 9026 9027 virtual HRESULT STDMETHODCALLTYPE SetDisabled( 9028 REFCLSID clsid, 9029 WINBOOL disabled) = 0; 9030 9031 virtual HRESULT STDMETHODCALLTYPE IsLegacyDisabled( 9032 LPCWSTR dllName) = 0; 9033 9034 }; 9035 #ifdef __CRT_UUID_DECL 9036 __CRT_UUID_DECL(IAMPluginControl, 0x0e26a181, 0xf40c, 0x4635, 0x87,0x86, 0x97,0x62,0x84,0xb5,0x29,0x81) 9037 #endif 9038 #else 9039 typedef struct IAMPluginControlVtbl { 9040 BEGIN_INTERFACE 9041 9042 /*** IUnknown methods ***/ 9043 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 9044 IAMPluginControl *This, 9045 REFIID riid, 9046 void **ppvObject); 9047 9048 ULONG (STDMETHODCALLTYPE *AddRef)( 9049 IAMPluginControl *This); 9050 9051 ULONG (STDMETHODCALLTYPE *Release)( 9052 IAMPluginControl *This); 9053 9054 /*** IAMPluginControl methods ***/ 9055 HRESULT (STDMETHODCALLTYPE *GetPreferredClsid)( 9056 IAMPluginControl *This, 9057 REFGUID subType, 9058 CLSID *clsid); 9059 9060 HRESULT (STDMETHODCALLTYPE *GetPreferredClsidByIndex)( 9061 IAMPluginControl *This, 9062 DWORD index, 9063 GUID *subType, 9064 CLSID *clsid); 9065 9066 HRESULT (STDMETHODCALLTYPE *SetPreferredClsid)( 9067 IAMPluginControl *This, 9068 REFGUID subType, 9069 const CLSID *clsid); 9070 9071 HRESULT (STDMETHODCALLTYPE *IsDisabled)( 9072 IAMPluginControl *This, 9073 REFCLSID clsid); 9074 9075 HRESULT (STDMETHODCALLTYPE *GetDisabledByIndex)( 9076 IAMPluginControl *This, 9077 DWORD index, 9078 CLSID *clsid); 9079 9080 HRESULT (STDMETHODCALLTYPE *SetDisabled)( 9081 IAMPluginControl *This, 9082 REFCLSID clsid, 9083 WINBOOL disabled); 9084 9085 HRESULT (STDMETHODCALLTYPE *IsLegacyDisabled)( 9086 IAMPluginControl *This, 9087 LPCWSTR dllName); 9088 9089 END_INTERFACE 9090 } IAMPluginControlVtbl; 9091 9092 interface IAMPluginControl { 9093 CONST_VTBL IAMPluginControlVtbl* lpVtbl; 9094 }; 9095 9096 #ifdef COBJMACROS 9097 #ifndef WIDL_C_INLINE_WRAPPERS 9098 /*** IUnknown methods ***/ 9099 #define IAMPluginControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9100 #define IAMPluginControl_AddRef(This) (This)->lpVtbl->AddRef(This) 9101 #define IAMPluginControl_Release(This) (This)->lpVtbl->Release(This) 9102 /*** IAMPluginControl methods ***/ 9103 #define IAMPluginControl_GetPreferredClsid(This,subType,clsid) (This)->lpVtbl->GetPreferredClsid(This,subType,clsid) 9104 #define IAMPluginControl_GetPreferredClsidByIndex(This,index,subType,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid) 9105 #define IAMPluginControl_SetPreferredClsid(This,subType,clsid) (This)->lpVtbl->SetPreferredClsid(This,subType,clsid) 9106 #define IAMPluginControl_IsDisabled(This,clsid) (This)->lpVtbl->IsDisabled(This,clsid) 9107 #define IAMPluginControl_GetDisabledByIndex(This,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,index,clsid) 9108 #define IAMPluginControl_SetDisabled(This,clsid,disabled) (This)->lpVtbl->SetDisabled(This,clsid,disabled) 9109 #define IAMPluginControl_IsLegacyDisabled(This,dllName) (This)->lpVtbl->IsLegacyDisabled(This,dllName) 9110 #else 9111 /*** IUnknown methods ***/ 9112 static FORCEINLINE HRESULT IAMPluginControl_QueryInterface(IAMPluginControl* This,REFIID riid,void **ppvObject) { 9113 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 9114 } 9115 static FORCEINLINE ULONG IAMPluginControl_AddRef(IAMPluginControl* This) { 9116 return This->lpVtbl->AddRef(This); 9117 } 9118 static FORCEINLINE ULONG IAMPluginControl_Release(IAMPluginControl* This) { 9119 return This->lpVtbl->Release(This); 9120 } 9121 /*** IAMPluginControl methods ***/ 9122 static FORCEINLINE HRESULT IAMPluginControl_GetPreferredClsid(IAMPluginControl* This,REFGUID subType,CLSID *clsid) { 9123 return This->lpVtbl->GetPreferredClsid(This,subType,clsid); 9124 } 9125 static FORCEINLINE HRESULT IAMPluginControl_GetPreferredClsidByIndex(IAMPluginControl* This,DWORD index,GUID *subType,CLSID *clsid) { 9126 return This->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid); 9127 } 9128 static FORCEINLINE HRESULT IAMPluginControl_SetPreferredClsid(IAMPluginControl* This,REFGUID subType,const CLSID *clsid) { 9129 return This->lpVtbl->SetPreferredClsid(This,subType,clsid); 9130 } 9131 static FORCEINLINE HRESULT IAMPluginControl_IsDisabled(IAMPluginControl* This,REFCLSID clsid) { 9132 return This->lpVtbl->IsDisabled(This,clsid); 9133 } 9134 static FORCEINLINE HRESULT IAMPluginControl_GetDisabledByIndex(IAMPluginControl* This,DWORD index,CLSID *clsid) { 9135 return This->lpVtbl->GetDisabledByIndex(This,index,clsid); 9136 } 9137 static FORCEINLINE HRESULT IAMPluginControl_SetDisabled(IAMPluginControl* This,REFCLSID clsid,WINBOOL disabled) { 9138 return This->lpVtbl->SetDisabled(This,clsid,disabled); 9139 } 9140 static FORCEINLINE HRESULT IAMPluginControl_IsLegacyDisabled(IAMPluginControl* This,LPCWSTR dllName) { 9141 return This->lpVtbl->IsLegacyDisabled(This,dllName); 9142 } 9143 #endif 9144 #endif 9145 9146 #endif 9147 9148 9149 #endif /* __IAMPluginControl_INTERFACE_DEFINED__ */ 9150 9151 #endif /*(_WIN32_WINNT >= 0x0601)*/ 9152 #ifndef __IReferenceClock2_FWD_DEFINED__ 9153 #define __IReferenceClock2_FWD_DEFINED__ 9154 typedef struct IReferenceClock2 IReferenceClock2; 9155 #endif 9156 #ifndef __IDistributorNotify_FWD_DEFINED__ 9157 #define __IDistributorNotify_FWD_DEFINED__ 9158 typedef struct IDistributorNotify IDistributorNotify; 9159 #endif 9160 9161 #ifndef __IAMVideoCompression_FWD_DEFINED__ 9162 #define __IAMVideoCompression_FWD_DEFINED__ 9163 typedef struct IAMVideoCompression IAMVideoCompression; 9164 #endif 9165 9166 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ 9167 #define __IAMVfwCompressDialogs_FWD_DEFINED__ 9168 typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs; 9169 #endif 9170 9171 #ifndef __IAMDroppedFrames_FWD_DEFINED__ 9172 #define __IAMDroppedFrames_FWD_DEFINED__ 9173 typedef struct IAMDroppedFrames IAMDroppedFrames; 9174 #endif 9175 9176 #ifndef __IAMAudioInputMixer_FWD_DEFINED__ 9177 #define __IAMAudioInputMixer_FWD_DEFINED__ 9178 typedef struct IAMAudioInputMixer IAMAudioInputMixer; 9179 #endif 9180 9181 #ifndef __IAMBufferNegotiation_FWD_DEFINED__ 9182 #define __IAMBufferNegotiation_FWD_DEFINED__ 9183 typedef struct IAMBufferNegotiation IAMBufferNegotiation; 9184 #endif 9185 9186 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ 9187 #define __IAMAnalogVideoDecoder_FWD_DEFINED__ 9188 typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder; 9189 #endif 9190 9191 #ifndef __IAMCameraControl_FWD_DEFINED__ 9192 #define __IAMCameraControl_FWD_DEFINED__ 9193 typedef struct IAMCameraControl IAMCameraControl; 9194 #endif 9195 9196 #ifndef __IAMVideoControl_FWD_DEFINED__ 9197 #define __IAMVideoControl_FWD_DEFINED__ 9198 typedef struct IAMVideoControl IAMVideoControl; 9199 #endif 9200 9201 #ifndef __IAMCrossbar_FWD_DEFINED__ 9202 #define __IAMCrossbar_FWD_DEFINED__ 9203 typedef struct IAMCrossbar IAMCrossbar; 9204 #endif 9205 9206 #ifndef __IAMTuner_FWD_DEFINED__ 9207 #define __IAMTuner_FWD_DEFINED__ 9208 typedef struct IAMTuner IAMTuner; 9209 #endif 9210 9211 #ifndef __IAMTunerNotification_FWD_DEFINED__ 9212 #define __IAMTunerNotification_FWD_DEFINED__ 9213 typedef struct IAMTunerNotification IAMTunerNotification; 9214 #endif 9215 9216 #ifndef __IAMTVTuner_FWD_DEFINED__ 9217 #define __IAMTVTuner_FWD_DEFINED__ 9218 typedef struct IAMTVTuner IAMTVTuner; 9219 #endif 9220 9221 #ifndef __IBPCSatelliteTuner_FWD_DEFINED__ 9222 #define __IBPCSatelliteTuner_FWD_DEFINED__ 9223 typedef struct IBPCSatelliteTuner IBPCSatelliteTuner; 9224 #endif 9225 9226 #ifndef __IAMTVAudio_FWD_DEFINED__ 9227 #define __IAMTVAudio_FWD_DEFINED__ 9228 typedef struct IAMTVAudio IAMTVAudio; 9229 #endif 9230 9231 #ifndef __IAMTVAudioNotification_FWD_DEFINED__ 9232 #define __IAMTVAudioNotification_FWD_DEFINED__ 9233 typedef struct IAMTVAudioNotification IAMTVAudioNotification; 9234 #endif 9235 9236 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ 9237 #define __IAMAnalogVideoEncoder_FWD_DEFINED__ 9238 typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder; 9239 #endif 9240 9241 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ 9242 #define __IAMPhysicalPinInfo_FWD_DEFINED__ 9243 typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo; 9244 #endif 9245 9246 #ifndef __IAMExtDevice_FWD_DEFINED__ 9247 #define __IAMExtDevice_FWD_DEFINED__ 9248 typedef struct IAMExtDevice IAMExtDevice; 9249 #endif 9250 9251 #ifndef __IAMExtTransport_FWD_DEFINED__ 9252 #define __IAMExtTransport_FWD_DEFINED__ 9253 typedef struct IAMExtTransport IAMExtTransport; 9254 #endif 9255 9256 #ifndef __IAMTimecodeReader_FWD_DEFINED__ 9257 #define __IAMTimecodeReader_FWD_DEFINED__ 9258 typedef struct IAMTimecodeReader IAMTimecodeReader; 9259 #endif 9260 9261 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ 9262 #define __IAMTimecodeGenerator_FWD_DEFINED__ 9263 typedef struct IAMTimecodeGenerator IAMTimecodeGenerator; 9264 #endif 9265 9266 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ 9267 #define __IAMTimecodeDisplay_FWD_DEFINED__ 9268 typedef struct IAMTimecodeDisplay IAMTimecodeDisplay; 9269 #endif 9270 9271 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ 9272 #define __IAMDevMemoryAllocator_FWD_DEFINED__ 9273 typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator; 9274 #endif 9275 9276 #ifndef __IAMDevMemoryControl_FWD_DEFINED__ 9277 #define __IAMDevMemoryControl_FWD_DEFINED__ 9278 typedef struct IAMDevMemoryControl IAMDevMemoryControl; 9279 #endif 9280 9281 #ifndef __IAMStreamSelect_FWD_DEFINED__ 9282 #define __IAMStreamSelect_FWD_DEFINED__ 9283 typedef struct IAMStreamSelect IAMStreamSelect; 9284 #endif 9285 9286 #ifndef __IAMResourceControl_FWD_DEFINED__ 9287 #define __IAMResourceControl_FWD_DEFINED__ 9288 typedef struct IAMResourceControl IAMResourceControl; 9289 #endif 9290 9291 #ifndef __IAMClockAdjust_FWD_DEFINED__ 9292 #define __IAMClockAdjust_FWD_DEFINED__ 9293 typedef struct IAMClockAdjust IAMClockAdjust; 9294 #endif 9295 9296 #ifndef __IDrawVideoImage_FWD_DEFINED__ 9297 #define __IDrawVideoImage_FWD_DEFINED__ 9298 typedef struct IDrawVideoImage IDrawVideoImage; 9299 #endif 9300 9301 #ifndef __IDecimateVideoImage_FWD_DEFINED__ 9302 #define __IDecimateVideoImage_FWD_DEFINED__ 9303 typedef struct IDecimateVideoImage IDecimateVideoImage; 9304 #endif 9305 9306 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ 9307 #define __IAMVideoDecimationProperties_FWD_DEFINED__ 9308 typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties; 9309 #endif 9310 9311 #ifndef __IVideoFrameStep_FWD_DEFINED__ 9312 #define __IVideoFrameStep_FWD_DEFINED__ 9313 typedef struct IVideoFrameStep IVideoFrameStep; 9314 #endif 9315 9316 #ifndef __IAMLatency_FWD_DEFINED__ 9317 #define __IAMLatency_FWD_DEFINED__ 9318 typedef struct IAMLatency IAMLatency; 9319 #endif 9320 9321 #ifndef __IAMPushSource_FWD_DEFINED__ 9322 #define __IAMPushSource_FWD_DEFINED__ 9323 typedef struct IAMPushSource IAMPushSource; 9324 #endif 9325 9326 #ifndef __IAMDeviceRemoval_FWD_DEFINED__ 9327 #define __IAMDeviceRemoval_FWD_DEFINED__ 9328 typedef struct IAMDeviceRemoval IAMDeviceRemoval; 9329 #endif 9330 9331 #ifndef __IDVEnc_FWD_DEFINED__ 9332 #define __IDVEnc_FWD_DEFINED__ 9333 typedef struct IDVEnc IDVEnc; 9334 #endif 9335 9336 #ifndef __IIPDVDec_FWD_DEFINED__ 9337 #define __IIPDVDec_FWD_DEFINED__ 9338 typedef struct IIPDVDec IIPDVDec; 9339 #endif 9340 9341 #ifndef __IDVRGB219_FWD_DEFINED__ 9342 #define __IDVRGB219_FWD_DEFINED__ 9343 typedef struct IDVRGB219 IDVRGB219; 9344 #endif 9345 9346 #ifndef __IDVSplitter_FWD_DEFINED__ 9347 #define __IDVSplitter_FWD_DEFINED__ 9348 typedef struct IDVSplitter IDVSplitter; 9349 #endif 9350 9351 #ifndef __IAMAudioRendererStats_FWD_DEFINED__ 9352 #define __IAMAudioRendererStats_FWD_DEFINED__ 9353 typedef struct IAMAudioRendererStats IAMAudioRendererStats; 9354 #endif 9355 9356 #ifndef __IAMGraphStreams_FWD_DEFINED__ 9357 #define __IAMGraphStreams_FWD_DEFINED__ 9358 typedef struct IAMGraphStreams IAMGraphStreams; 9359 #endif 9360 9361 #ifndef __IAMOverlayFX_FWD_DEFINED__ 9362 #define __IAMOverlayFX_FWD_DEFINED__ 9363 typedef struct IAMOverlayFX IAMOverlayFX; 9364 #endif 9365 9366 #ifndef __IAMOpenProgress_FWD_DEFINED__ 9367 #define __IAMOpenProgress_FWD_DEFINED__ 9368 typedef struct IAMOpenProgress IAMOpenProgress; 9369 #endif 9370 9371 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ 9372 #define __IMpeg2Demultiplexer_FWD_DEFINED__ 9373 typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer; 9374 #endif 9375 9376 #ifndef __IEnumStreamIdMap_FWD_DEFINED__ 9377 #define __IEnumStreamIdMap_FWD_DEFINED__ 9378 typedef struct IEnumStreamIdMap IEnumStreamIdMap; 9379 #endif 9380 9381 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ 9382 #define __IMPEG2StreamIdMap_FWD_DEFINED__ 9383 typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap; 9384 #endif 9385 9386 #ifndef __IRegisterServiceProvider_FWD_DEFINED__ 9387 #define __IRegisterServiceProvider_FWD_DEFINED__ 9388 typedef struct IRegisterServiceProvider IRegisterServiceProvider; 9389 #endif 9390 9391 #ifndef __ICodecAPI_FWD_DEFINED__ 9392 #define __ICodecAPI_FWD_DEFINED__ 9393 typedef struct ICodecAPI ICodecAPI; 9394 #endif 9395 9396 #ifndef __IGetCapabilitiesKey_FWD_DEFINED__ 9397 #define __IGetCapabilitiesKey_FWD_DEFINED__ 9398 typedef struct IGetCapabilitiesKey IGetCapabilitiesKey; 9399 #endif 9400 9401 #ifndef __IEncoderAPI_FWD_DEFINED__ 9402 #define __IEncoderAPI_FWD_DEFINED__ 9403 typedef struct IEncoderAPI IEncoderAPI; 9404 #endif 9405 9406 #ifndef __IVideoEncoder_FWD_DEFINED__ 9407 #define __IVideoEncoder_FWD_DEFINED__ 9408 typedef struct IVideoEncoder IVideoEncoder; 9409 #endif 9410 9411 #ifndef __IAMDecoderCaps_FWD_DEFINED__ 9412 #define __IAMDecoderCaps_FWD_DEFINED__ 9413 typedef struct IAMDecoderCaps IAMDecoderCaps; 9414 #endif 9415 9416 #ifndef __IDvdControl_FWD_DEFINED__ 9417 #define __IDvdControl_FWD_DEFINED__ 9418 typedef struct IDvdControl IDvdControl; 9419 #endif 9420 9421 #ifndef __IDvdInfo_FWD_DEFINED__ 9422 #define __IDvdInfo_FWD_DEFINED__ 9423 typedef struct IDvdInfo IDvdInfo; 9424 #endif 9425 9426 #ifndef __IDvdCmd_FWD_DEFINED__ 9427 #define __IDvdCmd_FWD_DEFINED__ 9428 typedef struct IDvdCmd IDvdCmd; 9429 #endif 9430 9431 #ifndef __IDvdState_FWD_DEFINED__ 9432 #define __IDvdState_FWD_DEFINED__ 9433 typedef struct IDvdState IDvdState; 9434 #endif 9435 9436 #ifndef __IDvdControl2_FWD_DEFINED__ 9437 #define __IDvdControl2_FWD_DEFINED__ 9438 typedef struct IDvdControl2 IDvdControl2; 9439 #endif 9440 9441 #ifndef __IDvdInfo2_FWD_DEFINED__ 9442 #define __IDvdInfo2_FWD_DEFINED__ 9443 typedef struct IDvdInfo2 IDvdInfo2; 9444 #endif 9445 9446 #ifndef __IDvdGraphBuilder_FWD_DEFINED__ 9447 #define __IDvdGraphBuilder_FWD_DEFINED__ 9448 typedef struct IDvdGraphBuilder IDvdGraphBuilder; 9449 #endif 9450 9451 #ifndef __IDDrawExclModeVideo_FWD_DEFINED__ 9452 #define __IDDrawExclModeVideo_FWD_DEFINED__ 9453 typedef struct IDDrawExclModeVideo IDDrawExclModeVideo; 9454 #endif 9455 9456 #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__ 9457 #define __IDDrawExclModeVideoCallback_FWD_DEFINED__ 9458 typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback; 9459 #endif 9460 9461 #ifndef __IPinConnection_FWD_DEFINED__ 9462 #define __IPinConnection_FWD_DEFINED__ 9463 typedef struct IPinConnection IPinConnection; 9464 #endif 9465 9466 #ifndef __IPinFlowControl_FWD_DEFINED__ 9467 #define __IPinFlowControl_FWD_DEFINED__ 9468 typedef struct IPinFlowControl IPinFlowControl; 9469 #endif 9470 9471 #ifndef __IGraphConfig_FWD_DEFINED__ 9472 #define __IGraphConfig_FWD_DEFINED__ 9473 typedef struct IGraphConfig IGraphConfig; 9474 #endif 9475 9476 #ifndef __IGraphConfigCallback_FWD_DEFINED__ 9477 #define __IGraphConfigCallback_FWD_DEFINED__ 9478 typedef struct IGraphConfigCallback IGraphConfigCallback; 9479 #endif 9480 9481 #ifndef __IFilterChain_FWD_DEFINED__ 9482 #define __IFilterChain_FWD_DEFINED__ 9483 typedef struct IFilterChain IFilterChain; 9484 #endif 9485 9486 #ifndef __IVMRImagePresenter_FWD_DEFINED__ 9487 #define __IVMRImagePresenter_FWD_DEFINED__ 9488 typedef struct IVMRImagePresenter IVMRImagePresenter; 9489 #endif 9490 9491 #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__ 9492 #define __IVMRSurfaceAllocator_FWD_DEFINED__ 9493 typedef struct IVMRSurfaceAllocator IVMRSurfaceAllocator; 9494 #endif 9495 9496 #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ 9497 #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ 9498 typedef struct IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify; 9499 #endif 9500 9501 #ifndef __IVMRWindowlessControl_FWD_DEFINED__ 9502 #define __IVMRWindowlessControl_FWD_DEFINED__ 9503 typedef struct IVMRWindowlessControl IVMRWindowlessControl; 9504 #endif 9505 9506 #ifndef __IVMRMixerControl_FWD_DEFINED__ 9507 #define __IVMRMixerControl_FWD_DEFINED__ 9508 typedef struct IVMRMixerControl IVMRMixerControl; 9509 #endif 9510 9511 #ifndef __IVMRMonitorConfig_FWD_DEFINED__ 9512 #define __IVMRMonitorConfig_FWD_DEFINED__ 9513 typedef struct IVMRMonitorConfig IVMRMonitorConfig; 9514 #endif 9515 9516 #ifndef __IVMRFilterConfig_FWD_DEFINED__ 9517 #define __IVMRFilterConfig_FWD_DEFINED__ 9518 typedef struct IVMRFilterConfig IVMRFilterConfig; 9519 #endif 9520 9521 #ifndef __IVMRAspectRatioControl_FWD_DEFINED__ 9522 #define __IVMRAspectRatioControl_FWD_DEFINED__ 9523 typedef struct IVMRAspectRatioControl IVMRAspectRatioControl; 9524 #endif 9525 9526 #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__ 9527 #define __IVMRDeinterlaceControl_FWD_DEFINED__ 9528 typedef struct IVMRDeinterlaceControl IVMRDeinterlaceControl; 9529 #endif 9530 9531 #ifndef __IVMRMixerBitmap_FWD_DEFINED__ 9532 #define __IVMRMixerBitmap_FWD_DEFINED__ 9533 typedef struct IVMRMixerBitmap IVMRMixerBitmap; 9534 #endif 9535 9536 #ifndef __IVMRImageCompositor_FWD_DEFINED__ 9537 #define __IVMRImageCompositor_FWD_DEFINED__ 9538 typedef struct IVMRImageCompositor IVMRImageCompositor; 9539 #endif 9540 9541 #ifndef __IVMRVideoStreamControl_FWD_DEFINED__ 9542 #define __IVMRVideoStreamControl_FWD_DEFINED__ 9543 typedef struct IVMRVideoStreamControl IVMRVideoStreamControl; 9544 #endif 9545 9546 #ifndef __IVMRSurface_FWD_DEFINED__ 9547 #define __IVMRSurface_FWD_DEFINED__ 9548 typedef struct IVMRSurface IVMRSurface; 9549 #endif 9550 9551 #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__ 9552 #define __IVMRImagePresenterConfig_FWD_DEFINED__ 9553 typedef struct IVMRImagePresenterConfig IVMRImagePresenterConfig; 9554 #endif 9555 9556 #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ 9557 #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ 9558 typedef struct IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig; 9559 #endif 9560 9561 #ifndef __IVPManager_FWD_DEFINED__ 9562 #define __IVPManager_FWD_DEFINED__ 9563 typedef struct IVPManager IVPManager; 9564 #endif 9565 9566 #ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ 9567 #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ 9568 typedef struct IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling; 9569 #endif 9570 9571 #ifndef __IAMPluginControl_FWD_DEFINED__ 9572 #define __IAMPluginControl_FWD_DEFINED__ 9573 typedef struct IAMPluginControl IAMPluginControl; 9574 #endif 9575 9576 #include "ocidl.h" 9577 9578 extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec; 9579 extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec; 9580 #ifndef __IReferenceClock2_INTERFACE_DEFINED__ 9581 #define __IReferenceClock2_INTERFACE_DEFINED__ 9582 EXTERN_C const IID IID_IReferenceClock2; 9583 #if defined(__cplusplus) && !defined(CINTERFACE) 9584 struct IReferenceClock2 : public IReferenceClock { 9585 }; 9586 #else 9587 typedef struct IReferenceClock2Vtbl { 9588 BEGIN_INTERFACE 9589 HRESULT (WINAPI *QueryInterface)(IReferenceClock2 *This,REFIID riid,void **ppvObject); 9590 ULONG (WINAPI *AddRef)(IReferenceClock2 *This); 9591 ULONG (WINAPI *Release)(IReferenceClock2 *This); 9592 HRESULT (WINAPI *GetTime)(IReferenceClock2 *This,REFERENCE_TIME *pTime); 9593 HRESULT (WINAPI *AdviseTime)(IReferenceClock2 *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie); 9594 HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock2 *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie); 9595 HRESULT (WINAPI *Unadvise)(IReferenceClock2 *This,DWORD_PTR dwAdviseCookie); 9596 END_INTERFACE 9597 } IReferenceClock2Vtbl; 9598 struct IReferenceClock2 { 9599 CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl; 9600 }; 9601 #ifdef COBJMACROS 9602 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9603 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This) 9604 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This) 9605 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 9606 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 9607 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 9608 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 9609 #endif 9610 #endif 9611 #endif 9612 9613 typedef IReferenceClock2 *PREFERENCECLOCK2; 9614 9615 #ifndef __IDistributorNotify_INTERFACE_DEFINED__ 9616 #define __IDistributorNotify_INTERFACE_DEFINED__ 9617 EXTERN_C const IID IID_IDistributorNotify; 9618 #if defined(__cplusplus) && !defined(CINTERFACE) 9619 struct IDistributorNotify : public IUnknown { 9620 public: 9621 virtual HRESULT WINAPI Stop(void) = 0; 9622 virtual HRESULT WINAPI Pause(void) = 0; 9623 virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0; 9624 virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0; 9625 virtual HRESULT WINAPI NotifyGraphChange(void) = 0; 9626 }; 9627 #else 9628 typedef struct IDistributorNotifyVtbl { 9629 BEGIN_INTERFACE 9630 HRESULT (WINAPI *QueryInterface)(IDistributorNotify *This,REFIID riid,void **ppvObject); 9631 ULONG (WINAPI *AddRef)(IDistributorNotify *This); 9632 ULONG (WINAPI *Release)(IDistributorNotify *This); 9633 HRESULT (WINAPI *Stop)(IDistributorNotify *This); 9634 HRESULT (WINAPI *Pause)(IDistributorNotify *This); 9635 HRESULT (WINAPI *Run)(IDistributorNotify *This,REFERENCE_TIME tStart); 9636 HRESULT (WINAPI *SetSyncSource)(IDistributorNotify *This,IReferenceClock *pClock); 9637 HRESULT (WINAPI *NotifyGraphChange)(IDistributorNotify *This); 9638 END_INTERFACE 9639 } IDistributorNotifyVtbl; 9640 struct IDistributorNotify { 9641 CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl; 9642 }; 9643 #ifdef COBJMACROS 9644 #define IDistributorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9645 #define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 9646 #define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This) 9647 #define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This) 9648 #define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This) 9649 #define IDistributorNotify_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 9650 #define IDistributorNotify_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 9651 #define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This) 9652 #endif 9653 #endif 9654 HRESULT WINAPI IDistributorNotify_Stop_Proxy(IDistributorNotify *This); 9655 void __RPC_STUB IDistributorNotify_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9656 HRESULT WINAPI IDistributorNotify_Pause_Proxy(IDistributorNotify *This); 9657 void __RPC_STUB IDistributorNotify_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9658 HRESULT WINAPI IDistributorNotify_Run_Proxy(IDistributorNotify *This,REFERENCE_TIME tStart); 9659 void __RPC_STUB IDistributorNotify_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9660 HRESULT WINAPI IDistributorNotify_SetSyncSource_Proxy(IDistributorNotify *This,IReferenceClock *pClock); 9661 void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9662 HRESULT WINAPI IDistributorNotify_NotifyGraphChange_Proxy(IDistributorNotify *This); 9663 void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9664 #endif 9665 9666 typedef enum __MIDL___MIDL_itf_strmif_0167_0001 { 9667 CompressionCaps_CanQuality = 0x1,CompressionCaps_CanCrunch = 0x2,CompressionCaps_CanKeyFrame = 0x4,CompressionCaps_CanBFrame = 0x8, 9668 CompressionCaps_CanWindow = 0x10 9669 } CompressionCaps; 9670 9671 extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec; 9672 extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec; 9673 #ifndef __IAMVideoCompression_INTERFACE_DEFINED__ 9674 #define __IAMVideoCompression_INTERFACE_DEFINED__ 9675 EXTERN_C const IID IID_IAMVideoCompression; 9676 #if defined(__cplusplus) && !defined(CINTERFACE) 9677 struct IAMVideoCompression : public IUnknown { 9678 public: 9679 virtual HRESULT WINAPI put_KeyFrameRate(LONG KeyFrameRate) = 0; 9680 virtual HRESULT WINAPI get_KeyFrameRate(LONG *pKeyFrameRate) = 0; 9681 virtual HRESULT WINAPI put_PFramesPerKeyFrame(LONG PFramesPerKeyFrame) = 0; 9682 virtual HRESULT WINAPI get_PFramesPerKeyFrame(LONG *pPFramesPerKeyFrame) = 0; 9683 virtual HRESULT WINAPI put_Quality(double Quality) = 0; 9684 virtual HRESULT WINAPI get_Quality(double *pQuality) = 0; 9685 virtual HRESULT WINAPI put_WindowSize(DWORDLONG WindowSize) = 0; 9686 virtual HRESULT WINAPI get_WindowSize(DWORDLONG *pWindowSize) = 0; 9687 virtual HRESULT WINAPI GetInfo(WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities) = 0; 9688 virtual HRESULT WINAPI OverrideKeyFrame(LONG FrameNumber) = 0; 9689 virtual HRESULT WINAPI OverrideFrameSize(LONG FrameNumber,LONG Size) = 0; 9690 }; 9691 #else 9692 typedef struct IAMVideoCompressionVtbl { 9693 BEGIN_INTERFACE 9694 HRESULT (WINAPI *QueryInterface)(IAMVideoCompression *This,REFIID riid,void **ppvObject); 9695 ULONG (WINAPI *AddRef)(IAMVideoCompression *This); 9696 ULONG (WINAPI *Release)(IAMVideoCompression *This); 9697 HRESULT (WINAPI *put_KeyFrameRate)(IAMVideoCompression *This,LONG KeyFrameRate); 9698 HRESULT (WINAPI *get_KeyFrameRate)(IAMVideoCompression *This,LONG *pKeyFrameRate); 9699 HRESULT (WINAPI *put_PFramesPerKeyFrame)(IAMVideoCompression *This,LONG PFramesPerKeyFrame); 9700 HRESULT (WINAPI *get_PFramesPerKeyFrame)(IAMVideoCompression *This,LONG *pPFramesPerKeyFrame); 9701 HRESULT (WINAPI *put_Quality)(IAMVideoCompression *This,double Quality); 9702 HRESULT (WINAPI *get_Quality)(IAMVideoCompression *This,double *pQuality); 9703 HRESULT (WINAPI *put_WindowSize)(IAMVideoCompression *This,DWORDLONG WindowSize); 9704 HRESULT (WINAPI *get_WindowSize)(IAMVideoCompression *This,DWORDLONG *pWindowSize); 9705 HRESULT (WINAPI *GetInfo)(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities); 9706 HRESULT (WINAPI *OverrideKeyFrame)(IAMVideoCompression *This,LONG FrameNumber); 9707 HRESULT (WINAPI *OverrideFrameSize)(IAMVideoCompression *This,LONG FrameNumber,LONG Size); 9708 END_INTERFACE 9709 } IAMVideoCompressionVtbl; 9710 struct IAMVideoCompression { 9711 CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl; 9712 }; 9713 #ifdef COBJMACROS 9714 #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9715 #define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This) 9716 #define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This) 9717 #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate) (This)->lpVtbl->put_KeyFrameRate(This,KeyFrameRate) 9718 #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate) (This)->lpVtbl->get_KeyFrameRate(This,pKeyFrameRate) 9719 #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) (This)->lpVtbl->put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) 9720 #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) (This)->lpVtbl->get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) 9721 #define IAMVideoCompression_put_Quality(This,Quality) (This)->lpVtbl->put_Quality(This,Quality) 9722 #define IAMVideoCompression_get_Quality(This,pQuality) (This)->lpVtbl->get_Quality(This,pQuality) 9723 #define IAMVideoCompression_put_WindowSize(This,WindowSize) (This)->lpVtbl->put_WindowSize(This,WindowSize) 9724 #define IAMVideoCompression_get_WindowSize(This,pWindowSize) (This)->lpVtbl->get_WindowSize(This,pWindowSize) 9725 #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) (This)->lpVtbl->GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) 9726 #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber) (This)->lpVtbl->OverrideKeyFrame(This,FrameNumber) 9727 #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size) (This)->lpVtbl->OverrideFrameSize(This,FrameNumber,Size) 9728 #endif 9729 #endif 9730 HRESULT WINAPI IAMVideoCompression_put_KeyFrameRate_Proxy(IAMVideoCompression *This,LONG KeyFrameRate); 9731 void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9732 HRESULT WINAPI IAMVideoCompression_get_KeyFrameRate_Proxy(IAMVideoCompression *This,LONG *pKeyFrameRate); 9733 void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9734 HRESULT WINAPI IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,LONG PFramesPerKeyFrame); 9735 void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9736 HRESULT WINAPI IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,LONG *pPFramesPerKeyFrame); 9737 void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9738 HRESULT WINAPI IAMVideoCompression_put_Quality_Proxy(IAMVideoCompression *This,double Quality); 9739 void __RPC_STUB IAMVideoCompression_put_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9740 HRESULT WINAPI IAMVideoCompression_get_Quality_Proxy(IAMVideoCompression *This,double *pQuality); 9741 void __RPC_STUB IAMVideoCompression_get_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9742 HRESULT WINAPI IAMVideoCompression_put_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG WindowSize); 9743 void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9744 HRESULT WINAPI IAMVideoCompression_get_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG *pWindowSize); 9745 void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9746 HRESULT WINAPI IAMVideoCompression_GetInfo_Proxy(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities); 9747 void __RPC_STUB IAMVideoCompression_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9748 HRESULT WINAPI IAMVideoCompression_OverrideKeyFrame_Proxy(IAMVideoCompression *This,LONG FrameNumber); 9749 void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9750 HRESULT WINAPI IAMVideoCompression_OverrideFrameSize_Proxy(IAMVideoCompression *This,LONG FrameNumber,LONG Size); 9751 void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9752 #endif 9753 9754 typedef enum __MIDL___MIDL_itf_strmif_0168_0001 { 9755 VfwCaptureDialog_Source = 0x1,VfwCaptureDialog_Format = 0x2,VfwCaptureDialog_Display = 0x4 9756 } VfwCaptureDialogs; 9757 9758 typedef enum __MIDL___MIDL_itf_strmif_0168_0002 { 9759 VfwCompressDialog_Config = 0x1,VfwCompressDialog_About = 0x2,VfwCompressDialog_QueryConfig = 0x4,VfwCompressDialog_QueryAbout = 0x8 9760 } VfwCompressDialogs; 9761 9762 #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__ 9763 #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__ 9764 EXTERN_C const IID IID_IAMVfwCompressDialogs; 9765 #if defined(__cplusplus) && !defined(CINTERFACE) 9766 struct IAMVfwCompressDialogs : public IUnknown { 9767 public: 9768 virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0; 9769 virtual HRESULT WINAPI GetState(LPVOID pState,int *pcbState) = 0; 9770 virtual HRESULT WINAPI SetState(LPVOID pState,int cbState) = 0; 9771 virtual HRESULT WINAPI SendDriverMessage(int uMsg,LONG dw1,LONG dw2) = 0; 9772 }; 9773 #else 9774 typedef struct IAMVfwCompressDialogsVtbl { 9775 BEGIN_INTERFACE 9776 HRESULT (WINAPI *QueryInterface)(IAMVfwCompressDialogs *This,REFIID riid,void **ppvObject); 9777 ULONG (WINAPI *AddRef)(IAMVfwCompressDialogs *This); 9778 ULONG (WINAPI *Release)(IAMVfwCompressDialogs *This); 9779 HRESULT (WINAPI *ShowDialog)(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd); 9780 HRESULT (WINAPI *GetState)(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState); 9781 HRESULT (WINAPI *SetState)(IAMVfwCompressDialogs *This,LPVOID pState,int cbState); 9782 HRESULT (WINAPI *SendDriverMessage)(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2); 9783 END_INTERFACE 9784 } IAMVfwCompressDialogsVtbl; 9785 struct IAMVfwCompressDialogs { 9786 CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl; 9787 }; 9788 #ifdef COBJMACROS 9789 #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9790 #define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This) 9791 #define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This) 9792 #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd) 9793 #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) (This)->lpVtbl->GetState(This,pState,pcbState) 9794 #define IAMVfwCompressDialogs_SetState(This,pState,cbState) (This)->lpVtbl->SetState(This,pState,cbState) 9795 #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,uMsg,dw1,dw2) 9796 #endif 9797 #endif 9798 HRESULT WINAPI IAMVfwCompressDialogs_ShowDialog_Proxy(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd); 9799 void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9800 HRESULT WINAPI IAMVfwCompressDialogs_GetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState); 9801 void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9802 HRESULT WINAPI IAMVfwCompressDialogs_SetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int cbState); 9803 void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9804 HRESULT WINAPI IAMVfwCompressDialogs_SendDriverMessage_Proxy(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2); 9805 void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9806 #endif 9807 9808 #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__ 9809 #define __IAMDroppedFrames_INTERFACE_DEFINED__ 9810 EXTERN_C const IID IID_IAMDroppedFrames; 9811 #if defined(__cplusplus) && !defined(CINTERFACE) 9812 struct IAMDroppedFrames : public IUnknown { 9813 public: 9814 virtual HRESULT WINAPI GetNumDropped(LONG *plDropped) = 0; 9815 virtual HRESULT WINAPI GetNumNotDropped(LONG *plNotDropped) = 0; 9816 virtual HRESULT WINAPI GetDroppedInfo(LONG lSize,LONG *plArray,LONG *plNumCopied) = 0; 9817 virtual HRESULT WINAPI GetAverageFrameSize(LONG *plAverageSize) = 0; 9818 }; 9819 #else 9820 typedef struct IAMDroppedFramesVtbl { 9821 BEGIN_INTERFACE 9822 HRESULT (WINAPI *QueryInterface)(IAMDroppedFrames *This,REFIID riid,void **ppvObject); 9823 ULONG (WINAPI *AddRef)(IAMDroppedFrames *This); 9824 ULONG (WINAPI *Release)(IAMDroppedFrames *This); 9825 HRESULT (WINAPI *GetNumDropped)(IAMDroppedFrames *This,LONG *plDropped); 9826 HRESULT (WINAPI *GetNumNotDropped)(IAMDroppedFrames *This,LONG *plNotDropped); 9827 HRESULT (WINAPI *GetDroppedInfo)(IAMDroppedFrames *This,LONG lSize,LONG *plArray,LONG *plNumCopied); 9828 HRESULT (WINAPI *GetAverageFrameSize)(IAMDroppedFrames *This,LONG *plAverageSize); 9829 END_INTERFACE 9830 } IAMDroppedFramesVtbl; 9831 struct IAMDroppedFrames { 9832 CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl; 9833 }; 9834 #ifdef COBJMACROS 9835 #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9836 #define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This) 9837 #define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This) 9838 #define IAMDroppedFrames_GetNumDropped(This,plDropped) (This)->lpVtbl->GetNumDropped(This,plDropped) 9839 #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped) (This)->lpVtbl->GetNumNotDropped(This,plNotDropped) 9840 #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied) (This)->lpVtbl->GetDroppedInfo(This,lSize,plArray,plNumCopied) 9841 #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize) (This)->lpVtbl->GetAverageFrameSize(This,plAverageSize) 9842 #endif 9843 #endif 9844 HRESULT WINAPI IAMDroppedFrames_GetNumDropped_Proxy(IAMDroppedFrames *This,LONG *plDropped); 9845 void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9846 HRESULT WINAPI IAMDroppedFrames_GetNumNotDropped_Proxy(IAMDroppedFrames *This,LONG *plNotDropped); 9847 void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9848 HRESULT WINAPI IAMDroppedFrames_GetDroppedInfo_Proxy(IAMDroppedFrames *This,LONG lSize,LONG *plArray,LONG *plNumCopied); 9849 void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9850 HRESULT WINAPI IAMDroppedFrames_GetAverageFrameSize_Proxy(IAMDroppedFrames *This,LONG *plAverageSize); 9851 void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9852 #endif 9853 9854 #define AMF_AUTOMATICGAIN -1.0 9855 9856 extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec; 9857 extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec; 9858 #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__ 9859 #define __IAMAudioInputMixer_INTERFACE_DEFINED__ 9860 EXTERN_C const IID IID_IAMAudioInputMixer; 9861 #if defined(__cplusplus) && !defined(CINTERFACE) 9862 struct IAMAudioInputMixer : public IUnknown { 9863 public: 9864 virtual HRESULT WINAPI put_Enable(WINBOOL fEnable) = 0; 9865 virtual HRESULT WINAPI get_Enable(WINBOOL *pfEnable) = 0; 9866 virtual HRESULT WINAPI put_Mono(WINBOOL fMono) = 0; 9867 virtual HRESULT WINAPI get_Mono(WINBOOL *pfMono) = 0; 9868 virtual HRESULT WINAPI put_MixLevel(double Level) = 0; 9869 virtual HRESULT WINAPI get_MixLevel(double *pLevel) = 0; 9870 virtual HRESULT WINAPI put_Pan(double Pan) = 0; 9871 virtual HRESULT WINAPI get_Pan(double *pPan) = 0; 9872 virtual HRESULT WINAPI put_Loudness(WINBOOL fLoudness) = 0; 9873 virtual HRESULT WINAPI get_Loudness(WINBOOL *pfLoudness) = 0; 9874 virtual HRESULT WINAPI put_Treble(double Treble) = 0; 9875 virtual HRESULT WINAPI get_Treble(double *pTreble) = 0; 9876 virtual HRESULT WINAPI get_TrebleRange(double *pRange) = 0; 9877 virtual HRESULT WINAPI put_Bass(double Bass) = 0; 9878 virtual HRESULT WINAPI get_Bass(double *pBass) = 0; 9879 virtual HRESULT WINAPI get_BassRange(double *pRange) = 0; 9880 }; 9881 #else 9882 typedef struct IAMAudioInputMixerVtbl { 9883 BEGIN_INTERFACE 9884 HRESULT (WINAPI *QueryInterface)(IAMAudioInputMixer *This,REFIID riid,void **ppvObject); 9885 ULONG (WINAPI *AddRef)(IAMAudioInputMixer *This); 9886 ULONG (WINAPI *Release)(IAMAudioInputMixer *This); 9887 HRESULT (WINAPI *put_Enable)(IAMAudioInputMixer *This,WINBOOL fEnable); 9888 HRESULT (WINAPI *get_Enable)(IAMAudioInputMixer *This,WINBOOL *pfEnable); 9889 HRESULT (WINAPI *put_Mono)(IAMAudioInputMixer *This,WINBOOL fMono); 9890 HRESULT (WINAPI *get_Mono)(IAMAudioInputMixer *This,WINBOOL *pfMono); 9891 HRESULT (WINAPI *put_MixLevel)(IAMAudioInputMixer *This,double Level); 9892 HRESULT (WINAPI *get_MixLevel)(IAMAudioInputMixer *This,double *pLevel); 9893 HRESULT (WINAPI *put_Pan)(IAMAudioInputMixer *This,double Pan); 9894 HRESULT (WINAPI *get_Pan)(IAMAudioInputMixer *This,double *pPan); 9895 HRESULT (WINAPI *put_Loudness)(IAMAudioInputMixer *This,WINBOOL fLoudness); 9896 HRESULT (WINAPI *get_Loudness)(IAMAudioInputMixer *This,WINBOOL *pfLoudness); 9897 HRESULT (WINAPI *put_Treble)(IAMAudioInputMixer *This,double Treble); 9898 HRESULT (WINAPI *get_Treble)(IAMAudioInputMixer *This,double *pTreble); 9899 HRESULT (WINAPI *get_TrebleRange)(IAMAudioInputMixer *This,double *pRange); 9900 HRESULT (WINAPI *put_Bass)(IAMAudioInputMixer *This,double Bass); 9901 HRESULT (WINAPI *get_Bass)(IAMAudioInputMixer *This,double *pBass); 9902 HRESULT (WINAPI *get_BassRange)(IAMAudioInputMixer *This,double *pRange); 9903 END_INTERFACE 9904 } IAMAudioInputMixerVtbl; 9905 struct IAMAudioInputMixer { 9906 CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl; 9907 }; 9908 #ifdef COBJMACROS 9909 #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9910 #define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This) 9911 #define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This) 9912 #define IAMAudioInputMixer_put_Enable(This,fEnable) (This)->lpVtbl->put_Enable(This,fEnable) 9913 #define IAMAudioInputMixer_get_Enable(This,pfEnable) (This)->lpVtbl->get_Enable(This,pfEnable) 9914 #define IAMAudioInputMixer_put_Mono(This,fMono) (This)->lpVtbl->put_Mono(This,fMono) 9915 #define IAMAudioInputMixer_get_Mono(This,pfMono) (This)->lpVtbl->get_Mono(This,pfMono) 9916 #define IAMAudioInputMixer_put_MixLevel(This,Level) (This)->lpVtbl->put_MixLevel(This,Level) 9917 #define IAMAudioInputMixer_get_MixLevel(This,pLevel) (This)->lpVtbl->get_MixLevel(This,pLevel) 9918 #define IAMAudioInputMixer_put_Pan(This,Pan) (This)->lpVtbl->put_Pan(This,Pan) 9919 #define IAMAudioInputMixer_get_Pan(This,pPan) (This)->lpVtbl->get_Pan(This,pPan) 9920 #define IAMAudioInputMixer_put_Loudness(This,fLoudness) (This)->lpVtbl->put_Loudness(This,fLoudness) 9921 #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) (This)->lpVtbl->get_Loudness(This,pfLoudness) 9922 #define IAMAudioInputMixer_put_Treble(This,Treble) (This)->lpVtbl->put_Treble(This,Treble) 9923 #define IAMAudioInputMixer_get_Treble(This,pTreble) (This)->lpVtbl->get_Treble(This,pTreble) 9924 #define IAMAudioInputMixer_get_TrebleRange(This,pRange) (This)->lpVtbl->get_TrebleRange(This,pRange) 9925 #define IAMAudioInputMixer_put_Bass(This,Bass) (This)->lpVtbl->put_Bass(This,Bass) 9926 #define IAMAudioInputMixer_get_Bass(This,pBass) (This)->lpVtbl->get_Bass(This,pBass) 9927 #define IAMAudioInputMixer_get_BassRange(This,pRange) (This)->lpVtbl->get_BassRange(This,pRange) 9928 #endif 9929 #endif 9930 HRESULT WINAPI IAMAudioInputMixer_put_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL fEnable); 9931 void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9932 HRESULT WINAPI IAMAudioInputMixer_get_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL *pfEnable); 9933 void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9934 HRESULT WINAPI IAMAudioInputMixer_put_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL fMono); 9935 void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9936 HRESULT WINAPI IAMAudioInputMixer_get_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL *pfMono); 9937 void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9938 HRESULT WINAPI IAMAudioInputMixer_put_MixLevel_Proxy(IAMAudioInputMixer *This,double Level); 9939 void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9940 HRESULT WINAPI IAMAudioInputMixer_get_MixLevel_Proxy(IAMAudioInputMixer *This,double *pLevel); 9941 void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9942 HRESULT WINAPI IAMAudioInputMixer_put_Pan_Proxy(IAMAudioInputMixer *This,double Pan); 9943 void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9944 HRESULT WINAPI IAMAudioInputMixer_get_Pan_Proxy(IAMAudioInputMixer *This,double *pPan); 9945 void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9946 HRESULT WINAPI IAMAudioInputMixer_put_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL fLoudness); 9947 void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9948 HRESULT WINAPI IAMAudioInputMixer_get_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL *pfLoudness); 9949 void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9950 HRESULT WINAPI IAMAudioInputMixer_put_Treble_Proxy(IAMAudioInputMixer *This,double Treble); 9951 void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9952 HRESULT WINAPI IAMAudioInputMixer_get_Treble_Proxy(IAMAudioInputMixer *This,double *pTreble); 9953 void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9954 HRESULT WINAPI IAMAudioInputMixer_get_TrebleRange_Proxy(IAMAudioInputMixer *This,double *pRange); 9955 void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9956 HRESULT WINAPI IAMAudioInputMixer_put_Bass_Proxy(IAMAudioInputMixer *This,double Bass); 9957 void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9958 HRESULT WINAPI IAMAudioInputMixer_get_Bass_Proxy(IAMAudioInputMixer *This,double *pBass); 9959 void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9960 HRESULT WINAPI IAMAudioInputMixer_get_BassRange_Proxy(IAMAudioInputMixer *This,double *pRange); 9961 void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9962 #endif 9963 9964 #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__ 9965 #define __IAMBufferNegotiation_INTERFACE_DEFINED__ 9966 EXTERN_C const IID IID_IAMBufferNegotiation; 9967 #if defined(__cplusplus) && !defined(CINTERFACE) 9968 struct IAMBufferNegotiation : public IUnknown { 9969 public: 9970 virtual HRESULT WINAPI SuggestAllocatorProperties(const ALLOCATOR_PROPERTIES *pprop) = 0; 9971 virtual HRESULT WINAPI GetAllocatorProperties(ALLOCATOR_PROPERTIES *pprop) = 0; 9972 }; 9973 #else 9974 typedef struct IAMBufferNegotiationVtbl { 9975 BEGIN_INTERFACE 9976 HRESULT (WINAPI *QueryInterface)(IAMBufferNegotiation *This,REFIID riid,void **ppvObject); 9977 ULONG (WINAPI *AddRef)(IAMBufferNegotiation *This); 9978 ULONG (WINAPI *Release)(IAMBufferNegotiation *This); 9979 HRESULT (WINAPI *SuggestAllocatorProperties)(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop); 9980 HRESULT (WINAPI *GetAllocatorProperties)(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop); 9981 END_INTERFACE 9982 } IAMBufferNegotiationVtbl; 9983 struct IAMBufferNegotiation { 9984 CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl; 9985 }; 9986 #ifdef COBJMACROS 9987 #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 9988 #define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This) 9989 #define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This) 9990 #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop) (This)->lpVtbl->SuggestAllocatorProperties(This,pprop) 9991 #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop) (This)->lpVtbl->GetAllocatorProperties(This,pprop) 9992 #endif 9993 #endif 9994 HRESULT WINAPI IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop); 9995 void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9996 HRESULT WINAPI IAMBufferNegotiation_GetAllocatorProperties_Proxy(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop); 9997 void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 9998 #endif 9999 10000 #define AnalogVideo_NTSC_Mask 0x00000007 10001 #define AnalogVideo_PAL_Mask 0x00100FF0 10002 #define AnalogVideo_SECAM_Mask 0x000FF000 10003 10004 typedef enum __MIDL___MIDL_itf_strmif_0173_0001 { 10005 VideoCopyProtectionMacrovisionBasic = 0,VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1 10006 } VideoCopyProtectionType; 10007 10008 typedef enum tagPhysicalConnectorType { 10009 PhysConn_Video_Tuner = 1, 10010 PhysConn_Video_Composite,PhysConn_Video_SVideo,PhysConn_Video_RGB, 10011 PhysConn_Video_YRYBY,PhysConn_Video_SerialDigital,PhysConn_Video_ParallelDigital, 10012 PhysConn_Video_SCSI,PhysConn_Video_AUX,PhysConn_Video_1394,PhysConn_Video_USB, 10013 PhysConn_Video_VideoDecoder,PhysConn_Video_VideoEncoder,PhysConn_Video_SCART,PhysConn_Video_Black, 10014 PhysConn_Audio_Tuner = 0x1000,PhysConn_Audio_Line = 0x1001,PhysConn_Audio_Mic = 0x1002, 10015 PhysConn_Audio_AESDigital = 0x1003,PhysConn_Audio_SPDIFDigital = 0x1004, 10016 PhysConn_Audio_SCSI = 0x1005,PhysConn_Audio_AUX = 0x1006,PhysConn_Audio_1394 = 0x1007, 10017 PhysConn_Audio_USB = 0x1008,PhysConn_Audio_AudioDecoder = 0x1009 10018 } PhysicalConnectorType; 10019 10020 extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec; 10021 extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec; 10022 #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ 10023 #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ 10024 EXTERN_C const IID IID_IAMAnalogVideoDecoder; 10025 #if defined(__cplusplus) && !defined(CINTERFACE) 10026 struct IAMAnalogVideoDecoder : public IUnknown { 10027 public: 10028 virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0; 10029 virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0; 10030 virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0; 10031 virtual HRESULT WINAPI get_HorizontalLocked(LONG *plLocked) = 0; 10032 virtual HRESULT WINAPI put_VCRHorizontalLocking(LONG lVCRHorizontalLocking) = 0; 10033 virtual HRESULT WINAPI get_VCRHorizontalLocking(LONG *plVCRHorizontalLocking) = 0; 10034 virtual HRESULT WINAPI get_NumberOfLines(LONG *plNumberOfLines) = 0; 10035 virtual HRESULT WINAPI put_OutputEnable(LONG lOutputEnable) = 0; 10036 virtual HRESULT WINAPI get_OutputEnable(LONG *plOutputEnable) = 0; 10037 }; 10038 #else 10039 typedef struct IAMAnalogVideoDecoderVtbl { 10040 BEGIN_INTERFACE 10041 HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoDecoder *This,REFIID riid,void **ppvObject); 10042 ULONG (WINAPI *AddRef)(IAMAnalogVideoDecoder *This); 10043 ULONG (WINAPI *Release)(IAMAnalogVideoDecoder *This); 10044 HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard); 10045 HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard); 10046 HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard); 10047 HRESULT (WINAPI *get_HorizontalLocked)(IAMAnalogVideoDecoder *This,LONG *plLocked); 10048 HRESULT (WINAPI *put_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking); 10049 HRESULT (WINAPI *get_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking); 10050 HRESULT (WINAPI *get_NumberOfLines)(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines); 10051 HRESULT (WINAPI *put_OutputEnable)(IAMAnalogVideoDecoder *This,LONG lOutputEnable); 10052 HRESULT (WINAPI *get_OutputEnable)(IAMAnalogVideoDecoder *This,LONG *plOutputEnable); 10053 END_INTERFACE 10054 } IAMAnalogVideoDecoderVtbl; 10055 struct IAMAnalogVideoDecoder { 10056 CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl; 10057 }; 10058 #ifdef COBJMACROS 10059 #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10060 #define IAMAnalogVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This) 10061 #define IAMAnalogVideoDecoder_Release(This) (This)->lpVtbl->Release(This) 10062 #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard) 10063 #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard) 10064 #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard) 10065 #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) (This)->lpVtbl->get_HorizontalLocked(This,plLocked) 10066 #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) (This)->lpVtbl->put_VCRHorizontalLocking(This,lVCRHorizontalLocking) 10067 #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) (This)->lpVtbl->get_VCRHorizontalLocking(This,plVCRHorizontalLocking) 10068 #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) (This)->lpVtbl->get_NumberOfLines(This,plNumberOfLines) 10069 #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) (This)->lpVtbl->put_OutputEnable(This,lOutputEnable) 10070 #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) (This)->lpVtbl->get_OutputEnable(This,plOutputEnable) 10071 #endif 10072 #endif 10073 HRESULT WINAPI IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard); 10074 void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10075 HRESULT WINAPI IAMAnalogVideoDecoder_put_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard); 10076 void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10077 HRESULT WINAPI IAMAnalogVideoDecoder_get_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard); 10078 void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10079 HRESULT WINAPI IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(IAMAnalogVideoDecoder *This,LONG *plLocked); 10080 void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10081 HRESULT WINAPI IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking); 10082 void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10083 HRESULT WINAPI IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking); 10084 void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10085 HRESULT WINAPI IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines); 10086 void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10087 HRESULT WINAPI IAMAnalogVideoDecoder_put_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG lOutputEnable); 10088 void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10089 HRESULT WINAPI IAMAnalogVideoDecoder_get_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG *plOutputEnable); 10090 void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10091 #endif 10092 10093 typedef enum tagCameraControlProperty { 10094 CameraControl_Pan = 0, 10095 CameraControl_Tilt,CameraControl_Roll,CameraControl_Zoom,CameraControl_Exposure, 10096 CameraControl_Iris,CameraControl_Focus 10097 } CameraControlProperty; 10098 10099 typedef enum tagCameraControlFlags { 10100 CameraControl_Flags_Auto = 0x1,CameraControl_Flags_Manual = 0x2 10101 } CameraControlFlags; 10102 10103 extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec; 10104 extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec; 10105 #ifndef __IAMCameraControl_INTERFACE_DEFINED__ 10106 #define __IAMCameraControl_INTERFACE_DEFINED__ 10107 EXTERN_C const IID IID_IAMCameraControl; 10108 #if defined(__cplusplus) && !defined(CINTERFACE) 10109 struct IAMCameraControl : public IUnknown { 10110 public: 10111 virtual HRESULT WINAPI GetRange(LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) = 0; 10112 virtual HRESULT WINAPI Set(LONG Property,LONG lValue,LONG Flags) = 0; 10113 virtual HRESULT WINAPI Get(LONG Property,LONG *lValue,LONG *Flags) = 0; 10114 }; 10115 #else 10116 typedef struct IAMCameraControlVtbl { 10117 BEGIN_INTERFACE 10118 HRESULT (WINAPI *QueryInterface)(IAMCameraControl *This,REFIID riid,void **ppvObject); 10119 ULONG (WINAPI *AddRef)(IAMCameraControl *This); 10120 ULONG (WINAPI *Release)(IAMCameraControl *This); 10121 HRESULT (WINAPI *GetRange)(IAMCameraControl *This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags); 10122 HRESULT (WINAPI *Set)(IAMCameraControl *This,LONG Property,LONG lValue,LONG Flags); 10123 HRESULT (WINAPI *Get)(IAMCameraControl *This,LONG Property,LONG *lValue,LONG *Flags); 10124 END_INTERFACE 10125 } IAMCameraControlVtbl; 10126 struct IAMCameraControl { 10127 CONST_VTBL struct IAMCameraControlVtbl *lpVtbl; 10128 }; 10129 #ifdef COBJMACROS 10130 #define IAMCameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10131 #define IAMCameraControl_AddRef(This) (This)->lpVtbl->AddRef(This) 10132 #define IAMCameraControl_Release(This) (This)->lpVtbl->Release(This) 10133 #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) 10134 #define IAMCameraControl_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags) 10135 #define IAMCameraControl_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags) 10136 #endif 10137 #endif 10138 HRESULT WINAPI IAMCameraControl_GetRange_Proxy(IAMCameraControl *This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags); 10139 void __RPC_STUB IAMCameraControl_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10140 HRESULT WINAPI IAMCameraControl_Set_Proxy(IAMCameraControl *This,LONG Property,LONG lValue,LONG Flags); 10141 void __RPC_STUB IAMCameraControl_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10142 HRESULT WINAPI IAMCameraControl_Get_Proxy(IAMCameraControl *This,LONG Property,LONG *lValue,LONG *Flags); 10143 void __RPC_STUB IAMCameraControl_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10144 #endif 10145 10146 typedef enum tagVideoControlFlags { 10147 VideoControlFlag_FlipHorizontal = 0x1,VideoControlFlag_FlipVertical = 0x2,VideoControlFlag_ExternalTriggerEnable = 0x4,VideoControlFlag_Trigger = 0x8 10148 } VideoControlFlags; 10149 10150 extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec; 10151 extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec; 10152 #ifndef __IAMVideoControl_INTERFACE_DEFINED__ 10153 #define __IAMVideoControl_INTERFACE_DEFINED__ 10154 EXTERN_C const IID IID_IAMVideoControl; 10155 #if defined(__cplusplus) && !defined(CINTERFACE) 10156 struct IAMVideoControl : public IUnknown { 10157 public: 10158 virtual HRESULT WINAPI GetCaps(IPin *pPin,LONG *pCapsFlags) = 0; 10159 virtual HRESULT WINAPI SetMode(IPin *pPin,LONG Mode) = 0; 10160 virtual HRESULT WINAPI GetMode(IPin *pPin,LONG *Mode) = 0; 10161 virtual HRESULT WINAPI GetCurrentActualFrameRate(IPin *pPin,LONGLONG *ActualFrameRate) = 0; 10162 virtual HRESULT WINAPI GetMaxAvailableFrameRate(IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate) = 0; 10163 virtual HRESULT WINAPI GetFrameRateList(IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates) = 0; 10164 }; 10165 #else 10166 typedef struct IAMVideoControlVtbl { 10167 BEGIN_INTERFACE 10168 HRESULT (WINAPI *QueryInterface)(IAMVideoControl *This,REFIID riid,void **ppvObject); 10169 ULONG (WINAPI *AddRef)(IAMVideoControl *This); 10170 ULONG (WINAPI *Release)(IAMVideoControl *This); 10171 HRESULT (WINAPI *GetCaps)(IAMVideoControl *This,IPin *pPin,LONG *pCapsFlags); 10172 HRESULT (WINAPI *SetMode)(IAMVideoControl *This,IPin *pPin,LONG Mode); 10173 HRESULT (WINAPI *GetMode)(IAMVideoControl *This,IPin *pPin,LONG *Mode); 10174 HRESULT (WINAPI *GetCurrentActualFrameRate)(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate); 10175 HRESULT (WINAPI *GetMaxAvailableFrameRate)(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate); 10176 HRESULT (WINAPI *GetFrameRateList)(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates); 10177 END_INTERFACE 10178 } IAMVideoControlVtbl; 10179 struct IAMVideoControl { 10180 CONST_VTBL struct IAMVideoControlVtbl *lpVtbl; 10181 }; 10182 #ifdef COBJMACROS 10183 #define IAMVideoControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10184 #define IAMVideoControl_AddRef(This) (This)->lpVtbl->AddRef(This) 10185 #define IAMVideoControl_Release(This) (This)->lpVtbl->Release(This) 10186 #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags) (This)->lpVtbl->GetCaps(This,pPin,pCapsFlags) 10187 #define IAMVideoControl_SetMode(This,pPin,Mode) (This)->lpVtbl->SetMode(This,pPin,Mode) 10188 #define IAMVideoControl_GetMode(This,pPin,Mode) (This)->lpVtbl->GetMode(This,pPin,Mode) 10189 #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate) (This)->lpVtbl->GetCurrentActualFrameRate(This,pPin,ActualFrameRate) 10190 #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) (This)->lpVtbl->GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) 10191 #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) (This)->lpVtbl->GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) 10192 #endif 10193 #endif 10194 HRESULT WINAPI IAMVideoControl_GetCaps_Proxy(IAMVideoControl *This,IPin *pPin,LONG *pCapsFlags); 10195 void __RPC_STUB IAMVideoControl_GetCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10196 HRESULT WINAPI IAMVideoControl_SetMode_Proxy(IAMVideoControl *This,IPin *pPin,LONG Mode); 10197 void __RPC_STUB IAMVideoControl_SetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10198 HRESULT WINAPI IAMVideoControl_GetMode_Proxy(IAMVideoControl *This,IPin *pPin,LONG *Mode); 10199 void __RPC_STUB IAMVideoControl_GetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10200 HRESULT WINAPI IAMVideoControl_GetCurrentActualFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate); 10201 void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10202 HRESULT WINAPI IAMVideoControl_GetMaxAvailableFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate); 10203 void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10204 HRESULT WINAPI IAMVideoControl_GetFrameRateList_Proxy(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates); 10205 void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10206 #endif 10207 10208 #ifdef __CRT_UUID_DECL 10209 __CRT_UUID_DECL(IAMCrossbar,0xc6e13380,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56); 10210 #endif 10211 10212 #ifndef __IAMCrossbar_INTERFACE_DEFINED__ 10213 #define __IAMCrossbar_INTERFACE_DEFINED__ 10214 EXTERN_C const IID IID_IAMCrossbar; 10215 #if defined(__cplusplus) && !defined(CINTERFACE) 10216 struct IAMCrossbar : public IUnknown { 10217 public: 10218 virtual HRESULT WINAPI get_PinCounts(LONG *OutputPinCount,LONG *InputPinCount) = 0; 10219 virtual HRESULT WINAPI CanRoute(LONG OutputPinIndex,LONG InputPinIndex) = 0; 10220 virtual HRESULT WINAPI Route(LONG OutputPinIndex,LONG InputPinIndex) = 0; 10221 virtual HRESULT WINAPI get_IsRoutedTo(LONG OutputPinIndex,LONG *InputPinIndex) = 0; 10222 virtual HRESULT WINAPI get_CrossbarPinInfo(WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType) = 0; 10223 }; 10224 #else 10225 typedef struct IAMCrossbarVtbl { 10226 BEGIN_INTERFACE 10227 HRESULT (WINAPI *QueryInterface)(IAMCrossbar *This,REFIID riid,void **ppvObject); 10228 ULONG (WINAPI *AddRef)(IAMCrossbar *This); 10229 ULONG (WINAPI *Release)(IAMCrossbar *This); 10230 HRESULT (WINAPI *get_PinCounts)(IAMCrossbar *This,LONG *OutputPinCount,LONG *InputPinCount); 10231 HRESULT (WINAPI *CanRoute)(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex); 10232 HRESULT (WINAPI *Route)(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex); 10233 HRESULT (WINAPI *get_IsRoutedTo)(IAMCrossbar *This,LONG OutputPinIndex,LONG *InputPinIndex); 10234 HRESULT (WINAPI *get_CrossbarPinInfo)(IAMCrossbar *This,WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType); 10235 END_INTERFACE 10236 } IAMCrossbarVtbl; 10237 struct IAMCrossbar { 10238 CONST_VTBL struct IAMCrossbarVtbl *lpVtbl; 10239 }; 10240 #ifdef COBJMACROS 10241 #define IAMCrossbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10242 #define IAMCrossbar_AddRef(This) (This)->lpVtbl->AddRef(This) 10243 #define IAMCrossbar_Release(This) (This)->lpVtbl->Release(This) 10244 #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount) (This)->lpVtbl->get_PinCounts(This,OutputPinCount,InputPinCount) 10245 #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->CanRoute(This,OutputPinIndex,InputPinIndex) 10246 #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->Route(This,OutputPinIndex,InputPinIndex) 10247 #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) 10248 #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) (This)->lpVtbl->get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) 10249 #endif 10250 #endif 10251 HRESULT WINAPI IAMCrossbar_get_PinCounts_Proxy(IAMCrossbar *This,LONG *OutputPinCount,LONG *InputPinCount); 10252 void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10253 HRESULT WINAPI IAMCrossbar_CanRoute_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex); 10254 void __RPC_STUB IAMCrossbar_CanRoute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10255 HRESULT WINAPI IAMCrossbar_Route_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex); 10256 void __RPC_STUB IAMCrossbar_Route_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10257 HRESULT WINAPI IAMCrossbar_get_IsRoutedTo_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG *InputPinIndex); 10258 void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10259 HRESULT WINAPI IAMCrossbar_get_CrossbarPinInfo_Proxy(IAMCrossbar *This,WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType); 10260 void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10261 #endif 10262 10263 typedef enum tagAMTunerSubChannel { 10264 AMTUNER_SUBCHAN_NO_TUNE = -2,AMTUNER_SUBCHAN_DEFAULT = -1 10265 } AMTunerSubChannel; 10266 10267 typedef enum tagAMTunerSignalStrength { 10268 AMTUNER_HASNOSIGNALSTRENGTH = -1,AMTUNER_NOSIGNAL = 0,AMTUNER_SIGNALPRESENT = 1 10269 } AMTunerSignalStrength; 10270 10271 typedef enum tagAMTunerModeType { 10272 AMTUNER_MODE_DEFAULT = 0,AMTUNER_MODE_TV = 0x1,AMTUNER_MODE_FM_RADIO = 0x2,AMTUNER_MODE_AM_RADIO = 0x4,AMTUNER_MODE_DSS = 0x8 10273 } AMTunerModeType; 10274 10275 typedef enum tagAMTunerEventType { 10276 AMTUNER_EVENT_CHANGED = 0x1 10277 } AMTunerEventType; 10278 10279 extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec; 10280 extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec; 10281 #ifndef __IAMTuner_INTERFACE_DEFINED__ 10282 #define __IAMTuner_INTERFACE_DEFINED__ 10283 EXTERN_C const IID IID_IAMTuner; 10284 #if defined(__cplusplus) && !defined(CINTERFACE) 10285 struct IAMTuner : public IUnknown { 10286 public: 10287 virtual HRESULT WINAPI put_Channel(LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel) = 0; 10288 virtual HRESULT WINAPI get_Channel(LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel) = 0; 10289 virtual HRESULT WINAPI ChannelMinMax(LONG *lChannelMin,LONG *lChannelMax) = 0; 10290 virtual HRESULT WINAPI put_CountryCode(LONG lCountryCode) = 0; 10291 virtual HRESULT WINAPI get_CountryCode(LONG *plCountryCode) = 0; 10292 virtual HRESULT WINAPI put_TuningSpace(LONG lTuningSpace) = 0; 10293 virtual HRESULT WINAPI get_TuningSpace(LONG *plTuningSpace) = 0; 10294 virtual HRESULT WINAPI Logon(HANDLE hCurrentUser) = 0; 10295 virtual HRESULT WINAPI Logout(void) = 0; 10296 virtual HRESULT WINAPI SignalPresent(LONG *plSignalStrength) = 0; 10297 virtual HRESULT WINAPI put_Mode(AMTunerModeType lMode) = 0; 10298 virtual HRESULT WINAPI get_Mode(AMTunerModeType *plMode) = 0; 10299 virtual HRESULT WINAPI GetAvailableModes(LONG *plModes) = 0; 10300 virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0; 10301 virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0; 10302 }; 10303 #else 10304 typedef struct IAMTunerVtbl { 10305 BEGIN_INTERFACE 10306 HRESULT (WINAPI *QueryInterface)(IAMTuner *This,REFIID riid,void **ppvObject); 10307 ULONG (WINAPI *AddRef)(IAMTuner *This); 10308 ULONG (WINAPI *Release)(IAMTuner *This); 10309 HRESULT (WINAPI *put_Channel)(IAMTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel); 10310 HRESULT (WINAPI *get_Channel)(IAMTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel); 10311 HRESULT (WINAPI *ChannelMinMax)(IAMTuner *This,LONG *lChannelMin,LONG *lChannelMax); 10312 HRESULT (WINAPI *put_CountryCode)(IAMTuner *This,LONG lCountryCode); 10313 HRESULT (WINAPI *get_CountryCode)(IAMTuner *This,LONG *plCountryCode); 10314 HRESULT (WINAPI *put_TuningSpace)(IAMTuner *This,LONG lTuningSpace); 10315 HRESULT (WINAPI *get_TuningSpace)(IAMTuner *This,LONG *plTuningSpace); 10316 HRESULT (WINAPI *Logon)(IAMTuner *This,HANDLE hCurrentUser); 10317 HRESULT (WINAPI *Logout)(IAMTuner *This); 10318 HRESULT (WINAPI *SignalPresent)(IAMTuner *This,LONG *plSignalStrength); 10319 HRESULT (WINAPI *put_Mode)(IAMTuner *This,AMTunerModeType lMode); 10320 HRESULT (WINAPI *get_Mode)(IAMTuner *This,AMTunerModeType *plMode); 10321 HRESULT (WINAPI *GetAvailableModes)(IAMTuner *This,LONG *plModes); 10322 HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify,LONG lEvents); 10323 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify); 10324 END_INTERFACE 10325 } IAMTunerVtbl; 10326 struct IAMTuner { 10327 CONST_VTBL struct IAMTunerVtbl *lpVtbl; 10328 }; 10329 #ifdef COBJMACROS 10330 #define IAMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10331 #define IAMTuner_AddRef(This) (This)->lpVtbl->AddRef(This) 10332 #define IAMTuner_Release(This) (This)->lpVtbl->Release(This) 10333 #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) 10334 #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) 10335 #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax) 10336 #define IAMTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode) 10337 #define IAMTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode) 10338 #define IAMTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace) 10339 #define IAMTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace) 10340 #define IAMTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser) 10341 #define IAMTuner_Logout(This) (This)->lpVtbl->Logout(This) 10342 #define IAMTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength) 10343 #define IAMTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode) 10344 #define IAMTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode) 10345 #define IAMTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes) 10346 #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents) 10347 #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify) 10348 #endif 10349 #endif 10350 HRESULT WINAPI IAMTuner_put_Channel_Proxy(IAMTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel); 10351 void __RPC_STUB IAMTuner_put_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10352 HRESULT WINAPI IAMTuner_get_Channel_Proxy(IAMTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel); 10353 void __RPC_STUB IAMTuner_get_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10354 HRESULT WINAPI IAMTuner_ChannelMinMax_Proxy(IAMTuner *This,LONG *lChannelMin,LONG *lChannelMax); 10355 void __RPC_STUB IAMTuner_ChannelMinMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10356 HRESULT WINAPI IAMTuner_put_CountryCode_Proxy(IAMTuner *This,LONG lCountryCode); 10357 void __RPC_STUB IAMTuner_put_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10358 HRESULT WINAPI IAMTuner_get_CountryCode_Proxy(IAMTuner *This,LONG *plCountryCode); 10359 void __RPC_STUB IAMTuner_get_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10360 HRESULT WINAPI IAMTuner_put_TuningSpace_Proxy(IAMTuner *This,LONG lTuningSpace); 10361 void __RPC_STUB IAMTuner_put_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10362 HRESULT WINAPI IAMTuner_get_TuningSpace_Proxy(IAMTuner *This,LONG *plTuningSpace); 10363 void __RPC_STUB IAMTuner_get_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10364 HRESULT WINAPI IAMTuner_Logon_Proxy(IAMTuner *This,HANDLE hCurrentUser); 10365 void __RPC_STUB IAMTuner_Logon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10366 HRESULT WINAPI IAMTuner_Logout_Proxy(IAMTuner *This); 10367 void __RPC_STUB IAMTuner_Logout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10368 HRESULT WINAPI IAMTuner_SignalPresent_Proxy(IAMTuner *This,LONG *plSignalStrength); 10369 void __RPC_STUB IAMTuner_SignalPresent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10370 HRESULT WINAPI IAMTuner_put_Mode_Proxy(IAMTuner *This,AMTunerModeType lMode); 10371 void __RPC_STUB IAMTuner_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10372 HRESULT WINAPI IAMTuner_get_Mode_Proxy(IAMTuner *This,AMTunerModeType *plMode); 10373 void __RPC_STUB IAMTuner_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10374 HRESULT WINAPI IAMTuner_GetAvailableModes_Proxy(IAMTuner *This,LONG *plModes); 10375 void __RPC_STUB IAMTuner_GetAvailableModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10376 HRESULT WINAPI IAMTuner_RegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify,LONG lEvents); 10377 void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10378 HRESULT WINAPI IAMTuner_UnRegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify); 10379 void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10380 #endif 10381 10382 #ifndef __IAMTunerNotification_INTERFACE_DEFINED__ 10383 #define __IAMTunerNotification_INTERFACE_DEFINED__ 10384 EXTERN_C const IID IID_IAMTunerNotification; 10385 #if defined(__cplusplus) && !defined(CINTERFACE) 10386 struct IAMTunerNotification : public IUnknown { 10387 public: 10388 virtual HRESULT WINAPI OnEvent(AMTunerEventType Event) = 0; 10389 }; 10390 #else 10391 typedef struct IAMTunerNotificationVtbl { 10392 BEGIN_INTERFACE 10393 HRESULT (WINAPI *QueryInterface)(IAMTunerNotification *This,REFIID riid,void **ppvObject); 10394 ULONG (WINAPI *AddRef)(IAMTunerNotification *This); 10395 ULONG (WINAPI *Release)(IAMTunerNotification *This); 10396 HRESULT (WINAPI *OnEvent)(IAMTunerNotification *This,AMTunerEventType Event); 10397 END_INTERFACE 10398 } IAMTunerNotificationVtbl; 10399 struct IAMTunerNotification { 10400 CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl; 10401 }; 10402 #ifdef COBJMACROS 10403 #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10404 #define IAMTunerNotification_AddRef(This) (This)->lpVtbl->AddRef(This) 10405 #define IAMTunerNotification_Release(This) (This)->lpVtbl->Release(This) 10406 #define IAMTunerNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event) 10407 #endif 10408 #endif 10409 HRESULT WINAPI IAMTunerNotification_OnEvent_Proxy(IAMTunerNotification *This,AMTunerEventType Event); 10410 void __RPC_STUB IAMTunerNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10411 #endif 10412 10413 #ifndef __IAMTVTuner_INTERFACE_DEFINED__ 10414 #define __IAMTVTuner_INTERFACE_DEFINED__ 10415 EXTERN_C const IID IID_IAMTVTuner; 10416 #if defined(__cplusplus) && !defined(CINTERFACE) 10417 struct IAMTVTuner : public IAMTuner { 10418 public: 10419 virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0; 10420 virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0; 10421 virtual HRESULT WINAPI AutoTune(LONG lChannel,LONG *plFoundSignal) = 0; 10422 virtual HRESULT WINAPI StoreAutoTune(void) = 0; 10423 virtual HRESULT WINAPI get_NumInputConnections(LONG *plNumInputConnections) = 0; 10424 virtual HRESULT WINAPI put_InputType(LONG lIndex,TunerInputType InputType) = 0; 10425 virtual HRESULT WINAPI get_InputType(LONG lIndex,TunerInputType *pInputType) = 0; 10426 virtual HRESULT WINAPI put_ConnectInput(LONG lIndex) = 0; 10427 virtual HRESULT WINAPI get_ConnectInput(LONG *plIndex) = 0; 10428 virtual HRESULT WINAPI get_VideoFrequency(LONG *lFreq) = 0; 10429 virtual HRESULT WINAPI get_AudioFrequency(LONG *lFreq) = 0; 10430 }; 10431 #else 10432 typedef struct IAMTVTunerVtbl { 10433 BEGIN_INTERFACE 10434 HRESULT (WINAPI *QueryInterface)(IAMTVTuner *This,REFIID riid,void **ppvObject); 10435 ULONG (WINAPI *AddRef)(IAMTVTuner *This); 10436 ULONG (WINAPI *Release)(IAMTVTuner *This); 10437 HRESULT (WINAPI *put_Channel)(IAMTVTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel); 10438 HRESULT (WINAPI *get_Channel)(IAMTVTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel); 10439 HRESULT (WINAPI *ChannelMinMax)(IAMTVTuner *This,LONG *lChannelMin,LONG *lChannelMax); 10440 HRESULT (WINAPI *put_CountryCode)(IAMTVTuner *This,LONG lCountryCode); 10441 HRESULT (WINAPI *get_CountryCode)(IAMTVTuner *This,LONG *plCountryCode); 10442 HRESULT (WINAPI *put_TuningSpace)(IAMTVTuner *This,LONG lTuningSpace); 10443 HRESULT (WINAPI *get_TuningSpace)(IAMTVTuner *This,LONG *plTuningSpace); 10444 HRESULT (WINAPI *Logon)(IAMTVTuner *This,HANDLE hCurrentUser); 10445 HRESULT (WINAPI *Logout)(IAMTVTuner *This); 10446 HRESULT (WINAPI *SignalPresent)(IAMTVTuner *This,LONG *plSignalStrength); 10447 HRESULT (WINAPI *put_Mode)(IAMTVTuner *This,AMTunerModeType lMode); 10448 HRESULT (WINAPI *get_Mode)(IAMTVTuner *This,AMTunerModeType *plMode); 10449 HRESULT (WINAPI *GetAvailableModes)(IAMTVTuner *This,LONG *plModes); 10450 HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify,LONG lEvents); 10451 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify); 10452 HRESULT (WINAPI *get_AvailableTVFormats)(IAMTVTuner *This,LONG *lAnalogVideoStandard); 10453 HRESULT (WINAPI *get_TVFormat)(IAMTVTuner *This,LONG *plAnalogVideoStandard); 10454 HRESULT (WINAPI *AutoTune)(IAMTVTuner *This,LONG lChannel,LONG *plFoundSignal); 10455 HRESULT (WINAPI *StoreAutoTune)(IAMTVTuner *This); 10456 HRESULT (WINAPI *get_NumInputConnections)(IAMTVTuner *This,LONG *plNumInputConnections); 10457 HRESULT (WINAPI *put_InputType)(IAMTVTuner *This,LONG lIndex,TunerInputType InputType); 10458 HRESULT (WINAPI *get_InputType)(IAMTVTuner *This,LONG lIndex,TunerInputType *pInputType); 10459 HRESULT (WINAPI *put_ConnectInput)(IAMTVTuner *This,LONG lIndex); 10460 HRESULT (WINAPI *get_ConnectInput)(IAMTVTuner *This,LONG *plIndex); 10461 HRESULT (WINAPI *get_VideoFrequency)(IAMTVTuner *This,LONG *lFreq); 10462 HRESULT (WINAPI *get_AudioFrequency)(IAMTVTuner *This,LONG *lFreq); 10463 END_INTERFACE 10464 } IAMTVTunerVtbl; 10465 struct IAMTVTuner { 10466 CONST_VTBL struct IAMTVTunerVtbl *lpVtbl; 10467 }; 10468 #ifdef COBJMACROS 10469 #define IAMTVTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10470 #define IAMTVTuner_AddRef(This) (This)->lpVtbl->AddRef(This) 10471 #define IAMTVTuner_Release(This) (This)->lpVtbl->Release(This) 10472 #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) 10473 #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) 10474 #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax) 10475 #define IAMTVTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode) 10476 #define IAMTVTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode) 10477 #define IAMTVTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace) 10478 #define IAMTVTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace) 10479 #define IAMTVTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser) 10480 #define IAMTVTuner_Logout(This) (This)->lpVtbl->Logout(This) 10481 #define IAMTVTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength) 10482 #define IAMTVTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode) 10483 #define IAMTVTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode) 10484 #define IAMTVTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes) 10485 #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents) 10486 #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify) 10487 #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard) 10488 #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard) 10489 #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal) (This)->lpVtbl->AutoTune(This,lChannel,plFoundSignal) 10490 #define IAMTVTuner_StoreAutoTune(This) (This)->lpVtbl->StoreAutoTune(This) 10491 #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections) (This)->lpVtbl->get_NumInputConnections(This,plNumInputConnections) 10492 #define IAMTVTuner_put_InputType(This,lIndex,InputType) (This)->lpVtbl->put_InputType(This,lIndex,InputType) 10493 #define IAMTVTuner_get_InputType(This,lIndex,pInputType) (This)->lpVtbl->get_InputType(This,lIndex,pInputType) 10494 #define IAMTVTuner_put_ConnectInput(This,lIndex) (This)->lpVtbl->put_ConnectInput(This,lIndex) 10495 #define IAMTVTuner_get_ConnectInput(This,plIndex) (This)->lpVtbl->get_ConnectInput(This,plIndex) 10496 #define IAMTVTuner_get_VideoFrequency(This,lFreq) (This)->lpVtbl->get_VideoFrequency(This,lFreq) 10497 #define IAMTVTuner_get_AudioFrequency(This,lFreq) (This)->lpVtbl->get_AudioFrequency(This,lFreq) 10498 #endif 10499 #endif 10500 HRESULT WINAPI IAMTVTuner_get_AvailableTVFormats_Proxy(IAMTVTuner *This,LONG *lAnalogVideoStandard); 10501 void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10502 HRESULT WINAPI IAMTVTuner_get_TVFormat_Proxy(IAMTVTuner *This,LONG *plAnalogVideoStandard); 10503 void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10504 HRESULT WINAPI IAMTVTuner_AutoTune_Proxy(IAMTVTuner *This,LONG lChannel,LONG *plFoundSignal); 10505 void __RPC_STUB IAMTVTuner_AutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10506 HRESULT WINAPI IAMTVTuner_StoreAutoTune_Proxy(IAMTVTuner *This); 10507 void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10508 HRESULT WINAPI IAMTVTuner_get_NumInputConnections_Proxy(IAMTVTuner *This,LONG *plNumInputConnections); 10509 void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10510 HRESULT WINAPI IAMTVTuner_put_InputType_Proxy(IAMTVTuner *This,LONG lIndex,TunerInputType InputType); 10511 void __RPC_STUB IAMTVTuner_put_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10512 HRESULT WINAPI IAMTVTuner_get_InputType_Proxy(IAMTVTuner *This,LONG lIndex,TunerInputType *pInputType); 10513 void __RPC_STUB IAMTVTuner_get_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10514 HRESULT WINAPI IAMTVTuner_put_ConnectInput_Proxy(IAMTVTuner *This,LONG lIndex); 10515 void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10516 HRESULT WINAPI IAMTVTuner_get_ConnectInput_Proxy(IAMTVTuner *This,LONG *plIndex); 10517 void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10518 HRESULT WINAPI IAMTVTuner_get_VideoFrequency_Proxy(IAMTVTuner *This,LONG *lFreq); 10519 void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10520 HRESULT WINAPI IAMTVTuner_get_AudioFrequency_Proxy(IAMTVTuner *This,LONG *lFreq); 10521 void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10522 #endif 10523 10524 #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__ 10525 #define __IBPCSatelliteTuner_INTERFACE_DEFINED__ 10526 EXTERN_C const IID IID_IBPCSatelliteTuner; 10527 #if defined(__cplusplus) && !defined(CINTERFACE) 10528 struct IBPCSatelliteTuner : public IAMTuner { 10529 public: 10530 virtual HRESULT WINAPI get_DefaultSubChannelTypes(LONG *plDefaultVideoType,LONG *plDefaultAudioType) = 0; 10531 virtual HRESULT WINAPI put_DefaultSubChannelTypes(LONG lDefaultVideoType,LONG lDefaultAudioType) = 0; 10532 virtual HRESULT WINAPI IsTapingPermitted(void) = 0; 10533 }; 10534 #else 10535 typedef struct IBPCSatelliteTunerVtbl { 10536 BEGIN_INTERFACE 10537 HRESULT (WINAPI *QueryInterface)(IBPCSatelliteTuner *This,REFIID riid,void **ppvObject); 10538 ULONG (WINAPI *AddRef)(IBPCSatelliteTuner *This); 10539 ULONG (WINAPI *Release)(IBPCSatelliteTuner *This); 10540 HRESULT (WINAPI *put_Channel)(IBPCSatelliteTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel); 10541 HRESULT (WINAPI *get_Channel)(IBPCSatelliteTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel); 10542 HRESULT (WINAPI *ChannelMinMax)(IBPCSatelliteTuner *This,LONG *lChannelMin,LONG *lChannelMax); 10543 HRESULT (WINAPI *put_CountryCode)(IBPCSatelliteTuner *This,LONG lCountryCode); 10544 HRESULT (WINAPI *get_CountryCode)(IBPCSatelliteTuner *This,LONG *plCountryCode); 10545 HRESULT (WINAPI *put_TuningSpace)(IBPCSatelliteTuner *This,LONG lTuningSpace); 10546 HRESULT (WINAPI *get_TuningSpace)(IBPCSatelliteTuner *This,LONG *plTuningSpace); 10547 HRESULT (WINAPI *Logon)(IBPCSatelliteTuner *This,HANDLE hCurrentUser); 10548 HRESULT (WINAPI *Logout)(IBPCSatelliteTuner *This); 10549 HRESULT (WINAPI *SignalPresent)(IBPCSatelliteTuner *This,LONG *plSignalStrength); 10550 HRESULT (WINAPI *put_Mode)(IBPCSatelliteTuner *This,AMTunerModeType lMode); 10551 HRESULT (WINAPI *get_Mode)(IBPCSatelliteTuner *This,AMTunerModeType *plMode); 10552 HRESULT (WINAPI *GetAvailableModes)(IBPCSatelliteTuner *This,LONG *plModes); 10553 HRESULT (WINAPI *RegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify,LONG lEvents); 10554 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify); 10555 HRESULT (WINAPI *get_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType); 10556 HRESULT (WINAPI *put_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType); 10557 HRESULT (WINAPI *IsTapingPermitted)(IBPCSatelliteTuner *This); 10558 END_INTERFACE 10559 } IBPCSatelliteTunerVtbl; 10560 struct IBPCSatelliteTuner { 10561 CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl; 10562 }; 10563 #ifdef COBJMACROS 10564 #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10565 #define IBPCSatelliteTuner_AddRef(This) (This)->lpVtbl->AddRef(This) 10566 #define IBPCSatelliteTuner_Release(This) (This)->lpVtbl->Release(This) 10567 #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) 10568 #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) 10569 #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax) 10570 #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode) 10571 #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode) 10572 #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace) 10573 #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace) 10574 #define IBPCSatelliteTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser) 10575 #define IBPCSatelliteTuner_Logout(This) (This)->lpVtbl->Logout(This) 10576 #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength) 10577 #define IBPCSatelliteTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode) 10578 #define IBPCSatelliteTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode) 10579 #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes) 10580 #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents) 10581 #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify) 10582 #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) (This)->lpVtbl->get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) 10583 #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) (This)->lpVtbl->put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) 10584 #define IBPCSatelliteTuner_IsTapingPermitted(This) (This)->lpVtbl->IsTapingPermitted(This) 10585 #endif 10586 #endif 10587 HRESULT WINAPI IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType); 10588 void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10589 HRESULT WINAPI IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType); 10590 void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10591 HRESULT WINAPI IBPCSatelliteTuner_IsTapingPermitted_Proxy(IBPCSatelliteTuner *This); 10592 void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10593 #endif 10594 10595 typedef enum tagAMTVAudioEventType { 10596 AMTVAUDIO_EVENT_CHANGED = 0x1 10597 } AMTVAudioEventType; 10598 10599 extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec; 10600 extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec; 10601 #ifndef __IAMTVAudio_INTERFACE_DEFINED__ 10602 #define __IAMTVAudio_INTERFACE_DEFINED__ 10603 EXTERN_C const IID IID_IAMTVAudio; 10604 #if defined(__cplusplus) && !defined(CINTERFACE) 10605 struct IAMTVAudio : public IUnknown { 10606 public: 10607 virtual HRESULT WINAPI GetHardwareSupportedTVAudioModes(LONG *plModes) = 0; 10608 virtual HRESULT WINAPI GetAvailableTVAudioModes(LONG *plModes) = 0; 10609 virtual HRESULT WINAPI get_TVAudioMode(LONG *plMode) = 0; 10610 virtual HRESULT WINAPI put_TVAudioMode(LONG lMode) = 0; 10611 virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0; 10612 virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0; 10613 }; 10614 #else 10615 typedef struct IAMTVAudioVtbl { 10616 BEGIN_INTERFACE 10617 HRESULT (WINAPI *QueryInterface)(IAMTVAudio *This,REFIID riid,void **ppvObject); 10618 ULONG (WINAPI *AddRef)(IAMTVAudio *This); 10619 ULONG (WINAPI *Release)(IAMTVAudio *This); 10620 HRESULT (WINAPI *GetHardwareSupportedTVAudioModes)(IAMTVAudio *This,LONG *plModes); 10621 HRESULT (WINAPI *GetAvailableTVAudioModes)(IAMTVAudio *This,LONG *plModes); 10622 HRESULT (WINAPI *get_TVAudioMode)(IAMTVAudio *This,LONG *plMode); 10623 HRESULT (WINAPI *put_TVAudioMode)(IAMTVAudio *This,LONG lMode); 10624 HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents); 10625 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify); 10626 END_INTERFACE 10627 } IAMTVAudioVtbl; 10628 struct IAMTVAudio { 10629 CONST_VTBL struct IAMTVAudioVtbl *lpVtbl; 10630 }; 10631 #ifdef COBJMACROS 10632 #define IAMTVAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10633 #define IAMTVAudio_AddRef(This) (This)->lpVtbl->AddRef(This) 10634 #define IAMTVAudio_Release(This) (This)->lpVtbl->Release(This) 10635 #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) (This)->lpVtbl->GetHardwareSupportedTVAudioModes(This,plModes) 10636 #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) (This)->lpVtbl->GetAvailableTVAudioModes(This,plModes) 10637 #define IAMTVAudio_get_TVAudioMode(This,plMode) (This)->lpVtbl->get_TVAudioMode(This,plMode) 10638 #define IAMTVAudio_put_TVAudioMode(This,lMode) (This)->lpVtbl->put_TVAudioMode(This,lMode) 10639 #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents) 10640 #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify) 10641 #endif 10642 #endif 10643 HRESULT WINAPI IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes); 10644 void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10645 HRESULT WINAPI IAMTVAudio_GetAvailableTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes); 10646 void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10647 HRESULT WINAPI IAMTVAudio_get_TVAudioMode_Proxy(IAMTVAudio *This,LONG *plMode); 10648 void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10649 HRESULT WINAPI IAMTVAudio_put_TVAudioMode_Proxy(IAMTVAudio *This,LONG lMode); 10650 void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10651 HRESULT WINAPI IAMTVAudio_RegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents); 10652 void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10653 HRESULT WINAPI IAMTVAudio_UnRegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify); 10654 void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10655 #endif 10656 10657 #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__ 10658 #define __IAMTVAudioNotification_INTERFACE_DEFINED__ 10659 EXTERN_C const IID IID_IAMTVAudioNotification; 10660 #if defined(__cplusplus) && !defined(CINTERFACE) 10661 struct IAMTVAudioNotification : public IUnknown { 10662 public: 10663 virtual HRESULT WINAPI OnEvent(AMTVAudioEventType Event) = 0; 10664 }; 10665 #else 10666 typedef struct IAMTVAudioNotificationVtbl { 10667 BEGIN_INTERFACE 10668 HRESULT (WINAPI *QueryInterface)(IAMTVAudioNotification *This,REFIID riid,void **ppvObject); 10669 ULONG (WINAPI *AddRef)(IAMTVAudioNotification *This); 10670 ULONG (WINAPI *Release)(IAMTVAudioNotification *This); 10671 HRESULT (WINAPI *OnEvent)(IAMTVAudioNotification *This,AMTVAudioEventType Event); 10672 END_INTERFACE 10673 } IAMTVAudioNotificationVtbl; 10674 struct IAMTVAudioNotification { 10675 CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl; 10676 }; 10677 #ifdef COBJMACROS 10678 #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10679 #define IAMTVAudioNotification_AddRef(This) (This)->lpVtbl->AddRef(This) 10680 #define IAMTVAudioNotification_Release(This) (This)->lpVtbl->Release(This) 10681 #define IAMTVAudioNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event) 10682 #endif 10683 #endif 10684 HRESULT WINAPI IAMTVAudioNotification_OnEvent_Proxy(IAMTVAudioNotification *This,AMTVAudioEventType Event); 10685 void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10686 #endif 10687 10688 #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ 10689 #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ 10690 EXTERN_C const IID IID_IAMAnalogVideoEncoder; 10691 #if defined(__cplusplus) && !defined(CINTERFACE) 10692 struct IAMAnalogVideoEncoder : public IUnknown { 10693 public: 10694 virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0; 10695 virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0; 10696 virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0; 10697 virtual HRESULT WINAPI put_CopyProtection(LONG lVideoCopyProtection) = 0; 10698 virtual HRESULT WINAPI get_CopyProtection(LONG *lVideoCopyProtection) = 0; 10699 virtual HRESULT WINAPI put_CCEnable(LONG lCCEnable) = 0; 10700 virtual HRESULT WINAPI get_CCEnable(LONG *lCCEnable) = 0; 10701 }; 10702 #else 10703 typedef struct IAMAnalogVideoEncoderVtbl { 10704 BEGIN_INTERFACE 10705 HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoEncoder *This,REFIID riid,void **ppvObject); 10706 ULONG (WINAPI *AddRef)(IAMAnalogVideoEncoder *This); 10707 ULONG (WINAPI *Release)(IAMAnalogVideoEncoder *This); 10708 HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard); 10709 HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard); 10710 HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard); 10711 HRESULT (WINAPI *put_CopyProtection)(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection); 10712 HRESULT (WINAPI *get_CopyProtection)(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection); 10713 HRESULT (WINAPI *put_CCEnable)(IAMAnalogVideoEncoder *This,LONG lCCEnable); 10714 HRESULT (WINAPI *get_CCEnable)(IAMAnalogVideoEncoder *This,LONG *lCCEnable); 10715 END_INTERFACE 10716 } IAMAnalogVideoEncoderVtbl; 10717 struct IAMAnalogVideoEncoder { 10718 CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl; 10719 }; 10720 #ifdef COBJMACROS 10721 #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10722 #define IAMAnalogVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) 10723 #define IAMAnalogVideoEncoder_Release(This) (This)->lpVtbl->Release(This) 10724 #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard) 10725 #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard) 10726 #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard) 10727 #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->put_CopyProtection(This,lVideoCopyProtection) 10728 #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->get_CopyProtection(This,lVideoCopyProtection) 10729 #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) (This)->lpVtbl->put_CCEnable(This,lCCEnable) 10730 #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) (This)->lpVtbl->get_CCEnable(This,lCCEnable) 10731 #endif 10732 #endif 10733 HRESULT WINAPI IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard); 10734 void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10735 HRESULT WINAPI IAMAnalogVideoEncoder_put_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard); 10736 void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10737 HRESULT WINAPI IAMAnalogVideoEncoder_get_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard); 10738 void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10739 HRESULT WINAPI IAMAnalogVideoEncoder_put_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection); 10740 void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10741 HRESULT WINAPI IAMAnalogVideoEncoder_get_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection); 10742 void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10743 HRESULT WINAPI IAMAnalogVideoEncoder_put_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG lCCEnable); 10744 void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10745 HRESULT WINAPI IAMAnalogVideoEncoder_get_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG *lCCEnable); 10746 void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10747 #endif 10748 10749 typedef enum __MIDL___MIDL_itf_strmif_0185_0001 { 10750 AMPROPERTY_PIN_CATEGORY = 0,AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1 10751 } AMPROPERTY_PIN; 10752 10753 #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__ 10754 #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__ 10755 EXTERN_C const IID IID_IAMPhysicalPinInfo; 10756 #if defined(__cplusplus) && !defined(CINTERFACE) 10757 struct IAMPhysicalPinInfo : public IUnknown { 10758 public: 10759 virtual HRESULT WINAPI GetPhysicalType(LONG *pType,LPOLESTR *ppszType) = 0; 10760 }; 10761 #else 10762 typedef struct IAMPhysicalPinInfoVtbl { 10763 BEGIN_INTERFACE 10764 HRESULT (WINAPI *QueryInterface)(IAMPhysicalPinInfo *This,REFIID riid,void **ppvObject); 10765 ULONG (WINAPI *AddRef)(IAMPhysicalPinInfo *This); 10766 ULONG (WINAPI *Release)(IAMPhysicalPinInfo *This); 10767 HRESULT (WINAPI *GetPhysicalType)(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType); 10768 END_INTERFACE 10769 } IAMPhysicalPinInfoVtbl; 10770 struct IAMPhysicalPinInfo { 10771 CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl; 10772 }; 10773 #ifdef COBJMACROS 10774 #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10775 #define IAMPhysicalPinInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 10776 #define IAMPhysicalPinInfo_Release(This) (This)->lpVtbl->Release(This) 10777 #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) (This)->lpVtbl->GetPhysicalType(This,pType,ppszType) 10778 #endif 10779 #endif 10780 HRESULT WINAPI IAMPhysicalPinInfo_GetPhysicalType_Proxy(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType); 10781 void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10782 #endif 10783 10784 typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO; 10785 10786 extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec; 10787 extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec; 10788 #ifndef __IAMExtDevice_INTERFACE_DEFINED__ 10789 #define __IAMExtDevice_INTERFACE_DEFINED__ 10790 EXTERN_C const IID IID_IAMExtDevice; 10791 #if defined(__cplusplus) && !defined(CINTERFACE) 10792 struct IAMExtDevice : public IUnknown { 10793 public: 10794 virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0; 10795 virtual HRESULT WINAPI get_ExternalDeviceID(LPOLESTR *ppszData) = 0; 10796 virtual HRESULT WINAPI get_ExternalDeviceVersion(LPOLESTR *ppszData) = 0; 10797 virtual HRESULT WINAPI put_DevicePower(LONG PowerMode) = 0; 10798 virtual HRESULT WINAPI get_DevicePower(LONG *pPowerMode) = 0; 10799 virtual HRESULT WINAPI Calibrate(HEVENT hEvent,LONG Mode,LONG *pStatus) = 0; 10800 virtual HRESULT WINAPI put_DevicePort(LONG DevicePort) = 0; 10801 virtual HRESULT WINAPI get_DevicePort(LONG *pDevicePort) = 0; 10802 }; 10803 #else 10804 typedef struct IAMExtDeviceVtbl { 10805 BEGIN_INTERFACE 10806 HRESULT (WINAPI *QueryInterface)(IAMExtDevice *This,REFIID riid,void **ppvObject); 10807 ULONG (WINAPI *AddRef)(IAMExtDevice *This); 10808 ULONG (WINAPI *Release)(IAMExtDevice *This); 10809 HRESULT (WINAPI *GetCapability)(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue); 10810 HRESULT (WINAPI *get_ExternalDeviceID)(IAMExtDevice *This,LPOLESTR *ppszData); 10811 HRESULT (WINAPI *get_ExternalDeviceVersion)(IAMExtDevice *This,LPOLESTR *ppszData); 10812 HRESULT (WINAPI *put_DevicePower)(IAMExtDevice *This,LONG PowerMode); 10813 HRESULT (WINAPI *get_DevicePower)(IAMExtDevice *This,LONG *pPowerMode); 10814 HRESULT (WINAPI *Calibrate)(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus); 10815 HRESULT (WINAPI *put_DevicePort)(IAMExtDevice *This,LONG DevicePort); 10816 HRESULT (WINAPI *get_DevicePort)(IAMExtDevice *This,LONG *pDevicePort); 10817 END_INTERFACE 10818 } IAMExtDeviceVtbl; 10819 struct IAMExtDevice { 10820 CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl; 10821 }; 10822 #ifdef COBJMACROS 10823 #define IAMExtDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10824 #define IAMExtDevice_AddRef(This) (This)->lpVtbl->AddRef(This) 10825 #define IAMExtDevice_Release(This) (This)->lpVtbl->Release(This) 10826 #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue) 10827 #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) (This)->lpVtbl->get_ExternalDeviceID(This,ppszData) 10828 #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) (This)->lpVtbl->get_ExternalDeviceVersion(This,ppszData) 10829 #define IAMExtDevice_put_DevicePower(This,PowerMode) (This)->lpVtbl->put_DevicePower(This,PowerMode) 10830 #define IAMExtDevice_get_DevicePower(This,pPowerMode) (This)->lpVtbl->get_DevicePower(This,pPowerMode) 10831 #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) (This)->lpVtbl->Calibrate(This,hEvent,Mode,pStatus) 10832 #define IAMExtDevice_put_DevicePort(This,DevicePort) (This)->lpVtbl->put_DevicePort(This,DevicePort) 10833 #define IAMExtDevice_get_DevicePort(This,pDevicePort) (This)->lpVtbl->get_DevicePort(This,pDevicePort) 10834 #endif 10835 #endif 10836 HRESULT WINAPI IAMExtDevice_GetCapability_Proxy(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue); 10837 void __RPC_STUB IAMExtDevice_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10838 HRESULT WINAPI IAMExtDevice_get_ExternalDeviceID_Proxy(IAMExtDevice *This,LPOLESTR *ppszData); 10839 void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10840 HRESULT WINAPI IAMExtDevice_get_ExternalDeviceVersion_Proxy(IAMExtDevice *This,LPOLESTR *ppszData); 10841 void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10842 HRESULT WINAPI IAMExtDevice_put_DevicePower_Proxy(IAMExtDevice *This,LONG PowerMode); 10843 void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10844 HRESULT WINAPI IAMExtDevice_get_DevicePower_Proxy(IAMExtDevice *This,LONG *pPowerMode); 10845 void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10846 HRESULT WINAPI IAMExtDevice_Calibrate_Proxy(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus); 10847 void __RPC_STUB IAMExtDevice_Calibrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10848 HRESULT WINAPI IAMExtDevice_put_DevicePort_Proxy(IAMExtDevice *This,LONG DevicePort); 10849 void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10850 HRESULT WINAPI IAMExtDevice_get_DevicePort_Proxy(IAMExtDevice *This,LONG *pDevicePort); 10851 void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10852 #endif 10853 10854 typedef IAMExtDevice *PEXTDEVICE; 10855 10856 extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec; 10857 extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec; 10858 #ifndef __IAMExtTransport_INTERFACE_DEFINED__ 10859 #define __IAMExtTransport_INTERFACE_DEFINED__ 10860 EXTERN_C const IID IID_IAMExtTransport; 10861 #if defined(__cplusplus) && !defined(CINTERFACE) 10862 struct IAMExtTransport : public IUnknown { 10863 public: 10864 virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0; 10865 virtual HRESULT WINAPI put_MediaState(LONG State) = 0; 10866 virtual HRESULT WINAPI get_MediaState(LONG *pState) = 0; 10867 virtual HRESULT WINAPI put_LocalControl(LONG State) = 0; 10868 virtual HRESULT WINAPI get_LocalControl(LONG *pState) = 0; 10869 virtual HRESULT WINAPI GetStatus(LONG StatusItem,LONG *pValue) = 0; 10870 virtual HRESULT WINAPI GetTransportBasicParameters(LONG Param,LONG *pValue,LPOLESTR *ppszData) = 0; 10871 virtual HRESULT WINAPI SetTransportBasicParameters(LONG Param,LONG Value,LPCOLESTR pszData) = 0; 10872 virtual HRESULT WINAPI GetTransportVideoParameters(LONG Param,LONG *pValue) = 0; 10873 virtual HRESULT WINAPI SetTransportVideoParameters(LONG Param,LONG Value) = 0; 10874 virtual HRESULT WINAPI GetTransportAudioParameters(LONG Param,LONG *pValue) = 0; 10875 virtual HRESULT WINAPI SetTransportAudioParameters(LONG Param,LONG Value) = 0; 10876 virtual HRESULT WINAPI put_Mode(LONG Mode) = 0; 10877 virtual HRESULT WINAPI get_Mode(LONG *pMode) = 0; 10878 virtual HRESULT WINAPI put_Rate(double dblRate) = 0; 10879 virtual HRESULT WINAPI get_Rate(double *pdblRate) = 0; 10880 virtual HRESULT WINAPI GetChase(LONG *pEnabled,LONG *pOffset,HEVENT *phEvent) = 0; 10881 virtual HRESULT WINAPI SetChase(LONG Enable,LONG Offset,HEVENT hEvent) = 0; 10882 virtual HRESULT WINAPI GetBump(LONG *pSpeed,LONG *pDuration) = 0; 10883 virtual HRESULT WINAPI SetBump(LONG Speed,LONG Duration) = 0; 10884 virtual HRESULT WINAPI get_AntiClogControl(LONG *pEnabled) = 0; 10885 virtual HRESULT WINAPI put_AntiClogControl(LONG Enable) = 0; 10886 virtual HRESULT WINAPI GetEditPropertySet(LONG EditID,LONG *pState) = 0; 10887 virtual HRESULT WINAPI SetEditPropertySet(LONG *pEditID,LONG State) = 0; 10888 virtual HRESULT WINAPI GetEditProperty(LONG EditID,LONG Param,LONG *pValue) = 0; 10889 virtual HRESULT WINAPI SetEditProperty(LONG EditID,LONG Param,LONG Value) = 0; 10890 virtual HRESULT WINAPI get_EditStart(LONG *pValue) = 0; 10891 virtual HRESULT WINAPI put_EditStart(LONG Value) = 0; 10892 }; 10893 #else 10894 typedef struct IAMExtTransportVtbl { 10895 BEGIN_INTERFACE 10896 HRESULT (WINAPI *QueryInterface)(IAMExtTransport *This,REFIID riid,void **ppvObject); 10897 ULONG (WINAPI *AddRef)(IAMExtTransport *This); 10898 ULONG (WINAPI *Release)(IAMExtTransport *This); 10899 HRESULT (WINAPI *GetCapability)(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue); 10900 HRESULT (WINAPI *put_MediaState)(IAMExtTransport *This,LONG State); 10901 HRESULT (WINAPI *get_MediaState)(IAMExtTransport *This,LONG *pState); 10902 HRESULT (WINAPI *put_LocalControl)(IAMExtTransport *This,LONG State); 10903 HRESULT (WINAPI *get_LocalControl)(IAMExtTransport *This,LONG *pState); 10904 HRESULT (WINAPI *GetStatus)(IAMExtTransport *This,LONG StatusItem,LONG *pValue); 10905 HRESULT (WINAPI *GetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData); 10906 HRESULT (WINAPI *SetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData); 10907 HRESULT (WINAPI *GetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG *pValue); 10908 HRESULT (WINAPI *SetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG Value); 10909 HRESULT (WINAPI *GetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG *pValue); 10910 HRESULT (WINAPI *SetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG Value); 10911 HRESULT (WINAPI *put_Mode)(IAMExtTransport *This,LONG Mode); 10912 HRESULT (WINAPI *get_Mode)(IAMExtTransport *This,LONG *pMode); 10913 HRESULT (WINAPI *put_Rate)(IAMExtTransport *This,double dblRate); 10914 HRESULT (WINAPI *get_Rate)(IAMExtTransport *This,double *pdblRate); 10915 HRESULT (WINAPI *GetChase)(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent); 10916 HRESULT (WINAPI *SetChase)(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent); 10917 HRESULT (WINAPI *GetBump)(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration); 10918 HRESULT (WINAPI *SetBump)(IAMExtTransport *This,LONG Speed,LONG Duration); 10919 HRESULT (WINAPI *get_AntiClogControl)(IAMExtTransport *This,LONG *pEnabled); 10920 HRESULT (WINAPI *put_AntiClogControl)(IAMExtTransport *This,LONG Enable); 10921 HRESULT (WINAPI *GetEditPropertySet)(IAMExtTransport *This,LONG EditID,LONG *pState); 10922 HRESULT (WINAPI *SetEditPropertySet)(IAMExtTransport *This,LONG *pEditID,LONG State); 10923 HRESULT (WINAPI *GetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue); 10924 HRESULT (WINAPI *SetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value); 10925 HRESULT (WINAPI *get_EditStart)(IAMExtTransport *This,LONG *pValue); 10926 HRESULT (WINAPI *put_EditStart)(IAMExtTransport *This,LONG Value); 10927 END_INTERFACE 10928 } IAMExtTransportVtbl; 10929 struct IAMExtTransport { 10930 CONST_VTBL struct IAMExtTransportVtbl *lpVtbl; 10931 }; 10932 #ifdef COBJMACROS 10933 #define IAMExtTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 10934 #define IAMExtTransport_AddRef(This) (This)->lpVtbl->AddRef(This) 10935 #define IAMExtTransport_Release(This) (This)->lpVtbl->Release(This) 10936 #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue) 10937 #define IAMExtTransport_put_MediaState(This,State) (This)->lpVtbl->put_MediaState(This,State) 10938 #define IAMExtTransport_get_MediaState(This,pState) (This)->lpVtbl->get_MediaState(This,pState) 10939 #define IAMExtTransport_put_LocalControl(This,State) (This)->lpVtbl->put_LocalControl(This,State) 10940 #define IAMExtTransport_get_LocalControl(This,pState) (This)->lpVtbl->get_LocalControl(This,pState) 10941 #define IAMExtTransport_GetStatus(This,StatusItem,pValue) (This)->lpVtbl->GetStatus(This,StatusItem,pValue) 10942 #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) (This)->lpVtbl->GetTransportBasicParameters(This,Param,pValue,ppszData) 10943 #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) (This)->lpVtbl->SetTransportBasicParameters(This,Param,Value,pszData) 10944 #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) (This)->lpVtbl->GetTransportVideoParameters(This,Param,pValue) 10945 #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) (This)->lpVtbl->SetTransportVideoParameters(This,Param,Value) 10946 #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) (This)->lpVtbl->GetTransportAudioParameters(This,Param,pValue) 10947 #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) (This)->lpVtbl->SetTransportAudioParameters(This,Param,Value) 10948 #define IAMExtTransport_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode) 10949 #define IAMExtTransport_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode) 10950 #define IAMExtTransport_put_Rate(This,dblRate) (This)->lpVtbl->put_Rate(This,dblRate) 10951 #define IAMExtTransport_get_Rate(This,pdblRate) (This)->lpVtbl->get_Rate(This,pdblRate) 10952 #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) (This)->lpVtbl->GetChase(This,pEnabled,pOffset,phEvent) 10953 #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) (This)->lpVtbl->SetChase(This,Enable,Offset,hEvent) 10954 #define IAMExtTransport_GetBump(This,pSpeed,pDuration) (This)->lpVtbl->GetBump(This,pSpeed,pDuration) 10955 #define IAMExtTransport_SetBump(This,Speed,Duration) (This)->lpVtbl->SetBump(This,Speed,Duration) 10956 #define IAMExtTransport_get_AntiClogControl(This,pEnabled) (This)->lpVtbl->get_AntiClogControl(This,pEnabled) 10957 #define IAMExtTransport_put_AntiClogControl(This,Enable) (This)->lpVtbl->put_AntiClogControl(This,Enable) 10958 #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) (This)->lpVtbl->GetEditPropertySet(This,EditID,pState) 10959 #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) (This)->lpVtbl->SetEditPropertySet(This,pEditID,State) 10960 #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) (This)->lpVtbl->GetEditProperty(This,EditID,Param,pValue) 10961 #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) (This)->lpVtbl->SetEditProperty(This,EditID,Param,Value) 10962 #define IAMExtTransport_get_EditStart(This,pValue) (This)->lpVtbl->get_EditStart(This,pValue) 10963 #define IAMExtTransport_put_EditStart(This,Value) (This)->lpVtbl->put_EditStart(This,Value) 10964 #endif 10965 #endif 10966 HRESULT WINAPI IAMExtTransport_GetCapability_Proxy(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue); 10967 void __RPC_STUB IAMExtTransport_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10968 HRESULT WINAPI IAMExtTransport_put_MediaState_Proxy(IAMExtTransport *This,LONG State); 10969 void __RPC_STUB IAMExtTransport_put_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10970 HRESULT WINAPI IAMExtTransport_get_MediaState_Proxy(IAMExtTransport *This,LONG *pState); 10971 void __RPC_STUB IAMExtTransport_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10972 HRESULT WINAPI IAMExtTransport_put_LocalControl_Proxy(IAMExtTransport *This,LONG State); 10973 void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10974 HRESULT WINAPI IAMExtTransport_get_LocalControl_Proxy(IAMExtTransport *This,LONG *pState); 10975 void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10976 HRESULT WINAPI IAMExtTransport_GetStatus_Proxy(IAMExtTransport *This,LONG StatusItem,LONG *pValue); 10977 void __RPC_STUB IAMExtTransport_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10978 HRESULT WINAPI IAMExtTransport_GetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData); 10979 void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10980 HRESULT WINAPI IAMExtTransport_SetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData); 10981 void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10982 HRESULT WINAPI IAMExtTransport_GetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue); 10983 void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10984 HRESULT WINAPI IAMExtTransport_SetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value); 10985 void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10986 HRESULT WINAPI IAMExtTransport_GetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue); 10987 void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10988 HRESULT WINAPI IAMExtTransport_SetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value); 10989 void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10990 HRESULT WINAPI IAMExtTransport_put_Mode_Proxy(IAMExtTransport *This,LONG Mode); 10991 void __RPC_STUB IAMExtTransport_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10992 HRESULT WINAPI IAMExtTransport_get_Mode_Proxy(IAMExtTransport *This,LONG *pMode); 10993 void __RPC_STUB IAMExtTransport_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10994 HRESULT WINAPI IAMExtTransport_put_Rate_Proxy(IAMExtTransport *This,double dblRate); 10995 void __RPC_STUB IAMExtTransport_put_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10996 HRESULT WINAPI IAMExtTransport_get_Rate_Proxy(IAMExtTransport *This,double *pdblRate); 10997 void __RPC_STUB IAMExtTransport_get_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 10998 HRESULT WINAPI IAMExtTransport_GetChase_Proxy(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent); 10999 void __RPC_STUB IAMExtTransport_GetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11000 HRESULT WINAPI IAMExtTransport_SetChase_Proxy(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent); 11001 void __RPC_STUB IAMExtTransport_SetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11002 HRESULT WINAPI IAMExtTransport_GetBump_Proxy(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration); 11003 void __RPC_STUB IAMExtTransport_GetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11004 HRESULT WINAPI IAMExtTransport_SetBump_Proxy(IAMExtTransport *This,LONG Speed,LONG Duration); 11005 void __RPC_STUB IAMExtTransport_SetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11006 HRESULT WINAPI IAMExtTransport_get_AntiClogControl_Proxy(IAMExtTransport *This,LONG *pEnabled); 11007 void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11008 HRESULT WINAPI IAMExtTransport_put_AntiClogControl_Proxy(IAMExtTransport *This,LONG Enable); 11009 void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11010 HRESULT WINAPI IAMExtTransport_GetEditPropertySet_Proxy(IAMExtTransport *This,LONG EditID,LONG *pState); 11011 void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11012 HRESULT WINAPI IAMExtTransport_SetEditPropertySet_Proxy(IAMExtTransport *This,LONG *pEditID,LONG State); 11013 void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11014 HRESULT WINAPI IAMExtTransport_GetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue); 11015 void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11016 HRESULT WINAPI IAMExtTransport_SetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value); 11017 void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11018 HRESULT WINAPI IAMExtTransport_get_EditStart_Proxy(IAMExtTransport *This,LONG *pValue); 11019 void __RPC_STUB IAMExtTransport_get_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11020 HRESULT WINAPI IAMExtTransport_put_EditStart_Proxy(IAMExtTransport *This,LONG Value); 11021 void __RPC_STUB IAMExtTransport_put_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11022 #endif 11023 11024 typedef IAMExtTransport *PIAMEXTTRANSPORT; 11025 11026 #ifndef TIMECODE_DEFINED 11027 #define TIMECODE_DEFINED 11028 typedef union _timecode { 11029 __C89_NAMELESS struct { 11030 WORD wFrameRate; 11031 WORD wFrameFract; 11032 DWORD dwFrames; 11033 }; 11034 DWORDLONG qw; 11035 } TIMECODE; 11036 #endif 11037 11038 typedef TIMECODE *PTIMECODE; 11039 11040 typedef struct tagTIMECODE_SAMPLE { 11041 LONGLONG qwTick; 11042 TIMECODE timecode; 11043 DWORD dwUser; 11044 DWORD dwFlags; 11045 } TIMECODE_SAMPLE; 11046 11047 typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE; 11048 11049 extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec; 11050 extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec; 11051 #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__ 11052 #define __IAMTimecodeReader_INTERFACE_DEFINED__ 11053 EXTERN_C const IID IID_IAMTimecodeReader; 11054 #if defined(__cplusplus) && !defined(CINTERFACE) 11055 struct IAMTimecodeReader : public IUnknown { 11056 public: 11057 virtual HRESULT WINAPI GetTCRMode(LONG Param,LONG *pValue) = 0; 11058 virtual HRESULT WINAPI SetTCRMode(LONG Param,LONG Value) = 0; 11059 virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0; 11060 virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0; 11061 virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; 11062 }; 11063 #else 11064 typedef struct IAMTimecodeReaderVtbl { 11065 BEGIN_INTERFACE 11066 HRESULT (WINAPI *QueryInterface)(IAMTimecodeReader *This,REFIID riid,void **ppvObject); 11067 ULONG (WINAPI *AddRef)(IAMTimecodeReader *This); 11068 ULONG (WINAPI *Release)(IAMTimecodeReader *This); 11069 HRESULT (WINAPI *GetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG *pValue); 11070 HRESULT (WINAPI *SetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG Value); 11071 HRESULT (WINAPI *put_VITCLine)(IAMTimecodeReader *This,LONG Line); 11072 HRESULT (WINAPI *get_VITCLine)(IAMTimecodeReader *This,LONG *pLine); 11073 HRESULT (WINAPI *GetTimecode)(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample); 11074 END_INTERFACE 11075 } IAMTimecodeReaderVtbl; 11076 struct IAMTimecodeReader { 11077 CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl; 11078 }; 11079 #ifdef COBJMACROS 11080 #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11081 #define IAMTimecodeReader_AddRef(This) (This)->lpVtbl->AddRef(This) 11082 #define IAMTimecodeReader_Release(This) (This)->lpVtbl->Release(This) 11083 #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) (This)->lpVtbl->GetTCRMode(This,Param,pValue) 11084 #define IAMTimecodeReader_SetTCRMode(This,Param,Value) (This)->lpVtbl->SetTCRMode(This,Param,Value) 11085 #define IAMTimecodeReader_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line) 11086 #define IAMTimecodeReader_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine) 11087 #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample) 11088 #endif 11089 #endif 11090 HRESULT WINAPI IAMTimecodeReader_GetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG *pValue); 11091 void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11092 HRESULT WINAPI IAMTimecodeReader_SetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG Value); 11093 void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11094 HRESULT WINAPI IAMTimecodeReader_put_VITCLine_Proxy(IAMTimecodeReader *This,LONG Line); 11095 void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11096 HRESULT WINAPI IAMTimecodeReader_get_VITCLine_Proxy(IAMTimecodeReader *This,LONG *pLine); 11097 void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11098 HRESULT WINAPI IAMTimecodeReader_GetTimecode_Proxy(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample); 11099 void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11100 #endif 11101 11102 typedef IAMTimecodeReader *PIAMTIMECODEREADER; 11103 11104 extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec; 11105 extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec; 11106 #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__ 11107 #define __IAMTimecodeGenerator_INTERFACE_DEFINED__ 11108 EXTERN_C const IID IID_IAMTimecodeGenerator; 11109 #if defined(__cplusplus) && !defined(CINTERFACE) 11110 struct IAMTimecodeGenerator : public IUnknown { 11111 public: 11112 virtual HRESULT WINAPI GetTCGMode(LONG Param,LONG *pValue) = 0; 11113 virtual HRESULT WINAPI SetTCGMode(LONG Param,LONG Value) = 0; 11114 virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0; 11115 virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0; 11116 virtual HRESULT WINAPI SetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; 11117 virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; 11118 }; 11119 #else 11120 typedef struct IAMTimecodeGeneratorVtbl { 11121 BEGIN_INTERFACE 11122 HRESULT (WINAPI *QueryInterface)(IAMTimecodeGenerator *This,REFIID riid,void **ppvObject); 11123 ULONG (WINAPI *AddRef)(IAMTimecodeGenerator *This); 11124 ULONG (WINAPI *Release)(IAMTimecodeGenerator *This); 11125 HRESULT (WINAPI *GetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG *pValue); 11126 HRESULT (WINAPI *SetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG Value); 11127 HRESULT (WINAPI *put_VITCLine)(IAMTimecodeGenerator *This,LONG Line); 11128 HRESULT (WINAPI *get_VITCLine)(IAMTimecodeGenerator *This,LONG *pLine); 11129 HRESULT (WINAPI *SetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); 11130 HRESULT (WINAPI *GetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); 11131 END_INTERFACE 11132 } IAMTimecodeGeneratorVtbl; 11133 struct IAMTimecodeGenerator { 11134 CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl; 11135 }; 11136 #ifdef COBJMACROS 11137 #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11138 #define IAMTimecodeGenerator_AddRef(This) (This)->lpVtbl->AddRef(This) 11139 #define IAMTimecodeGenerator_Release(This) (This)->lpVtbl->Release(This) 11140 #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) (This)->lpVtbl->GetTCGMode(This,Param,pValue) 11141 #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) (This)->lpVtbl->SetTCGMode(This,Param,Value) 11142 #define IAMTimecodeGenerator_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line) 11143 #define IAMTimecodeGenerator_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine) 11144 #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) (This)->lpVtbl->SetTimecode(This,pTimecodeSample) 11145 #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample) 11146 #endif 11147 #endif 11148 HRESULT WINAPI IAMTimecodeGenerator_GetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG *pValue); 11149 void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11150 HRESULT WINAPI IAMTimecodeGenerator_SetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG Value); 11151 void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11152 HRESULT WINAPI IAMTimecodeGenerator_put_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG Line); 11153 void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11154 HRESULT WINAPI IAMTimecodeGenerator_get_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG *pLine); 11155 void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11156 HRESULT WINAPI IAMTimecodeGenerator_SetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); 11157 void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11158 HRESULT WINAPI IAMTimecodeGenerator_GetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); 11159 void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11160 #endif 11161 11162 typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR; 11163 11164 extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec; 11165 extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec; 11166 #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__ 11167 #define __IAMTimecodeDisplay_INTERFACE_DEFINED__ 11168 EXTERN_C const IID IID_IAMTimecodeDisplay; 11169 #if defined(__cplusplus) && !defined(CINTERFACE) 11170 struct IAMTimecodeDisplay : public IUnknown { 11171 public: 11172 virtual HRESULT WINAPI GetTCDisplayEnable(LONG *pState) = 0; 11173 virtual HRESULT WINAPI SetTCDisplayEnable(LONG State) = 0; 11174 virtual HRESULT WINAPI GetTCDisplay(LONG Param,LONG *pValue) = 0; 11175 virtual HRESULT WINAPI SetTCDisplay(LONG Param,LONG Value) = 0; 11176 }; 11177 #else 11178 typedef struct IAMTimecodeDisplayVtbl { 11179 BEGIN_INTERFACE 11180 HRESULT (WINAPI *QueryInterface)(IAMTimecodeDisplay *This,REFIID riid,void **ppvObject); 11181 ULONG (WINAPI *AddRef)(IAMTimecodeDisplay *This); 11182 ULONG (WINAPI *Release)(IAMTimecodeDisplay *This); 11183 HRESULT (WINAPI *GetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG *pState); 11184 HRESULT (WINAPI *SetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG State); 11185 HRESULT (WINAPI *GetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG *pValue); 11186 HRESULT (WINAPI *SetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG Value); 11187 END_INTERFACE 11188 } IAMTimecodeDisplayVtbl; 11189 struct IAMTimecodeDisplay { 11190 CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl; 11191 }; 11192 #ifdef COBJMACROS 11193 #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11194 #define IAMTimecodeDisplay_AddRef(This) (This)->lpVtbl->AddRef(This) 11195 #define IAMTimecodeDisplay_Release(This) (This)->lpVtbl->Release(This) 11196 #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) (This)->lpVtbl->GetTCDisplayEnable(This,pState) 11197 #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) (This)->lpVtbl->SetTCDisplayEnable(This,State) 11198 #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) (This)->lpVtbl->GetTCDisplay(This,Param,pValue) 11199 #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) (This)->lpVtbl->SetTCDisplay(This,Param,Value) 11200 #endif 11201 #endif 11202 HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG *pState); 11203 void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11204 HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG State); 11205 void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11206 HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG *pValue); 11207 void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11208 HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG Value); 11209 void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11210 #endif 11211 11212 typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY; 11213 11214 extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec; 11215 extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec; 11216 #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__ 11217 #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__ 11218 EXTERN_C const IID IID_IAMDevMemoryAllocator; 11219 #if defined(__cplusplus) && !defined(CINTERFACE) 11220 struct IAMDevMemoryAllocator : public IUnknown { 11221 public: 11222 virtual HRESULT WINAPI GetInfo(DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk) = 0; 11223 virtual HRESULT WINAPI CheckMemory(const BYTE *pBuffer) = 0; 11224 virtual HRESULT WINAPI Alloc(BYTE **ppBuffer,DWORD *pdwcbBuffer) = 0; 11225 virtual HRESULT WINAPI Free(BYTE *pBuffer) = 0; 11226 virtual HRESULT WINAPI GetDevMemoryObject(IUnknown **ppUnkInnner,IUnknown *pUnkOuter) = 0; 11227 }; 11228 #else 11229 typedef struct IAMDevMemoryAllocatorVtbl { 11230 BEGIN_INTERFACE 11231 HRESULT (WINAPI *QueryInterface)(IAMDevMemoryAllocator *This,REFIID riid,void **ppvObject); 11232 ULONG (WINAPI *AddRef)(IAMDevMemoryAllocator *This); 11233 ULONG (WINAPI *Release)(IAMDevMemoryAllocator *This); 11234 HRESULT (WINAPI *GetInfo)(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk); 11235 HRESULT (WINAPI *CheckMemory)(IAMDevMemoryAllocator *This,const BYTE *pBuffer); 11236 HRESULT (WINAPI *Alloc)(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer); 11237 HRESULT (WINAPI *Free)(IAMDevMemoryAllocator *This,BYTE *pBuffer); 11238 HRESULT (WINAPI *GetDevMemoryObject)(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter); 11239 END_INTERFACE 11240 } IAMDevMemoryAllocatorVtbl; 11241 struct IAMDevMemoryAllocator { 11242 CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl; 11243 }; 11244 #ifdef COBJMACROS 11245 #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11246 #define IAMDevMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 11247 #define IAMDevMemoryAllocator_Release(This) (This)->lpVtbl->Release(This) 11248 #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) (This)->lpVtbl->GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) 11249 #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) (This)->lpVtbl->CheckMemory(This,pBuffer) 11250 #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) (This)->lpVtbl->Alloc(This,ppBuffer,pdwcbBuffer) 11251 #define IAMDevMemoryAllocator_Free(This,pBuffer) (This)->lpVtbl->Free(This,pBuffer) 11252 #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) (This)->lpVtbl->GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) 11253 #endif 11254 #endif 11255 HRESULT WINAPI IAMDevMemoryAllocator_GetInfo_Proxy(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk); 11256 void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11257 HRESULT WINAPI IAMDevMemoryAllocator_CheckMemory_Proxy(IAMDevMemoryAllocator *This,const BYTE *pBuffer); 11258 void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11259 HRESULT WINAPI IAMDevMemoryAllocator_Alloc_Proxy(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer); 11260 void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11261 HRESULT WINAPI IAMDevMemoryAllocator_Free_Proxy(IAMDevMemoryAllocator *This,BYTE *pBuffer); 11262 void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11263 HRESULT WINAPI IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter); 11264 void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11265 #endif 11266 11267 typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR; 11268 11269 extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec; 11270 extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec; 11271 #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__ 11272 #define __IAMDevMemoryControl_INTERFACE_DEFINED__ 11273 EXTERN_C const IID IID_IAMDevMemoryControl; 11274 #if defined(__cplusplus) && !defined(CINTERFACE) 11275 struct IAMDevMemoryControl : public IUnknown { 11276 public: 11277 virtual HRESULT WINAPI QueryWriteSync(void) = 0; 11278 virtual HRESULT WINAPI WriteSync(void) = 0; 11279 virtual HRESULT WINAPI GetDevId(DWORD *pdwDevId) = 0; 11280 }; 11281 #else 11282 typedef struct IAMDevMemoryControlVtbl { 11283 BEGIN_INTERFACE 11284 HRESULT (WINAPI *QueryInterface)(IAMDevMemoryControl *This,REFIID riid,void **ppvObject); 11285 ULONG (WINAPI *AddRef)(IAMDevMemoryControl *This); 11286 ULONG (WINAPI *Release)(IAMDevMemoryControl *This); 11287 HRESULT (WINAPI *QueryWriteSync)(IAMDevMemoryControl *This); 11288 HRESULT (WINAPI *WriteSync)(IAMDevMemoryControl *This); 11289 HRESULT (WINAPI *GetDevId)(IAMDevMemoryControl *This,DWORD *pdwDevId); 11290 END_INTERFACE 11291 } IAMDevMemoryControlVtbl; 11292 struct IAMDevMemoryControl { 11293 CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl; 11294 }; 11295 #ifdef COBJMACROS 11296 #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11297 #define IAMDevMemoryControl_AddRef(This) (This)->lpVtbl->AddRef(This) 11298 #define IAMDevMemoryControl_Release(This) (This)->lpVtbl->Release(This) 11299 #define IAMDevMemoryControl_QueryWriteSync(This) (This)->lpVtbl->QueryWriteSync(This) 11300 #define IAMDevMemoryControl_WriteSync(This) (This)->lpVtbl->WriteSync(This) 11301 #define IAMDevMemoryControl_GetDevId(This,pdwDevId) (This)->lpVtbl->GetDevId(This,pdwDevId) 11302 #endif 11303 #endif 11304 HRESULT WINAPI IAMDevMemoryControl_QueryWriteSync_Proxy(IAMDevMemoryControl *This); 11305 void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11306 HRESULT WINAPI IAMDevMemoryControl_WriteSync_Proxy(IAMDevMemoryControl *This); 11307 void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11308 HRESULT WINAPI IAMDevMemoryControl_GetDevId_Proxy(IAMDevMemoryControl *This,DWORD *pdwDevId); 11309 void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11310 #endif 11311 11312 typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL; 11313 11314 enum _AMSTREAMSELECTINFOFLAGS { 11315 AMSTREAMSELECTINFO_ENABLED = 0x1,AMSTREAMSELECTINFO_EXCLUSIVE = 0x2 11316 }; 11317 11318 enum _AMSTREAMSELECTENABLEFLAGS { 11319 AMSTREAMSELECTENABLE_ENABLE = 0x1,AMSTREAMSELECTENABLE_ENABLEALL = 0x2 11320 }; 11321 11322 extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec; 11323 extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec; 11324 #ifndef __IAMStreamSelect_INTERFACE_DEFINED__ 11325 #define __IAMStreamSelect_INTERFACE_DEFINED__ 11326 EXTERN_C const IID IID_IAMStreamSelect; 11327 #if defined(__cplusplus) && !defined(CINTERFACE) 11328 struct IAMStreamSelect : public IUnknown { 11329 public: 11330 virtual HRESULT WINAPI Count(DWORD *pcStreams) = 0; 11331 virtual HRESULT WINAPI Info(LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk) = 0; 11332 virtual HRESULT WINAPI Enable(LONG lIndex,DWORD dwFlags) = 0; 11333 }; 11334 #else 11335 typedef struct IAMStreamSelectVtbl { 11336 BEGIN_INTERFACE 11337 HRESULT (WINAPI *QueryInterface)(IAMStreamSelect *This,REFIID riid,void **ppvObject); 11338 ULONG (WINAPI *AddRef)(IAMStreamSelect *This); 11339 ULONG (WINAPI *Release)(IAMStreamSelect *This); 11340 HRESULT (WINAPI *Count)(IAMStreamSelect *This,DWORD *pcStreams); 11341 HRESULT (WINAPI *Info)(IAMStreamSelect *This,LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk); 11342 HRESULT (WINAPI *Enable)(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags); 11343 END_INTERFACE 11344 } IAMStreamSelectVtbl; 11345 struct IAMStreamSelect { 11346 CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl; 11347 }; 11348 #ifdef COBJMACROS 11349 #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11350 #define IAMStreamSelect_AddRef(This) (This)->lpVtbl->AddRef(This) 11351 #define IAMStreamSelect_Release(This) (This)->lpVtbl->Release(This) 11352 #define IAMStreamSelect_Count(This,pcStreams) (This)->lpVtbl->Count(This,pcStreams) 11353 #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) (This)->lpVtbl->Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) 11354 #define IAMStreamSelect_Enable(This,lIndex,dwFlags) (This)->lpVtbl->Enable(This,lIndex,dwFlags) 11355 #endif 11356 #endif 11357 HRESULT WINAPI IAMStreamSelect_Count_Proxy(IAMStreamSelect *This,DWORD *pcStreams); 11358 void __RPC_STUB IAMStreamSelect_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11359 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); 11360 void __RPC_STUB IAMStreamSelect_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11361 HRESULT WINAPI IAMStreamSelect_Enable_Proxy(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags); 11362 void __RPC_STUB IAMStreamSelect_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11363 #endif 11364 11365 typedef IAMStreamSelect *PAMSTREAMSELECT; 11366 11367 enum _AMRESCTL_RESERVEFLAGS { 11368 AMRESCTL_RESERVEFLAGS_RESERVE = 0,AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1 11369 }; 11370 11371 extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec; 11372 extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec; 11373 #ifndef __IAMResourceControl_INTERFACE_DEFINED__ 11374 #define __IAMResourceControl_INTERFACE_DEFINED__ 11375 EXTERN_C const IID IID_IAMResourceControl; 11376 #if defined(__cplusplus) && !defined(CINTERFACE) 11377 struct IAMResourceControl : public IUnknown { 11378 public: 11379 virtual HRESULT WINAPI Reserve(DWORD dwFlags,PVOID pvReserved) = 0; 11380 }; 11381 #else 11382 typedef struct IAMResourceControlVtbl { 11383 BEGIN_INTERFACE 11384 HRESULT (WINAPI *QueryInterface)(IAMResourceControl *This,REFIID riid,void **ppvObject); 11385 ULONG (WINAPI *AddRef)(IAMResourceControl *This); 11386 ULONG (WINAPI *Release)(IAMResourceControl *This); 11387 HRESULT (WINAPI *Reserve)(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved); 11388 END_INTERFACE 11389 } IAMResourceControlVtbl; 11390 struct IAMResourceControl { 11391 CONST_VTBL struct IAMResourceControlVtbl *lpVtbl; 11392 }; 11393 #ifdef COBJMACROS 11394 #define IAMResourceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11395 #define IAMResourceControl_AddRef(This) (This)->lpVtbl->AddRef(This) 11396 #define IAMResourceControl_Release(This) (This)->lpVtbl->Release(This) 11397 #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) (This)->lpVtbl->Reserve(This,dwFlags,pvReserved) 11398 #endif 11399 #endif 11400 HRESULT WINAPI IAMResourceControl_Reserve_Proxy(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved); 11401 void __RPC_STUB IAMResourceControl_Reserve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11402 #endif 11403 11404 #ifndef __IAMClockAdjust_INTERFACE_DEFINED__ 11405 #define __IAMClockAdjust_INTERFACE_DEFINED__ 11406 EXTERN_C const IID IID_IAMClockAdjust; 11407 #if defined(__cplusplus) && !defined(CINTERFACE) 11408 struct IAMClockAdjust : public IUnknown { 11409 public: 11410 virtual HRESULT WINAPI SetClockDelta(REFERENCE_TIME rtDelta) = 0; 11411 }; 11412 #else 11413 typedef struct IAMClockAdjustVtbl { 11414 BEGIN_INTERFACE 11415 HRESULT (WINAPI *QueryInterface)(IAMClockAdjust *This,REFIID riid,void **ppvObject); 11416 ULONG (WINAPI *AddRef)(IAMClockAdjust *This); 11417 ULONG (WINAPI *Release)(IAMClockAdjust *This); 11418 HRESULT (WINAPI *SetClockDelta)(IAMClockAdjust *This,REFERENCE_TIME rtDelta); 11419 END_INTERFACE 11420 } IAMClockAdjustVtbl; 11421 struct IAMClockAdjust { 11422 CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl; 11423 }; 11424 #ifdef COBJMACROS 11425 #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11426 #define IAMClockAdjust_AddRef(This) (This)->lpVtbl->AddRef(This) 11427 #define IAMClockAdjust_Release(This) (This)->lpVtbl->Release(This) 11428 #define IAMClockAdjust_SetClockDelta(This,rtDelta) (This)->lpVtbl->SetClockDelta(This,rtDelta) 11429 #endif 11430 #endif 11431 HRESULT WINAPI IAMClockAdjust_SetClockDelta_Proxy(IAMClockAdjust *This,REFERENCE_TIME rtDelta); 11432 void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11433 #endif 11434 11435 #ifndef __IDrawVideoImage_INTERFACE_DEFINED__ 11436 #define __IDrawVideoImage_INTERFACE_DEFINED__ 11437 EXTERN_C const IID IID_IDrawVideoImage; 11438 #if defined(__cplusplus) && !defined(CINTERFACE) 11439 struct IDrawVideoImage : public IUnknown { 11440 public: 11441 virtual HRESULT WINAPI DrawVideoImageBegin(void) = 0; 11442 virtual HRESULT WINAPI DrawVideoImageEnd(void) = 0; 11443 virtual HRESULT WINAPI DrawVideoImageDraw(HDC hdc,LPRECT lprcSrc,LPRECT lprcDst) = 0; 11444 }; 11445 #else 11446 typedef struct IDrawVideoImageVtbl { 11447 BEGIN_INTERFACE 11448 HRESULT (WINAPI *QueryInterface)(IDrawVideoImage *This,REFIID riid,void **ppvObject); 11449 ULONG (WINAPI *AddRef)(IDrawVideoImage *This); 11450 ULONG (WINAPI *Release)(IDrawVideoImage *This); 11451 HRESULT (WINAPI *DrawVideoImageBegin)(IDrawVideoImage *This); 11452 HRESULT (WINAPI *DrawVideoImageEnd)(IDrawVideoImage *This); 11453 HRESULT (WINAPI *DrawVideoImageDraw)(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst); 11454 END_INTERFACE 11455 } IDrawVideoImageVtbl; 11456 struct IDrawVideoImage { 11457 CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl; 11458 }; 11459 #ifdef COBJMACROS 11460 #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11461 #define IDrawVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This) 11462 #define IDrawVideoImage_Release(This) (This)->lpVtbl->Release(This) 11463 #define IDrawVideoImage_DrawVideoImageBegin(This) (This)->lpVtbl->DrawVideoImageBegin(This) 11464 #define IDrawVideoImage_DrawVideoImageEnd(This) (This)->lpVtbl->DrawVideoImageEnd(This) 11465 #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) (This)->lpVtbl->DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) 11466 #endif 11467 #endif 11468 HRESULT WINAPI IDrawVideoImage_DrawVideoImageBegin_Proxy(IDrawVideoImage *This); 11469 void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11470 HRESULT WINAPI IDrawVideoImage_DrawVideoImageEnd_Proxy(IDrawVideoImage *This); 11471 void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11472 HRESULT WINAPI IDrawVideoImage_DrawVideoImageDraw_Proxy(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst); 11473 void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11474 #endif 11475 11476 #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__ 11477 #define __IDecimateVideoImage_INTERFACE_DEFINED__ 11478 EXTERN_C const IID IID_IDecimateVideoImage; 11479 #if defined(__cplusplus) && !defined(CINTERFACE) 11480 struct IDecimateVideoImage : public IUnknown { 11481 public: 11482 virtual HRESULT WINAPI SetDecimationImageSize(LONG lWidth,LONG lHeight) = 0; 11483 virtual HRESULT WINAPI ResetDecimationImageSize(void) = 0; 11484 }; 11485 #else 11486 typedef struct IDecimateVideoImageVtbl { 11487 BEGIN_INTERFACE 11488 HRESULT (WINAPI *QueryInterface)(IDecimateVideoImage *This,REFIID riid,void **ppvObject); 11489 ULONG (WINAPI *AddRef)(IDecimateVideoImage *This); 11490 ULONG (WINAPI *Release)(IDecimateVideoImage *This); 11491 HRESULT (WINAPI *SetDecimationImageSize)(IDecimateVideoImage *This,LONG lWidth,LONG lHeight); 11492 HRESULT (WINAPI *ResetDecimationImageSize)(IDecimateVideoImage *This); 11493 END_INTERFACE 11494 } IDecimateVideoImageVtbl; 11495 struct IDecimateVideoImage { 11496 CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl; 11497 }; 11498 #ifdef COBJMACROS 11499 #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11500 #define IDecimateVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This) 11501 #define IDecimateVideoImage_Release(This) (This)->lpVtbl->Release(This) 11502 #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) (This)->lpVtbl->SetDecimationImageSize(This,lWidth,lHeight) 11503 #define IDecimateVideoImage_ResetDecimationImageSize(This) (This)->lpVtbl->ResetDecimationImageSize(This) 11504 #endif 11505 #endif 11506 HRESULT WINAPI IDecimateVideoImage_SetDecimationImageSize_Proxy(IDecimateVideoImage *This,LONG lWidth,LONG lHeight); 11507 void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11508 HRESULT WINAPI IDecimateVideoImage_ResetDecimationImageSize_Proxy(IDecimateVideoImage *This); 11509 void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11510 #endif 11511 11512 typedef enum _DECIMATION_USAGE { 11513 DECIMATION_LEGACY = 0, 11514 DECIMATION_USE_DECODER_ONLY,DECIMATION_USE_VIDEOPORT_ONLY,DECIMATION_USE_OVERLAY_ONLY, 11515 DECIMATION_DEFAULT 11516 } DECIMATION_USAGE; 11517 11518 extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec; 11519 extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec; 11520 #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__ 11521 #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__ 11522 EXTERN_C const IID IID_IAMVideoDecimationProperties; 11523 #if defined(__cplusplus) && !defined(CINTERFACE) 11524 struct IAMVideoDecimationProperties : public IUnknown { 11525 public: 11526 virtual HRESULT WINAPI QueryDecimationUsage(DECIMATION_USAGE *lpUsage) = 0; 11527 virtual HRESULT WINAPI SetDecimationUsage(DECIMATION_USAGE Usage) = 0; 11528 }; 11529 #else 11530 typedef struct IAMVideoDecimationPropertiesVtbl { 11531 BEGIN_INTERFACE 11532 HRESULT (WINAPI *QueryInterface)(IAMVideoDecimationProperties *This,REFIID riid,void **ppvObject); 11533 ULONG (WINAPI *AddRef)(IAMVideoDecimationProperties *This); 11534 ULONG (WINAPI *Release)(IAMVideoDecimationProperties *This); 11535 HRESULT (WINAPI *QueryDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage); 11536 HRESULT (WINAPI *SetDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage); 11537 END_INTERFACE 11538 } IAMVideoDecimationPropertiesVtbl; 11539 struct IAMVideoDecimationProperties { 11540 CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl; 11541 }; 11542 #ifdef COBJMACROS 11543 #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11544 #define IAMVideoDecimationProperties_AddRef(This) (This)->lpVtbl->AddRef(This) 11545 #define IAMVideoDecimationProperties_Release(This) (This)->lpVtbl->Release(This) 11546 #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) (This)->lpVtbl->QueryDecimationUsage(This,lpUsage) 11547 #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) (This)->lpVtbl->SetDecimationUsage(This,Usage) 11548 #endif 11549 #endif 11550 HRESULT WINAPI IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage); 11551 void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11552 HRESULT WINAPI IAMVideoDecimationProperties_SetDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage); 11553 void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11554 #endif 11555 11556 #ifndef __IVideoFrameStep_INTERFACE_DEFINED__ 11557 #define __IVideoFrameStep_INTERFACE_DEFINED__ 11558 EXTERN_C const IID IID_IVideoFrameStep; 11559 #if defined(__cplusplus) && !defined(CINTERFACE) 11560 struct IVideoFrameStep : public IUnknown { 11561 public: 11562 virtual HRESULT WINAPI Step(DWORD dwFrames,IUnknown *pStepObject) = 0; 11563 virtual HRESULT WINAPI CanStep(LONG bMultiple,IUnknown *pStepObject) = 0; 11564 virtual HRESULT WINAPI CancelStep(void) = 0; 11565 }; 11566 #else 11567 typedef struct IVideoFrameStepVtbl { 11568 BEGIN_INTERFACE 11569 HRESULT (WINAPI *QueryInterface)(IVideoFrameStep *This,REFIID riid,void **ppvObject); 11570 ULONG (WINAPI *AddRef)(IVideoFrameStep *This); 11571 ULONG (WINAPI *Release)(IVideoFrameStep *This); 11572 HRESULT (WINAPI *Step)(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject); 11573 HRESULT (WINAPI *CanStep)(IVideoFrameStep *This,LONG bMultiple,IUnknown *pStepObject); 11574 HRESULT (WINAPI *CancelStep)(IVideoFrameStep *This); 11575 END_INTERFACE 11576 } IVideoFrameStepVtbl; 11577 struct IVideoFrameStep { 11578 CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl; 11579 }; 11580 #ifdef COBJMACROS 11581 #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11582 #define IVideoFrameStep_AddRef(This) (This)->lpVtbl->AddRef(This) 11583 #define IVideoFrameStep_Release(This) (This)->lpVtbl->Release(This) 11584 #define IVideoFrameStep_Step(This,dwFrames,pStepObject) (This)->lpVtbl->Step(This,dwFrames,pStepObject) 11585 #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject) (This)->lpVtbl->CanStep(This,bMultiple,pStepObject) 11586 #define IVideoFrameStep_CancelStep(This) (This)->lpVtbl->CancelStep(This) 11587 #endif 11588 #endif 11589 HRESULT WINAPI IVideoFrameStep_Step_Proxy(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject); 11590 void __RPC_STUB IVideoFrameStep_Step_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11591 HRESULT WINAPI IVideoFrameStep_CanStep_Proxy(IVideoFrameStep *This,LONG bMultiple,IUnknown *pStepObject); 11592 void __RPC_STUB IVideoFrameStep_CanStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11593 HRESULT WINAPI IVideoFrameStep_CancelStep_Proxy(IVideoFrameStep *This); 11594 void __RPC_STUB IVideoFrameStep_CancelStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11595 #endif 11596 11597 enum _AM_PUSHSOURCE_FLAGS { 11598 AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4, 11599 AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000 11600 }; 11601 11602 extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec; 11603 extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec; 11604 #ifndef __IAMLatency_INTERFACE_DEFINED__ 11605 #define __IAMLatency_INTERFACE_DEFINED__ 11606 EXTERN_C const IID IID_IAMLatency; 11607 #if defined(__cplusplus) && !defined(CINTERFACE) 11608 struct IAMLatency : public IUnknown { 11609 public: 11610 virtual HRESULT WINAPI GetLatency(REFERENCE_TIME *prtLatency) = 0; 11611 }; 11612 #else 11613 typedef struct IAMLatencyVtbl { 11614 BEGIN_INTERFACE 11615 HRESULT (WINAPI *QueryInterface)(IAMLatency *This,REFIID riid,void **ppvObject); 11616 ULONG (WINAPI *AddRef)(IAMLatency *This); 11617 ULONG (WINAPI *Release)(IAMLatency *This); 11618 HRESULT (WINAPI *GetLatency)(IAMLatency *This,REFERENCE_TIME *prtLatency); 11619 END_INTERFACE 11620 } IAMLatencyVtbl; 11621 struct IAMLatency { 11622 CONST_VTBL struct IAMLatencyVtbl *lpVtbl; 11623 }; 11624 #ifdef COBJMACROS 11625 #define IAMLatency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11626 #define IAMLatency_AddRef(This) (This)->lpVtbl->AddRef(This) 11627 #define IAMLatency_Release(This) (This)->lpVtbl->Release(This) 11628 #define IAMLatency_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency) 11629 #endif 11630 #endif 11631 HRESULT WINAPI IAMLatency_GetLatency_Proxy(IAMLatency *This,REFERENCE_TIME *prtLatency); 11632 void __RPC_STUB IAMLatency_GetLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11633 #endif 11634 11635 #ifndef __IAMPushSource_INTERFACE_DEFINED__ 11636 #define __IAMPushSource_INTERFACE_DEFINED__ 11637 EXTERN_C const IID IID_IAMPushSource; 11638 #if defined(__cplusplus) && !defined(CINTERFACE) 11639 struct IAMPushSource : public IAMLatency { 11640 public: 11641 virtual HRESULT WINAPI GetPushSourceFlags(ULONG *pFlags) = 0; 11642 virtual HRESULT WINAPI SetPushSourceFlags(ULONG Flags) = 0; 11643 virtual HRESULT WINAPI SetStreamOffset(REFERENCE_TIME rtOffset) = 0; 11644 virtual HRESULT WINAPI GetStreamOffset(REFERENCE_TIME *prtOffset) = 0; 11645 virtual HRESULT WINAPI GetMaxStreamOffset(REFERENCE_TIME *prtMaxOffset) = 0; 11646 virtual HRESULT WINAPI SetMaxStreamOffset(REFERENCE_TIME rtMaxOffset) = 0; 11647 }; 11648 #else 11649 typedef struct IAMPushSourceVtbl { 11650 BEGIN_INTERFACE 11651 HRESULT (WINAPI *QueryInterface)(IAMPushSource *This,REFIID riid,void **ppvObject); 11652 ULONG (WINAPI *AddRef)(IAMPushSource *This); 11653 ULONG (WINAPI *Release)(IAMPushSource *This); 11654 HRESULT (WINAPI *GetLatency)(IAMPushSource *This,REFERENCE_TIME *prtLatency); 11655 HRESULT (WINAPI *GetPushSourceFlags)(IAMPushSource *This,ULONG *pFlags); 11656 HRESULT (WINAPI *SetPushSourceFlags)(IAMPushSource *This,ULONG Flags); 11657 HRESULT (WINAPI *SetStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtOffset); 11658 HRESULT (WINAPI *GetStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtOffset); 11659 HRESULT (WINAPI *GetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset); 11660 HRESULT (WINAPI *SetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtMaxOffset); 11661 END_INTERFACE 11662 } IAMPushSourceVtbl; 11663 struct IAMPushSource { 11664 CONST_VTBL struct IAMPushSourceVtbl *lpVtbl; 11665 }; 11666 #ifdef COBJMACROS 11667 #define IAMPushSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11668 #define IAMPushSource_AddRef(This) (This)->lpVtbl->AddRef(This) 11669 #define IAMPushSource_Release(This) (This)->lpVtbl->Release(This) 11670 #define IAMPushSource_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency) 11671 #define IAMPushSource_GetPushSourceFlags(This,pFlags) (This)->lpVtbl->GetPushSourceFlags(This,pFlags) 11672 #define IAMPushSource_SetPushSourceFlags(This,Flags) (This)->lpVtbl->SetPushSourceFlags(This,Flags) 11673 #define IAMPushSource_SetStreamOffset(This,rtOffset) (This)->lpVtbl->SetStreamOffset(This,rtOffset) 11674 #define IAMPushSource_GetStreamOffset(This,prtOffset) (This)->lpVtbl->GetStreamOffset(This,prtOffset) 11675 #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset) (This)->lpVtbl->GetMaxStreamOffset(This,prtMaxOffset) 11676 #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset) (This)->lpVtbl->SetMaxStreamOffset(This,rtMaxOffset) 11677 #endif 11678 #endif 11679 HRESULT WINAPI IAMPushSource_GetPushSourceFlags_Proxy(IAMPushSource *This,ULONG *pFlags); 11680 void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11681 HRESULT WINAPI IAMPushSource_SetPushSourceFlags_Proxy(IAMPushSource *This,ULONG Flags); 11682 void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11683 HRESULT WINAPI IAMPushSource_SetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtOffset); 11684 void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11685 HRESULT WINAPI IAMPushSource_GetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtOffset); 11686 void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11687 HRESULT WINAPI IAMPushSource_GetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset); 11688 void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11689 HRESULT WINAPI IAMPushSource_SetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtMaxOffset); 11690 void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11691 #endif 11692 11693 #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__ 11694 #define __IAMDeviceRemoval_INTERFACE_DEFINED__ 11695 EXTERN_C const IID IID_IAMDeviceRemoval; 11696 #if defined(__cplusplus) && !defined(CINTERFACE) 11697 struct IAMDeviceRemoval : public IUnknown { 11698 public: 11699 virtual HRESULT WINAPI DeviceInfo(CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink) = 0; 11700 virtual HRESULT WINAPI Reassociate(void) = 0; 11701 virtual HRESULT WINAPI Disassociate(void) = 0; 11702 }; 11703 #else 11704 typedef struct IAMDeviceRemovalVtbl { 11705 BEGIN_INTERFACE 11706 HRESULT (WINAPI *QueryInterface)(IAMDeviceRemoval *This,REFIID riid,void **ppvObject); 11707 ULONG (WINAPI *AddRef)(IAMDeviceRemoval *This); 11708 ULONG (WINAPI *Release)(IAMDeviceRemoval *This); 11709 HRESULT (WINAPI *DeviceInfo)(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink); 11710 HRESULT (WINAPI *Reassociate)(IAMDeviceRemoval *This); 11711 HRESULT (WINAPI *Disassociate)(IAMDeviceRemoval *This); 11712 END_INTERFACE 11713 } IAMDeviceRemovalVtbl; 11714 struct IAMDeviceRemoval { 11715 CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl; 11716 }; 11717 #ifdef COBJMACROS 11718 #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11719 #define IAMDeviceRemoval_AddRef(This) (This)->lpVtbl->AddRef(This) 11720 #define IAMDeviceRemoval_Release(This) (This)->lpVtbl->Release(This) 11721 #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) (This)->lpVtbl->DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) 11722 #define IAMDeviceRemoval_Reassociate(This) (This)->lpVtbl->Reassociate(This) 11723 #define IAMDeviceRemoval_Disassociate(This) (This)->lpVtbl->Disassociate(This) 11724 #endif 11725 #endif 11726 HRESULT WINAPI IAMDeviceRemoval_DeviceInfo_Proxy(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink); 11727 void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11728 HRESULT WINAPI IAMDeviceRemoval_Reassociate_Proxy(IAMDeviceRemoval *This); 11729 void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11730 HRESULT WINAPI IAMDeviceRemoval_Disassociate_Proxy(IAMDeviceRemoval *This); 11731 void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11732 #endif 11733 11734 typedef struct __MIDL___MIDL_itf_strmif_0355_0001 { 11735 DWORD dwDVAAuxSrc; 11736 DWORD dwDVAAuxCtl; 11737 DWORD dwDVAAuxSrc1; 11738 DWORD dwDVAAuxCtl1; 11739 DWORD dwDVVAuxSrc; 11740 DWORD dwDVVAuxCtl; 11741 DWORD dwDVReserved[2]; 11742 } DVINFO; 11743 11744 typedef struct __MIDL___MIDL_itf_strmif_0355_0001 *PDVINFO; 11745 11746 enum _DVENCODERRESOLUTION { 11747 DVENCODERRESOLUTION_720x480 = 2012,DVENCODERRESOLUTION_360x240 = 2013,DVENCODERRESOLUTION_180x120 = 2014,DVENCODERRESOLUTION_88x60 = 2015 11748 }; 11749 11750 enum _DVENCODERVIDEOFORMAT { 11751 DVENCODERVIDEOFORMAT_NTSC = 2000,DVENCODERVIDEOFORMAT_PAL = 2001 11752 }; 11753 11754 enum _DVENCODERFORMAT { 11755 DVENCODERFORMAT_DVSD = 2007,DVENCODERFORMAT_DVHD = 2008,DVENCODERFORMAT_DVSL = 2009 11756 }; 11757 11758 extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec; 11759 extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec; 11760 #ifndef __IDVEnc_INTERFACE_DEFINED__ 11761 #define __IDVEnc_INTERFACE_DEFINED__ 11762 EXTERN_C const IID IID_IDVEnc; 11763 #if defined(__cplusplus) && !defined(CINTERFACE) 11764 struct IDVEnc : public IUnknown { 11765 public: 11766 virtual HRESULT WINAPI get_IFormatResolution(int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0; 11767 virtual HRESULT WINAPI put_IFormatResolution(int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0; 11768 }; 11769 #else 11770 typedef struct IDVEncVtbl { 11771 BEGIN_INTERFACE 11772 HRESULT (WINAPI *QueryInterface)(IDVEnc *This,REFIID riid,void **ppvObject); 11773 ULONG (WINAPI *AddRef)(IDVEnc *This); 11774 ULONG (WINAPI *Release)(IDVEnc *This); 11775 HRESULT (WINAPI *get_IFormatResolution)(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo); 11776 HRESULT (WINAPI *put_IFormatResolution)(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo); 11777 END_INTERFACE 11778 } IDVEncVtbl; 11779 struct IDVEnc { 11780 CONST_VTBL struct IDVEncVtbl *lpVtbl; 11781 }; 11782 #ifdef COBJMACROS 11783 #define IDVEnc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11784 #define IDVEnc_AddRef(This) (This)->lpVtbl->AddRef(This) 11785 #define IDVEnc_Release(This) (This)->lpVtbl->Release(This) 11786 #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) 11787 #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) 11788 #endif 11789 #endif 11790 HRESULT WINAPI IDVEnc_get_IFormatResolution_Proxy(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo); 11791 void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11792 HRESULT WINAPI IDVEnc_put_IFormatResolution_Proxy(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo); 11793 void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11794 #endif 11795 11796 enum _DVDECODERRESOLUTION { 11797 DVDECODERRESOLUTION_720x480 = 1000,DVDECODERRESOLUTION_360x240 = 1001,DVDECODERRESOLUTION_180x120 = 1002,DVDECODERRESOLUTION_88x60 = 1003 11798 }; 11799 11800 enum _DVRESOLUTION { 11801 DVRESOLUTION_FULL = 1000,DVRESOLUTION_HALF = 1001,DVRESOLUTION_QUARTER = 1002,DVRESOLUTION_DC = 1003 11802 }; 11803 11804 extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec; 11805 extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec; 11806 #ifndef __IIPDVDec_INTERFACE_DEFINED__ 11807 #define __IIPDVDec_INTERFACE_DEFINED__ 11808 EXTERN_C const IID IID_IIPDVDec; 11809 #if defined(__cplusplus) && !defined(CINTERFACE) 11810 struct IIPDVDec : public IUnknown { 11811 public: 11812 virtual HRESULT WINAPI get_IPDisplay(int *displayPix) = 0; 11813 virtual HRESULT WINAPI put_IPDisplay(int displayPix) = 0; 11814 }; 11815 #else 11816 typedef struct IIPDVDecVtbl { 11817 BEGIN_INTERFACE 11818 HRESULT (WINAPI *QueryInterface)(IIPDVDec *This,REFIID riid,void **ppvObject); 11819 ULONG (WINAPI *AddRef)(IIPDVDec *This); 11820 ULONG (WINAPI *Release)(IIPDVDec *This); 11821 HRESULT (WINAPI *get_IPDisplay)(IIPDVDec *This,int *displayPix); 11822 HRESULT (WINAPI *put_IPDisplay)(IIPDVDec *This,int displayPix); 11823 END_INTERFACE 11824 } IIPDVDecVtbl; 11825 struct IIPDVDec { 11826 CONST_VTBL struct IIPDVDecVtbl *lpVtbl; 11827 }; 11828 #ifdef COBJMACROS 11829 #define IIPDVDec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11830 #define IIPDVDec_AddRef(This) (This)->lpVtbl->AddRef(This) 11831 #define IIPDVDec_Release(This) (This)->lpVtbl->Release(This) 11832 #define IIPDVDec_get_IPDisplay(This,displayPix) (This)->lpVtbl->get_IPDisplay(This,displayPix) 11833 #define IIPDVDec_put_IPDisplay(This,displayPix) (This)->lpVtbl->put_IPDisplay(This,displayPix) 11834 #endif 11835 #endif 11836 HRESULT WINAPI IIPDVDec_get_IPDisplay_Proxy(IIPDVDec *This,int *displayPix); 11837 void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11838 HRESULT WINAPI IIPDVDec_put_IPDisplay_Proxy(IIPDVDec *This,int displayPix); 11839 void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11840 #endif 11841 11842 #ifndef __IDVRGB219_INTERFACE_DEFINED__ 11843 #define __IDVRGB219_INTERFACE_DEFINED__ 11844 EXTERN_C const IID IID_IDVRGB219; 11845 #if defined(__cplusplus) && !defined(CINTERFACE) 11846 struct IDVRGB219 : public IUnknown { 11847 public: 11848 virtual HRESULT WINAPI SetRGB219(WINBOOL bState) = 0; 11849 }; 11850 #else 11851 typedef struct IDVRGB219Vtbl { 11852 BEGIN_INTERFACE 11853 HRESULT (WINAPI *QueryInterface)(IDVRGB219 *This,REFIID riid,void **ppvObject); 11854 ULONG (WINAPI *AddRef)(IDVRGB219 *This); 11855 ULONG (WINAPI *Release)(IDVRGB219 *This); 11856 HRESULT (WINAPI *SetRGB219)(IDVRGB219 *This,WINBOOL bState); 11857 END_INTERFACE 11858 } IDVRGB219Vtbl; 11859 struct IDVRGB219 { 11860 CONST_VTBL struct IDVRGB219Vtbl *lpVtbl; 11861 }; 11862 #ifdef COBJMACROS 11863 #define IDVRGB219_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11864 #define IDVRGB219_AddRef(This) (This)->lpVtbl->AddRef(This) 11865 #define IDVRGB219_Release(This) (This)->lpVtbl->Release(This) 11866 #define IDVRGB219_SetRGB219(This,bState) (This)->lpVtbl->SetRGB219(This,bState) 11867 #endif 11868 #endif 11869 HRESULT WINAPI IDVRGB219_SetRGB219_Proxy(IDVRGB219 *This,WINBOOL bState); 11870 void __RPC_STUB IDVRGB219_SetRGB219_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11871 #endif 11872 11873 #ifndef __IDVSplitter_INTERFACE_DEFINED__ 11874 #define __IDVSplitter_INTERFACE_DEFINED__ 11875 EXTERN_C const IID IID_IDVSplitter; 11876 #if defined(__cplusplus) && !defined(CINTERFACE) 11877 struct IDVSplitter : public IUnknown { 11878 public: 11879 virtual HRESULT WINAPI DiscardAlternateVideoFrames(int nDiscard) = 0; 11880 }; 11881 #else 11882 typedef struct IDVSplitterVtbl { 11883 BEGIN_INTERFACE 11884 HRESULT (WINAPI *QueryInterface)(IDVSplitter *This,REFIID riid,void **ppvObject); 11885 ULONG (WINAPI *AddRef)(IDVSplitter *This); 11886 ULONG (WINAPI *Release)(IDVSplitter *This); 11887 HRESULT (WINAPI *DiscardAlternateVideoFrames)(IDVSplitter *This,int nDiscard); 11888 END_INTERFACE 11889 } IDVSplitterVtbl; 11890 struct IDVSplitter { 11891 CONST_VTBL struct IDVSplitterVtbl *lpVtbl; 11892 }; 11893 #ifdef COBJMACROS 11894 #define IDVSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11895 #define IDVSplitter_AddRef(This) (This)->lpVtbl->AddRef(This) 11896 #define IDVSplitter_Release(This) (This)->lpVtbl->Release(This) 11897 #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) (This)->lpVtbl->DiscardAlternateVideoFrames(This,nDiscard) 11898 #endif 11899 #endif 11900 HRESULT WINAPI IDVSplitter_DiscardAlternateVideoFrames_Proxy(IDVSplitter *This,int nDiscard); 11901 void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11902 #endif 11903 11904 enum _AM_AUDIO_RENDERER_STAT_PARAM { 11905 AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1, 11906 AM_AUDREND_STAT_PARAM_SLAVE_MODE,AM_AUDREND_STAT_PARAM_SILENCE_DUR, 11907 AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,AM_AUDREND_STAT_PARAM_DISCONTINUITIES, 11908 AM_AUDREND_STAT_PARAM_SLAVE_RATE,AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR, 11909 AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR, 11910 AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,AM_AUDREND_STAT_PARAM_BUFFERFULLNESS, 11911 AM_AUDREND_STAT_PARAM_JITTER 11912 }; 11913 11914 extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_c_ifspec; 11915 extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_s_ifspec; 11916 #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__ 11917 #define __IAMAudioRendererStats_INTERFACE_DEFINED__ 11918 EXTERN_C const IID IID_IAMAudioRendererStats; 11919 #if defined(__cplusplus) && !defined(CINTERFACE) 11920 struct IAMAudioRendererStats : public IUnknown { 11921 public: 11922 virtual HRESULT WINAPI GetStatParam(DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2) = 0; 11923 }; 11924 #else 11925 typedef struct IAMAudioRendererStatsVtbl { 11926 BEGIN_INTERFACE 11927 HRESULT (WINAPI *QueryInterface)(IAMAudioRendererStats *This,REFIID riid,void **ppvObject); 11928 ULONG (WINAPI *AddRef)(IAMAudioRendererStats *This); 11929 ULONG (WINAPI *Release)(IAMAudioRendererStats *This); 11930 HRESULT (WINAPI *GetStatParam)(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2); 11931 END_INTERFACE 11932 } IAMAudioRendererStatsVtbl; 11933 struct IAMAudioRendererStats { 11934 CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl; 11935 }; 11936 #ifdef COBJMACROS 11937 #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11938 #define IAMAudioRendererStats_AddRef(This) (This)->lpVtbl->AddRef(This) 11939 #define IAMAudioRendererStats_Release(This) (This)->lpVtbl->Release(This) 11940 #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) (This)->lpVtbl->GetStatParam(This,dwParam,pdwParam1,pdwParam2) 11941 #endif 11942 #endif 11943 HRESULT WINAPI IAMAudioRendererStats_GetStatParam_Proxy(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2); 11944 void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11945 #endif 11946 11947 enum _AM_INTF_SEARCH_FLAGS { 11948 AM_INTF_SEARCH_INPUT_PIN = 0x1,AM_INTF_SEARCH_OUTPUT_PIN = 0x2,AM_INTF_SEARCH_FILTER = 0x4 11949 }; 11950 11951 extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec; 11952 extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec; 11953 #ifndef __IAMGraphStreams_INTERFACE_DEFINED__ 11954 #define __IAMGraphStreams_INTERFACE_DEFINED__ 11955 EXTERN_C const IID IID_IAMGraphStreams; 11956 #if defined(__cplusplus) && !defined(CINTERFACE) 11957 struct IAMGraphStreams : public IUnknown { 11958 public: 11959 virtual HRESULT WINAPI FindUpstreamInterface(IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags) = 0; 11960 virtual HRESULT WINAPI SyncUsingStreamOffset(WINBOOL bUseStreamOffset) = 0; 11961 virtual HRESULT WINAPI SetMaxGraphLatency(REFERENCE_TIME rtMaxGraphLatency) = 0; 11962 }; 11963 #else 11964 typedef struct IAMGraphStreamsVtbl { 11965 BEGIN_INTERFACE 11966 HRESULT (WINAPI *QueryInterface)(IAMGraphStreams *This,REFIID riid,void **ppvObject); 11967 ULONG (WINAPI *AddRef)(IAMGraphStreams *This); 11968 ULONG (WINAPI *Release)(IAMGraphStreams *This); 11969 HRESULT (WINAPI *FindUpstreamInterface)(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags); 11970 HRESULT (WINAPI *SyncUsingStreamOffset)(IAMGraphStreams *This,WINBOOL bUseStreamOffset); 11971 HRESULT (WINAPI *SetMaxGraphLatency)(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency); 11972 END_INTERFACE 11973 } IAMGraphStreamsVtbl; 11974 struct IAMGraphStreams { 11975 CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl; 11976 }; 11977 #ifdef COBJMACROS 11978 #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 11979 #define IAMGraphStreams_AddRef(This) (This)->lpVtbl->AddRef(This) 11980 #define IAMGraphStreams_Release(This) (This)->lpVtbl->Release(This) 11981 #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) (This)->lpVtbl->FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) 11982 #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) (This)->lpVtbl->SyncUsingStreamOffset(This,bUseStreamOffset) 11983 #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) (This)->lpVtbl->SetMaxGraphLatency(This,rtMaxGraphLatency) 11984 #endif 11985 #endif 11986 HRESULT WINAPI IAMGraphStreams_FindUpstreamInterface_Proxy(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags); 11987 void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11988 HRESULT WINAPI IAMGraphStreams_SyncUsingStreamOffset_Proxy(IAMGraphStreams *This,WINBOOL bUseStreamOffset); 11989 void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11990 HRESULT WINAPI IAMGraphStreams_SetMaxGraphLatency_Proxy(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency); 11991 void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 11992 #endif 11993 11994 enum AMOVERLAYFX { 11995 AMOVERFX_NOFX = 0,AMOVERFX_MIRRORLEFTRIGHT = 0x2,AMOVERFX_MIRRORUPDOWN = 0x4,AMOVERFX_DEINTERLACE = 0x8 11996 }; 11997 11998 extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec; 11999 extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec; 12000 #ifndef __IAMOverlayFX_INTERFACE_DEFINED__ 12001 #define __IAMOverlayFX_INTERFACE_DEFINED__ 12002 EXTERN_C const IID IID_IAMOverlayFX; 12003 #if defined(__cplusplus) && !defined(CINTERFACE) 12004 struct IAMOverlayFX : public IUnknown { 12005 public: 12006 virtual HRESULT WINAPI QueryOverlayFXCaps(DWORD *lpdwOverlayFXCaps) = 0; 12007 virtual HRESULT WINAPI SetOverlayFX(DWORD dwOverlayFX) = 0; 12008 virtual HRESULT WINAPI GetOverlayFX(DWORD *lpdwOverlayFX) = 0; 12009 }; 12010 #else 12011 typedef struct IAMOverlayFXVtbl { 12012 BEGIN_INTERFACE 12013 HRESULT (WINAPI *QueryInterface)(IAMOverlayFX *This,REFIID riid,void **ppvObject); 12014 ULONG (WINAPI *AddRef)(IAMOverlayFX *This); 12015 ULONG (WINAPI *Release)(IAMOverlayFX *This); 12016 HRESULT (WINAPI *QueryOverlayFXCaps)(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps); 12017 HRESULT (WINAPI *SetOverlayFX)(IAMOverlayFX *This,DWORD dwOverlayFX); 12018 HRESULT (WINAPI *GetOverlayFX)(IAMOverlayFX *This,DWORD *lpdwOverlayFX); 12019 END_INTERFACE 12020 } IAMOverlayFXVtbl; 12021 struct IAMOverlayFX { 12022 CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl; 12023 }; 12024 #ifdef COBJMACROS 12025 #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12026 #define IAMOverlayFX_AddRef(This) (This)->lpVtbl->AddRef(This) 12027 #define IAMOverlayFX_Release(This) (This)->lpVtbl->Release(This) 12028 #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) (This)->lpVtbl->QueryOverlayFXCaps(This,lpdwOverlayFXCaps) 12029 #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) (This)->lpVtbl->SetOverlayFX(This,dwOverlayFX) 12030 #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) (This)->lpVtbl->GetOverlayFX(This,lpdwOverlayFX) 12031 #endif 12032 #endif 12033 HRESULT WINAPI IAMOverlayFX_QueryOverlayFXCaps_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps); 12034 void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12035 HRESULT WINAPI IAMOverlayFX_SetOverlayFX_Proxy(IAMOverlayFX *This,DWORD dwOverlayFX); 12036 void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12037 HRESULT WINAPI IAMOverlayFX_GetOverlayFX_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFX); 12038 void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12039 #endif 12040 12041 #ifndef __IAMOpenProgress_INTERFACE_DEFINED__ 12042 #define __IAMOpenProgress_INTERFACE_DEFINED__ 12043 EXTERN_C const IID IID_IAMOpenProgress; 12044 #if defined(__cplusplus) && !defined(CINTERFACE) 12045 struct IAMOpenProgress : public IUnknown { 12046 public: 12047 virtual HRESULT WINAPI QueryProgress(LONGLONG *pllTotal,LONGLONG *pllCurrent) = 0; 12048 virtual HRESULT WINAPI AbortOperation(void) = 0; 12049 }; 12050 #else 12051 typedef struct IAMOpenProgressVtbl { 12052 BEGIN_INTERFACE 12053 HRESULT (WINAPI *QueryInterface)(IAMOpenProgress *This,REFIID riid,void **ppvObject); 12054 ULONG (WINAPI *AddRef)(IAMOpenProgress *This); 12055 ULONG (WINAPI *Release)(IAMOpenProgress *This); 12056 HRESULT (WINAPI *QueryProgress)(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent); 12057 HRESULT (WINAPI *AbortOperation)(IAMOpenProgress *This); 12058 END_INTERFACE 12059 } IAMOpenProgressVtbl; 12060 struct IAMOpenProgress { 12061 CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl; 12062 }; 12063 #ifdef COBJMACROS 12064 #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12065 #define IAMOpenProgress_AddRef(This) (This)->lpVtbl->AddRef(This) 12066 #define IAMOpenProgress_Release(This) (This)->lpVtbl->Release(This) 12067 #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) (This)->lpVtbl->QueryProgress(This,pllTotal,pllCurrent) 12068 #define IAMOpenProgress_AbortOperation(This) (This)->lpVtbl->AbortOperation(This) 12069 #endif 12070 #endif 12071 HRESULT WINAPI IAMOpenProgress_QueryProgress_Proxy(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent); 12072 void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12073 HRESULT WINAPI IAMOpenProgress_AbortOperation_Proxy(IAMOpenProgress *This); 12074 void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12075 #endif 12076 12077 #ifdef __CRT_UUID_DECL 12078 __CRT_UUID_DECL(IMpeg2Demultiplexer,0x436eee9c,0x264f,0x4242,0x90,0xe1,0x4e,0x33,0x0c,0x10,0x75,0x12); 12079 #endif 12080 12081 #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__ 12082 #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__ 12083 EXTERN_C const IID IID_IMpeg2Demultiplexer; 12084 #if defined(__cplusplus) && !defined(CINTERFACE) 12085 struct IMpeg2Demultiplexer : public IUnknown { 12086 public: 12087 virtual HRESULT WINAPI CreateOutputPin(AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin) = 0; 12088 virtual HRESULT WINAPI SetOutputPinMediaType(LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType) = 0; 12089 virtual HRESULT WINAPI DeleteOutputPin(LPWSTR pszPinName) = 0; 12090 }; 12091 #else 12092 typedef struct IMpeg2DemultiplexerVtbl { 12093 BEGIN_INTERFACE 12094 HRESULT (WINAPI *QueryInterface)(IMpeg2Demultiplexer *This,REFIID riid,void **ppvObject); 12095 ULONG (WINAPI *AddRef)(IMpeg2Demultiplexer *This); 12096 ULONG (WINAPI *Release)(IMpeg2Demultiplexer *This); 12097 HRESULT (WINAPI *CreateOutputPin)(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin); 12098 HRESULT (WINAPI *SetOutputPinMediaType)(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType); 12099 HRESULT (WINAPI *DeleteOutputPin)(IMpeg2Demultiplexer *This,LPWSTR pszPinName); 12100 END_INTERFACE 12101 } IMpeg2DemultiplexerVtbl; 12102 struct IMpeg2Demultiplexer { 12103 CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl; 12104 }; 12105 #ifdef COBJMACROS 12106 #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12107 #define IMpeg2Demultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This) 12108 #define IMpeg2Demultiplexer_Release(This) (This)->lpVtbl->Release(This) 12109 #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) (This)->lpVtbl->CreateOutputPin(This,pMediaType,pszPinName,ppIPin) 12110 #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) (This)->lpVtbl->SetOutputPinMediaType(This,pszPinName,pMediaType) 12111 #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) (This)->lpVtbl->DeleteOutputPin(This,pszPinName) 12112 #endif 12113 #endif 12114 HRESULT WINAPI IMpeg2Demultiplexer_CreateOutputPin_Proxy(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin); 12115 void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12116 HRESULT WINAPI IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType); 12117 void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12118 HRESULT WINAPI IMpeg2Demultiplexer_DeleteOutputPin_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName); 12119 void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12120 #endif 12121 12122 #define MPEG2_PROGRAM_STREAM_MAP 0x00000000 12123 #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001 12124 #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002 12125 #define MPEG2_PROGRAM_PACK_HEADER 0x00000003 12126 #define MPEG2_PROGRAM_PES_STREAM 0x00000004 12127 #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005 12128 #define SUBSTREAM_FILTER_VAL_NONE 0x10000000 12129 12130 typedef struct __MIDL___MIDL_itf_strmif_0365_0001 { 12131 ULONG stream_id; 12132 DWORD dwMediaSampleContent; 12133 ULONG ulSubstreamFilterValue; 12134 int iDataOffset; 12135 } STREAM_ID_MAP; 12136 12137 extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec; 12138 extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec; 12139 #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__ 12140 #define __IEnumStreamIdMap_INTERFACE_DEFINED__ 12141 EXTERN_C const IID IID_IEnumStreamIdMap; 12142 #if defined(__cplusplus) && !defined(CINTERFACE) 12143 struct IEnumStreamIdMap : public IUnknown { 12144 public: 12145 virtual HRESULT WINAPI Next(ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived) = 0; 12146 virtual HRESULT WINAPI Skip(ULONG cRecords) = 0; 12147 virtual HRESULT WINAPI Reset(void) = 0; 12148 virtual HRESULT WINAPI Clone(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0; 12149 }; 12150 #else 12151 typedef struct IEnumStreamIdMapVtbl { 12152 BEGIN_INTERFACE 12153 HRESULT (WINAPI *QueryInterface)(IEnumStreamIdMap *This,REFIID riid,void **ppvObject); 12154 ULONG (WINAPI *AddRef)(IEnumStreamIdMap *This); 12155 ULONG (WINAPI *Release)(IEnumStreamIdMap *This); 12156 HRESULT (WINAPI *Next)(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived); 12157 HRESULT (WINAPI *Skip)(IEnumStreamIdMap *This,ULONG cRecords); 12158 HRESULT (WINAPI *Reset)(IEnumStreamIdMap *This); 12159 HRESULT (WINAPI *Clone)(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); 12160 END_INTERFACE 12161 } IEnumStreamIdMapVtbl; 12162 struct IEnumStreamIdMap { 12163 CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl; 12164 }; 12165 #ifdef COBJMACROS 12166 #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12167 #define IEnumStreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This) 12168 #define IEnumStreamIdMap_Release(This) (This)->lpVtbl->Release(This) 12169 #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pStreamIdMap,pcReceived) 12170 #define IEnumStreamIdMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords) 12171 #define IEnumStreamIdMap_Reset(This) (This)->lpVtbl->Reset(This) 12172 #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) (This)->lpVtbl->Clone(This,ppIEnumStreamIdMap) 12173 #endif 12174 #endif 12175 HRESULT WINAPI IEnumStreamIdMap_Next_Proxy(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived); 12176 void __RPC_STUB IEnumStreamIdMap_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12177 HRESULT WINAPI IEnumStreamIdMap_Skip_Proxy(IEnumStreamIdMap *This,ULONG cRecords); 12178 void __RPC_STUB IEnumStreamIdMap_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12179 HRESULT WINAPI IEnumStreamIdMap_Reset_Proxy(IEnumStreamIdMap *This); 12180 void __RPC_STUB IEnumStreamIdMap_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12181 HRESULT WINAPI IEnumStreamIdMap_Clone_Proxy(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); 12182 void __RPC_STUB IEnumStreamIdMap_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12183 #endif 12184 12185 #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__ 12186 #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__ 12187 EXTERN_C const IID IID_IMPEG2StreamIdMap; 12188 #if defined(__cplusplus) && !defined(CINTERFACE) 12189 struct IMPEG2StreamIdMap : public IUnknown { 12190 public: 12191 virtual HRESULT WINAPI MapStreamId(ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset) = 0; 12192 virtual HRESULT WINAPI UnmapStreamId(ULONG culStreamId,ULONG *pulStreamId) = 0; 12193 virtual HRESULT WINAPI EnumStreamIdMap(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0; 12194 }; 12195 #else 12196 typedef struct IMPEG2StreamIdMapVtbl { 12197 BEGIN_INTERFACE 12198 HRESULT (WINAPI *QueryInterface)(IMPEG2StreamIdMap *This,REFIID riid,void **ppvObject); 12199 ULONG (WINAPI *AddRef)(IMPEG2StreamIdMap *This); 12200 ULONG (WINAPI *Release)(IMPEG2StreamIdMap *This); 12201 HRESULT (WINAPI *MapStreamId)(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset); 12202 HRESULT (WINAPI *UnmapStreamId)(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId); 12203 HRESULT (WINAPI *EnumStreamIdMap)(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); 12204 END_INTERFACE 12205 } IMPEG2StreamIdMapVtbl; 12206 struct IMPEG2StreamIdMap { 12207 CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl; 12208 }; 12209 #ifdef COBJMACROS 12210 #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12211 #define IMPEG2StreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This) 12212 #define IMPEG2StreamIdMap_Release(This) (This)->lpVtbl->Release(This) 12213 #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) (This)->lpVtbl->MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) 12214 #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) (This)->lpVtbl->UnmapStreamId(This,culStreamId,pulStreamId) 12215 #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) (This)->lpVtbl->EnumStreamIdMap(This,ppIEnumStreamIdMap) 12216 #endif 12217 #endif 12218 HRESULT WINAPI IMPEG2StreamIdMap_MapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset); 12219 void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12220 HRESULT WINAPI IMPEG2StreamIdMap_UnmapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId); 12221 void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12222 HRESULT WINAPI IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); 12223 void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12224 #endif 12225 12226 #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__ 12227 #define __IRegisterServiceProvider_INTERFACE_DEFINED__ 12228 EXTERN_C const IID IID_IRegisterServiceProvider; 12229 #if defined(__cplusplus) && !defined(CINTERFACE) 12230 struct IRegisterServiceProvider : public IUnknown { 12231 public: 12232 virtual HRESULT WINAPI RegisterService(REFGUID guidService,IUnknown *pUnkObject) = 0; 12233 }; 12234 #else 12235 typedef struct IRegisterServiceProviderVtbl { 12236 BEGIN_INTERFACE 12237 HRESULT (WINAPI *QueryInterface)(IRegisterServiceProvider *This,REFIID riid,void **ppvObject); 12238 ULONG (WINAPI *AddRef)(IRegisterServiceProvider *This); 12239 ULONG (WINAPI *Release)(IRegisterServiceProvider *This); 12240 HRESULT (WINAPI *RegisterService)(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject); 12241 END_INTERFACE 12242 } IRegisterServiceProviderVtbl; 12243 struct IRegisterServiceProvider { 12244 CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl; 12245 }; 12246 #ifdef COBJMACROS 12247 #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12248 #define IRegisterServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 12249 #define IRegisterServiceProvider_Release(This) (This)->lpVtbl->Release(This) 12250 #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) (This)->lpVtbl->RegisterService(This,guidService,pUnkObject) 12251 #endif 12252 #endif 12253 HRESULT WINAPI IRegisterServiceProvider_RegisterService_Proxy(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject); 12254 void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12255 #endif 12256 12257 #ifdef __cplusplus 12258 #ifndef _IAMFilterGraphCallback_ 12259 #define _IAMFilterGraphCallback_ 12260 EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70); 12261 struct IAMFilterGraphCallback : public IUnknown { 12262 virtual HRESULT UnableToRender(IPin *pPin) = 0; 12263 }; 12264 #endif 12265 #endif 12266 struct CodecAPIEventData { 12267 GUID guid; 12268 DWORD dataLength; 12269 DWORD reserved[3]; 12270 }; 12271 12272 extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_c_ifspec; 12273 extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_s_ifspec; 12274 #ifndef __ICodecAPI_INTERFACE_DEFINED__ 12275 #define __ICodecAPI_INTERFACE_DEFINED__ 12276 EXTERN_C const IID IID_ICodecAPI; 12277 #if defined(__cplusplus) && !defined(CINTERFACE) 12278 struct ICodecAPI : public IUnknown { 12279 public: 12280 virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0; 12281 virtual HRESULT WINAPI IsModifiable(const GUID *Api) = 0; 12282 virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0; 12283 virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0; 12284 virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0; 12285 virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0; 12286 virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0; 12287 virtual HRESULT WINAPI RegisterForEvent(const GUID *Api,LONG_PTR userData) = 0; 12288 virtual HRESULT WINAPI UnregisterForEvent(const GUID *Api) = 0; 12289 virtual HRESULT WINAPI SetAllDefaults(void) = 0; 12290 virtual HRESULT WINAPI SetValueWithNotify(const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) = 0; 12291 virtual HRESULT WINAPI SetAllDefaultsWithNotify(GUID **ChangedParam,ULONG *ChangedParamCount) = 0; 12292 virtual HRESULT WINAPI GetAllSettings(IStream *__MIDL_0016) = 0; 12293 virtual HRESULT WINAPI SetAllSettings(IStream *__MIDL_0017) = 0; 12294 virtual HRESULT WINAPI SetAllSettingsWithNotify(IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount) = 0; 12295 }; 12296 #else 12297 typedef struct ICodecAPIVtbl { 12298 BEGIN_INTERFACE 12299 HRESULT (WINAPI *QueryInterface)(ICodecAPI *This,REFIID riid,void **ppvObject); 12300 ULONG (WINAPI *AddRef)(ICodecAPI *This); 12301 ULONG (WINAPI *Release)(ICodecAPI *This); 12302 HRESULT (WINAPI *IsSupported)(ICodecAPI *This,const GUID *Api); 12303 HRESULT (WINAPI *IsModifiable)(ICodecAPI *This,const GUID *Api); 12304 HRESULT (WINAPI *GetParameterRange)(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 12305 HRESULT (WINAPI *GetParameterValues)(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 12306 HRESULT (WINAPI *GetDefaultValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); 12307 HRESULT (WINAPI *GetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); 12308 HRESULT (WINAPI *SetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); 12309 HRESULT (WINAPI *RegisterForEvent)(ICodecAPI *This,const GUID *Api,LONG_PTR userData); 12310 HRESULT (WINAPI *UnregisterForEvent)(ICodecAPI *This,const GUID *Api); 12311 HRESULT (WINAPI *SetAllDefaults)(ICodecAPI *This); 12312 HRESULT (WINAPI *SetValueWithNotify)(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount); 12313 HRESULT (WINAPI *SetAllDefaultsWithNotify)(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount); 12314 HRESULT (WINAPI *GetAllSettings)(ICodecAPI *This,IStream *__MIDL_0016); 12315 HRESULT (WINAPI *SetAllSettings)(ICodecAPI *This,IStream *__MIDL_0017); 12316 HRESULT (WINAPI *SetAllSettingsWithNotify)(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount); 12317 END_INTERFACE 12318 } ICodecAPIVtbl; 12319 struct ICodecAPI { 12320 CONST_VTBL struct ICodecAPIVtbl *lpVtbl; 12321 }; 12322 #ifdef COBJMACROS 12323 #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12324 #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This) 12325 #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This) 12326 #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) 12327 #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api) 12328 #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) 12329 #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) 12330 #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) 12331 #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) 12332 #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) 12333 #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData) 12334 #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api) 12335 #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This) 12336 #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) 12337 #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) 12338 #define ICodecAPI_GetAllSettings(This,__MIDL_0016) (This)->lpVtbl->GetAllSettings(This,__MIDL_0016) 12339 #define ICodecAPI_SetAllSettings(This,__MIDL_0017) (This)->lpVtbl->SetAllSettings(This,__MIDL_0017) 12340 #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) 12341 #endif 12342 #endif 12343 HRESULT WINAPI ICodecAPI_IsSupported_Proxy(ICodecAPI *This,const GUID *Api); 12344 void __RPC_STUB ICodecAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12345 HRESULT WINAPI ICodecAPI_IsModifiable_Proxy(ICodecAPI *This,const GUID *Api); 12346 void __RPC_STUB ICodecAPI_IsModifiable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12347 HRESULT WINAPI ICodecAPI_GetParameterRange_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 12348 void __RPC_STUB ICodecAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12349 HRESULT WINAPI ICodecAPI_GetParameterValues_Proxy(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 12350 void __RPC_STUB ICodecAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12351 HRESULT WINAPI ICodecAPI_GetDefaultValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); 12352 void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12353 HRESULT WINAPI ICodecAPI_GetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); 12354 void __RPC_STUB ICodecAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12355 HRESULT WINAPI ICodecAPI_SetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); 12356 void __RPC_STUB ICodecAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12357 HRESULT WINAPI ICodecAPI_RegisterForEvent_Proxy(ICodecAPI *This,const GUID *Api,LONG_PTR userData); 12358 void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12359 HRESULT WINAPI ICodecAPI_UnregisterForEvent_Proxy(ICodecAPI *This,const GUID *Api); 12360 void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12361 HRESULT WINAPI ICodecAPI_SetAllDefaults_Proxy(ICodecAPI *This); 12362 void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12363 HRESULT WINAPI ICodecAPI_SetValueWithNotify_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount); 12364 void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12365 HRESULT WINAPI ICodecAPI_SetAllDefaultsWithNotify_Proxy(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount); 12366 void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12367 HRESULT WINAPI ICodecAPI_GetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0016); 12368 void __RPC_STUB ICodecAPI_GetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12369 HRESULT WINAPI ICodecAPI_SetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0017); 12370 void __RPC_STUB ICodecAPI_SetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12371 HRESULT WINAPI ICodecAPI_SetAllSettingsWithNotify_Proxy(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount); 12372 void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12373 #endif 12374 12375 #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__ 12376 #define __IGetCapabilitiesKey_INTERFACE_DEFINED__ 12377 EXTERN_C const IID IID_IGetCapabilitiesKey; 12378 #if defined(__cplusplus) && !defined(CINTERFACE) 12379 struct IGetCapabilitiesKey : public IUnknown { 12380 public: 12381 virtual HRESULT WINAPI GetCapabilitiesKey(HKEY *pHKey) = 0; 12382 }; 12383 #else 12384 typedef struct IGetCapabilitiesKeyVtbl { 12385 BEGIN_INTERFACE 12386 HRESULT (WINAPI *QueryInterface)(IGetCapabilitiesKey *This,REFIID riid,void **ppvObject); 12387 ULONG (WINAPI *AddRef)(IGetCapabilitiesKey *This); 12388 ULONG (WINAPI *Release)(IGetCapabilitiesKey *This); 12389 HRESULT (WINAPI *GetCapabilitiesKey)(IGetCapabilitiesKey *This,HKEY *pHKey); 12390 END_INTERFACE 12391 } IGetCapabilitiesKeyVtbl; 12392 struct IGetCapabilitiesKey { 12393 CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl; 12394 }; 12395 #ifdef COBJMACROS 12396 #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12397 #define IGetCapabilitiesKey_AddRef(This) (This)->lpVtbl->AddRef(This) 12398 #define IGetCapabilitiesKey_Release(This) (This)->lpVtbl->Release(This) 12399 #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) (This)->lpVtbl->GetCapabilitiesKey(This,pHKey) 12400 #endif 12401 #endif 12402 HRESULT WINAPI IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(IGetCapabilitiesKey *This,HKEY *pHKey); 12403 void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12404 #endif 12405 12406 #ifndef __IEncoderAPI_INTERFACE_DEFINED__ 12407 #define __IEncoderAPI_INTERFACE_DEFINED__ 12408 EXTERN_C const IID IID_IEncoderAPI; 12409 #if defined(__cplusplus) && !defined(CINTERFACE) 12410 struct IEncoderAPI : public IUnknown { 12411 public: 12412 virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0; 12413 virtual HRESULT WINAPI IsAvailable(const GUID *Api) = 0; 12414 virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0; 12415 virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0; 12416 virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0; 12417 virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0; 12418 virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0; 12419 }; 12420 #else 12421 typedef struct IEncoderAPIVtbl { 12422 BEGIN_INTERFACE 12423 HRESULT (WINAPI *QueryInterface)(IEncoderAPI *This,REFIID riid,void **ppvObject); 12424 ULONG (WINAPI *AddRef)(IEncoderAPI *This); 12425 ULONG (WINAPI *Release)(IEncoderAPI *This); 12426 HRESULT (WINAPI *IsSupported)(IEncoderAPI *This,const GUID *Api); 12427 HRESULT (WINAPI *IsAvailable)(IEncoderAPI *This,const GUID *Api); 12428 HRESULT (WINAPI *GetParameterRange)(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 12429 HRESULT (WINAPI *GetParameterValues)(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 12430 HRESULT (WINAPI *GetDefaultValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 12431 HRESULT (WINAPI *GetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 12432 HRESULT (WINAPI *SetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 12433 END_INTERFACE 12434 } IEncoderAPIVtbl; 12435 struct IEncoderAPI { 12436 CONST_VTBL struct IEncoderAPIVtbl *lpVtbl; 12437 }; 12438 #ifdef COBJMACROS 12439 #define IEncoderAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12440 #define IEncoderAPI_AddRef(This) (This)->lpVtbl->AddRef(This) 12441 #define IEncoderAPI_Release(This) (This)->lpVtbl->Release(This) 12442 #define IEncoderAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) 12443 #define IEncoderAPI_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api) 12444 #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) 12445 #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) 12446 #define IEncoderAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) 12447 #define IEncoderAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) 12448 #define IEncoderAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) 12449 #endif 12450 #endif 12451 HRESULT WINAPI IEncoderAPI_IsSupported_Proxy(IEncoderAPI *This,const GUID *Api); 12452 void __RPC_STUB IEncoderAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12453 HRESULT WINAPI IEncoderAPI_IsAvailable_Proxy(IEncoderAPI *This,const GUID *Api); 12454 void __RPC_STUB IEncoderAPI_IsAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12455 HRESULT WINAPI IEncoderAPI_GetParameterRange_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 12456 void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12457 HRESULT WINAPI IEncoderAPI_GetParameterValues_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 12458 void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12459 HRESULT WINAPI IEncoderAPI_GetDefaultValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 12460 void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12461 HRESULT WINAPI IEncoderAPI_GetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 12462 void __RPC_STUB IEncoderAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12463 HRESULT WINAPI IEncoderAPI_SetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); 12464 void __RPC_STUB IEncoderAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12465 #endif 12466 12467 #ifndef __IVideoEncoder_INTERFACE_DEFINED__ 12468 #define __IVideoEncoder_INTERFACE_DEFINED__ 12469 EXTERN_C const IID IID_IVideoEncoder; 12470 #if defined(__cplusplus) && !defined(CINTERFACE) 12471 struct IVideoEncoder : public IEncoderAPI { 12472 public: 12473 }; 12474 #else 12475 typedef struct IVideoEncoderVtbl { 12476 BEGIN_INTERFACE 12477 HRESULT (WINAPI *QueryInterface)(IVideoEncoder *This,REFIID riid,void **ppvObject); 12478 ULONG (WINAPI *AddRef)(IVideoEncoder *This); 12479 ULONG (WINAPI *Release)(IVideoEncoder *This); 12480 HRESULT (WINAPI *IsSupported)(IVideoEncoder *This,const GUID *Api); 12481 HRESULT (WINAPI *IsAvailable)(IVideoEncoder *This,const GUID *Api); 12482 HRESULT (WINAPI *GetParameterRange)(IVideoEncoder *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); 12483 HRESULT (WINAPI *GetParameterValues)(IVideoEncoder *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); 12484 HRESULT (WINAPI *GetDefaultValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); 12485 HRESULT (WINAPI *GetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); 12486 HRESULT (WINAPI *SetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); 12487 END_INTERFACE 12488 } IVideoEncoderVtbl; 12489 struct IVideoEncoder { 12490 CONST_VTBL struct IVideoEncoderVtbl *lpVtbl; 12491 }; 12492 #ifdef COBJMACROS 12493 #define IVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12494 #define IVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) 12495 #define IVideoEncoder_Release(This) (This)->lpVtbl->Release(This) 12496 #define IVideoEncoder_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) 12497 #define IVideoEncoder_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api) 12498 #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) 12499 #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) 12500 #define IVideoEncoder_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) 12501 #define IVideoEncoder_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) 12502 #define IVideoEncoder_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) 12503 #endif 12504 #endif 12505 #endif 12506 12507 #ifndef __ENCODER_API_DEFINES__ 12508 #define __ENCODER_API_DEFINES__ 12509 typedef enum __MIDL___MIDL_itf_strmif_0374_0001 { 12510 ConstantBitRate = 0, 12511 VariableBitRateAverage,VariableBitRatePeak 12512 } VIDEOENCODER_BITRATE_MODE; 12513 #endif 12514 #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001 12515 #define VMR_NOTSUPPORTED 0x00000000 12516 #define VMR_SUPPORTED 0x00000001 12517 #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001 12518 #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002 12519 #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003 12520 #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004 12521 #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005 12522 #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006 12523 #define DECODER_CAP_NOTSUPPORTED 0x00000000 12524 #define DECODER_CAP_SUPPORTED 0x00000001 12525 12526 extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_c_ifspec; 12527 extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_s_ifspec; 12528 #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__ 12529 #define __IAMDecoderCaps_INTERFACE_DEFINED__ 12530 EXTERN_C const IID IID_IAMDecoderCaps; 12531 #if defined(__cplusplus) && !defined(CINTERFACE) 12532 struct IAMDecoderCaps : public IUnknown { 12533 public: 12534 virtual HRESULT WINAPI GetDecoderCaps(DWORD dwCapIndex,DWORD *lpdwCap) = 0; 12535 }; 12536 #else 12537 typedef struct IAMDecoderCapsVtbl { 12538 BEGIN_INTERFACE 12539 HRESULT (WINAPI *QueryInterface)(IAMDecoderCaps *This,REFIID riid,void **ppvObject); 12540 ULONG (WINAPI *AddRef)(IAMDecoderCaps *This); 12541 ULONG (WINAPI *Release)(IAMDecoderCaps *This); 12542 HRESULT (WINAPI *GetDecoderCaps)(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap); 12543 END_INTERFACE 12544 } IAMDecoderCapsVtbl; 12545 struct IAMDecoderCaps { 12546 CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl; 12547 }; 12548 #ifdef COBJMACROS 12549 #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12550 #define IAMDecoderCaps_AddRef(This) (This)->lpVtbl->AddRef(This) 12551 #define IAMDecoderCaps_Release(This) (This)->lpVtbl->Release(This) 12552 #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) (This)->lpVtbl->GetDecoderCaps(This,dwCapIndex,lpdwCap) 12553 #endif 12554 #endif 12555 HRESULT WINAPI IAMDecoderCaps_GetDecoderCaps_Proxy(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap); 12556 void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12557 #endif 12558 12559 #ifdef MINGW_HAS_DDRAW_H 12560 #include <ddraw.h> 12561 #else 12562 typedef void *IDirectDraw; 12563 typedef void *IDirectDrawSurface; 12564 typedef void *LPDIRECTDRAWSURFACE7; 12565 typedef void *LPDIRECTDRAW7; 12566 typedef void *LPDDPIXELFORMAT; 12567 typedef struct DDCOLORKEY { 12568 DWORD dw1; 12569 DWORD dw2; 12570 } DDCOLORKEY; 12571 typedef DDCOLORKEY *LPDDCOLORKEY; 12572 #endif 12573 12574 typedef enum tagDVD_DOMAIN { 12575 DVD_DOMAIN_FirstPlay = 1, 12576 DVD_DOMAIN_VideoManagerMenu,DVD_DOMAIN_VideoTitleSetMenu,DVD_DOMAIN_Title, 12577 DVD_DOMAIN_Stop 12578 } DVD_DOMAIN; 12579 12580 typedef enum tagDVD_MENU_ID { 12581 DVD_MENU_Title = 2,DVD_MENU_Root = 3,DVD_MENU_Subpicture = 4,DVD_MENU_Audio = 5, 12582 DVD_MENU_Angle = 6,DVD_MENU_Chapter = 7 12583 } DVD_MENU_ID; 12584 12585 typedef enum tagDVD_DISC_SIDE { 12586 DVD_SIDE_A = 1,DVD_SIDE_B = 2 12587 } DVD_DISC_SIDE; 12588 12589 typedef enum tagDVD_PREFERRED_DISPLAY_MODE { 12590 DISPLAY_CONTENT_DEFAULT = 0,DISPLAY_16x9 = 1,DISPLAY_4x3_PANSCAN_PREFERRED = 2,DISPLAY_4x3_LETTERBOX_PREFERRED = 3 12591 } DVD_PREFERRED_DISPLAY_MODE; 12592 12593 typedef WORD DVD_REGISTER; 12594 typedef DVD_REGISTER GPRMARRAY[16]; 12595 typedef DVD_REGISTER SPRMARRAY[24]; 12596 12597 typedef struct tagDVD_ATR { 12598 ULONG ulCAT; 12599 BYTE pbATRI[768]; 12600 } DVD_ATR; 12601 12602 typedef BYTE DVD_VideoATR[2]; 12603 typedef BYTE DVD_AudioATR[8]; 12604 typedef BYTE DVD_SubpictureATR[6]; 12605 12606 typedef enum tagDVD_FRAMERATE { 12607 DVD_FPS_25 = 1,DVD_FPS_30NonDrop = 3 12608 } DVD_FRAMERATE; 12609 12610 typedef struct tagDVD_TIMECODE { 12611 ULONG Hours1 :4; 12612 ULONG Hours10 :4; 12613 ULONG Minutes1 :4; 12614 ULONG Minutes10:4; 12615 ULONG Seconds1 :4; 12616 ULONG Seconds10:4; 12617 ULONG Frames1 :4; 12618 ULONG Frames10 :2; 12619 ULONG FrameRateCode: 2; 12620 } DVD_TIMECODE; 12621 12622 typedef enum tagDVD_TIMECODE_FLAGS { 12623 DVD_TC_FLAG_25fps = 0x1,DVD_TC_FLAG_30fps = 0x2,DVD_TC_FLAG_DropFrame = 0x4,DVD_TC_FLAG_Interpolated = 0x8 12624 } DVD_TIMECODE_FLAGS; 12625 12626 typedef struct tagDVD_HMSF_TIMECODE { 12627 BYTE bHours; 12628 BYTE bMinutes; 12629 BYTE bSeconds; 12630 BYTE bFrames; 12631 } DVD_HMSF_TIMECODE; 12632 12633 typedef struct tagDVD_PLAYBACK_LOCATION2 { 12634 ULONG TitleNum; 12635 ULONG ChapterNum; 12636 DVD_HMSF_TIMECODE TimeCode; 12637 ULONG TimeCodeFlags; 12638 } DVD_PLAYBACK_LOCATION2; 12639 12640 typedef struct tagDVD_PLAYBACK_LOCATION { 12641 ULONG TitleNum; 12642 ULONG ChapterNum; 12643 ULONG TimeCode; 12644 } DVD_PLAYBACK_LOCATION; 12645 12646 typedef DWORD VALID_UOP_SOMTHING_OR_OTHER; 12647 12648 typedef enum __MIDL___MIDL_itf_strmif_0376_0001 { 12649 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, 12650 UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,UOP_FLAG_PlayNext_Chapter = 0x80,UOP_FLAG_Play_Forwards = 0x100, 12651 UOP_FLAG_Play_Backwards = 0x200,UOP_FLAG_ShowMenu_Title = 0x400,UOP_FLAG_ShowMenu_Root = 0x800,UOP_FLAG_ShowMenu_SubPic = 0x1000, 12652 UOP_FLAG_ShowMenu_Audio = 0x2000,UOP_FLAG_ShowMenu_Angle = 0x4000,UOP_FLAG_ShowMenu_Chapter = 0x8000,UOP_FLAG_Resume = 0x10000, 12653 UOP_FLAG_Select_Or_Activate_Button = 0x20000,UOP_FLAG_Still_Off = 0x40000,UOP_FLAG_Pause_On = 0x80000,UOP_FLAG_Select_Audio_Stream = 0x100000, 12654 UOP_FLAG_Select_SubPic_Stream = 0x200000,UOP_FLAG_Select_Angle = 0x400000,UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000, 12655 UOP_FLAG_Select_Video_Mode_Preference = 0x1000000 12656 } VALID_UOP_FLAG; 12657 12658 typedef enum __MIDL___MIDL_itf_strmif_0376_0002 { 12659 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, 12660 DVD_CMD_FLAG_EndAfterRendered = 0x10 12661 } DVD_CMD_FLAGS; 12662 12663 typedef enum __MIDL___MIDL_itf_strmif_0376_0003 { 12664 DVD_ResetOnStop = 1,DVD_NotifyParentalLevelChange = 2,DVD_HMSF_TimeCodeEvents = 3,DVD_AudioDuringFFwdRew = 4 12665 } DVD_OPTION_FLAG; 12666 12667 typedef enum __MIDL___MIDL_itf_strmif_0376_0004 { 12668 DVD_Relative_Upper = 1,DVD_Relative_Lower = 2,DVD_Relative_Left = 3,DVD_Relative_Right = 4 12669 } DVD_RELATIVE_BUTTON; 12670 12671 typedef enum tagDVD_PARENTAL_LEVEL { 12672 DVD_PARENTAL_LEVEL_8 = 0x8000,DVD_PARENTAL_LEVEL_7 = 0x4000,DVD_PARENTAL_LEVEL_6 = 0x2000,DVD_PARENTAL_LEVEL_5 = 0x1000, 12673 DVD_PARENTAL_LEVEL_4 = 0x800,DVD_PARENTAL_LEVEL_3 = 0x400,DVD_PARENTAL_LEVEL_2 = 0x200,DVD_PARENTAL_LEVEL_1 = 0x100 12674 } DVD_PARENTAL_LEVEL; 12675 12676 typedef enum tagDVD_AUDIO_LANG_EXT { 12677 DVD_AUD_EXT_NotSpecified = 0,DVD_AUD_EXT_Captions = 1,DVD_AUD_EXT_VisuallyImpaired = 2,DVD_AUD_EXT_DirectorComments1 = 3, 12678 DVD_AUD_EXT_DirectorComments2 = 4 12679 } DVD_AUDIO_LANG_EXT; 12680 12681 typedef enum tagDVD_SUBPICTURE_LANG_EXT { 12682 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, 12683 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, 12684 DVD_SP_EXT_DirectorComments_Children = 15 12685 } DVD_SUBPICTURE_LANG_EXT; 12686 12687 typedef enum tagDVD_AUDIO_APPMODE { 12688 DVD_AudioMode_None = 0,DVD_AudioMode_Karaoke = 1,DVD_AudioMode_Surround = 2,DVD_AudioMode_Other = 3 12689 } DVD_AUDIO_APPMODE; 12690 12691 typedef enum tagDVD_AUDIO_FORMAT { 12692 DVD_AudioFormat_AC3 = 0,DVD_AudioFormat_MPEG1 = 1,DVD_AudioFormat_MPEG1_DRC = 2,DVD_AudioFormat_MPEG2 = 3,DVD_AudioFormat_MPEG2_DRC = 4, 12693 DVD_AudioFormat_LPCM = 5,DVD_AudioFormat_DTS = 6,DVD_AudioFormat_SDDS = 7,DVD_AudioFormat_Other = 8 12694 } DVD_AUDIO_FORMAT; 12695 12696 typedef enum tagDVD_KARAOKE_DOWNMIX { 12697 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, 12698 DVD_Mix_0to1 = 0x100,DVD_Mix_1to1 = 0x200,DVD_Mix_2to1 = 0x400,DVD_Mix_3to1 = 0x800,DVD_Mix_4to1 = 0x1000,DVD_Mix_Lto1 = 0x2000, 12699 DVD_Mix_Rto1 = 0x4000 12700 } DVD_KARAOKE_DOWNMIX; 12701 12702 typedef struct tagDVD_AudioAttributes { 12703 DVD_AUDIO_APPMODE AppMode; 12704 BYTE AppModeData; 12705 DVD_AUDIO_FORMAT AudioFormat; 12706 LCID Language; 12707 DVD_AUDIO_LANG_EXT LanguageExtension; 12708 WINBOOL fHasMultichannelInfo; 12709 DWORD dwFrequency; 12710 BYTE bQuantization; 12711 BYTE bNumberOfChannels; 12712 DWORD dwReserved[2]; 12713 } DVD_AudioAttributes; 12714 12715 typedef struct tagDVD_MUA_MixingInfo { 12716 WINBOOL fMixTo0; 12717 WINBOOL fMixTo1; 12718 WINBOOL fMix0InPhase; 12719 WINBOOL fMix1InPhase; 12720 DWORD dwSpeakerPosition; 12721 } DVD_MUA_MixingInfo; 12722 12723 typedef struct tagDVD_MUA_Coeff { 12724 double log2_alpha; 12725 double log2_beta; 12726 } DVD_MUA_Coeff; 12727 12728 typedef struct tagDVD_MultichannelAudioAttributes { 12729 DVD_MUA_MixingInfo Info[8]; 12730 DVD_MUA_Coeff Coeff[8]; 12731 } DVD_MultichannelAudioAttributes; 12732 12733 typedef enum tagDVD_KARAOKE_CONTENTS { 12734 DVD_Karaoke_GuideVocal1 = 0x1,DVD_Karaoke_GuideVocal2 = 0x2,DVD_Karaoke_GuideMelody1 = 0x4,DVD_Karaoke_GuideMelody2 = 0x8, 12735 DVD_Karaoke_GuideMelodyA = 0x10,DVD_Karaoke_GuideMelodyB = 0x20,DVD_Karaoke_SoundEffectA = 0x40,DVD_Karaoke_SoundEffectB = 0x80 12736 } DVD_KARAOKE_CONTENTS; 12737 12738 typedef enum tagDVD_KARAOKE_ASSIGNMENT { 12739 DVD_Assignment_reserved0 = 0,DVD_Assignment_reserved1 = 1,DVD_Assignment_LR = 2,DVD_Assignment_LRM = 3,DVD_Assignment_LR1 = 4, 12740 DVD_Assignment_LRM1 = 5,DVD_Assignment_LR12 = 6,DVD_Assignment_LRM12 = 7 12741 } DVD_KARAOKE_ASSIGNMENT; 12742 12743 typedef struct tagDVD_KaraokeAttributes { 12744 BYTE bVersion; 12745 WINBOOL fMasterOfCeremoniesInGuideVocal1; 12746 WINBOOL fDuet; 12747 DVD_KARAOKE_ASSIGNMENT ChannelAssignment; 12748 WORD wChannelContents[8]; 12749 } DVD_KaraokeAttributes; 12750 12751 typedef enum tagDVD_VIDEO_COMPRESSION { 12752 DVD_VideoCompression_Other = 0,DVD_VideoCompression_MPEG1 = 1,DVD_VideoCompression_MPEG2 = 2 12753 } DVD_VIDEO_COMPRESSION; 12754 12755 typedef struct tagDVD_VideoAttributes { 12756 WINBOOL fPanscanPermitted; 12757 WINBOOL fLetterboxPermitted; 12758 ULONG ulAspectX; 12759 ULONG ulAspectY; 12760 ULONG ulFrameRate; 12761 ULONG ulFrameHeight; 12762 DVD_VIDEO_COMPRESSION Compression; 12763 WINBOOL fLine21Field1InGOP; 12764 WINBOOL fLine21Field2InGOP; 12765 ULONG ulSourceResolutionX; 12766 ULONG ulSourceResolutionY; 12767 WINBOOL fIsSourceLetterboxed; 12768 WINBOOL fIsFilmMode; 12769 } DVD_VideoAttributes; 12770 12771 typedef enum tagDVD_SUBPICTURE_TYPE { 12772 DVD_SPType_NotSpecified = 0,DVD_SPType_Language = 1,DVD_SPType_Other = 2 12773 } DVD_SUBPICTURE_TYPE; 12774 12775 typedef enum tagDVD_SUBPICTURE_CODING { 12776 DVD_SPCoding_RunLength = 0,DVD_SPCoding_Extended = 1,DVD_SPCoding_Other = 2 12777 } DVD_SUBPICTURE_CODING; 12778 12779 typedef struct tagDVD_SubpictureAttributes { 12780 DVD_SUBPICTURE_TYPE Type; 12781 DVD_SUBPICTURE_CODING CodingMode; 12782 LCID Language; 12783 DVD_SUBPICTURE_LANG_EXT LanguageExtension; 12784 } DVD_SubpictureAttributes; 12785 12786 typedef enum tagDVD_TITLE_APPMODE { 12787 DVD_AppMode_Not_Specified = 0,DVD_AppMode_Karaoke = 1,DVD_AppMode_Other = 3 12788 } DVD_TITLE_APPMODE; 12789 12790 typedef struct tagDVD_TitleMainAttributes { 12791 DVD_TITLE_APPMODE AppMode; 12792 DVD_VideoAttributes VideoAttributes; 12793 ULONG ulNumberOfAudioStreams; 12794 DVD_AudioAttributes AudioAttributes[8]; 12795 DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8]; 12796 ULONG ulNumberOfSubpictureStreams; 12797 DVD_SubpictureAttributes SubpictureAttributes[32]; 12798 } DVD_TitleAttributes; 12799 12800 typedef struct tagDVD_MenuAttributes { 12801 WINBOOL fCompatibleRegion[8]; 12802 DVD_VideoAttributes VideoAttributes; 12803 WINBOOL fAudioPresent; 12804 DVD_AudioAttributes AudioAttributes; 12805 WINBOOL fSubpicturePresent; 12806 DVD_SubpictureAttributes SubpictureAttributes; 12807 } DVD_MenuAttributes; 12808 12809 extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec; 12810 extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec; 12811 #ifndef __IDvdControl_INTERFACE_DEFINED__ 12812 #define __IDvdControl_INTERFACE_DEFINED__ 12813 EXTERN_C const IID IID_IDvdControl; 12814 #if defined(__cplusplus) && !defined(CINTERFACE) 12815 struct IDvdControl : public IUnknown { 12816 public: 12817 virtual HRESULT WINAPI TitlePlay(ULONG ulTitle) = 0; 12818 virtual HRESULT WINAPI ChapterPlay(ULONG ulTitle,ULONG ulChapter) = 0; 12819 virtual HRESULT WINAPI TimePlay(ULONG ulTitle,ULONG bcdTime) = 0; 12820 virtual HRESULT WINAPI StopForResume(void) = 0; 12821 virtual HRESULT WINAPI GoUp(void) = 0; 12822 virtual HRESULT WINAPI TimeSearch(ULONG bcdTime) = 0; 12823 virtual HRESULT WINAPI ChapterSearch(ULONG ulChapter) = 0; 12824 virtual HRESULT WINAPI PrevPGSearch(void) = 0; 12825 virtual HRESULT WINAPI TopPGSearch(void) = 0; 12826 virtual HRESULT WINAPI NextPGSearch(void) = 0; 12827 virtual HRESULT WINAPI ForwardScan(double dwSpeed) = 0; 12828 virtual HRESULT WINAPI BackwardScan(double dwSpeed) = 0; 12829 virtual HRESULT WINAPI MenuCall(DVD_MENU_ID MenuID) = 0; 12830 virtual HRESULT WINAPI Resume(void) = 0; 12831 virtual HRESULT WINAPI UpperButtonSelect(void) = 0; 12832 virtual HRESULT WINAPI LowerButtonSelect(void) = 0; 12833 virtual HRESULT WINAPI LeftButtonSelect(void) = 0; 12834 virtual HRESULT WINAPI RightButtonSelect(void) = 0; 12835 virtual HRESULT WINAPI ButtonActivate(void) = 0; 12836 virtual HRESULT WINAPI ButtonSelectAndActivate(ULONG ulButton) = 0; 12837 virtual HRESULT WINAPI StillOff(void) = 0; 12838 virtual HRESULT WINAPI PauseOn(void) = 0; 12839 virtual HRESULT WINAPI PauseOff(void) = 0; 12840 virtual HRESULT WINAPI MenuLanguageSelect(LCID Language) = 0; 12841 virtual HRESULT WINAPI AudioStreamChange(ULONG ulAudio) = 0; 12842 virtual HRESULT WINAPI SubpictureStreamChange(ULONG ulSubPicture,WINBOOL bDisplay) = 0; 12843 virtual HRESULT WINAPI AngleChange(ULONG ulAngle) = 0; 12844 virtual HRESULT WINAPI ParentalLevelSelect(ULONG ulParentalLevel) = 0; 12845 virtual HRESULT WINAPI ParentalCountrySelect(WORD wCountry) = 0; 12846 virtual HRESULT WINAPI KaraokeAudioPresentationModeChange(ULONG ulMode) = 0; 12847 virtual HRESULT WINAPI VideoModePreferrence(ULONG ulPreferredDisplayMode) = 0; 12848 virtual HRESULT WINAPI SetRoot(LPCWSTR pszPath) = 0; 12849 virtual HRESULT WINAPI MouseActivate(POINT point) = 0; 12850 virtual HRESULT WINAPI MouseSelect(POINT point) = 0; 12851 virtual HRESULT WINAPI ChapterPlayAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay) = 0; 12852 }; 12853 #else 12854 typedef struct IDvdControlVtbl { 12855 BEGIN_INTERFACE 12856 HRESULT (WINAPI *QueryInterface)(IDvdControl *This,REFIID riid,void **ppvObject); 12857 ULONG (WINAPI *AddRef)(IDvdControl *This); 12858 ULONG (WINAPI *Release)(IDvdControl *This); 12859 HRESULT (WINAPI *TitlePlay)(IDvdControl *This,ULONG ulTitle); 12860 HRESULT (WINAPI *ChapterPlay)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter); 12861 HRESULT (WINAPI *TimePlay)(IDvdControl *This,ULONG ulTitle,ULONG bcdTime); 12862 HRESULT (WINAPI *StopForResume)(IDvdControl *This); 12863 HRESULT (WINAPI *GoUp)(IDvdControl *This); 12864 HRESULT (WINAPI *TimeSearch)(IDvdControl *This,ULONG bcdTime); 12865 HRESULT (WINAPI *ChapterSearch)(IDvdControl *This,ULONG ulChapter); 12866 HRESULT (WINAPI *PrevPGSearch)(IDvdControl *This); 12867 HRESULT (WINAPI *TopPGSearch)(IDvdControl *This); 12868 HRESULT (WINAPI *NextPGSearch)(IDvdControl *This); 12869 HRESULT (WINAPI *ForwardScan)(IDvdControl *This,double dwSpeed); 12870 HRESULT (WINAPI *BackwardScan)(IDvdControl *This,double dwSpeed); 12871 HRESULT (WINAPI *MenuCall)(IDvdControl *This,DVD_MENU_ID MenuID); 12872 HRESULT (WINAPI *Resume)(IDvdControl *This); 12873 HRESULT (WINAPI *UpperButtonSelect)(IDvdControl *This); 12874 HRESULT (WINAPI *LowerButtonSelect)(IDvdControl *This); 12875 HRESULT (WINAPI *LeftButtonSelect)(IDvdControl *This); 12876 HRESULT (WINAPI *RightButtonSelect)(IDvdControl *This); 12877 HRESULT (WINAPI *ButtonActivate)(IDvdControl *This); 12878 HRESULT (WINAPI *ButtonSelectAndActivate)(IDvdControl *This,ULONG ulButton); 12879 HRESULT (WINAPI *StillOff)(IDvdControl *This); 12880 HRESULT (WINAPI *PauseOn)(IDvdControl *This); 12881 HRESULT (WINAPI *PauseOff)(IDvdControl *This); 12882 HRESULT (WINAPI *MenuLanguageSelect)(IDvdControl *This,LCID Language); 12883 HRESULT (WINAPI *AudioStreamChange)(IDvdControl *This,ULONG ulAudio); 12884 HRESULT (WINAPI *SubpictureStreamChange)(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay); 12885 HRESULT (WINAPI *AngleChange)(IDvdControl *This,ULONG ulAngle); 12886 HRESULT (WINAPI *ParentalLevelSelect)(IDvdControl *This,ULONG ulParentalLevel); 12887 HRESULT (WINAPI *ParentalCountrySelect)(IDvdControl *This,WORD wCountry); 12888 HRESULT (WINAPI *KaraokeAudioPresentationModeChange)(IDvdControl *This,ULONG ulMode); 12889 HRESULT (WINAPI *VideoModePreferrence)(IDvdControl *This,ULONG ulPreferredDisplayMode); 12890 HRESULT (WINAPI *SetRoot)(IDvdControl *This,LPCWSTR pszPath); 12891 HRESULT (WINAPI *MouseActivate)(IDvdControl *This,POINT point); 12892 HRESULT (WINAPI *MouseSelect)(IDvdControl *This,POINT point); 12893 HRESULT (WINAPI *ChapterPlayAutoStop)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay); 12894 END_INTERFACE 12895 } IDvdControlVtbl; 12896 struct IDvdControl { 12897 CONST_VTBL struct IDvdControlVtbl *lpVtbl; 12898 }; 12899 #ifdef COBJMACROS 12900 #define IDvdControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 12901 #define IDvdControl_AddRef(This) (This)->lpVtbl->AddRef(This) 12902 #define IDvdControl_Release(This) (This)->lpVtbl->Release(This) 12903 #define IDvdControl_TitlePlay(This,ulTitle) (This)->lpVtbl->TitlePlay(This,ulTitle) 12904 #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) (This)->lpVtbl->ChapterPlay(This,ulTitle,ulChapter) 12905 #define IDvdControl_TimePlay(This,ulTitle,bcdTime) (This)->lpVtbl->TimePlay(This,ulTitle,bcdTime) 12906 #define IDvdControl_StopForResume(This) (This)->lpVtbl->StopForResume(This) 12907 #define IDvdControl_GoUp(This) (This)->lpVtbl->GoUp(This) 12908 #define IDvdControl_TimeSearch(This,bcdTime) (This)->lpVtbl->TimeSearch(This,bcdTime) 12909 #define IDvdControl_ChapterSearch(This,ulChapter) (This)->lpVtbl->ChapterSearch(This,ulChapter) 12910 #define IDvdControl_PrevPGSearch(This) (This)->lpVtbl->PrevPGSearch(This) 12911 #define IDvdControl_TopPGSearch(This) (This)->lpVtbl->TopPGSearch(This) 12912 #define IDvdControl_NextPGSearch(This) (This)->lpVtbl->NextPGSearch(This) 12913 #define IDvdControl_ForwardScan(This,dwSpeed) (This)->lpVtbl->ForwardScan(This,dwSpeed) 12914 #define IDvdControl_BackwardScan(This,dwSpeed) (This)->lpVtbl->BackwardScan(This,dwSpeed) 12915 #define IDvdControl_MenuCall(This,MenuID) (This)->lpVtbl->MenuCall(This,MenuID) 12916 #define IDvdControl_Resume(This) (This)->lpVtbl->Resume(This) 12917 #define IDvdControl_UpperButtonSelect(This) (This)->lpVtbl->UpperButtonSelect(This) 12918 #define IDvdControl_LowerButtonSelect(This) (This)->lpVtbl->LowerButtonSelect(This) 12919 #define IDvdControl_LeftButtonSelect(This) (This)->lpVtbl->LeftButtonSelect(This) 12920 #define IDvdControl_RightButtonSelect(This) (This)->lpVtbl->RightButtonSelect(This) 12921 #define IDvdControl_ButtonActivate(This) (This)->lpVtbl->ButtonActivate(This) 12922 #define IDvdControl_ButtonSelectAndActivate(This,ulButton) (This)->lpVtbl->ButtonSelectAndActivate(This,ulButton) 12923 #define IDvdControl_StillOff(This) (This)->lpVtbl->StillOff(This) 12924 #define IDvdControl_PauseOn(This) (This)->lpVtbl->PauseOn(This) 12925 #define IDvdControl_PauseOff(This) (This)->lpVtbl->PauseOff(This) 12926 #define IDvdControl_MenuLanguageSelect(This,Language) (This)->lpVtbl->MenuLanguageSelect(This,Language) 12927 #define IDvdControl_AudioStreamChange(This,ulAudio) (This)->lpVtbl->AudioStreamChange(This,ulAudio) 12928 #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) (This)->lpVtbl->SubpictureStreamChange(This,ulSubPicture,bDisplay) 12929 #define IDvdControl_AngleChange(This,ulAngle) (This)->lpVtbl->AngleChange(This,ulAngle) 12930 #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) (This)->lpVtbl->ParentalLevelSelect(This,ulParentalLevel) 12931 #define IDvdControl_ParentalCountrySelect(This,wCountry) (This)->lpVtbl->ParentalCountrySelect(This,wCountry) 12932 #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) (This)->lpVtbl->KaraokeAudioPresentationModeChange(This,ulMode) 12933 #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) (This)->lpVtbl->VideoModePreferrence(This,ulPreferredDisplayMode) 12934 #define IDvdControl_SetRoot(This,pszPath) (This)->lpVtbl->SetRoot(This,pszPath) 12935 #define IDvdControl_MouseActivate(This,point) (This)->lpVtbl->MouseActivate(This,point) 12936 #define IDvdControl_MouseSelect(This,point) (This)->lpVtbl->MouseSelect(This,point) 12937 #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) (This)->lpVtbl->ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) 12938 #endif 12939 #endif 12940 HRESULT WINAPI IDvdControl_TitlePlay_Proxy(IDvdControl *This,ULONG ulTitle); 12941 void __RPC_STUB IDvdControl_TitlePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12942 HRESULT WINAPI IDvdControl_ChapterPlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter); 12943 void __RPC_STUB IDvdControl_ChapterPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12944 HRESULT WINAPI IDvdControl_TimePlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG bcdTime); 12945 void __RPC_STUB IDvdControl_TimePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12946 HRESULT WINAPI IDvdControl_StopForResume_Proxy(IDvdControl *This); 12947 void __RPC_STUB IDvdControl_StopForResume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12948 HRESULT WINAPI IDvdControl_GoUp_Proxy(IDvdControl *This); 12949 void __RPC_STUB IDvdControl_GoUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12950 HRESULT WINAPI IDvdControl_TimeSearch_Proxy(IDvdControl *This,ULONG bcdTime); 12951 void __RPC_STUB IDvdControl_TimeSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12952 HRESULT WINAPI IDvdControl_ChapterSearch_Proxy(IDvdControl *This,ULONG ulChapter); 12953 void __RPC_STUB IDvdControl_ChapterSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12954 HRESULT WINAPI IDvdControl_PrevPGSearch_Proxy(IDvdControl *This); 12955 void __RPC_STUB IDvdControl_PrevPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12956 HRESULT WINAPI IDvdControl_TopPGSearch_Proxy(IDvdControl *This); 12957 void __RPC_STUB IDvdControl_TopPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12958 HRESULT WINAPI IDvdControl_NextPGSearch_Proxy(IDvdControl *This); 12959 void __RPC_STUB IDvdControl_NextPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12960 HRESULT WINAPI IDvdControl_ForwardScan_Proxy(IDvdControl *This,double dwSpeed); 12961 void __RPC_STUB IDvdControl_ForwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12962 HRESULT WINAPI IDvdControl_BackwardScan_Proxy(IDvdControl *This,double dwSpeed); 12963 void __RPC_STUB IDvdControl_BackwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12964 HRESULT WINAPI IDvdControl_MenuCall_Proxy(IDvdControl *This,DVD_MENU_ID MenuID); 12965 void __RPC_STUB IDvdControl_MenuCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12966 HRESULT WINAPI IDvdControl_Resume_Proxy(IDvdControl *This); 12967 void __RPC_STUB IDvdControl_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12968 HRESULT WINAPI IDvdControl_UpperButtonSelect_Proxy(IDvdControl *This); 12969 void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12970 HRESULT WINAPI IDvdControl_LowerButtonSelect_Proxy(IDvdControl *This); 12971 void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12972 HRESULT WINAPI IDvdControl_LeftButtonSelect_Proxy(IDvdControl *This); 12973 void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12974 HRESULT WINAPI IDvdControl_RightButtonSelect_Proxy(IDvdControl *This); 12975 void __RPC_STUB IDvdControl_RightButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12976 HRESULT WINAPI IDvdControl_ButtonActivate_Proxy(IDvdControl *This); 12977 void __RPC_STUB IDvdControl_ButtonActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12978 HRESULT WINAPI IDvdControl_ButtonSelectAndActivate_Proxy(IDvdControl *This,ULONG ulButton); 12979 void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12980 HRESULT WINAPI IDvdControl_StillOff_Proxy(IDvdControl *This); 12981 void __RPC_STUB IDvdControl_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12982 HRESULT WINAPI IDvdControl_PauseOn_Proxy(IDvdControl *This); 12983 void __RPC_STUB IDvdControl_PauseOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12984 HRESULT WINAPI IDvdControl_PauseOff_Proxy(IDvdControl *This); 12985 void __RPC_STUB IDvdControl_PauseOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12986 HRESULT WINAPI IDvdControl_MenuLanguageSelect_Proxy(IDvdControl *This,LCID Language); 12987 void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12988 HRESULT WINAPI IDvdControl_AudioStreamChange_Proxy(IDvdControl *This,ULONG ulAudio); 12989 void __RPC_STUB IDvdControl_AudioStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12990 HRESULT WINAPI IDvdControl_SubpictureStreamChange_Proxy(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay); 12991 void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12992 HRESULT WINAPI IDvdControl_AngleChange_Proxy(IDvdControl *This,ULONG ulAngle); 12993 void __RPC_STUB IDvdControl_AngleChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12994 HRESULT WINAPI IDvdControl_ParentalLevelSelect_Proxy(IDvdControl *This,ULONG ulParentalLevel); 12995 void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12996 HRESULT WINAPI IDvdControl_ParentalCountrySelect_Proxy(IDvdControl *This,WORD wCountry); 12997 void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 12998 HRESULT WINAPI IDvdControl_KaraokeAudioPresentationModeChange_Proxy(IDvdControl *This,ULONG ulMode); 12999 void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13000 HRESULT WINAPI IDvdControl_VideoModePreferrence_Proxy(IDvdControl *This,ULONG ulPreferredDisplayMode); 13001 void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13002 HRESULT WINAPI IDvdControl_SetRoot_Proxy(IDvdControl *This,LPCWSTR pszPath); 13003 void __RPC_STUB IDvdControl_SetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13004 HRESULT WINAPI IDvdControl_MouseActivate_Proxy(IDvdControl *This,POINT point); 13005 void __RPC_STUB IDvdControl_MouseActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13006 HRESULT WINAPI IDvdControl_MouseSelect_Proxy(IDvdControl *This,POINT point); 13007 void __RPC_STUB IDvdControl_MouseSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13008 HRESULT WINAPI IDvdControl_ChapterPlayAutoStop_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay); 13009 void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13010 #endif 13011 13012 #ifndef __IDvdInfo_INTERFACE_DEFINED__ 13013 #define __IDvdInfo_INTERFACE_DEFINED__ 13014 EXTERN_C const IID IID_IDvdInfo; 13015 #if defined(__cplusplus) && !defined(CINTERFACE) 13016 struct IDvdInfo : public IUnknown { 13017 public: 13018 virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0; 13019 virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION *pLocation) = 0; 13020 virtual HRESULT WINAPI GetTotalTitleTime(ULONG *pulTotalTime) = 0; 13021 virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0; 13022 virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0; 13023 virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0; 13024 virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled) = 0; 13025 virtual HRESULT WINAPI GetCurrentUOPS(VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0; 13026 virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0; 13027 virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0; 13028 virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0; 13029 virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0; 13030 virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_ATR *pATR) = 0; 13031 virtual HRESULT WINAPI GetVMGAttributes(DVD_ATR *pATR) = 0; 13032 virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoATR *pATR) = 0; 13033 virtual HRESULT WINAPI GetCurrentAudioAttributes(DVD_AudioATR *pATR) = 0; 13034 virtual HRESULT WINAPI GetCurrentSubpictureAttributes(DVD_SubpictureATR *pATR) = 0; 13035 virtual HRESULT WINAPI GetCurrentVolumeInfo(ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0; 13036 virtual HRESULT WINAPI GetDVDTextInfo(BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize) = 0; 13037 virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,ULONG *pulCountryCode) = 0; 13038 virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumberOfChapters) = 0; 13039 virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0; 13040 virtual HRESULT WINAPI GetRoot(LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize) = 0; 13041 }; 13042 #else 13043 typedef struct IDvdInfoVtbl { 13044 BEGIN_INTERFACE 13045 HRESULT (WINAPI *QueryInterface)(IDvdInfo *This,REFIID riid,void **ppvObject); 13046 ULONG (WINAPI *AddRef)(IDvdInfo *This); 13047 ULONG (WINAPI *Release)(IDvdInfo *This); 13048 HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo *This,DVD_DOMAIN *pDomain); 13049 HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation); 13050 HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo *This,ULONG *pulTotalTime); 13051 HRESULT (WINAPI *GetCurrentButton)(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); 13052 HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); 13053 HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); 13054 HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled); 13055 HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP); 13056 HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo *This,SPRMARRAY *pRegisterArray); 13057 HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo *This,GPRMARRAY *pRegisterArray); 13058 HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); 13059 HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); 13060 HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR); 13061 HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo *This,DVD_ATR *pATR); 13062 HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo *This,DVD_VideoATR *pATR); 13063 HRESULT (WINAPI *GetCurrentAudioAttributes)(IDvdInfo *This,DVD_AudioATR *pATR); 13064 HRESULT (WINAPI *GetCurrentSubpictureAttributes)(IDvdInfo *This,DVD_SubpictureATR *pATR); 13065 HRESULT (WINAPI *GetCurrentVolumeInfo)(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); 13066 HRESULT (WINAPI *GetDVDTextInfo)(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize); 13067 HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode); 13068 HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters); 13069 HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels); 13070 HRESULT (WINAPI *GetRoot)(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize); 13071 END_INTERFACE 13072 } IDvdInfoVtbl; 13073 struct IDvdInfo { 13074 CONST_VTBL struct IDvdInfoVtbl *lpVtbl; 13075 }; 13076 #ifdef COBJMACROS 13077 #define IDvdInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13078 #define IDvdInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 13079 #define IDvdInfo_Release(This) (This)->lpVtbl->Release(This) 13080 #define IDvdInfo_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain) 13081 #define IDvdInfo_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation) 13082 #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) (This)->lpVtbl->GetTotalTitleTime(This,pulTotalTime) 13083 #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) 13084 #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) 13085 #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) 13086 #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) 13087 #define IDvdInfo_GetCurrentUOPS(This,pUOP) (This)->lpVtbl->GetCurrentUOPS(This,pUOP) 13088 #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray) 13089 #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray) 13090 #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage) 13091 #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage) 13092 #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pATR) 13093 #define IDvdInfo_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR) 13094 #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR) 13095 #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) (This)->lpVtbl->GetCurrentAudioAttributes(This,pATR) 13096 #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) (This)->lpVtbl->GetCurrentSubpictureAttributes(This,pATR) 13097 #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) (This)->lpVtbl->GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) 13098 #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) (This)->lpVtbl->GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) 13099 #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) 13100 #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) 13101 #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels) 13102 #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) (This)->lpVtbl->GetRoot(This,pRoot,ulBufSize,pulActualSize) 13103 #endif 13104 #endif 13105 HRESULT WINAPI IDvdInfo_GetCurrentDomain_Proxy(IDvdInfo *This,DVD_DOMAIN *pDomain); 13106 void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13107 HRESULT WINAPI IDvdInfo_GetCurrentLocation_Proxy(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation); 13108 void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13109 HRESULT WINAPI IDvdInfo_GetTotalTitleTime_Proxy(IDvdInfo *This,ULONG *pulTotalTime); 13110 void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13111 HRESULT WINAPI IDvdInfo_GetCurrentButton_Proxy(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); 13112 void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13113 HRESULT WINAPI IDvdInfo_GetCurrentAngle_Proxy(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); 13114 void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13115 HRESULT WINAPI IDvdInfo_GetCurrentAudio_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); 13116 void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13117 HRESULT WINAPI IDvdInfo_GetCurrentSubpicture_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled); 13118 void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13119 HRESULT WINAPI IDvdInfo_GetCurrentUOPS_Proxy(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP); 13120 void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13121 HRESULT WINAPI IDvdInfo_GetAllSPRMs_Proxy(IDvdInfo *This,SPRMARRAY *pRegisterArray); 13122 void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13123 HRESULT WINAPI IDvdInfo_GetAllGPRMs_Proxy(IDvdInfo *This,GPRMARRAY *pRegisterArray); 13124 void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13125 HRESULT WINAPI IDvdInfo_GetAudioLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); 13126 void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13127 HRESULT WINAPI IDvdInfo_GetSubpictureLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); 13128 void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13129 HRESULT WINAPI IDvdInfo_GetTitleAttributes_Proxy(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR); 13130 void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13131 HRESULT WINAPI IDvdInfo_GetVMGAttributes_Proxy(IDvdInfo *This,DVD_ATR *pATR); 13132 void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13133 HRESULT WINAPI IDvdInfo_GetCurrentVideoAttributes_Proxy(IDvdInfo *This,DVD_VideoATR *pATR); 13134 void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13135 HRESULT WINAPI IDvdInfo_GetCurrentAudioAttributes_Proxy(IDvdInfo *This,DVD_AudioATR *pATR); 13136 void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13137 HRESULT WINAPI IDvdInfo_GetCurrentSubpictureAttributes_Proxy(IDvdInfo *This,DVD_SubpictureATR *pATR); 13138 void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13139 HRESULT WINAPI IDvdInfo_GetCurrentVolumeInfo_Proxy(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); 13140 void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13141 HRESULT WINAPI IDvdInfo_GetDVDTextInfo_Proxy(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize); 13142 void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13143 HRESULT WINAPI IDvdInfo_GetPlayerParentalLevel_Proxy(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode); 13144 void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13145 HRESULT WINAPI IDvdInfo_GetNumberOfChapters_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters); 13146 void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13147 HRESULT WINAPI IDvdInfo_GetTitleParentalLevels_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels); 13148 void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13149 HRESULT WINAPI IDvdInfo_GetRoot_Proxy(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize); 13150 void __RPC_STUB IDvdInfo_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13151 #endif 13152 13153 #ifndef __IDvdCmd_INTERFACE_DEFINED__ 13154 #define __IDvdCmd_INTERFACE_DEFINED__ 13155 EXTERN_C const IID IID_IDvdCmd; 13156 #if defined(__cplusplus) && !defined(CINTERFACE) 13157 struct IDvdCmd : public IUnknown { 13158 public: 13159 virtual HRESULT WINAPI WaitForStart(void) = 0; 13160 virtual HRESULT WINAPI WaitForEnd(void) = 0; 13161 }; 13162 #else 13163 typedef struct IDvdCmdVtbl { 13164 BEGIN_INTERFACE 13165 HRESULT (WINAPI *QueryInterface)(IDvdCmd *This,REFIID riid,void **ppvObject); 13166 ULONG (WINAPI *AddRef)(IDvdCmd *This); 13167 ULONG (WINAPI *Release)(IDvdCmd *This); 13168 HRESULT (WINAPI *WaitForStart)(IDvdCmd *This); 13169 HRESULT (WINAPI *WaitForEnd)(IDvdCmd *This); 13170 END_INTERFACE 13171 } IDvdCmdVtbl; 13172 struct IDvdCmd { 13173 CONST_VTBL struct IDvdCmdVtbl *lpVtbl; 13174 }; 13175 #ifdef COBJMACROS 13176 #define IDvdCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13177 #define IDvdCmd_AddRef(This) (This)->lpVtbl->AddRef(This) 13178 #define IDvdCmd_Release(This) (This)->lpVtbl->Release(This) 13179 #define IDvdCmd_WaitForStart(This) (This)->lpVtbl->WaitForStart(This) 13180 #define IDvdCmd_WaitForEnd(This) (This)->lpVtbl->WaitForEnd(This) 13181 #endif 13182 #endif 13183 HRESULT WINAPI IDvdCmd_WaitForStart_Proxy(IDvdCmd *This); 13184 void __RPC_STUB IDvdCmd_WaitForStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13185 HRESULT WINAPI IDvdCmd_WaitForEnd_Proxy(IDvdCmd *This); 13186 void __RPC_STUB IDvdCmd_WaitForEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13187 #endif 13188 13189 #ifndef __IDvdState_INTERFACE_DEFINED__ 13190 #define __IDvdState_INTERFACE_DEFINED__ 13191 EXTERN_C const IID IID_IDvdState; 13192 #if defined(__cplusplus) && !defined(CINTERFACE) 13193 struct IDvdState : public IUnknown { 13194 public: 13195 virtual HRESULT WINAPI GetDiscID(ULONGLONG *pullUniqueID) = 0; 13196 virtual HRESULT WINAPI GetParentalLevel(ULONG *pulParentalLevel) = 0; 13197 }; 13198 #else 13199 typedef struct IDvdStateVtbl { 13200 BEGIN_INTERFACE 13201 HRESULT (WINAPI *QueryInterface)(IDvdState *This,REFIID riid,void **ppvObject); 13202 ULONG (WINAPI *AddRef)(IDvdState *This); 13203 ULONG (WINAPI *Release)(IDvdState *This); 13204 HRESULT (WINAPI *GetDiscID)(IDvdState *This,ULONGLONG *pullUniqueID); 13205 HRESULT (WINAPI *GetParentalLevel)(IDvdState *This,ULONG *pulParentalLevel); 13206 END_INTERFACE 13207 } IDvdStateVtbl; 13208 struct IDvdState { 13209 CONST_VTBL struct IDvdStateVtbl *lpVtbl; 13210 }; 13211 #ifdef COBJMACROS 13212 #define IDvdState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13213 #define IDvdState_AddRef(This) (This)->lpVtbl->AddRef(This) 13214 #define IDvdState_Release(This) (This)->lpVtbl->Release(This) 13215 #define IDvdState_GetDiscID(This,pullUniqueID) (This)->lpVtbl->GetDiscID(This,pullUniqueID) 13216 #define IDvdState_GetParentalLevel(This,pulParentalLevel) (This)->lpVtbl->GetParentalLevel(This,pulParentalLevel) 13217 #endif 13218 #endif 13219 HRESULT WINAPI IDvdState_GetDiscID_Proxy(IDvdState *This,ULONGLONG *pullUniqueID); 13220 void __RPC_STUB IDvdState_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13221 HRESULT WINAPI IDvdState_GetParentalLevel_Proxy(IDvdState *This,ULONG *pulParentalLevel); 13222 void __RPC_STUB IDvdState_GetParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13223 #endif 13224 13225 #ifndef __IDvdControl2_INTERFACE_DEFINED__ 13226 #define __IDvdControl2_INTERFACE_DEFINED__ 13227 EXTERN_C const IID IID_IDvdControl2; 13228 #if defined(__cplusplus) && !defined(CINTERFACE) 13229 struct IDvdControl2 : public IUnknown { 13230 public: 13231 virtual HRESULT WINAPI PlayTitle(ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13232 virtual HRESULT WINAPI PlayChapterInTitle(ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13233 virtual HRESULT WINAPI PlayAtTimeInTitle(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13234 virtual HRESULT WINAPI Stop(void) = 0; 13235 virtual HRESULT WINAPI ReturnFromSubmenu(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13236 virtual HRESULT WINAPI PlayAtTime(DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13237 virtual HRESULT WINAPI PlayChapter(ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13238 virtual HRESULT WINAPI PlayPrevChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13239 virtual HRESULT WINAPI ReplayChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13240 virtual HRESULT WINAPI PlayNextChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13241 virtual HRESULT WINAPI PlayForwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13242 virtual HRESULT WINAPI PlayBackwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13243 virtual HRESULT WINAPI ShowMenu(DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13244 virtual HRESULT WINAPI Resume(DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13245 virtual HRESULT WINAPI SelectRelativeButton(DVD_RELATIVE_BUTTON buttonDir) = 0; 13246 virtual HRESULT WINAPI ActivateButton(void) = 0; 13247 virtual HRESULT WINAPI SelectButton(ULONG ulButton) = 0; 13248 virtual HRESULT WINAPI SelectAndActivateButton(ULONG ulButton) = 0; 13249 virtual HRESULT WINAPI StillOff(void) = 0; 13250 virtual HRESULT WINAPI Pause(WINBOOL bState) = 0; 13251 virtual HRESULT WINAPI SelectAudioStream(ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13252 virtual HRESULT WINAPI SelectSubpictureStream(ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13253 virtual HRESULT WINAPI SetSubpictureState(WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13254 virtual HRESULT WINAPI SelectAngle(ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13255 virtual HRESULT WINAPI SelectParentalLevel(ULONG ulParentalLevel) = 0; 13256 virtual HRESULT WINAPI SelectParentalCountry(BYTE bCountry[2]) = 0; 13257 virtual HRESULT WINAPI SelectKaraokeAudioPresentationMode(ULONG ulMode) = 0; 13258 virtual HRESULT WINAPI SelectVideoModePreference(ULONG ulPreferredDisplayMode) = 0; 13259 virtual HRESULT WINAPI SetDVDDirectory(LPCWSTR pszwPath) = 0; 13260 virtual HRESULT WINAPI ActivateAtPosition(POINT point) = 0; 13261 virtual HRESULT WINAPI SelectAtPosition(POINT point) = 0; 13262 virtual HRESULT WINAPI PlayChaptersAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13263 virtual HRESULT WINAPI AcceptParentalLevelChange(WINBOOL bAccept) = 0; 13264 virtual HRESULT WINAPI SetOption(DVD_OPTION_FLAG flag,WINBOOL fState) = 0; 13265 virtual HRESULT WINAPI SetState(IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13266 virtual HRESULT WINAPI PlayPeriodInTitleAutoStop(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13267 virtual HRESULT WINAPI SetGPRM(ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd) = 0; 13268 virtual HRESULT WINAPI SelectDefaultMenuLanguage(LCID Language) = 0; 13269 virtual HRESULT WINAPI SelectDefaultAudioLanguage(LCID Language,DVD_AUDIO_LANG_EXT audioExtension) = 0; 13270 virtual HRESULT WINAPI SelectDefaultSubpictureLanguage(LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0; 13271 }; 13272 #else 13273 typedef struct IDvdControl2Vtbl { 13274 BEGIN_INTERFACE 13275 HRESULT (WINAPI *QueryInterface)(IDvdControl2 *This,REFIID riid,void **ppvObject); 13276 ULONG (WINAPI *AddRef)(IDvdControl2 *This); 13277 ULONG (WINAPI *Release)(IDvdControl2 *This); 13278 HRESULT (WINAPI *PlayTitle)(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd); 13279 HRESULT (WINAPI *PlayChapterInTitle)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); 13280 HRESULT (WINAPI *PlayAtTimeInTitle)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd); 13281 HRESULT (WINAPI *Stop)(IDvdControl2 *This); 13282 HRESULT (WINAPI *ReturnFromSubmenu)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13283 HRESULT (WINAPI *PlayAtTime)(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd); 13284 HRESULT (WINAPI *PlayChapter)(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); 13285 HRESULT (WINAPI *PlayPrevChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13286 HRESULT (WINAPI *ReplayChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13287 HRESULT (WINAPI *PlayNextChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13288 HRESULT (WINAPI *PlayForwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); 13289 HRESULT (WINAPI *PlayBackwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); 13290 HRESULT (WINAPI *ShowMenu)(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd); 13291 HRESULT (WINAPI *Resume)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13292 HRESULT (WINAPI *SelectRelativeButton)(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir); 13293 HRESULT (WINAPI *ActivateButton)(IDvdControl2 *This); 13294 HRESULT (WINAPI *SelectButton)(IDvdControl2 *This,ULONG ulButton); 13295 HRESULT (WINAPI *SelectAndActivateButton)(IDvdControl2 *This,ULONG ulButton); 13296 HRESULT (WINAPI *StillOff)(IDvdControl2 *This); 13297 HRESULT (WINAPI *Pause)(IDvdControl2 *This,WINBOOL bState); 13298 HRESULT (WINAPI *SelectAudioStream)(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd); 13299 HRESULT (WINAPI *SelectSubpictureStream)(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd); 13300 HRESULT (WINAPI *SetSubpictureState)(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd); 13301 HRESULT (WINAPI *SelectAngle)(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd); 13302 HRESULT (WINAPI *SelectParentalLevel)(IDvdControl2 *This,ULONG ulParentalLevel); 13303 HRESULT (WINAPI *SelectParentalCountry)(IDvdControl2 *This,BYTE bCountry[2]); 13304 HRESULT (WINAPI *SelectKaraokeAudioPresentationMode)(IDvdControl2 *This,ULONG ulMode); 13305 HRESULT (WINAPI *SelectVideoModePreference)(IDvdControl2 *This,ULONG ulPreferredDisplayMode); 13306 HRESULT (WINAPI *SetDVDDirectory)(IDvdControl2 *This,LPCWSTR pszwPath); 13307 HRESULT (WINAPI *ActivateAtPosition)(IDvdControl2 *This,POINT point); 13308 HRESULT (WINAPI *SelectAtPosition)(IDvdControl2 *This,POINT point); 13309 HRESULT (WINAPI *PlayChaptersAutoStop)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd); 13310 HRESULT (WINAPI *AcceptParentalLevelChange)(IDvdControl2 *This,WINBOOL bAccept); 13311 HRESULT (WINAPI *SetOption)(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState); 13312 HRESULT (WINAPI *SetState)(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd); 13313 HRESULT (WINAPI *PlayPeriodInTitleAutoStop)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd); 13314 HRESULT (WINAPI *SetGPRM)(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd); 13315 HRESULT (WINAPI *SelectDefaultMenuLanguage)(IDvdControl2 *This,LCID Language); 13316 HRESULT (WINAPI *SelectDefaultAudioLanguage)(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension); 13317 HRESULT (WINAPI *SelectDefaultSubpictureLanguage)(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension); 13318 END_INTERFACE 13319 } IDvdControl2Vtbl; 13320 struct IDvdControl2 { 13321 CONST_VTBL struct IDvdControl2Vtbl *lpVtbl; 13322 }; 13323 #ifdef COBJMACROS 13324 #define IDvdControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13325 #define IDvdControl2_AddRef(This) (This)->lpVtbl->AddRef(This) 13326 #define IDvdControl2_Release(This) (This)->lpVtbl->Release(This) 13327 #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) (This)->lpVtbl->PlayTitle(This,ulTitle,dwFlags,ppCmd) 13328 #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) 13329 #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) 13330 #define IDvdControl2_Stop(This) (This)->lpVtbl->Stop(This) 13331 #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) (This)->lpVtbl->ReturnFromSubmenu(This,dwFlags,ppCmd) 13332 #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTime(This,pTime,dwFlags,ppCmd) 13333 #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapter(This,ulChapter,dwFlags,ppCmd) 13334 #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayPrevChapter(This,dwFlags,ppCmd) 13335 #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) (This)->lpVtbl->ReplayChapter(This,dwFlags,ppCmd) 13336 #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayNextChapter(This,dwFlags,ppCmd) 13337 #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayForwards(This,dSpeed,dwFlags,ppCmd) 13338 #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayBackwards(This,dSpeed,dwFlags,ppCmd) 13339 #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) (This)->lpVtbl->ShowMenu(This,MenuID,dwFlags,ppCmd) 13340 #define IDvdControl2_Resume(This,dwFlags,ppCmd) (This)->lpVtbl->Resume(This,dwFlags,ppCmd) 13341 #define IDvdControl2_SelectRelativeButton(This,buttonDir) (This)->lpVtbl->SelectRelativeButton(This,buttonDir) 13342 #define IDvdControl2_ActivateButton(This) (This)->lpVtbl->ActivateButton(This) 13343 #define IDvdControl2_SelectButton(This,ulButton) (This)->lpVtbl->SelectButton(This,ulButton) 13344 #define IDvdControl2_SelectAndActivateButton(This,ulButton) (This)->lpVtbl->SelectAndActivateButton(This,ulButton) 13345 #define IDvdControl2_StillOff(This) (This)->lpVtbl->StillOff(This) 13346 #define IDvdControl2_Pause(This,bState) (This)->lpVtbl->Pause(This,bState) 13347 #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) (This)->lpVtbl->SelectAudioStream(This,ulAudio,dwFlags,ppCmd) 13348 #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) (This)->lpVtbl->SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) 13349 #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) (This)->lpVtbl->SetSubpictureState(This,bState,dwFlags,ppCmd) 13350 #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) (This)->lpVtbl->SelectAngle(This,ulAngle,dwFlags,ppCmd) 13351 #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) (This)->lpVtbl->SelectParentalLevel(This,ulParentalLevel) 13352 #define IDvdControl2_SelectParentalCountry(This,bCountry) (This)->lpVtbl->SelectParentalCountry(This,bCountry) 13353 #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) (This)->lpVtbl->SelectKaraokeAudioPresentationMode(This,ulMode) 13354 #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) (This)->lpVtbl->SelectVideoModePreference(This,ulPreferredDisplayMode) 13355 #define IDvdControl2_SetDVDDirectory(This,pszwPath) (This)->lpVtbl->SetDVDDirectory(This,pszwPath) 13356 #define IDvdControl2_ActivateAtPosition(This,point) (This)->lpVtbl->ActivateAtPosition(This,point) 13357 #define IDvdControl2_SelectAtPosition(This,point) (This)->lpVtbl->SelectAtPosition(This,point) 13358 #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) (This)->lpVtbl->PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) 13359 #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) (This)->lpVtbl->AcceptParentalLevelChange(This,bAccept) 13360 #define IDvdControl2_SetOption(This,flag,fState) (This)->lpVtbl->SetOption(This,flag,fState) 13361 #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) (This)->lpVtbl->SetState(This,pState,dwFlags,ppCmd) 13362 #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) (This)->lpVtbl->PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) 13363 #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) (This)->lpVtbl->SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) 13364 #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) (This)->lpVtbl->SelectDefaultMenuLanguage(This,Language) 13365 #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) (This)->lpVtbl->SelectDefaultAudioLanguage(This,Language,audioExtension) 13366 #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) (This)->lpVtbl->SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) 13367 #endif 13368 #endif 13369 HRESULT WINAPI IDvdControl2_PlayTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd); 13370 void __RPC_STUB IDvdControl2_PlayTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13371 HRESULT WINAPI IDvdControl2_PlayChapterInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); 13372 void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13373 HRESULT WINAPI IDvdControl2_PlayAtTimeInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd); 13374 void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13375 HRESULT WINAPI IDvdControl2_Stop_Proxy(IDvdControl2 *This); 13376 void __RPC_STUB IDvdControl2_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13377 HRESULT WINAPI IDvdControl2_ReturnFromSubmenu_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13378 void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13379 HRESULT WINAPI IDvdControl2_PlayAtTime_Proxy(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd); 13380 void __RPC_STUB IDvdControl2_PlayAtTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13381 HRESULT WINAPI IDvdControl2_PlayChapter_Proxy(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); 13382 void __RPC_STUB IDvdControl2_PlayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13383 HRESULT WINAPI IDvdControl2_PlayPrevChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13384 void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13385 HRESULT WINAPI IDvdControl2_ReplayChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13386 void __RPC_STUB IDvdControl2_ReplayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13387 HRESULT WINAPI IDvdControl2_PlayNextChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13388 void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13389 HRESULT WINAPI IDvdControl2_PlayForwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); 13390 void __RPC_STUB IDvdControl2_PlayForwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13391 HRESULT WINAPI IDvdControl2_PlayBackwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); 13392 void __RPC_STUB IDvdControl2_PlayBackwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13393 HRESULT WINAPI IDvdControl2_ShowMenu_Proxy(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd); 13394 void __RPC_STUB IDvdControl2_ShowMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13395 HRESULT WINAPI IDvdControl2_Resume_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); 13396 void __RPC_STUB IDvdControl2_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13397 HRESULT WINAPI IDvdControl2_SelectRelativeButton_Proxy(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir); 13398 void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13399 HRESULT WINAPI IDvdControl2_ActivateButton_Proxy(IDvdControl2 *This); 13400 void __RPC_STUB IDvdControl2_ActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13401 HRESULT WINAPI IDvdControl2_SelectButton_Proxy(IDvdControl2 *This,ULONG ulButton); 13402 void __RPC_STUB IDvdControl2_SelectButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13403 HRESULT WINAPI IDvdControl2_SelectAndActivateButton_Proxy(IDvdControl2 *This,ULONG ulButton); 13404 void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13405 HRESULT WINAPI IDvdControl2_StillOff_Proxy(IDvdControl2 *This); 13406 void __RPC_STUB IDvdControl2_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13407 HRESULT WINAPI IDvdControl2_Pause_Proxy(IDvdControl2 *This,WINBOOL bState); 13408 void __RPC_STUB IDvdControl2_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13409 HRESULT WINAPI IDvdControl2_SelectAudioStream_Proxy(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd); 13410 void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13411 HRESULT WINAPI IDvdControl2_SelectSubpictureStream_Proxy(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd); 13412 void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13413 HRESULT WINAPI IDvdControl2_SetSubpictureState_Proxy(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd); 13414 void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13415 HRESULT WINAPI IDvdControl2_SelectAngle_Proxy(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd); 13416 void __RPC_STUB IDvdControl2_SelectAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13417 HRESULT WINAPI IDvdControl2_SelectParentalLevel_Proxy(IDvdControl2 *This,ULONG ulParentalLevel); 13418 void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13419 HRESULT WINAPI IDvdControl2_SelectParentalCountry_Proxy(IDvdControl2 *This,BYTE bCountry[2]); 13420 void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13421 HRESULT WINAPI IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(IDvdControl2 *This,ULONG ulMode); 13422 void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13423 HRESULT WINAPI IDvdControl2_SelectVideoModePreference_Proxy(IDvdControl2 *This,ULONG ulPreferredDisplayMode); 13424 void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13425 HRESULT WINAPI IDvdControl2_SetDVDDirectory_Proxy(IDvdControl2 *This,LPCWSTR pszwPath); 13426 void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13427 HRESULT WINAPI IDvdControl2_ActivateAtPosition_Proxy(IDvdControl2 *This,POINT point); 13428 void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13429 HRESULT WINAPI IDvdControl2_SelectAtPosition_Proxy(IDvdControl2 *This,POINT point); 13430 void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13431 HRESULT WINAPI IDvdControl2_PlayChaptersAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd); 13432 void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13433 HRESULT WINAPI IDvdControl2_AcceptParentalLevelChange_Proxy(IDvdControl2 *This,WINBOOL bAccept); 13434 void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13435 HRESULT WINAPI IDvdControl2_SetOption_Proxy(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState); 13436 void __RPC_STUB IDvdControl2_SetOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13437 HRESULT WINAPI IDvdControl2_SetState_Proxy(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd); 13438 void __RPC_STUB IDvdControl2_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13439 HRESULT WINAPI IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd); 13440 void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13441 HRESULT WINAPI IDvdControl2_SetGPRM_Proxy(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd); 13442 void __RPC_STUB IDvdControl2_SetGPRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13443 HRESULT WINAPI IDvdControl2_SelectDefaultMenuLanguage_Proxy(IDvdControl2 *This,LCID Language); 13444 void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13445 HRESULT WINAPI IDvdControl2_SelectDefaultAudioLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension); 13446 void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13447 HRESULT WINAPI IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension); 13448 void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13449 #endif 13450 13451 enum DVD_TextStringType { 13452 DVD_Struct_Volume = 0x1,DVD_Struct_Title = 0x2,DVD_Struct_ParentalID = 0x3,DVD_Struct_PartOfTitle = 0x4,DVD_Struct_Cell = 0x5, 13453 DVD_Stream_Audio = 0x10,DVD_Stream_Subpicture = 0x11,DVD_Stream_Angle = 0x12,DVD_Channel_Audio = 0x20,DVD_General_Name = 0x30, 13454 DVD_General_Comments = 0x31,DVD_Title_Series = 0x38,DVD_Title_Movie = 0x39,DVD_Title_Video = 0x3a,DVD_Title_Album = 0x3b,DVD_Title_Song = 0x3c, 13455 DVD_Title_Other = 0x3f,DVD_Title_Sub_Series = 0x40,DVD_Title_Sub_Movie = 0x41,DVD_Title_Sub_Video = 0x42,DVD_Title_Sub_Album = 0x43, 13456 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, 13457 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 13458 }; 13459 13460 enum DVD_TextCharSet { 13461 DVD_CharSet_Unicode = 0,DVD_CharSet_ISO646 = 1,DVD_CharSet_JIS_Roman_Kanji = 2,DVD_CharSet_ISO8859_1 = 3, 13462 DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4 13463 }; 13464 #define DVD_TITLE_MENU 0x000 13465 #define DVD_STREAM_DATA_CURRENT 0x800 13466 #define DVD_STREAM_DATA_VMGM 0x400 13467 #define DVD_STREAM_DATA_VTSM 0x401 13468 #define DVD_DEFAULT_AUDIO_STREAM 0x0f 13469 13470 typedef struct tagDVD_DECODER_CAPS { 13471 DWORD dwSize; 13472 DWORD dwAudioCaps; 13473 double dFwdMaxRateVideo; 13474 double dFwdMaxRateAudio; 13475 double dFwdMaxRateSP; 13476 double dBwdMaxRateVideo; 13477 double dBwdMaxRateAudio; 13478 double dBwdMaxRateSP; 13479 DWORD dwRes1; 13480 DWORD dwRes2; 13481 DWORD dwRes3; 13482 DWORD dwRes4; 13483 } DVD_DECODER_CAPS; 13484 13485 #define DVD_AUDIO_CAPS_AC3 0x00000001 13486 #define DVD_AUDIO_CAPS_MPEG2 0x00000002 13487 #define DVD_AUDIO_CAPS_LPCM 0x00000004 13488 #define DVD_AUDIO_CAPS_DTS 0x00000008 13489 #define DVD_AUDIO_CAPS_SDDS 0x00000010 13490 13491 extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec; 13492 extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec; 13493 #ifndef __IDvdInfo2_INTERFACE_DEFINED__ 13494 #define __IDvdInfo2_INTERFACE_DEFINED__ 13495 EXTERN_C const IID IID_IDvdInfo2; 13496 #if defined(__cplusplus) && !defined(CINTERFACE) 13497 struct IDvdInfo2 : public IUnknown { 13498 public: 13499 virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0; 13500 virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION2 *pLocation) = 0; 13501 virtual HRESULT WINAPI GetTotalTitleTime(DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags) = 0; 13502 virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0; 13503 virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0; 13504 virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0; 13505 virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled) = 0; 13506 virtual HRESULT WINAPI GetCurrentUOPS(ULONG *pulUOPs) = 0; 13507 virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0; 13508 virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0; 13509 virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0; 13510 virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0; 13511 virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle) = 0; 13512 virtual HRESULT WINAPI GetVMGAttributes(DVD_MenuAttributes *pATR) = 0; 13513 virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoAttributes *pATR) = 0; 13514 virtual HRESULT WINAPI GetAudioAttributes(ULONG ulStream,DVD_AudioAttributes *pATR) = 0; 13515 virtual HRESULT WINAPI GetKaraokeAttributes(ULONG ulStream,DVD_KaraokeAttributes *pAttributes) = 0; 13516 virtual HRESULT WINAPI GetSubpictureAttributes(ULONG ulStream,DVD_SubpictureAttributes *pATR) = 0; 13517 virtual HRESULT WINAPI GetDVDVolumeInfo(ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0; 13518 virtual HRESULT WINAPI GetDVDTextNumberOfLanguages(ULONG *pulNumOfLangs) = 0; 13519 virtual HRESULT WINAPI GetDVDTextLanguageInfo(ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet) = 0; 13520 virtual HRESULT WINAPI GetDVDTextStringAsNative(ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0; 13521 virtual HRESULT WINAPI GetDVDTextStringAsUnicode(ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0; 13522 virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,BYTE pbCountryCode[2]) = 0; 13523 virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumOfChapters) = 0; 13524 virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0; 13525 virtual HRESULT WINAPI GetDVDDirectory(LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize) = 0; 13526 virtual HRESULT WINAPI IsAudioStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0; 13527 virtual HRESULT WINAPI GetDiscID(LPCWSTR pszwPath,ULONGLONG *pullDiscID) = 0; 13528 virtual HRESULT WINAPI GetState(IDvdState **pStateData) = 0; 13529 virtual HRESULT WINAPI GetMenuLanguages(LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages) = 0; 13530 virtual HRESULT WINAPI GetButtonAtPosition(POINT point,ULONG *pulButtonIndex) = 0; 13531 virtual HRESULT WINAPI GetCmdFromEvent(LONG_PTR lParam1,IDvdCmd **pCmdObj) = 0; 13532 virtual HRESULT WINAPI GetDefaultMenuLanguage(LCID *pLanguage) = 0; 13533 virtual HRESULT WINAPI GetDefaultAudioLanguage(LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension) = 0; 13534 virtual HRESULT WINAPI GetDefaultSubpictureLanguage(LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0; 13535 virtual HRESULT WINAPI GetDecoderCaps(DVD_DECODER_CAPS *pCaps) = 0; 13536 virtual HRESULT WINAPI GetButtonRect(ULONG ulButton,RECT *pRect) = 0; 13537 virtual HRESULT WINAPI IsSubpictureStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0; 13538 }; 13539 #else 13540 typedef struct IDvdInfo2Vtbl { 13541 BEGIN_INTERFACE 13542 HRESULT (WINAPI *QueryInterface)(IDvdInfo2 *This,REFIID riid,void **ppvObject); 13543 ULONG (WINAPI *AddRef)(IDvdInfo2 *This); 13544 ULONG (WINAPI *Release)(IDvdInfo2 *This); 13545 HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo2 *This,DVD_DOMAIN *pDomain); 13546 HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation); 13547 HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags); 13548 HRESULT (WINAPI *GetCurrentButton)(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); 13549 HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); 13550 HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); 13551 HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled); 13552 HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo2 *This,ULONG *pulUOPs); 13553 HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo2 *This,SPRMARRAY *pRegisterArray); 13554 HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo2 *This,GPRMARRAY *pRegisterArray); 13555 HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); 13556 HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); 13557 HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle); 13558 HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo2 *This,DVD_MenuAttributes *pATR); 13559 HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo2 *This,DVD_VideoAttributes *pATR); 13560 HRESULT (WINAPI *GetAudioAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR); 13561 HRESULT (WINAPI *GetKaraokeAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes); 13562 HRESULT (WINAPI *GetSubpictureAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR); 13563 HRESULT (WINAPI *GetDVDVolumeInfo)(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); 13564 HRESULT (WINAPI *GetDVDTextNumberOfLanguages)(IDvdInfo2 *This,ULONG *pulNumOfLangs); 13565 HRESULT (WINAPI *GetDVDTextLanguageInfo)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet); 13566 HRESULT (WINAPI *GetDVDTextStringAsNative)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); 13567 HRESULT (WINAPI *GetDVDTextStringAsUnicode)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); 13568 HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]); 13569 HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters); 13570 HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels); 13571 HRESULT (WINAPI *GetDVDDirectory)(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize); 13572 HRESULT (WINAPI *IsAudioStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); 13573 HRESULT (WINAPI *GetDiscID)(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID); 13574 HRESULT (WINAPI *GetState)(IDvdInfo2 *This,IDvdState **pStateData); 13575 HRESULT (WINAPI *GetMenuLanguages)(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages); 13576 HRESULT (WINAPI *GetButtonAtPosition)(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex); 13577 HRESULT (WINAPI *GetCmdFromEvent)(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj); 13578 HRESULT (WINAPI *GetDefaultMenuLanguage)(IDvdInfo2 *This,LCID *pLanguage); 13579 HRESULT (WINAPI *GetDefaultAudioLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension); 13580 HRESULT (WINAPI *GetDefaultSubpictureLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension); 13581 HRESULT (WINAPI *GetDecoderCaps)(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps); 13582 HRESULT (WINAPI *GetButtonRect)(IDvdInfo2 *This,ULONG ulButton,RECT *pRect); 13583 HRESULT (WINAPI *IsSubpictureStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); 13584 END_INTERFACE 13585 } IDvdInfo2Vtbl; 13586 struct IDvdInfo2 { 13587 CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl; 13588 }; 13589 #ifdef COBJMACROS 13590 #define IDvdInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13591 #define IDvdInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) 13592 #define IDvdInfo2_Release(This) (This)->lpVtbl->Release(This) 13593 #define IDvdInfo2_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain) 13594 #define IDvdInfo2_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation) 13595 #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) (This)->lpVtbl->GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) 13596 #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) 13597 #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) 13598 #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) 13599 #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) 13600 #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) (This)->lpVtbl->GetCurrentUOPS(This,pulUOPs) 13601 #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray) 13602 #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray) 13603 #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage) 13604 #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage) 13605 #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pMenu,pTitle) 13606 #define IDvdInfo2_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR) 13607 #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR) 13608 #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) (This)->lpVtbl->GetAudioAttributes(This,ulStream,pATR) 13609 #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) (This)->lpVtbl->GetKaraokeAttributes(This,ulStream,pAttributes) 13610 #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) (This)->lpVtbl->GetSubpictureAttributes(This,ulStream,pATR) 13611 #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) (This)->lpVtbl->GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) 13612 #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) (This)->lpVtbl->GetDVDTextNumberOfLanguages(This,pulNumOfLangs) 13613 #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) (This)->lpVtbl->GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) 13614 #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) 13615 #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) 13616 #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) 13617 #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumOfChapters) 13618 #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels) 13619 #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) (This)->lpVtbl->GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) 13620 #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) 13621 #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) (This)->lpVtbl->GetDiscID(This,pszwPath,pullDiscID) 13622 #define IDvdInfo2_GetState(This,pStateData) (This)->lpVtbl->GetState(This,pStateData) 13623 #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) (This)->lpVtbl->GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) 13624 #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) (This)->lpVtbl->GetButtonAtPosition(This,point,pulButtonIndex) 13625 #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) (This)->lpVtbl->GetCmdFromEvent(This,lParam1,pCmdObj) 13626 #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) (This)->lpVtbl->GetDefaultMenuLanguage(This,pLanguage) 13627 #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) (This)->lpVtbl->GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) 13628 #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) (This)->lpVtbl->GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) 13629 #define IDvdInfo2_GetDecoderCaps(This,pCaps) (This)->lpVtbl->GetDecoderCaps(This,pCaps) 13630 #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) (This)->lpVtbl->GetButtonRect(This,ulButton,pRect) 13631 #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) 13632 #endif 13633 #endif 13634 HRESULT WINAPI IDvdInfo2_GetCurrentDomain_Proxy(IDvdInfo2 *This,DVD_DOMAIN *pDomain); 13635 void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13636 HRESULT WINAPI IDvdInfo2_GetCurrentLocation_Proxy(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation); 13637 void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13638 HRESULT WINAPI IDvdInfo2_GetTotalTitleTime_Proxy(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags); 13639 void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13640 HRESULT WINAPI IDvdInfo2_GetCurrentButton_Proxy(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); 13641 void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13642 HRESULT WINAPI IDvdInfo2_GetCurrentAngle_Proxy(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); 13643 void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13644 HRESULT WINAPI IDvdInfo2_GetCurrentAudio_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); 13645 void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13646 HRESULT WINAPI IDvdInfo2_GetCurrentSubpicture_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled); 13647 void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13648 HRESULT WINAPI IDvdInfo2_GetCurrentUOPS_Proxy(IDvdInfo2 *This,ULONG *pulUOPs); 13649 void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13650 HRESULT WINAPI IDvdInfo2_GetAllSPRMs_Proxy(IDvdInfo2 *This,SPRMARRAY *pRegisterArray); 13651 void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13652 HRESULT WINAPI IDvdInfo2_GetAllGPRMs_Proxy(IDvdInfo2 *This,GPRMARRAY *pRegisterArray); 13653 void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13654 HRESULT WINAPI IDvdInfo2_GetAudioLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); 13655 void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13656 HRESULT WINAPI IDvdInfo2_GetSubpictureLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); 13657 void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13658 HRESULT WINAPI IDvdInfo2_GetTitleAttributes_Proxy(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle); 13659 void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13660 HRESULT WINAPI IDvdInfo2_GetVMGAttributes_Proxy(IDvdInfo2 *This,DVD_MenuAttributes *pATR); 13661 void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13662 HRESULT WINAPI IDvdInfo2_GetCurrentVideoAttributes_Proxy(IDvdInfo2 *This,DVD_VideoAttributes *pATR); 13663 void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13664 HRESULT WINAPI IDvdInfo2_GetAudioAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR); 13665 void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13666 HRESULT WINAPI IDvdInfo2_GetKaraokeAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes); 13667 void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13668 HRESULT WINAPI IDvdInfo2_GetSubpictureAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR); 13669 void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13670 HRESULT WINAPI IDvdInfo2_GetDVDVolumeInfo_Proxy(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); 13671 void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13672 HRESULT WINAPI IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(IDvdInfo2 *This,ULONG *pulNumOfLangs); 13673 void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13674 HRESULT WINAPI IDvdInfo2_GetDVDTextLanguageInfo_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet); 13675 void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13676 HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsNative_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); 13677 void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13678 HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); 13679 void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13680 HRESULT WINAPI IDvdInfo2_GetPlayerParentalLevel_Proxy(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]); 13681 void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13682 HRESULT WINAPI IDvdInfo2_GetNumberOfChapters_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters); 13683 void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13684 HRESULT WINAPI IDvdInfo2_GetTitleParentalLevels_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels); 13685 void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13686 HRESULT WINAPI IDvdInfo2_GetDVDDirectory_Proxy(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize); 13687 void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13688 HRESULT WINAPI IDvdInfo2_IsAudioStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); 13689 void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13690 HRESULT WINAPI IDvdInfo2_GetDiscID_Proxy(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID); 13691 void __RPC_STUB IDvdInfo2_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13692 HRESULT WINAPI IDvdInfo2_GetState_Proxy(IDvdInfo2 *This,IDvdState **pStateData); 13693 void __RPC_STUB IDvdInfo2_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13694 HRESULT WINAPI IDvdInfo2_GetMenuLanguages_Proxy(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages); 13695 void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13696 HRESULT WINAPI IDvdInfo2_GetButtonAtPosition_Proxy(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex); 13697 void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13698 HRESULT WINAPI IDvdInfo2_GetCmdFromEvent_Proxy(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj); 13699 void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13700 HRESULT WINAPI IDvdInfo2_GetDefaultMenuLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage); 13701 void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13702 HRESULT WINAPI IDvdInfo2_GetDefaultAudioLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension); 13703 void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13704 HRESULT WINAPI IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension); 13705 void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13706 HRESULT WINAPI IDvdInfo2_GetDecoderCaps_Proxy(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps); 13707 void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13708 HRESULT WINAPI IDvdInfo2_GetButtonRect_Proxy(IDvdInfo2 *This,ULONG ulButton,RECT *pRect); 13709 void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13710 HRESULT WINAPI IDvdInfo2_IsSubpictureStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); 13711 void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13712 #endif 13713 13714 typedef enum _AM_DVD_GRAPH_FLAGS { 13715 AM_DVD_HWDEC_PREFER = 0x1,AM_DVD_HWDEC_ONLY = 0x2,AM_DVD_SWDEC_PREFER = 0x4,AM_DVD_SWDEC_ONLY = 0x8,AM_DVD_NOVPE = 0x100, 13716 AM_DVD_VMR9_ONLY = 0x800 13717 } AM_DVD_GRAPH_FLAGS; 13718 13719 typedef enum _AM_DVD_STREAM_FLAGS { 13720 AM_DVD_STREAM_VIDEO = 0x1,AM_DVD_STREAM_AUDIO = 0x2,AM_DVD_STREAM_SUBPIC = 0x4 13721 } AM_DVD_STREAM_FLAGS; 13722 13723 typedef struct __MIDL___MIDL_itf_strmif_0389_0001 { 13724 HRESULT hrVPEStatus; 13725 WINBOOL bDvdVolInvalid; 13726 WINBOOL bDvdVolUnknown; 13727 WINBOOL bNoLine21In; 13728 WINBOOL bNoLine21Out; 13729 int iNumStreams; 13730 int iNumStreamsFailed; 13731 DWORD dwFailedStreamsFlag; 13732 } AM_DVD_RENDERSTATUS; 13733 13734 extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec; 13735 extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec; 13736 #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__ 13737 #define __IDvdGraphBuilder_INTERFACE_DEFINED__ 13738 EXTERN_C const IID IID_IDvdGraphBuilder; 13739 #if defined(__cplusplus) && !defined(CINTERFACE) 13740 struct IDvdGraphBuilder : public IUnknown { 13741 public: 13742 virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppGB) = 0; 13743 virtual HRESULT WINAPI GetDvdInterface(REFIID riid,void **ppvIF) = 0; 13744 virtual HRESULT WINAPI RenderDvdVideoVolume(LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus) = 0; 13745 }; 13746 #else 13747 typedef struct IDvdGraphBuilderVtbl { 13748 BEGIN_INTERFACE 13749 HRESULT (WINAPI *QueryInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvObject); 13750 ULONG (WINAPI *AddRef)(IDvdGraphBuilder *This); 13751 ULONG (WINAPI *Release)(IDvdGraphBuilder *This); 13752 HRESULT (WINAPI *GetFiltergraph)(IDvdGraphBuilder *This,IGraphBuilder **ppGB); 13753 HRESULT (WINAPI *GetDvdInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvIF); 13754 HRESULT (WINAPI *RenderDvdVideoVolume)(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus); 13755 END_INTERFACE 13756 } IDvdGraphBuilderVtbl; 13757 struct IDvdGraphBuilder { 13758 CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl; 13759 }; 13760 #ifdef COBJMACROS 13761 #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13762 #define IDvdGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 13763 #define IDvdGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 13764 #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) (This)->lpVtbl->GetFiltergraph(This,ppGB) 13765 #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) (This)->lpVtbl->GetDvdInterface(This,riid,ppvIF) 13766 #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) (This)->lpVtbl->RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) 13767 #endif 13768 #endif 13769 HRESULT WINAPI IDvdGraphBuilder_GetFiltergraph_Proxy(IDvdGraphBuilder *This,IGraphBuilder **ppGB); 13770 void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13771 HRESULT WINAPI IDvdGraphBuilder_GetDvdInterface_Proxy(IDvdGraphBuilder *This,REFIID riid,void **ppvIF); 13772 void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13773 HRESULT WINAPI IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus); 13774 void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13775 #endif 13776 13777 #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__ 13778 #define __IDDrawExclModeVideo_INTERFACE_DEFINED__ 13779 EXTERN_C const IID IID_IDDrawExclModeVideo; 13780 #if defined(__cplusplus) && !defined(CINTERFACE) 13781 struct IDDrawExclModeVideo : public IUnknown { 13782 public: 13783 virtual HRESULT WINAPI SetDDrawObject(IDirectDraw *pDDrawObject) = 0; 13784 virtual HRESULT WINAPI GetDDrawObject(IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal) = 0; 13785 virtual HRESULT WINAPI SetDDrawSurface(IDirectDrawSurface *pDDrawSurface) = 0; 13786 virtual HRESULT WINAPI GetDDrawSurface(IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal) = 0; 13787 virtual HRESULT WINAPI SetDrawParameters(const RECT *prcSource,const RECT *prcTarget) = 0; 13788 virtual HRESULT WINAPI GetNativeVideoProps(DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY) = 0; 13789 virtual HRESULT WINAPI SetCallbackInterface(IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags) = 0; 13790 }; 13791 #else 13792 typedef struct IDDrawExclModeVideoVtbl { 13793 BEGIN_INTERFACE 13794 HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideo *This,REFIID riid,void **ppvObject); 13795 ULONG (WINAPI *AddRef)(IDDrawExclModeVideo *This); 13796 ULONG (WINAPI *Release)(IDDrawExclModeVideo *This); 13797 HRESULT (WINAPI *SetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject); 13798 HRESULT (WINAPI *GetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal); 13799 HRESULT (WINAPI *SetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface); 13800 HRESULT (WINAPI *GetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal); 13801 HRESULT (WINAPI *SetDrawParameters)(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget); 13802 HRESULT (WINAPI *GetNativeVideoProps)(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY); 13803 HRESULT (WINAPI *SetCallbackInterface)(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags); 13804 END_INTERFACE 13805 } IDDrawExclModeVideoVtbl; 13806 struct IDDrawExclModeVideo { 13807 CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl; 13808 }; 13809 #ifdef COBJMACROS 13810 #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13811 #define IDDrawExclModeVideo_AddRef(This) (This)->lpVtbl->AddRef(This) 13812 #define IDDrawExclModeVideo_Release(This) (This)->lpVtbl->Release(This) 13813 #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) (This)->lpVtbl->SetDDrawObject(This,pDDrawObject) 13814 #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) (This)->lpVtbl->GetDDrawObject(This,ppDDrawObject,pbUsingExternal) 13815 #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) (This)->lpVtbl->SetDDrawSurface(This,pDDrawSurface) 13816 #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) (This)->lpVtbl->GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) 13817 #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) (This)->lpVtbl->SetDrawParameters(This,prcSource,prcTarget) 13818 #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) (This)->lpVtbl->GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) 13819 #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) (This)->lpVtbl->SetCallbackInterface(This,pCallback,dwFlags) 13820 #endif 13821 #endif 13822 HRESULT WINAPI IDDrawExclModeVideo_SetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject); 13823 void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13824 HRESULT WINAPI IDDrawExclModeVideo_GetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal); 13825 void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13826 HRESULT WINAPI IDDrawExclModeVideo_SetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface); 13827 void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13828 HRESULT WINAPI IDDrawExclModeVideo_GetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal); 13829 void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13830 HRESULT WINAPI IDDrawExclModeVideo_SetDrawParameters_Proxy(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget); 13831 void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13832 HRESULT WINAPI IDDrawExclModeVideo_GetNativeVideoProps_Proxy(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY); 13833 void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13834 HRESULT WINAPI IDDrawExclModeVideo_SetCallbackInterface_Proxy(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags); 13835 void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13836 #endif 13837 13838 enum _AM_OVERLAY_NOTIFY_FLAGS { 13839 AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4 13840 }; 13841 13842 extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec; 13843 extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec; 13844 #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ 13845 #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ 13846 EXTERN_C const IID IID_IDDrawExclModeVideoCallback; 13847 #if defined(__cplusplus) && !defined(CINTERFACE) 13848 struct IDDrawExclModeVideoCallback : public IUnknown { 13849 public: 13850 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; 13851 virtual HRESULT WINAPI OnUpdateColorKey(const COLORKEY *pKey,DWORD dwColor) = 0; 13852 virtual HRESULT WINAPI OnUpdateSize(DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight) = 0; 13853 }; 13854 #else 13855 typedef struct IDDrawExclModeVideoCallbackVtbl { 13856 BEGIN_INTERFACE 13857 HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideoCallback *This,REFIID riid,void **ppvObject); 13858 ULONG (WINAPI *AddRef)(IDDrawExclModeVideoCallback *This); 13859 ULONG (WINAPI *Release)(IDDrawExclModeVideoCallback *This); 13860 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); 13861 HRESULT (WINAPI *OnUpdateColorKey)(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor); 13862 HRESULT (WINAPI *OnUpdateSize)(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight); 13863 END_INTERFACE 13864 } IDDrawExclModeVideoCallbackVtbl; 13865 struct IDDrawExclModeVideoCallback { 13866 CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl; 13867 }; 13868 #ifdef COBJMACROS 13869 #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13870 #define IDDrawExclModeVideoCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 13871 #define IDDrawExclModeVideoCallback_Release(This) (This)->lpVtbl->Release(This) 13872 #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) (This)->lpVtbl->OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) 13873 #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) (This)->lpVtbl->OnUpdateColorKey(This,pKey,dwColor) 13874 #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) (This)->lpVtbl->OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) 13875 #endif 13876 #endif 13877 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); 13878 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13879 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor); 13880 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13881 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight); 13882 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13883 #endif 13884 13885 extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_c_ifspec; 13886 extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_s_ifspec; 13887 #ifndef __IPinConnection_INTERFACE_DEFINED__ 13888 #define __IPinConnection_INTERFACE_DEFINED__ 13889 EXTERN_C const IID IID_IPinConnection; 13890 #if defined(__cplusplus) && !defined(CINTERFACE) 13891 struct IPinConnection : public IUnknown { 13892 public: 13893 virtual HRESULT WINAPI DynamicQueryAccept(const AM_MEDIA_TYPE *pmt) = 0; 13894 virtual HRESULT WINAPI NotifyEndOfStream(HANDLE hNotifyEvent) = 0; 13895 virtual HRESULT WINAPI IsEndPin(void) = 0; 13896 virtual HRESULT WINAPI DynamicDisconnect(void) = 0; 13897 }; 13898 #else 13899 typedef struct IPinConnectionVtbl { 13900 BEGIN_INTERFACE 13901 HRESULT (WINAPI *QueryInterface)(IPinConnection *This,REFIID riid,void **ppvObject); 13902 ULONG (WINAPI *AddRef)(IPinConnection *This); 13903 ULONG (WINAPI *Release)(IPinConnection *This); 13904 HRESULT (WINAPI *DynamicQueryAccept)(IPinConnection *This,const AM_MEDIA_TYPE *pmt); 13905 HRESULT (WINAPI *NotifyEndOfStream)(IPinConnection *This,HANDLE hNotifyEvent); 13906 HRESULT (WINAPI *IsEndPin)(IPinConnection *This); 13907 HRESULT (WINAPI *DynamicDisconnect)(IPinConnection *This); 13908 END_INTERFACE 13909 } IPinConnectionVtbl; 13910 struct IPinConnection { 13911 CONST_VTBL struct IPinConnectionVtbl *lpVtbl; 13912 }; 13913 #ifdef COBJMACROS 13914 #define IPinConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13915 #define IPinConnection_AddRef(This) (This)->lpVtbl->AddRef(This) 13916 #define IPinConnection_Release(This) (This)->lpVtbl->Release(This) 13917 #define IPinConnection_DynamicQueryAccept(This,pmt) (This)->lpVtbl->DynamicQueryAccept(This,pmt) 13918 #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) (This)->lpVtbl->NotifyEndOfStream(This,hNotifyEvent) 13919 #define IPinConnection_IsEndPin(This) (This)->lpVtbl->IsEndPin(This) 13920 #define IPinConnection_DynamicDisconnect(This) (This)->lpVtbl->DynamicDisconnect(This) 13921 #endif 13922 #endif 13923 HRESULT WINAPI IPinConnection_DynamicQueryAccept_Proxy(IPinConnection *This,const AM_MEDIA_TYPE *pmt); 13924 void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13925 HRESULT WINAPI IPinConnection_NotifyEndOfStream_Proxy(IPinConnection *This,HANDLE hNotifyEvent); 13926 void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13927 HRESULT WINAPI IPinConnection_IsEndPin_Proxy(IPinConnection *This); 13928 void __RPC_STUB IPinConnection_IsEndPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13929 HRESULT WINAPI IPinConnection_DynamicDisconnect_Proxy(IPinConnection *This); 13930 void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13931 #endif 13932 13933 #ifndef __IPinFlowControl_INTERFACE_DEFINED__ 13934 #define __IPinFlowControl_INTERFACE_DEFINED__ 13935 EXTERN_C const IID IID_IPinFlowControl; 13936 #if defined(__cplusplus) && !defined(CINTERFACE) 13937 struct IPinFlowControl : public IUnknown { 13938 public: 13939 virtual HRESULT WINAPI Block(DWORD dwBlockFlags,HANDLE hEvent) = 0; 13940 }; 13941 #else 13942 typedef struct IPinFlowControlVtbl { 13943 BEGIN_INTERFACE 13944 HRESULT (WINAPI *QueryInterface)(IPinFlowControl *This,REFIID riid,void **ppvObject); 13945 ULONG (WINAPI *AddRef)(IPinFlowControl *This); 13946 ULONG (WINAPI *Release)(IPinFlowControl *This); 13947 HRESULT (WINAPI *Block)(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent); 13948 END_INTERFACE 13949 } IPinFlowControlVtbl; 13950 struct IPinFlowControl { 13951 CONST_VTBL struct IPinFlowControlVtbl *lpVtbl; 13952 }; 13953 #ifdef COBJMACROS 13954 #define IPinFlowControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 13955 #define IPinFlowControl_AddRef(This) (This)->lpVtbl->AddRef(This) 13956 #define IPinFlowControl_Release(This) (This)->lpVtbl->Release(This) 13957 #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) (This)->lpVtbl->Block(This,dwBlockFlags,hEvent) 13958 #endif 13959 #endif 13960 HRESULT WINAPI IPinFlowControl_Block_Proxy(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent); 13961 void __RPC_STUB IPinFlowControl_Block_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 13962 #endif 13963 13964 enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS { 13965 AM_PIN_FLOW_CONTROL_BLOCK = 0x1 13966 }; 13967 typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS { 13968 AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2, 13969 AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4 13970 } AM_GRAPH_CONFIG_RECONNECT_FLAGS; 13971 13972 enum _REM_FILTER_FLAGS { 13973 REMFILTERF_LEAVECONNECTED = 0x1 13974 }; 13975 13976 typedef enum _AM_FILTER_FLAGS { 13977 AM_FILTER_FLAGS_REMOVABLE = 0x1 13978 } AM_FILTER_FLAGS; 13979 13980 extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec; 13981 extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec; 13982 #ifndef __IGraphConfig_INTERFACE_DEFINED__ 13983 #define __IGraphConfig_INTERFACE_DEFINED__ 13984 EXTERN_C const IID IID_IGraphConfig; 13985 #if defined(__cplusplus) && !defined(CINTERFACE) 13986 struct IGraphConfig : public IUnknown { 13987 public: 13988 virtual HRESULT WINAPI Reconnect(IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags) = 0; 13989 virtual HRESULT WINAPI Reconfigure(IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent) = 0; 13990 virtual HRESULT WINAPI AddFilterToCache(IBaseFilter *pFilter) = 0; 13991 virtual HRESULT WINAPI EnumCacheFilter(IEnumFilters **pEnum) = 0; 13992 virtual HRESULT WINAPI RemoveFilterFromCache(IBaseFilter *pFilter) = 0; 13993 virtual HRESULT WINAPI GetStartTime(REFERENCE_TIME *prtStart) = 0; 13994 virtual HRESULT WINAPI PushThroughData(IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort) = 0; 13995 virtual HRESULT WINAPI SetFilterFlags(IBaseFilter *pFilter,DWORD dwFlags) = 0; 13996 virtual HRESULT WINAPI GetFilterFlags(IBaseFilter *pFilter,DWORD *pdwFlags) = 0; 13997 virtual HRESULT WINAPI RemoveFilterEx(IBaseFilter *pFilter,DWORD Flags) = 0; 13998 }; 13999 #else 14000 typedef struct IGraphConfigVtbl { 14001 BEGIN_INTERFACE 14002 HRESULT (WINAPI *QueryInterface)(IGraphConfig *This,REFIID riid,void **ppvObject); 14003 ULONG (WINAPI *AddRef)(IGraphConfig *This); 14004 ULONG (WINAPI *Release)(IGraphConfig *This); 14005 HRESULT (WINAPI *Reconnect)(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags); 14006 HRESULT (WINAPI *Reconfigure)(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent); 14007 HRESULT (WINAPI *AddFilterToCache)(IGraphConfig *This,IBaseFilter *pFilter); 14008 HRESULT (WINAPI *EnumCacheFilter)(IGraphConfig *This,IEnumFilters **pEnum); 14009 HRESULT (WINAPI *RemoveFilterFromCache)(IGraphConfig *This,IBaseFilter *pFilter); 14010 HRESULT (WINAPI *GetStartTime)(IGraphConfig *This,REFERENCE_TIME *prtStart); 14011 HRESULT (WINAPI *PushThroughData)(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort); 14012 HRESULT (WINAPI *SetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags); 14013 HRESULT (WINAPI *GetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags); 14014 HRESULT (WINAPI *RemoveFilterEx)(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags); 14015 END_INTERFACE 14016 } IGraphConfigVtbl; 14017 struct IGraphConfig { 14018 CONST_VTBL struct IGraphConfigVtbl *lpVtbl; 14019 }; 14020 #ifdef COBJMACROS 14021 #define IGraphConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14022 #define IGraphConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 14023 #define IGraphConfig_Release(This) (This)->lpVtbl->Release(This) 14024 #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) (This)->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) 14025 #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) (This)->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) 14026 #define IGraphConfig_AddFilterToCache(This,pFilter) (This)->lpVtbl->AddFilterToCache(This,pFilter) 14027 #define IGraphConfig_EnumCacheFilter(This,pEnum) (This)->lpVtbl->EnumCacheFilter(This,pEnum) 14028 #define IGraphConfig_RemoveFilterFromCache(This,pFilter) (This)->lpVtbl->RemoveFilterFromCache(This,pFilter) 14029 #define IGraphConfig_GetStartTime(This,prtStart) (This)->lpVtbl->GetStartTime(This,prtStart) 14030 #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) (This)->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort) 14031 #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) (This)->lpVtbl->SetFilterFlags(This,pFilter,dwFlags) 14032 #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) (This)->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags) 14033 #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) (This)->lpVtbl->RemoveFilterEx(This,pFilter,Flags) 14034 #endif 14035 #endif 14036 HRESULT WINAPI IGraphConfig_Reconnect_Proxy(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags); 14037 void __RPC_STUB IGraphConfig_Reconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14038 HRESULT WINAPI IGraphConfig_Reconfigure_Proxy(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent); 14039 void __RPC_STUB IGraphConfig_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14040 HRESULT WINAPI IGraphConfig_AddFilterToCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter); 14041 void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14042 HRESULT WINAPI IGraphConfig_EnumCacheFilter_Proxy(IGraphConfig *This,IEnumFilters **pEnum); 14043 void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14044 HRESULT WINAPI IGraphConfig_RemoveFilterFromCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter); 14045 void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14046 HRESULT WINAPI IGraphConfig_GetStartTime_Proxy(IGraphConfig *This,REFERENCE_TIME *prtStart); 14047 void __RPC_STUB IGraphConfig_GetStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14048 HRESULT WINAPI IGraphConfig_PushThroughData_Proxy(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort); 14049 void __RPC_STUB IGraphConfig_PushThroughData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14050 HRESULT WINAPI IGraphConfig_SetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags); 14051 void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14052 HRESULT WINAPI IGraphConfig_GetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags); 14053 void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14054 HRESULT WINAPI IGraphConfig_RemoveFilterEx_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags); 14055 void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14056 #endif 14057 14058 #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__ 14059 #define __IGraphConfigCallback_INTERFACE_DEFINED__ 14060 EXTERN_C const IID IID_IGraphConfigCallback; 14061 #if defined(__cplusplus) && !defined(CINTERFACE) 14062 struct IGraphConfigCallback : public IUnknown { 14063 public: 14064 virtual HRESULT WINAPI Reconfigure(PVOID pvContext,DWORD dwFlags) = 0; 14065 }; 14066 #else 14067 typedef struct IGraphConfigCallbackVtbl { 14068 BEGIN_INTERFACE 14069 HRESULT (WINAPI *QueryInterface)(IGraphConfigCallback *This,REFIID riid,void **ppvObject); 14070 ULONG (WINAPI *AddRef)(IGraphConfigCallback *This); 14071 ULONG (WINAPI *Release)(IGraphConfigCallback *This); 14072 HRESULT (WINAPI *Reconfigure)(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags); 14073 END_INTERFACE 14074 } IGraphConfigCallbackVtbl; 14075 struct IGraphConfigCallback { 14076 CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl; 14077 }; 14078 #ifdef COBJMACROS 14079 #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14080 #define IGraphConfigCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 14081 #define IGraphConfigCallback_Release(This) (This)->lpVtbl->Release(This) 14082 #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) (This)->lpVtbl->Reconfigure(This,pvContext,dwFlags) 14083 #endif 14084 #endif 14085 HRESULT WINAPI IGraphConfigCallback_Reconfigure_Proxy(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags); 14086 void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14087 #endif 14088 14089 #ifndef __IFilterChain_INTERFACE_DEFINED__ 14090 #define __IFilterChain_INTERFACE_DEFINED__ 14091 EXTERN_C const IID IID_IFilterChain; 14092 #if defined(__cplusplus) && !defined(CINTERFACE) 14093 struct IFilterChain : public IUnknown { 14094 public: 14095 virtual HRESULT WINAPI StartChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0; 14096 virtual HRESULT WINAPI PauseChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0; 14097 virtual HRESULT WINAPI StopChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0; 14098 virtual HRESULT WINAPI RemoveChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0; 14099 }; 14100 #else 14101 typedef struct IFilterChainVtbl { 14102 BEGIN_INTERFACE 14103 HRESULT (WINAPI *QueryInterface)(IFilterChain *This,REFIID riid,void **ppvObject); 14104 ULONG (WINAPI *AddRef)(IFilterChain *This); 14105 ULONG (WINAPI *Release)(IFilterChain *This); 14106 HRESULT (WINAPI *StartChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); 14107 HRESULT (WINAPI *PauseChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); 14108 HRESULT (WINAPI *StopChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); 14109 HRESULT (WINAPI *RemoveChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); 14110 END_INTERFACE 14111 } IFilterChainVtbl; 14112 struct IFilterChain { 14113 CONST_VTBL struct IFilterChainVtbl *lpVtbl; 14114 }; 14115 #ifdef COBJMACROS 14116 #define IFilterChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14117 #define IFilterChain_AddRef(This) (This)->lpVtbl->AddRef(This) 14118 #define IFilterChain_Release(This) (This)->lpVtbl->Release(This) 14119 #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StartChain(This,pStartFilter,pEndFilter) 14120 #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->PauseChain(This,pStartFilter,pEndFilter) 14121 #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StopChain(This,pStartFilter,pEndFilter) 14122 #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter) 14123 #endif 14124 #endif 14125 HRESULT WINAPI IFilterChain_StartChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); 14126 void __RPC_STUB IFilterChain_StartChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14127 HRESULT WINAPI IFilterChain_PauseChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); 14128 void __RPC_STUB IFilterChain_PauseChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14129 HRESULT WINAPI IFilterChain_StopChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); 14130 void __RPC_STUB IFilterChain_StopChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14131 HRESULT WINAPI IFilterChain_RemoveChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); 14132 void __RPC_STUB IFilterChain_RemoveChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14133 #endif 14134 14135 #ifdef MINGW_HAS_DDRAW_H 14136 #include <ddraw.h> 14137 #endif 14138 14139 typedef enum __MIDL___MIDL_itf_strmif_0397_0002 { 14140 VMRSample_SyncPoint = 0x1,VMRSample_Preroll = 0x2,VMRSample_Discontinuity = 0x4,VMRSample_TimeValid = 0x8,VMRSample_SrcDstRectsValid = 0x10 14141 } VMRPresentationFlags; 14142 14143 typedef struct tagVMRPRESENTATIONINFO { 14144 DWORD dwFlags; 14145 LPDIRECTDRAWSURFACE7 lpSurf; 14146 REFERENCE_TIME rtStart; 14147 REFERENCE_TIME rtEnd; 14148 SIZE szAspectRatio; 14149 RECT rcSrc; 14150 RECT rcDst; 14151 DWORD dwTypeSpecificFlags; 14152 DWORD dwInterlaceFlags; 14153 } VMRPRESENTATIONINFO; 14154 14155 extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec; 14156 extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec; 14157 #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__ 14158 #define __IVMRImagePresenter_INTERFACE_DEFINED__ 14159 EXTERN_C const IID IID_IVMRImagePresenter; 14160 #if defined(__cplusplus) && !defined(CINTERFACE) 14161 struct IVMRImagePresenter : public IUnknown { 14162 public: 14163 virtual HRESULT WINAPI StartPresenting(DWORD_PTR dwUserID) = 0; 14164 virtual HRESULT WINAPI StopPresenting(DWORD_PTR dwUserID) = 0; 14165 virtual HRESULT WINAPI PresentImage(DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo) = 0; 14166 }; 14167 #else 14168 typedef struct IVMRImagePresenterVtbl { 14169 BEGIN_INTERFACE 14170 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenter *This,REFIID riid,void **ppvObject); 14171 ULONG (WINAPI *AddRef)(IVMRImagePresenter *This); 14172 ULONG (WINAPI *Release)(IVMRImagePresenter *This); 14173 HRESULT (WINAPI *StartPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID); 14174 HRESULT (WINAPI *StopPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID); 14175 HRESULT (WINAPI *PresentImage)(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo); 14176 END_INTERFACE 14177 } IVMRImagePresenterVtbl; 14178 struct IVMRImagePresenter { 14179 CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl; 14180 }; 14181 #ifdef COBJMACROS 14182 #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14183 #define IVMRImagePresenter_AddRef(This) (This)->lpVtbl->AddRef(This) 14184 #define IVMRImagePresenter_Release(This) (This)->lpVtbl->Release(This) 14185 #define IVMRImagePresenter_StartPresenting(This,dwUserID) (This)->lpVtbl->StartPresenting(This,dwUserID) 14186 #define IVMRImagePresenter_StopPresenting(This,dwUserID) (This)->lpVtbl->StopPresenting(This,dwUserID) 14187 #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) (This)->lpVtbl->PresentImage(This,dwUserID,lpPresInfo) 14188 #endif 14189 #endif 14190 HRESULT WINAPI IVMRImagePresenter_StartPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID); 14191 void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14192 HRESULT WINAPI IVMRImagePresenter_StopPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID); 14193 void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14194 HRESULT WINAPI IVMRImagePresenter_PresentImage_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo); 14195 void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14196 #endif 14197 14198 typedef enum __MIDL___MIDL_itf_strmif_0398_0001 { 14199 AMAP_PIXELFORMAT_VALID = 0x1,AMAP_3D_TARGET = 0x2,AMAP_ALLOW_SYSMEM = 0x4,AMAP_FORCE_SYSMEM = 0x8,AMAP_DIRECTED_FLIP = 0x10,AMAP_DXVA_TARGET = 0x20 14200 } VMRSurfaceAllocationFlags; 14201 14202 typedef struct tagVMRALLOCATIONINFO { 14203 DWORD dwFlags; 14204 LPBITMAPINFOHEADER lpHdr; 14205 LPDDPIXELFORMAT lpPixFmt; 14206 SIZE szAspectRatio; 14207 DWORD dwMinBuffers; 14208 DWORD dwMaxBuffers; 14209 DWORD dwInterlaceFlags; 14210 SIZE szNativeSize; 14211 } VMRALLOCATIONINFO; 14212 14213 extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec; 14214 extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec; 14215 #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__ 14216 #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__ 14217 EXTERN_C const IID IID_IVMRSurfaceAllocator; 14218 #if defined(__cplusplus) && !defined(CINTERFACE) 14219 struct IVMRSurfaceAllocator : public IUnknown { 14220 public: 14221 virtual HRESULT WINAPI AllocateSurface(DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface) = 0; 14222 virtual HRESULT WINAPI FreeSurface(DWORD_PTR dwID) = 0; 14223 virtual HRESULT WINAPI PrepareSurface(DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags) = 0; 14224 virtual HRESULT WINAPI AdviseNotify(IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0; 14225 }; 14226 #else 14227 typedef struct IVMRSurfaceAllocatorVtbl { 14228 BEGIN_INTERFACE 14229 HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocator *This,REFIID riid,void **ppvObject); 14230 ULONG (WINAPI *AddRef)(IVMRSurfaceAllocator *This); 14231 ULONG (WINAPI *Release)(IVMRSurfaceAllocator *This); 14232 HRESULT (WINAPI *AllocateSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface); 14233 HRESULT (WINAPI *FreeSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwID); 14234 HRESULT (WINAPI *PrepareSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags); 14235 HRESULT (WINAPI *AdviseNotify)(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify); 14236 END_INTERFACE 14237 } IVMRSurfaceAllocatorVtbl; 14238 struct IVMRSurfaceAllocator { 14239 CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl; 14240 }; 14241 #ifdef COBJMACROS 14242 #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14243 #define IVMRSurfaceAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 14244 #define IVMRSurfaceAllocator_Release(This) (This)->lpVtbl->Release(This) 14245 #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) (This)->lpVtbl->AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) 14246 #define IVMRSurfaceAllocator_FreeSurface(This,dwID) (This)->lpVtbl->FreeSurface(This,dwID) 14247 #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) (This)->lpVtbl->PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) 14248 #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) (This)->lpVtbl->AdviseNotify(This,lpIVMRSurfAllocNotify) 14249 #endif 14250 #endif 14251 HRESULT WINAPI IVMRSurfaceAllocator_AllocateSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface); 14252 void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14253 HRESULT WINAPI IVMRSurfaceAllocator_FreeSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwID); 14254 void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14255 HRESULT WINAPI IVMRSurfaceAllocator_PrepareSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags); 14256 void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14257 HRESULT WINAPI IVMRSurfaceAllocator_AdviseNotify_Proxy(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify); 14258 void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14259 #endif 14260 14261 #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ 14262 #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ 14263 EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify; 14264 #if defined(__cplusplus) && !defined(CINTERFACE) 14265 struct IVMRSurfaceAllocatorNotify : public IUnknown { 14266 public: 14267 virtual HRESULT WINAPI AdviseSurfaceAllocator(DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0; 14268 virtual HRESULT WINAPI SetDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0; 14269 virtual HRESULT WINAPI ChangeDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0; 14270 virtual HRESULT WINAPI RestoreDDrawSurfaces(void) = 0; 14271 virtual HRESULT WINAPI NotifyEvent(LONG EventCode,LONG_PTR Param1,LONG_PTR Param2) = 0; 14272 virtual HRESULT WINAPI SetBorderColor(COLORREF clrBorder) = 0; 14273 }; 14274 #else 14275 typedef struct IVMRSurfaceAllocatorNotifyVtbl { 14276 BEGIN_INTERFACE 14277 HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocatorNotify *This,REFIID riid,void **ppvObject); 14278 ULONG (WINAPI *AddRef)(IVMRSurfaceAllocatorNotify *This); 14279 ULONG (WINAPI *Release)(IVMRSurfaceAllocatorNotify *This); 14280 HRESULT (WINAPI *AdviseSurfaceAllocator)(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator); 14281 HRESULT (WINAPI *SetDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); 14282 HRESULT (WINAPI *ChangeDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); 14283 HRESULT (WINAPI *RestoreDDrawSurfaces)(IVMRSurfaceAllocatorNotify *This); 14284 HRESULT (WINAPI *NotifyEvent)(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2); 14285 HRESULT (WINAPI *SetBorderColor)(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder); 14286 END_INTERFACE 14287 } IVMRSurfaceAllocatorNotifyVtbl; 14288 struct IVMRSurfaceAllocatorNotify { 14289 CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl; 14290 }; 14291 #ifdef COBJMACROS 14292 #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14293 #define IVMRSurfaceAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 14294 #define IVMRSurfaceAllocatorNotify_Release(This) (This)->lpVtbl->Release(This) 14295 #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) (This)->lpVtbl->AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) 14296 #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->SetDDrawDevice(This,lpDDrawDevice,hMonitor) 14297 #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) 14298 #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) (This)->lpVtbl->RestoreDDrawSurfaces(This) 14299 #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) (This)->lpVtbl->NotifyEvent(This,EventCode,Param1,Param2) 14300 #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) (This)->lpVtbl->SetBorderColor(This,clrBorder) 14301 #endif 14302 #endif 14303 HRESULT WINAPI IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator); 14304 void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14305 HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); 14306 void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14307 HRESULT WINAPI IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); 14308 void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14309 HRESULT WINAPI IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(IVMRSurfaceAllocatorNotify *This); 14310 void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14311 HRESULT WINAPI IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2); 14312 void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14313 HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder); 14314 void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14315 #endif 14316 14317 typedef enum __MIDL___MIDL_itf_strmif_0400_0001 { 14318 VMR_ARMODE_NONE = 0,VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1 14319 } VMR_ASPECT_RATIO_MODE; 14320 14321 extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec; 14322 extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec; 14323 #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__ 14324 #define __IVMRWindowlessControl_INTERFACE_DEFINED__ 14325 EXTERN_C const IID IID_IVMRWindowlessControl; 14326 #if defined(__cplusplus) && !defined(CINTERFACE) 14327 struct IVMRWindowlessControl : public IUnknown { 14328 public: 14329 virtual HRESULT WINAPI GetNativeVideoSize(LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight) = 0; 14330 virtual HRESULT WINAPI GetMinIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0; 14331 virtual HRESULT WINAPI GetMaxIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0; 14332 virtual HRESULT WINAPI SetVideoPosition(const LPRECT lpSRCRect,const LPRECT lpDSTRect) = 0; 14333 virtual HRESULT WINAPI GetVideoPosition(LPRECT lpSRCRect,LPRECT lpDSTRect) = 0; 14334 virtual HRESULT WINAPI GetAspectRatioMode(DWORD *lpAspectRatioMode) = 0; 14335 virtual HRESULT WINAPI SetAspectRatioMode(DWORD AspectRatioMode) = 0; 14336 virtual HRESULT WINAPI SetVideoClippingWindow(HWND hwnd) = 0; 14337 virtual HRESULT WINAPI RepaintVideo(HWND hwnd,HDC hdc) = 0; 14338 virtual HRESULT WINAPI DisplayModeChanged(void) = 0; 14339 virtual HRESULT WINAPI GetCurrentImage(BYTE **lpDib) = 0; 14340 virtual HRESULT WINAPI SetBorderColor(COLORREF Clr) = 0; 14341 virtual HRESULT WINAPI GetBorderColor(COLORREF *lpClr) = 0; 14342 virtual HRESULT WINAPI SetColorKey(COLORREF Clr) = 0; 14343 virtual HRESULT WINAPI GetColorKey(COLORREF *lpClr) = 0; 14344 }; 14345 #else 14346 typedef struct IVMRWindowlessControlVtbl { 14347 BEGIN_INTERFACE 14348 HRESULT (WINAPI *QueryInterface)(IVMRWindowlessControl *This,REFIID riid,void **ppvObject); 14349 ULONG (WINAPI *AddRef)(IVMRWindowlessControl *This); 14350 ULONG (WINAPI *Release)(IVMRWindowlessControl *This); 14351 HRESULT (WINAPI *GetNativeVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight); 14352 HRESULT (WINAPI *GetMinIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); 14353 HRESULT (WINAPI *GetMaxIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); 14354 HRESULT (WINAPI *SetVideoPosition)(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect); 14355 HRESULT (WINAPI *GetVideoPosition)(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect); 14356 HRESULT (WINAPI *GetAspectRatioMode)(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode); 14357 HRESULT (WINAPI *SetAspectRatioMode)(IVMRWindowlessControl *This,DWORD AspectRatioMode); 14358 HRESULT (WINAPI *SetVideoClippingWindow)(IVMRWindowlessControl *This,HWND hwnd); 14359 HRESULT (WINAPI *RepaintVideo)(IVMRWindowlessControl *This,HWND hwnd,HDC hdc); 14360 HRESULT (WINAPI *DisplayModeChanged)(IVMRWindowlessControl *This); 14361 HRESULT (WINAPI *GetCurrentImage)(IVMRWindowlessControl *This,BYTE **lpDib); 14362 HRESULT (WINAPI *SetBorderColor)(IVMRWindowlessControl *This,COLORREF Clr); 14363 HRESULT (WINAPI *GetBorderColor)(IVMRWindowlessControl *This,COLORREF *lpClr); 14364 HRESULT (WINAPI *SetColorKey)(IVMRWindowlessControl *This,COLORREF Clr); 14365 HRESULT (WINAPI *GetColorKey)(IVMRWindowlessControl *This,COLORREF *lpClr); 14366 END_INTERFACE 14367 } IVMRWindowlessControlVtbl; 14368 struct IVMRWindowlessControl { 14369 CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl; 14370 }; 14371 #ifdef COBJMACROS 14372 #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14373 #define IVMRWindowlessControl_AddRef(This) (This)->lpVtbl->AddRef(This) 14374 #define IVMRWindowlessControl_Release(This) (This)->lpVtbl->Release(This) 14375 #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) (This)->lpVtbl->GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) 14376 #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMinIdealVideoSize(This,lpWidth,lpHeight) 14377 #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMaxIdealVideoSize(This,lpWidth,lpHeight) 14378 #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->SetVideoPosition(This,lpSRCRect,lpDSTRect) 14379 #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->GetVideoPosition(This,lpSRCRect,lpDSTRect) 14380 #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,lpAspectRatioMode) 14381 #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,AspectRatioMode) 14382 #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd) 14383 #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc) 14384 #define IVMRWindowlessControl_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This) 14385 #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) (This)->lpVtbl->GetCurrentImage(This,lpDib) 14386 #define IVMRWindowlessControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr) 14387 #define IVMRWindowlessControl_GetBorderColor(This,lpClr) (This)->lpVtbl->GetBorderColor(This,lpClr) 14388 #define IVMRWindowlessControl_SetColorKey(This,Clr) (This)->lpVtbl->SetColorKey(This,Clr) 14389 #define IVMRWindowlessControl_GetColorKey(This,lpClr) (This)->lpVtbl->GetColorKey(This,lpClr) 14390 #endif 14391 #endif 14392 HRESULT WINAPI IVMRWindowlessControl_GetNativeVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight); 14393 void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14394 HRESULT WINAPI IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); 14395 void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14396 HRESULT WINAPI IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); 14397 void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14398 HRESULT WINAPI IVMRWindowlessControl_SetVideoPosition_Proxy(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect); 14399 void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14400 HRESULT WINAPI IVMRWindowlessControl_GetVideoPosition_Proxy(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect); 14401 void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14402 HRESULT WINAPI IVMRWindowlessControl_GetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode); 14403 void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14404 HRESULT WINAPI IVMRWindowlessControl_SetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD AspectRatioMode); 14405 void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14406 HRESULT WINAPI IVMRWindowlessControl_SetVideoClippingWindow_Proxy(IVMRWindowlessControl *This,HWND hwnd); 14407 void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14408 HRESULT WINAPI IVMRWindowlessControl_RepaintVideo_Proxy(IVMRWindowlessControl *This,HWND hwnd,HDC hdc); 14409 void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14410 HRESULT WINAPI IVMRWindowlessControl_DisplayModeChanged_Proxy(IVMRWindowlessControl *This); 14411 void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14412 HRESULT WINAPI IVMRWindowlessControl_GetCurrentImage_Proxy(IVMRWindowlessControl *This,BYTE **lpDib); 14413 void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14414 HRESULT WINAPI IVMRWindowlessControl_SetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF Clr); 14415 void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14416 HRESULT WINAPI IVMRWindowlessControl_GetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr); 14417 void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14418 HRESULT WINAPI IVMRWindowlessControl_SetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF Clr); 14419 void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14420 HRESULT WINAPI IVMRWindowlessControl_GetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr); 14421 void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14422 #endif 14423 14424 typedef enum __MIDL___MIDL_itf_strmif_0401_0001 { 14425 MixerPref_NoDecimation = 0x1,MixerPref_DecimateOutput = 0x2,MixerPref_ARAdjustXorY = 0x4,MixerPref_DecimationReserved = 0x8, 14426 MixerPref_DecimateMask = 0xf,MixerPref_BiLinearFiltering = 0x10,MixerPref_PointFiltering = 0x20,MixerPref_FilteringMask = 0xf0, 14427 MixerPref_RenderTargetRGB = 0x100,MixerPref_RenderTargetYUV = 0x1000,MixerPref_RenderTargetYUV420 = 0x200,MixerPref_RenderTargetYUV422 = 0x400, 14428 MixerPref_RenderTargetYUV444 = 0x800,MixerPref_RenderTargetReserved = 0xe000,MixerPref_RenderTargetMask = 0xff00, 14429 MixerPref_DynamicSwitchToBOB = 0x10000,MixerPref_DynamicDecimateBy2 = 0x20000,MixerPref_DynamicReserved = 0xc0000, 14430 MixerPref_DynamicMask = 0xf0000 14431 } VMRMixerPrefs; 14432 14433 typedef struct _NORMALIZEDRECT { 14434 float left; 14435 float top; 14436 float right; 14437 float bottom; 14438 } NORMALIZEDRECT; 14439 14440 typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT; 14441 14442 extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_c_ifspec; 14443 extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_s_ifspec; 14444 #ifndef __IVMRMixerControl_INTERFACE_DEFINED__ 14445 #define __IVMRMixerControl_INTERFACE_DEFINED__ 14446 EXTERN_C const IID IID_IVMRMixerControl; 14447 #if defined(__cplusplus) && !defined(CINTERFACE) 14448 struct IVMRMixerControl : public IUnknown { 14449 public: 14450 virtual HRESULT WINAPI SetAlpha(DWORD dwStreamID,float Alpha) = 0; 14451 virtual HRESULT WINAPI GetAlpha(DWORD dwStreamID,float *pAlpha) = 0; 14452 virtual HRESULT WINAPI SetZOrder(DWORD dwStreamID,DWORD dwZ) = 0; 14453 virtual HRESULT WINAPI GetZOrder(DWORD dwStreamID,DWORD *pZ) = 0; 14454 virtual HRESULT WINAPI SetOutputRect(DWORD dwStreamID,const NORMALIZEDRECT *pRect) = 0; 14455 virtual HRESULT WINAPI GetOutputRect(DWORD dwStreamID,NORMALIZEDRECT *pRect) = 0; 14456 virtual HRESULT WINAPI SetBackgroundClr(COLORREF ClrBkg) = 0; 14457 virtual HRESULT WINAPI GetBackgroundClr(COLORREF *lpClrBkg) = 0; 14458 virtual HRESULT WINAPI SetMixingPrefs(DWORD dwMixerPrefs) = 0; 14459 virtual HRESULT WINAPI GetMixingPrefs(DWORD *pdwMixerPrefs) = 0; 14460 }; 14461 #else 14462 typedef struct IVMRMixerControlVtbl { 14463 BEGIN_INTERFACE 14464 HRESULT (WINAPI *QueryInterface)(IVMRMixerControl *This,REFIID riid,void **ppvObject); 14465 ULONG (WINAPI *AddRef)(IVMRMixerControl *This); 14466 ULONG (WINAPI *Release)(IVMRMixerControl *This); 14467 HRESULT (WINAPI *SetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float Alpha); 14468 HRESULT (WINAPI *GetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha); 14469 HRESULT (WINAPI *SetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ); 14470 HRESULT (WINAPI *GetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ); 14471 HRESULT (WINAPI *SetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect); 14472 HRESULT (WINAPI *GetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect); 14473 HRESULT (WINAPI *SetBackgroundClr)(IVMRMixerControl *This,COLORREF ClrBkg); 14474 HRESULT (WINAPI *GetBackgroundClr)(IVMRMixerControl *This,COLORREF *lpClrBkg); 14475 HRESULT (WINAPI *SetMixingPrefs)(IVMRMixerControl *This,DWORD dwMixerPrefs); 14476 HRESULT (WINAPI *GetMixingPrefs)(IVMRMixerControl *This,DWORD *pdwMixerPrefs); 14477 END_INTERFACE 14478 } IVMRMixerControlVtbl; 14479 struct IVMRMixerControl { 14480 CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl; 14481 }; 14482 #ifdef COBJMACROS 14483 #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14484 #define IVMRMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This) 14485 #define IVMRMixerControl_Release(This) (This)->lpVtbl->Release(This) 14486 #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) (This)->lpVtbl->SetAlpha(This,dwStreamID,Alpha) 14487 #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) (This)->lpVtbl->GetAlpha(This,dwStreamID,pAlpha) 14488 #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetZOrder(This,dwStreamID,dwZ) 14489 #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) (This)->lpVtbl->GetZOrder(This,dwStreamID,pZ) 14490 #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->SetOutputRect(This,dwStreamID,pRect) 14491 #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->GetOutputRect(This,dwStreamID,pRect) 14492 #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) (This)->lpVtbl->SetBackgroundClr(This,ClrBkg) 14493 #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) (This)->lpVtbl->GetBackgroundClr(This,lpClrBkg) 14494 #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) (This)->lpVtbl->SetMixingPrefs(This,dwMixerPrefs) 14495 #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) (This)->lpVtbl->GetMixingPrefs(This,pdwMixerPrefs) 14496 #endif 14497 #endif 14498 HRESULT WINAPI IVMRMixerControl_SetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float Alpha); 14499 void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14500 HRESULT WINAPI IVMRMixerControl_GetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha); 14501 void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14502 HRESULT WINAPI IVMRMixerControl_SetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ); 14503 void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14504 HRESULT WINAPI IVMRMixerControl_GetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ); 14505 void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14506 HRESULT WINAPI IVMRMixerControl_SetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect); 14507 void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14508 HRESULT WINAPI IVMRMixerControl_GetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect); 14509 void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14510 HRESULT WINAPI IVMRMixerControl_SetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF ClrBkg); 14511 void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14512 HRESULT WINAPI IVMRMixerControl_GetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF *lpClrBkg); 14513 void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14514 HRESULT WINAPI IVMRMixerControl_SetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD dwMixerPrefs); 14515 void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14516 HRESULT WINAPI IVMRMixerControl_GetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD *pdwMixerPrefs); 14517 14518 void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14519 #endif 14520 14521 #ifdef __cplusplus 14522 typedef struct tagVMRGUID { 14523 ::GUID *pGUID; 14524 ::GUID GUID; 14525 } VMRGUID; 14526 #else 14527 typedef struct tagVMRGUID { 14528 GUID *pGUID; 14529 GUID GUID; 14530 } VMRGUID; 14531 #endif 14532 14533 typedef struct tagVMRMONITORINFO { 14534 VMRGUID guid; 14535 RECT rcMonitor; 14536 HMONITOR hMon; 14537 DWORD dwFlags; 14538 wchar_t szDevice[32]; 14539 wchar_t szDescription[256]; 14540 LARGE_INTEGER liDriverVersion; 14541 DWORD dwVendorId; 14542 DWORD dwDeviceId; 14543 DWORD dwSubSysId; 14544 DWORD dwRevision; 14545 } VMRMONITORINFO; 14546 14547 extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_c_ifspec; 14548 extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_s_ifspec; 14549 #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__ 14550 #define __IVMRMonitorConfig_INTERFACE_DEFINED__ 14551 EXTERN_C const IID IID_IVMRMonitorConfig; 14552 #if defined(__cplusplus) && !defined(CINTERFACE) 14553 struct IVMRMonitorConfig : public IUnknown { 14554 public: 14555 virtual HRESULT WINAPI SetMonitor(const VMRGUID *pGUID) = 0; 14556 virtual HRESULT WINAPI GetMonitor(VMRGUID *pGUID) = 0; 14557 virtual HRESULT WINAPI SetDefaultMonitor(const VMRGUID *pGUID) = 0; 14558 virtual HRESULT WINAPI GetDefaultMonitor(VMRGUID *pGUID) = 0; 14559 virtual HRESULT WINAPI GetAvailableMonitors(VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices) = 0; 14560 }; 14561 #else 14562 typedef struct IVMRMonitorConfigVtbl { 14563 BEGIN_INTERFACE 14564 HRESULT (WINAPI *QueryInterface)(IVMRMonitorConfig *This,REFIID riid,void **ppvObject); 14565 ULONG (WINAPI *AddRef)(IVMRMonitorConfig *This); 14566 ULONG (WINAPI *Release)(IVMRMonitorConfig *This); 14567 HRESULT (WINAPI *SetMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID); 14568 HRESULT (WINAPI *GetMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID); 14569 HRESULT (WINAPI *SetDefaultMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID); 14570 HRESULT (WINAPI *GetDefaultMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID); 14571 HRESULT (WINAPI *GetAvailableMonitors)(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices); 14572 END_INTERFACE 14573 } IVMRMonitorConfigVtbl; 14574 struct IVMRMonitorConfig { 14575 CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl; 14576 }; 14577 #ifdef COBJMACROS 14578 #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14579 #define IVMRMonitorConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 14580 #define IVMRMonitorConfig_Release(This) (This)->lpVtbl->Release(This) 14581 #define IVMRMonitorConfig_SetMonitor(This,pGUID) (This)->lpVtbl->SetMonitor(This,pGUID) 14582 #define IVMRMonitorConfig_GetMonitor(This,pGUID) (This)->lpVtbl->GetMonitor(This,pGUID) 14583 #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) (This)->lpVtbl->SetDefaultMonitor(This,pGUID) 14584 #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) (This)->lpVtbl->GetDefaultMonitor(This,pGUID) 14585 #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) (This)->lpVtbl->GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) 14586 #endif 14587 #endif 14588 HRESULT WINAPI IVMRMonitorConfig_SetMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID); 14589 void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14590 HRESULT WINAPI IVMRMonitorConfig_GetMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID); 14591 void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14592 HRESULT WINAPI IVMRMonitorConfig_SetDefaultMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID); 14593 void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14594 HRESULT WINAPI IVMRMonitorConfig_GetDefaultMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID); 14595 void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14596 HRESULT WINAPI IVMRMonitorConfig_GetAvailableMonitors_Proxy(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices); 14597 void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14598 #endif 14599 14600 typedef enum __MIDL___MIDL_itf_strmif_0403_0001 { 14601 RenderPrefs_RestrictToInitialMonitor = 0,RenderPrefs_ForceOffscreen = 0x1,RenderPrefs_ForceOverlays = 0x2,RenderPrefs_AllowOverlays = 0, 14602 RenderPrefs_AllowOffscreen = 0,RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,RenderPrefs_Reserved = 0x10,RenderPrefs_PreferAGPMemWhenMixing = 0x20, 14603 RenderPrefs_Mask = 0x3f 14604 } VMRRenderPrefs; 14605 14606 typedef enum __MIDL___MIDL_itf_strmif_0403_0002 { 14607 VMRMode_Windowed = 0x1,VMRMode_Windowless = 0x2,VMRMode_Renderless = 0x4,VMRMode_Mask = 0x7 14608 } VMRMode; 14609 14610 enum __MIDL___MIDL_itf_strmif_0403_0003 { 14611 MAX_NUMBER_OF_STREAMS = 16 14612 }; 14613 14614 extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec; 14615 extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec; 14616 #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__ 14617 #define __IVMRFilterConfig_INTERFACE_DEFINED__ 14618 EXTERN_C const IID IID_IVMRFilterConfig; 14619 #if defined(__cplusplus) && !defined(CINTERFACE) 14620 struct IVMRFilterConfig : public IUnknown { 14621 public: 14622 virtual HRESULT WINAPI SetImageCompositor(IVMRImageCompositor *lpVMRImgCompositor) = 0; 14623 virtual HRESULT WINAPI SetNumberOfStreams(DWORD dwMaxStreams) = 0; 14624 virtual HRESULT WINAPI GetNumberOfStreams(DWORD *pdwMaxStreams) = 0; 14625 virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0; 14626 virtual HRESULT WINAPI GetRenderingPrefs(DWORD *pdwRenderFlags) = 0; 14627 virtual HRESULT WINAPI SetRenderingMode(DWORD Mode) = 0; 14628 virtual HRESULT WINAPI GetRenderingMode(DWORD *pMode) = 0; 14629 }; 14630 #else 14631 typedef struct IVMRFilterConfigVtbl { 14632 BEGIN_INTERFACE 14633 HRESULT (WINAPI *QueryInterface)(IVMRFilterConfig *This,REFIID riid,void **ppvObject); 14634 ULONG (WINAPI *AddRef)(IVMRFilterConfig *This); 14635 ULONG (WINAPI *Release)(IVMRFilterConfig *This); 14636 HRESULT (WINAPI *SetImageCompositor)(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor); 14637 HRESULT (WINAPI *SetNumberOfStreams)(IVMRFilterConfig *This,DWORD dwMaxStreams); 14638 HRESULT (WINAPI *GetNumberOfStreams)(IVMRFilterConfig *This,DWORD *pdwMaxStreams); 14639 HRESULT (WINAPI *SetRenderingPrefs)(IVMRFilterConfig *This,DWORD dwRenderFlags); 14640 HRESULT (WINAPI *GetRenderingPrefs)(IVMRFilterConfig *This,DWORD *pdwRenderFlags); 14641 HRESULT (WINAPI *SetRenderingMode)(IVMRFilterConfig *This,DWORD Mode); 14642 HRESULT (WINAPI *GetRenderingMode)(IVMRFilterConfig *This,DWORD *pMode); 14643 END_INTERFACE 14644 } IVMRFilterConfigVtbl; 14645 struct IVMRFilterConfig { 14646 CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl; 14647 }; 14648 #ifdef COBJMACROS 14649 #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14650 #define IVMRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 14651 #define IVMRFilterConfig_Release(This) (This)->lpVtbl->Release(This) 14652 #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) (This)->lpVtbl->SetImageCompositor(This,lpVMRImgCompositor) 14653 #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams) 14654 #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams) 14655 #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) 14656 #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags) 14657 #define IVMRFilterConfig_SetRenderingMode(This,Mode) (This)->lpVtbl->SetRenderingMode(This,Mode) 14658 #define IVMRFilterConfig_GetRenderingMode(This,pMode) (This)->lpVtbl->GetRenderingMode(This,pMode) 14659 #endif 14660 #endif 14661 HRESULT WINAPI IVMRFilterConfig_SetImageCompositor_Proxy(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor); 14662 void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14663 HRESULT WINAPI IVMRFilterConfig_SetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD dwMaxStreams); 14664 void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14665 HRESULT WINAPI IVMRFilterConfig_GetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD *pdwMaxStreams); 14666 void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14667 HRESULT WINAPI IVMRFilterConfig_SetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD dwRenderFlags); 14668 void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14669 HRESULT WINAPI IVMRFilterConfig_GetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD *pdwRenderFlags); 14670 void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14671 HRESULT WINAPI IVMRFilterConfig_SetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD Mode); 14672 void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14673 HRESULT WINAPI IVMRFilterConfig_GetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD *pMode); 14674 void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14675 #endif 14676 14677 #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__ 14678 #define __IVMRAspectRatioControl_INTERFACE_DEFINED__ 14679 EXTERN_C const IID IID_IVMRAspectRatioControl; 14680 #if defined(__cplusplus) && !defined(CINTERFACE) 14681 struct IVMRAspectRatioControl : public IUnknown { 14682 public: 14683 virtual HRESULT WINAPI GetAspectRatioMode(LPDWORD lpdwARMode) = 0; 14684 virtual HRESULT WINAPI SetAspectRatioMode(DWORD dwARMode) = 0; 14685 }; 14686 #else 14687 typedef struct IVMRAspectRatioControlVtbl { 14688 BEGIN_INTERFACE 14689 HRESULT (WINAPI *QueryInterface)(IVMRAspectRatioControl *This,REFIID riid,void **ppvObject); 14690 ULONG (WINAPI *AddRef)(IVMRAspectRatioControl *This); 14691 ULONG (WINAPI *Release)(IVMRAspectRatioControl *This); 14692 HRESULT (WINAPI *GetAspectRatioMode)(IVMRAspectRatioControl *This,LPDWORD lpdwARMode); 14693 HRESULT (WINAPI *SetAspectRatioMode)(IVMRAspectRatioControl *This,DWORD dwARMode); 14694 END_INTERFACE 14695 } IVMRAspectRatioControlVtbl; 14696 struct IVMRAspectRatioControl { 14697 CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl; 14698 }; 14699 #ifdef COBJMACROS 14700 #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14701 #define IVMRAspectRatioControl_AddRef(This) (This)->lpVtbl->AddRef(This) 14702 #define IVMRAspectRatioControl_Release(This) (This)->lpVtbl->Release(This) 14703 #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) (This)->lpVtbl->GetAspectRatioMode(This,lpdwARMode) 14704 #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) (This)->lpVtbl->SetAspectRatioMode(This,dwARMode) 14705 #endif 14706 #endif 14707 HRESULT WINAPI IVMRAspectRatioControl_GetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,LPDWORD lpdwARMode); 14708 void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14709 HRESULT WINAPI IVMRAspectRatioControl_SetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,DWORD dwARMode); 14710 void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14711 #endif 14712 14713 typedef enum __MIDL___MIDL_itf_strmif_0405_0001 { 14714 DeinterlacePref_NextBest = 0x1,DeinterlacePref_BOB = 0x2,DeinterlacePref_Weave = 0x4,DeinterlacePref_Mask = 0x7 14715 } VMRDeinterlacePrefs; 14716 14717 typedef enum __MIDL___MIDL_itf_strmif_0405_0002 { 14718 DeinterlaceTech_Unknown = 0,DeinterlaceTech_BOBLineReplicate = 0x1,DeinterlaceTech_BOBVerticalStretch = 0x2,DeinterlaceTech_MedianFiltering = 0x4, 14719 DeinterlaceTech_EdgeFiltering = 0x10,DeinterlaceTech_FieldAdaptive = 0x20,DeinterlaceTech_PixelAdaptive = 0x40, 14720 DeinterlaceTech_MotionVectorSteered = 0x80 14721 } VMRDeinterlaceTech; 14722 14723 typedef struct _VMRFrequency { 14724 DWORD dwNumerator; 14725 DWORD dwDenominator; 14726 } VMRFrequency; 14727 14728 typedef struct _VMRVideoDesc { 14729 DWORD dwSize; 14730 DWORD dwSampleWidth; 14731 DWORD dwSampleHeight; 14732 WINBOOL SingleFieldPerSample; 14733 DWORD dwFourCC; 14734 VMRFrequency InputSampleFreq; 14735 VMRFrequency OutputFrameFreq; 14736 } VMRVideoDesc; 14737 14738 typedef struct _VMRDeinterlaceCaps { 14739 DWORD dwSize; 14740 DWORD dwNumPreviousOutputFrames; 14741 DWORD dwNumForwardRefSamples; 14742 DWORD dwNumBackwardRefSamples; 14743 VMRDeinterlaceTech DeinterlaceTechnology; 14744 } VMRDeinterlaceCaps; 14745 14746 extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_c_ifspec; 14747 extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_s_ifspec; 14748 #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__ 14749 #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__ 14750 EXTERN_C const IID IID_IVMRDeinterlaceControl; 14751 #if defined(__cplusplus) && !defined(CINTERFACE) 14752 struct IVMRDeinterlaceControl : public IUnknown { 14753 public: 14754 virtual HRESULT WINAPI GetNumberOfDeinterlaceModes(VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes) = 0; 14755 virtual HRESULT WINAPI GetDeinterlaceModeCaps(LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0; 14756 virtual HRESULT WINAPI GetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; 14757 virtual HRESULT WINAPI SetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; 14758 virtual HRESULT WINAPI GetDeinterlacePrefs(LPDWORD lpdwDeinterlacePrefs) = 0; 14759 virtual HRESULT WINAPI SetDeinterlacePrefs(DWORD dwDeinterlacePrefs) = 0; 14760 virtual HRESULT WINAPI GetActualDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; 14761 }; 14762 #else 14763 typedef struct IVMRDeinterlaceControlVtbl { 14764 BEGIN_INTERFACE 14765 HRESULT (WINAPI *QueryInterface)(IVMRDeinterlaceControl *This,REFIID riid,void **ppvObject); 14766 ULONG (WINAPI *AddRef)(IVMRDeinterlaceControl *This); 14767 ULONG (WINAPI *Release)(IVMRDeinterlaceControl *This); 14768 HRESULT (WINAPI *GetNumberOfDeinterlaceModes)(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes); 14769 HRESULT (WINAPI *GetDeinterlaceModeCaps)(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps); 14770 HRESULT (WINAPI *GetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 14771 HRESULT (WINAPI *SetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 14772 HRESULT (WINAPI *GetDeinterlacePrefs)(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs); 14773 HRESULT (WINAPI *SetDeinterlacePrefs)(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs); 14774 HRESULT (WINAPI *GetActualDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 14775 END_INTERFACE 14776 } IVMRDeinterlaceControlVtbl; 14777 struct IVMRDeinterlaceControl { 14778 CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl; 14779 }; 14780 #ifdef COBJMACROS 14781 #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14782 #define IVMRDeinterlaceControl_AddRef(This) (This)->lpVtbl->AddRef(This) 14783 #define IVMRDeinterlaceControl_Release(This) (This)->lpVtbl->Release(This) 14784 #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) 14785 #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) 14786 #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) 14787 #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) 14788 #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) (This)->lpVtbl->GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) 14789 #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) (This)->lpVtbl->SetDeinterlacePrefs(This,dwDeinterlacePrefs) 14790 #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) 14791 #endif 14792 #endif 14793 HRESULT WINAPI IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes); 14794 void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14795 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps); 14796 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14797 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 14798 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14799 HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 14800 void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14801 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs); 14802 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14803 HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs); 14804 void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14805 HRESULT WINAPI IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); 14806 void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14807 #endif 14808 14809 typedef struct _VMRALPHABITMAP { 14810 DWORD dwFlags; 14811 HDC hdc; 14812 LPDIRECTDRAWSURFACE7 pDDS; 14813 RECT rSrc; 14814 NORMALIZEDRECT rDest; 14815 FLOAT fAlpha; 14816 COLORREF clrSrcKey; 14817 } VMRALPHABITMAP; 14818 14819 typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP; 14820 14821 #define VMRBITMAP_DISABLE 0x00000001 14822 #define VMRBITMAP_HDC 0x00000002 14823 #define VMRBITMAP_ENTIREDDS 0x00000004 14824 #define VMRBITMAP_SRCCOLORKEY 0x00000008 14825 #define VMRBITMAP_SRCRECT 0x00000010 14826 14827 extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec; 14828 extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec; 14829 #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__ 14830 #define __IVMRMixerBitmap_INTERFACE_DEFINED__ 14831 EXTERN_C const IID IID_IVMRMixerBitmap; 14832 #if defined(__cplusplus) && !defined(CINTERFACE) 14833 struct IVMRMixerBitmap : public IUnknown { 14834 public: 14835 virtual HRESULT WINAPI SetAlphaBitmap(const VMRALPHABITMAP *pBmpParms) = 0; 14836 virtual HRESULT WINAPI UpdateAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0; 14837 virtual HRESULT WINAPI GetAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0; 14838 }; 14839 #else 14840 typedef struct IVMRMixerBitmapVtbl { 14841 BEGIN_INTERFACE 14842 HRESULT (WINAPI *QueryInterface)(IVMRMixerBitmap *This,REFIID riid,void **ppvObject); 14843 ULONG (WINAPI *AddRef)(IVMRMixerBitmap *This); 14844 ULONG (WINAPI *Release)(IVMRMixerBitmap *This); 14845 HRESULT (WINAPI *SetAlphaBitmap)(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms); 14846 HRESULT (WINAPI *UpdateAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); 14847 HRESULT (WINAPI *GetAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); 14848 END_INTERFACE 14849 } IVMRMixerBitmapVtbl; 14850 struct IVMRMixerBitmap { 14851 CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl; 14852 }; 14853 #ifdef COBJMACROS 14854 #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14855 #define IVMRMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This) 14856 #define IVMRMixerBitmap_Release(This) (This)->lpVtbl->Release(This) 14857 #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) (This)->lpVtbl->SetAlphaBitmap(This,pBmpParms) 14858 #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,pBmpParms) 14859 #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->GetAlphaBitmapParameters(This,pBmpParms) 14860 #endif 14861 #endif 14862 HRESULT WINAPI IVMRMixerBitmap_SetAlphaBitmap_Proxy(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms); 14863 void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14864 HRESULT WINAPI IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); 14865 void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14866 HRESULT WINAPI IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); 14867 void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14868 #endif 14869 14870 typedef struct _VMRVIDEOSTREAMINFO { 14871 LPDIRECTDRAWSURFACE7 pddsVideoSurface; 14872 DWORD dwWidth; 14873 DWORD dwHeight; 14874 DWORD dwStrmID; 14875 FLOAT fAlpha; 14876 DDCOLORKEY ddClrKey; 14877 NORMALIZEDRECT rNormal; 14878 } VMRVIDEOSTREAMINFO; 14879 14880 extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_c_ifspec; 14881 extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_s_ifspec; 14882 #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__ 14883 #define __IVMRImageCompositor_INTERFACE_DEFINED__ 14884 EXTERN_C const IID IID_IVMRImageCompositor; 14885 #if defined(__cplusplus) && !defined(CINTERFACE) 14886 struct IVMRImageCompositor : public IUnknown { 14887 public: 14888 virtual HRESULT WINAPI InitCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0; 14889 virtual HRESULT WINAPI TermCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0; 14890 virtual HRESULT WINAPI SetStreamMediaType(DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture) = 0; 14891 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; 14892 }; 14893 #else 14894 typedef struct IVMRImageCompositorVtbl { 14895 BEGIN_INTERFACE 14896 HRESULT (WINAPI *QueryInterface)(IVMRImageCompositor *This,REFIID riid,void **ppvObject); 14897 ULONG (WINAPI *AddRef)(IVMRImageCompositor *This); 14898 ULONG (WINAPI *Release)(IVMRImageCompositor *This); 14899 HRESULT (WINAPI *InitCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); 14900 HRESULT (WINAPI *TermCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); 14901 HRESULT (WINAPI *SetStreamMediaType)(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture); 14902 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); 14903 END_INTERFACE 14904 } IVMRImageCompositorVtbl; 14905 struct IVMRImageCompositor { 14906 CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl; 14907 }; 14908 #ifdef COBJMACROS 14909 #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14910 #define IVMRImageCompositor_AddRef(This) (This)->lpVtbl->AddRef(This) 14911 #define IVMRImageCompositor_Release(This) (This)->lpVtbl->Release(This) 14912 #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) 14913 #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) 14914 #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) (This)->lpVtbl->SetStreamMediaType(This,dwStrmID,pmt,fTexture) 14915 #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) (This)->lpVtbl->CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) 14916 #endif 14917 #endif 14918 HRESULT WINAPI IVMRImageCompositor_InitCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); 14919 void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14920 HRESULT WINAPI IVMRImageCompositor_TermCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); 14921 void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14922 HRESULT WINAPI IVMRImageCompositor_SetStreamMediaType_Proxy(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture); 14923 void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14924 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); 14925 void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14926 #endif 14927 14928 #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__ 14929 #define __IVMRVideoStreamControl_INTERFACE_DEFINED__ 14930 EXTERN_C const IID IID_IVMRVideoStreamControl; 14931 #if defined(__cplusplus) && !defined(CINTERFACE) 14932 struct IVMRVideoStreamControl : public IUnknown { 14933 public: 14934 virtual HRESULT WINAPI SetColorKey(LPDDCOLORKEY lpClrKey) = 0; 14935 virtual HRESULT WINAPI GetColorKey(LPDDCOLORKEY lpClrKey) = 0; 14936 virtual HRESULT WINAPI SetStreamActiveState(WINBOOL fActive) = 0; 14937 virtual HRESULT WINAPI GetStreamActiveState(WINBOOL *lpfActive) = 0; 14938 }; 14939 #else 14940 typedef struct IVMRVideoStreamControlVtbl { 14941 BEGIN_INTERFACE 14942 HRESULT (WINAPI *QueryInterface)(IVMRVideoStreamControl *This,REFIID riid,void **ppvObject); 14943 ULONG (WINAPI *AddRef)(IVMRVideoStreamControl *This); 14944 ULONG (WINAPI *Release)(IVMRVideoStreamControl *This); 14945 HRESULT (WINAPI *SetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); 14946 HRESULT (WINAPI *GetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); 14947 HRESULT (WINAPI *SetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL fActive); 14948 HRESULT (WINAPI *GetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL *lpfActive); 14949 END_INTERFACE 14950 } IVMRVideoStreamControlVtbl; 14951 struct IVMRVideoStreamControl { 14952 CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl; 14953 }; 14954 #ifdef COBJMACROS 14955 #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 14956 #define IVMRVideoStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) 14957 #define IVMRVideoStreamControl_Release(This) (This)->lpVtbl->Release(This) 14958 #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) (This)->lpVtbl->SetColorKey(This,lpClrKey) 14959 #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) (This)->lpVtbl->GetColorKey(This,lpClrKey) 14960 #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) (This)->lpVtbl->SetStreamActiveState(This,fActive) 14961 #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) (This)->lpVtbl->GetStreamActiveState(This,lpfActive) 14962 #endif 14963 #endif 14964 HRESULT WINAPI IVMRVideoStreamControl_SetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); 14965 void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14966 HRESULT WINAPI IVMRVideoStreamControl_GetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); 14967 void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14968 HRESULT WINAPI IVMRVideoStreamControl_SetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL fActive); 14969 void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14970 HRESULT WINAPI IVMRVideoStreamControl_GetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL *lpfActive); 14971 void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 14972 #endif 14973 14974 #ifndef __IVMRSurface_INTERFACE_DEFINED__ 14975 #define __IVMRSurface_INTERFACE_DEFINED__ 14976 EXTERN_C const IID IID_IVMRSurface; 14977 #if defined(__cplusplus) && !defined(CINTERFACE) 14978 struct IVMRSurface : public IUnknown { 14979 public: 14980 virtual HRESULT WINAPI IsSurfaceLocked(void) = 0; 14981 virtual HRESULT WINAPI LockSurface(BYTE **lpSurface) = 0; 14982 virtual HRESULT WINAPI UnlockSurface(void) = 0; 14983 virtual HRESULT WINAPI GetSurface(LPDIRECTDRAWSURFACE7 *lplpSurface) = 0; 14984 }; 14985 #else 14986 typedef struct IVMRSurfaceVtbl { 14987 BEGIN_INTERFACE 14988 HRESULT (WINAPI *QueryInterface)(IVMRSurface *This,REFIID riid,void **ppvObject); 14989 ULONG (WINAPI *AddRef)(IVMRSurface *This); 14990 ULONG (WINAPI *Release)(IVMRSurface *This); 14991 HRESULT (WINAPI *IsSurfaceLocked)(IVMRSurface *This); 14992 HRESULT (WINAPI *LockSurface)(IVMRSurface *This,BYTE **lpSurface); 14993 HRESULT (WINAPI *UnlockSurface)(IVMRSurface *This); 14994 HRESULT (WINAPI *GetSurface)(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface); 14995 END_INTERFACE 14996 } IVMRSurfaceVtbl; 14997 struct IVMRSurface { 14998 CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl; 14999 }; 15000 #ifdef COBJMACROS 15001 #define IVMRSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15002 #define IVMRSurface_AddRef(This) (This)->lpVtbl->AddRef(This) 15003 #define IVMRSurface_Release(This) (This)->lpVtbl->Release(This) 15004 #define IVMRSurface_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This) 15005 #define IVMRSurface_LockSurface(This,lpSurface) (This)->lpVtbl->LockSurface(This,lpSurface) 15006 #define IVMRSurface_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This) 15007 #define IVMRSurface_GetSurface(This,lplpSurface) (This)->lpVtbl->GetSurface(This,lplpSurface) 15008 #endif 15009 #endif 15010 HRESULT WINAPI IVMRSurface_IsSurfaceLocked_Proxy(IVMRSurface *This); 15011 void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15012 HRESULT WINAPI IVMRSurface_LockSurface_Proxy(IVMRSurface *This,BYTE **lpSurface); 15013 void __RPC_STUB IVMRSurface_LockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15014 HRESULT WINAPI IVMRSurface_UnlockSurface_Proxy(IVMRSurface *This); 15015 void __RPC_STUB IVMRSurface_UnlockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15016 HRESULT WINAPI IVMRSurface_GetSurface_Proxy(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface); 15017 void __RPC_STUB IVMRSurface_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15018 #endif 15019 15020 #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__ 15021 #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__ 15022 EXTERN_C const IID IID_IVMRImagePresenterConfig; 15023 15024 #if defined(__cplusplus) && !defined(CINTERFACE) 15025 struct IVMRImagePresenterConfig : public IUnknown { 15026 public: 15027 virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0; 15028 virtual HRESULT WINAPI GetRenderingPrefs(DWORD *dwRenderFlags) = 0; 15029 }; 15030 #else 15031 typedef struct IVMRImagePresenterConfigVtbl { 15032 BEGIN_INTERFACE 15033 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterConfig *This,REFIID riid,void **ppvObject); 15034 ULONG (WINAPI *AddRef)(IVMRImagePresenterConfig *This); 15035 ULONG (WINAPI *Release)(IVMRImagePresenterConfig *This); 15036 HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD dwRenderFlags); 15037 HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags); 15038 END_INTERFACE 15039 } IVMRImagePresenterConfigVtbl; 15040 struct IVMRImagePresenterConfig { 15041 CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl; 15042 }; 15043 #ifdef COBJMACROS 15044 #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15045 #define IVMRImagePresenterConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 15046 #define IVMRImagePresenterConfig_Release(This) (This)->lpVtbl->Release(This) 15047 #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) 15048 #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags) 15049 #endif 15050 #endif 15051 HRESULT WINAPI IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD dwRenderFlags); 15052 void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15053 HRESULT WINAPI IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags); 15054 void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15055 #endif 15056 15057 #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ 15058 #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ 15059 EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig; 15060 #if defined(__cplusplus) && !defined(CINTERFACE) 15061 struct IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig { 15062 public: 15063 virtual HRESULT WINAPI SetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0; 15064 virtual HRESULT WINAPI GetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0; 15065 }; 15066 #else 15067 typedef struct IVMRImagePresenterExclModeConfigVtbl { 15068 BEGIN_INTERFACE 15069 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterExclModeConfig *This,REFIID riid,void **ppvObject); 15070 ULONG (WINAPI *AddRef)(IVMRImagePresenterExclModeConfig *This); 15071 ULONG (WINAPI *Release)(IVMRImagePresenterExclModeConfig *This); 15072 HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD dwRenderFlags); 15073 HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD *dwRenderFlags); 15074 HRESULT (WINAPI *SetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf); 15075 HRESULT (WINAPI *GetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf); 15076 END_INTERFACE 15077 } IVMRImagePresenterExclModeConfigVtbl; 15078 struct IVMRImagePresenterExclModeConfig { 15079 CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl; 15080 }; 15081 #ifdef COBJMACROS 15082 #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15083 #define IVMRImagePresenterExclModeConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 15084 #define IVMRImagePresenterExclModeConfig_Release(This) (This)->lpVtbl->Release(This) 15085 #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) 15086 #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags) 15087 #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) 15088 #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) 15089 #endif 15090 #endif 15091 HRESULT WINAPI IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf); 15092 void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15093 HRESULT WINAPI IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf); 15094 void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15095 #endif 15096 15097 #ifndef __IVPManager_INTERFACE_DEFINED__ 15098 #define __IVPManager_INTERFACE_DEFINED__ 15099 EXTERN_C const IID IID_IVPManager; 15100 #if defined(__cplusplus) && !defined(CINTERFACE) 15101 struct IVPManager : public IUnknown { 15102 public: 15103 virtual HRESULT WINAPI SetVideoPortIndex(DWORD dwVideoPortIndex) = 0; 15104 virtual HRESULT WINAPI GetVideoPortIndex(DWORD *pdwVideoPortIndex) = 0; 15105 }; 15106 #else 15107 typedef struct IVPManagerVtbl { 15108 BEGIN_INTERFACE 15109 HRESULT (WINAPI *QueryInterface)(IVPManager *This,REFIID riid,void **ppvObject); 15110 ULONG (WINAPI *AddRef)(IVPManager *This); 15111 ULONG (WINAPI *Release)(IVPManager *This); 15112 HRESULT (WINAPI *SetVideoPortIndex)(IVPManager *This,DWORD dwVideoPortIndex); 15113 HRESULT (WINAPI *GetVideoPortIndex)(IVPManager *This,DWORD *pdwVideoPortIndex); 15114 END_INTERFACE 15115 } IVPManagerVtbl; 15116 struct IVPManager { 15117 CONST_VTBL struct IVPManagerVtbl *lpVtbl; 15118 }; 15119 #ifdef COBJMACROS 15120 #define IVPManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 15121 #define IVPManager_AddRef(This) (This)->lpVtbl->AddRef(This) 15122 #define IVPManager_Release(This) (This)->lpVtbl->Release(This) 15123 #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) (This)->lpVtbl->SetVideoPortIndex(This,dwVideoPortIndex) 15124 #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) (This)->lpVtbl->GetVideoPortIndex(This,pdwVideoPortIndex) 15125 #endif 15126 #endif 15127 HRESULT WINAPI IVPManager_SetVideoPortIndex_Proxy(IVPManager *This,DWORD dwVideoPortIndex); 15128 void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15129 HRESULT WINAPI IVPManager_GetVideoPortIndex_Proxy(IVPManager *This,DWORD *pdwVideoPortIndex); 15130 void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 15131 #endif 15132 15133 extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec; 15134 extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec; 15135 /* Begin additional prototypes for all interfaces */ 15136 15137 15138 /* End additional prototypes */ 15139 15140 #ifdef __cplusplus 15141 } 15142 #endif 15143 15144 #endif /* __strmif_h__ */ 15145