1 /*** Autogenerated by WIDL 1.6 from include/strmif.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __strmif_h__ 16 #define __strmif_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __ICreateDevEnum_FWD_DEFINED__ 21 #define __ICreateDevEnum_FWD_DEFINED__ 22 typedef interface ICreateDevEnum ICreateDevEnum; 23 #endif 24 25 #ifndef __IPin_FWD_DEFINED__ 26 #define __IPin_FWD_DEFINED__ 27 typedef interface IPin IPin; 28 #endif 29 30 #ifndef __IEnumPins_FWD_DEFINED__ 31 #define __IEnumPins_FWD_DEFINED__ 32 typedef interface IEnumPins IEnumPins; 33 #endif 34 35 #ifndef __IEnumMediaTypes_FWD_DEFINED__ 36 #define __IEnumMediaTypes_FWD_DEFINED__ 37 typedef interface IEnumMediaTypes IEnumMediaTypes; 38 #endif 39 40 #ifndef __IFilterGraph_FWD_DEFINED__ 41 #define __IFilterGraph_FWD_DEFINED__ 42 typedef interface IFilterGraph IFilterGraph; 43 #endif 44 45 #ifndef __IEnumFilters_FWD_DEFINED__ 46 #define __IEnumFilters_FWD_DEFINED__ 47 typedef interface IEnumFilters IEnumFilters; 48 #endif 49 50 #ifndef __IMediaFilter_FWD_DEFINED__ 51 #define __IMediaFilter_FWD_DEFINED__ 52 typedef interface IMediaFilter IMediaFilter; 53 #endif 54 55 #ifndef __IBaseFilter_FWD_DEFINED__ 56 #define __IBaseFilter_FWD_DEFINED__ 57 typedef interface IBaseFilter IBaseFilter; 58 #endif 59 60 #ifndef __IReferenceClock_FWD_DEFINED__ 61 #define __IReferenceClock_FWD_DEFINED__ 62 typedef interface IReferenceClock IReferenceClock; 63 #endif 64 65 #ifndef __IReferenceClockTimerControl_FWD_DEFINED__ 66 #define __IReferenceClockTimerControl_FWD_DEFINED__ 67 typedef interface IReferenceClockTimerControl IReferenceClockTimerControl; 68 #endif 69 70 #ifndef __IReferenceClock2_FWD_DEFINED__ 71 #define __IReferenceClock2_FWD_DEFINED__ 72 typedef interface IReferenceClock2 IReferenceClock2; 73 #endif 74 75 #ifndef __IMediaSample_FWD_DEFINED__ 76 #define __IMediaSample_FWD_DEFINED__ 77 typedef interface IMediaSample IMediaSample; 78 #endif 79 80 #ifndef __IMediaSample2_FWD_DEFINED__ 81 #define __IMediaSample2_FWD_DEFINED__ 82 typedef interface IMediaSample2 IMediaSample2; 83 #endif 84 85 #ifndef __IMediaSample2Config_FWD_DEFINED__ 86 #define __IMediaSample2Config_FWD_DEFINED__ 87 typedef interface IMediaSample2Config IMediaSample2Config; 88 #endif 89 90 #ifndef __IMemAllocator_FWD_DEFINED__ 91 #define __IMemAllocator_FWD_DEFINED__ 92 typedef interface IMemAllocator IMemAllocator; 93 #endif 94 95 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ 96 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ 97 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; 98 #endif 99 100 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 101 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 102 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; 103 #endif 104 105 #ifndef __IMemInputPin_FWD_DEFINED__ 106 #define __IMemInputPin_FWD_DEFINED__ 107 typedef interface IMemInputPin IMemInputPin; 108 #endif 109 110 #ifndef __IAMovieSetup_FWD_DEFINED__ 111 #define __IAMovieSetup_FWD_DEFINED__ 112 typedef interface IAMovieSetup IAMovieSetup; 113 #endif 114 115 #ifndef __IMediaSeeking_FWD_DEFINED__ 116 #define __IMediaSeeking_FWD_DEFINED__ 117 typedef interface IMediaSeeking IMediaSeeking; 118 #endif 119 120 #ifndef __IEnumRegFilters_FWD_DEFINED__ 121 #define __IEnumRegFilters_FWD_DEFINED__ 122 typedef interface IEnumRegFilters IEnumRegFilters; 123 #endif 124 125 #ifndef __IFilterMapper_FWD_DEFINED__ 126 #define __IFilterMapper_FWD_DEFINED__ 127 typedef interface IFilterMapper IFilterMapper; 128 #endif 129 130 #ifndef __IFilterMapper2_FWD_DEFINED__ 131 #define __IFilterMapper2_FWD_DEFINED__ 132 typedef interface IFilterMapper2 IFilterMapper2; 133 #endif 134 135 #ifndef __IFilterMapper3_FWD_DEFINED__ 136 #define __IFilterMapper3_FWD_DEFINED__ 137 typedef interface IFilterMapper3 IFilterMapper3; 138 #endif 139 140 #ifndef __IQualityControl_FWD_DEFINED__ 141 #define __IQualityControl_FWD_DEFINED__ 142 typedef interface IQualityControl IQualityControl; 143 #endif 144 145 #ifndef __IOverlayNotify_FWD_DEFINED__ 146 #define __IOverlayNotify_FWD_DEFINED__ 147 typedef interface IOverlayNotify IOverlayNotify; 148 #endif 149 150 #ifndef __IOverlayNotify2_FWD_DEFINED__ 151 #define __IOverlayNotify2_FWD_DEFINED__ 152 typedef interface IOverlayNotify2 IOverlayNotify2; 153 #endif 154 155 #ifndef __IOverlay_FWD_DEFINED__ 156 #define __IOverlay_FWD_DEFINED__ 157 typedef interface IOverlay IOverlay; 158 #endif 159 160 #ifndef __IMediaEventSink_FWD_DEFINED__ 161 #define __IMediaEventSink_FWD_DEFINED__ 162 typedef interface IMediaEventSink IMediaEventSink; 163 #endif 164 165 #ifndef __IFileSourceFilter_FWD_DEFINED__ 166 #define __IFileSourceFilter_FWD_DEFINED__ 167 typedef interface IFileSourceFilter IFileSourceFilter; 168 #endif 169 170 #ifndef __IFileSinkFilter_FWD_DEFINED__ 171 #define __IFileSinkFilter_FWD_DEFINED__ 172 typedef interface IFileSinkFilter IFileSinkFilter; 173 #endif 174 175 #ifndef __IFileSinkFilter2_FWD_DEFINED__ 176 #define __IFileSinkFilter2_FWD_DEFINED__ 177 typedef interface IFileSinkFilter2 IFileSinkFilter2; 178 #endif 179 180 #ifndef __IGraphBuilder_FWD_DEFINED__ 181 #define __IGraphBuilder_FWD_DEFINED__ 182 typedef interface IGraphBuilder IGraphBuilder; 183 #endif 184 185 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ 186 #define __ICaptureGraphBuilder_FWD_DEFINED__ 187 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; 188 #endif 189 190 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ 191 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ 192 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; 193 #endif 194 195 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ 196 #define __ICaptureGraphBuilder2_FWD_DEFINED__ 197 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; 198 #endif 199 200 #ifndef __IConfigAviMux_FWD_DEFINED__ 201 #define __IConfigAviMux_FWD_DEFINED__ 202 typedef interface IConfigAviMux IConfigAviMux; 203 #endif 204 205 #ifndef __IConfigInterleaving_FWD_DEFINED__ 206 #define __IConfigInterleaving_FWD_DEFINED__ 207 typedef interface IConfigInterleaving IConfigInterleaving; 208 #endif 209 210 #ifndef __IAMClockSlave_FWD_DEFINED__ 211 #define __IAMClockSlave_FWD_DEFINED__ 212 typedef interface IAMClockSlave IAMClockSlave; 213 #endif 214 215 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__ 216 #define __IAMCertifiedOutputProtection_FWD_DEFINED__ 217 typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection; 218 #endif 219 220 #ifndef __IFilterGraph2_FWD_DEFINED__ 221 #define __IFilterGraph2_FWD_DEFINED__ 222 typedef interface IFilterGraph2 IFilterGraph2; 223 #endif 224 225 #ifndef __IStreamBuilder_FWD_DEFINED__ 226 #define __IStreamBuilder_FWD_DEFINED__ 227 typedef interface IStreamBuilder IStreamBuilder; 228 #endif 229 230 #ifndef __IAMStreamConfig_FWD_DEFINED__ 231 #define __IAMStreamConfig_FWD_DEFINED__ 232 typedef interface IAMStreamConfig IAMStreamConfig; 233 #endif 234 235 #ifndef __IAMVideoProcAmp_FWD_DEFINED__ 236 #define __IAMVideoProcAmp_FWD_DEFINED__ 237 typedef interface IAMVideoProcAmp IAMVideoProcAmp; 238 #endif 239 240 #ifndef __IAsyncReader_FWD_DEFINED__ 241 #define __IAsyncReader_FWD_DEFINED__ 242 typedef interface IAsyncReader IAsyncReader; 243 #endif 244 245 #ifndef __IGraphVersion_FWD_DEFINED__ 246 #define __IGraphVersion_FWD_DEFINED__ 247 typedef interface IGraphVersion IGraphVersion; 248 #endif 249 250 #ifndef __IResourceConsumer_FWD_DEFINED__ 251 #define __IResourceConsumer_FWD_DEFINED__ 252 typedef interface IResourceConsumer IResourceConsumer; 253 #endif 254 255 #ifndef __IResourceManager_FWD_DEFINED__ 256 #define __IResourceManager_FWD_DEFINED__ 257 typedef interface IResourceManager IResourceManager; 258 #endif 259 260 #ifndef __IAMStreamControl_FWD_DEFINED__ 261 #define __IAMStreamControl_FWD_DEFINED__ 262 typedef interface IAMStreamControl IAMStreamControl; 263 #endif 264 265 #ifndef __IKsPropertySet_FWD_DEFINED__ 266 #define __IKsPropertySet_FWD_DEFINED__ 267 typedef interface IKsPropertySet IKsPropertySet; 268 #endif 269 270 #ifndef __IMediaPropertyBag_FWD_DEFINED__ 271 #define __IMediaPropertyBag_FWD_DEFINED__ 272 typedef interface IMediaPropertyBag IMediaPropertyBag; 273 #endif 274 275 #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__ 276 #define __IPersistMediaPropertyBag_FWD_DEFINED__ 277 typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag; 278 #endif 279 280 #ifndef __ISeekingPassThru_FWD_DEFINED__ 281 #define __ISeekingPassThru_FWD_DEFINED__ 282 typedef interface ISeekingPassThru ISeekingPassThru; 283 #endif 284 285 #ifndef __IAMFilterMiscFlags_FWD_DEFINED__ 286 #define __IAMFilterMiscFlags_FWD_DEFINED__ 287 typedef interface IAMFilterMiscFlags IAMFilterMiscFlags; 288 #endif 289 290 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ 291 #define __IAMGraphBuilderCallback_FWD_DEFINED__ 292 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; 293 #endif 294 295 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ 296 #define __IAMVfwCaptureDialogs_FWD_DEFINED__ 297 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; 298 #endif 299 300 /* Headers for imported files */ 301 302 #include <unknwn.h> 303 #include <objidl.h> 304 #include <oaidl.h> 305 306 #ifdef __cplusplus 307 extern "C" { 308 #endif 309 310 /** 311 * This file is part of the mingw-w64 runtime package. 312 * No warranty is given; refer to the file DISCLAIMER within this package. 313 */ 314 315 #include <winapifamily.h> 316 317 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 318 319 #define CDEF_CLASS_DEFAULT 0x1 320 #define CDEF_BYPASS_CLASS_MANAGER 0x2 321 #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x8 322 #define CDEF_DEVMON_CMGR_DEVICE 0x10 323 #define CDEF_DEVMON_DMO 0x20 324 #define CDEF_DEVMON_PNP_DEVICE 0x40 325 #define CDEF_DEVMON_FILTER 0x80 326 327 #define CDEF_DEVMON_SELECTIVE_MASK 0xf0 328 329 330 /***************************************************************************** 331 * ICreateDevEnum interface 332 */ 333 #ifndef __ICreateDevEnum_INTERFACE_DEFINED__ 334 #define __ICreateDevEnum_INTERFACE_DEFINED__ 335 336 DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86); 337 #if defined(__cplusplus) && !defined(CINTERFACE) 338 MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86") 339 ICreateDevEnum : public IUnknown 340 { 341 virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 342 REFCLSID clsidDeviceClass, 343 IEnumMoniker **ppEnumMoniker, 344 DWORD dwFlags) = 0; 345 346 }; 347 #ifdef __CRT_UUID_DECL 348 __CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86) 349 #endif 350 #else 351 typedef struct ICreateDevEnumVtbl { 352 BEGIN_INTERFACE 353 354 /*** IUnknown methods ***/ 355 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 356 ICreateDevEnum* This, 357 REFIID riid, 358 void **ppvObject); 359 360 ULONG (STDMETHODCALLTYPE *AddRef)( 361 ICreateDevEnum* This); 362 363 ULONG (STDMETHODCALLTYPE *Release)( 364 ICreateDevEnum* This); 365 366 /*** ICreateDevEnum methods ***/ 367 HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)( 368 ICreateDevEnum* This, 369 REFCLSID clsidDeviceClass, 370 IEnumMoniker **ppEnumMoniker, 371 DWORD dwFlags); 372 373 END_INTERFACE 374 } ICreateDevEnumVtbl; 375 interface ICreateDevEnum { 376 CONST_VTBL ICreateDevEnumVtbl* lpVtbl; 377 }; 378 379 #ifdef COBJMACROS 380 #ifndef WIDL_C_INLINE_WRAPPERS 381 /*** IUnknown methods ***/ 382 #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 383 #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This) 384 #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This) 385 /*** ICreateDevEnum methods ***/ 386 #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) 387 #else 388 /*** IUnknown methods ***/ 389 static FORCEINLINE HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) { 390 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 391 } 392 static FORCEINLINE ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) { 393 return This->lpVtbl->AddRef(This); 394 } 395 static FORCEINLINE ULONG ICreateDevEnum_Release(ICreateDevEnum* This) { 396 return This->lpVtbl->Release(This); 397 } 398 /*** ICreateDevEnum methods ***/ 399 static FORCEINLINE HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) { 400 return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags); 401 } 402 #endif 403 #endif 404 405 #endif 406 407 HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy( 408 ICreateDevEnum* This, 409 REFCLSID clsidDeviceClass, 410 IEnumMoniker **ppEnumMoniker, 411 DWORD dwFlags); 412 void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub( 413 IRpcStubBuffer* This, 414 IRpcChannelBuffer* pRpcChannelBuffer, 415 PRPC_MESSAGE pRpcMessage, 416 DWORD* pdwStubPhase); 417 418 #endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */ 419 420 #endif 421 /** 422 * This file is part of the mingw-w64 runtime package. 423 * No warranty is given; refer to the file DISCLAIMER within this package. 424 */ 425 426 #include <winapifamily.h> 427 428 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 429 430 #define CHARS_IN_GUID 39 431 432 #ifdef WINE_NO_UNICODE_MACROS 433 #undef GetTimeFormat 434 #endif 435 436 typedef struct _AMMediaType { 437 GUID majortype; 438 GUID subtype; 439 WINBOOL bFixedSizeSamples; 440 WINBOOL bTemporalCompression; 441 ULONG lSampleSize; 442 GUID formattype; 443 IUnknown *pUnk; 444 ULONG cbFormat; 445 BYTE *pbFormat; 446 } AM_MEDIA_TYPE; 447 448 typedef enum _PinDirection { 449 PINDIR_INPUT = 0, 450 PINDIR_OUTPUT = 1 451 } PIN_DIRECTION; 452 453 #define MAX_PIN_NAME 128 454 #define MAX_FILTER_NAME 128 455 456 #ifndef REFERENCE_TIME_DEFINED 457 #define REFERENCE_TIME_DEFINED 458 typedef LONGLONG REFERENCE_TIME; 459 #endif 460 461 #ifndef REFTIME_DEFINED 462 #define REFTIME_DEFINED 463 typedef double REFTIME; 464 #endif 465 466 typedef DWORD_PTR HSEMAPHORE; 467 typedef DWORD_PTR HEVENT; 468 469 typedef struct _AllocatorProperties { 470 LONG cBuffers; 471 LONG cbBuffer; 472 LONG cbAlign; 473 LONG cbPrefix; 474 } ALLOCATOR_PROPERTIES; 475 476 #ifndef __IAMovieSetup_FWD_DEFINED__ 477 #define __IAMovieSetup_FWD_DEFINED__ 478 typedef interface IAMovieSetup IAMovieSetup; 479 #endif 480 481 #ifndef __IEnumFilters_FWD_DEFINED__ 482 #define __IEnumFilters_FWD_DEFINED__ 483 typedef interface IEnumFilters IEnumFilters; 484 #endif 485 486 #ifndef __IEnumMediaTypes_FWD_DEFINED__ 487 #define __IEnumMediaTypes_FWD_DEFINED__ 488 typedef interface IEnumMediaTypes IEnumMediaTypes; 489 #endif 490 491 #ifndef __IEnumPins_FWD_DEFINED__ 492 #define __IEnumPins_FWD_DEFINED__ 493 typedef interface IEnumPins IEnumPins; 494 #endif 495 496 #ifndef __IBaseFilter_FWD_DEFINED__ 497 #define __IBaseFilter_FWD_DEFINED__ 498 typedef interface IBaseFilter IBaseFilter; 499 #endif 500 501 #ifndef __IFilterGraph_FWD_DEFINED__ 502 #define __IFilterGraph_FWD_DEFINED__ 503 typedef interface IFilterGraph IFilterGraph; 504 #endif 505 506 #ifndef __IMediaFilter_FWD_DEFINED__ 507 #define __IMediaFilter_FWD_DEFINED__ 508 typedef interface IMediaFilter IMediaFilter; 509 #endif 510 511 #ifndef __IMediaSample_FWD_DEFINED__ 512 #define __IMediaSample_FWD_DEFINED__ 513 typedef interface IMediaSample IMediaSample; 514 #endif 515 516 #ifndef __IMemAllocator_FWD_DEFINED__ 517 #define __IMemAllocator_FWD_DEFINED__ 518 typedef interface IMemAllocator IMemAllocator; 519 #endif 520 521 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ 522 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ 523 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; 524 #endif 525 526 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 527 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 528 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; 529 #endif 530 531 #ifndef __IMemInputPin_FWD_DEFINED__ 532 #define __IMemInputPin_FWD_DEFINED__ 533 typedef interface IMemInputPin IMemInputPin; 534 #endif 535 536 #ifndef __IPin_FWD_DEFINED__ 537 #define __IPin_FWD_DEFINED__ 538 typedef interface IPin IPin; 539 #endif 540 541 #ifndef __IReferenceClock_FWD_DEFINED__ 542 #define __IReferenceClock_FWD_DEFINED__ 543 typedef interface IReferenceClock IReferenceClock; 544 #endif 545 546 547 /***************************************************************************** 548 * IPin interface 549 */ 550 #ifndef __IPin_INTERFACE_DEFINED__ 551 #define __IPin_INTERFACE_DEFINED__ 552 553 typedef struct _PinInfo { 554 IBaseFilter *pFilter; 555 PIN_DIRECTION dir; 556 WCHAR achName[128]; 557 } PIN_INFO; 558 559 DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 560 #if defined(__cplusplus) && !defined(CINTERFACE) 561 MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770") 562 IPin : public IUnknown 563 { 564 virtual HRESULT STDMETHODCALLTYPE Connect( 565 IPin *pReceivePin, 566 const AM_MEDIA_TYPE *pmt) = 0; 567 568 virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 569 IPin *pConnector, 570 const AM_MEDIA_TYPE *pmt) = 0; 571 572 virtual HRESULT STDMETHODCALLTYPE Disconnect( 573 ) = 0; 574 575 virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 576 IPin **pPin) = 0; 577 578 virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 579 AM_MEDIA_TYPE *pmt) = 0; 580 581 virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 582 PIN_INFO *pInfo) = 0; 583 584 virtual HRESULT STDMETHODCALLTYPE QueryDirection( 585 PIN_DIRECTION *pPinDir) = 0; 586 587 virtual HRESULT STDMETHODCALLTYPE QueryId( 588 LPWSTR *Id) = 0; 589 590 virtual HRESULT STDMETHODCALLTYPE QueryAccept( 591 const AM_MEDIA_TYPE *pmt) = 0; 592 593 virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 594 IEnumMediaTypes **ppEnum) = 0; 595 596 virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 597 IPin **apPin, 598 ULONG *nPin) = 0; 599 600 virtual HRESULT STDMETHODCALLTYPE EndOfStream( 601 ) = 0; 602 603 virtual HRESULT STDMETHODCALLTYPE BeginFlush( 604 ) = 0; 605 606 virtual HRESULT STDMETHODCALLTYPE EndFlush( 607 ) = 0; 608 609 virtual HRESULT STDMETHODCALLTYPE NewSegment( 610 REFERENCE_TIME tStart, 611 REFERENCE_TIME tStop, 612 double dRate) = 0; 613 614 }; 615 #ifdef __CRT_UUID_DECL 616 __CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 617 #endif 618 #else 619 typedef struct IPinVtbl { 620 BEGIN_INTERFACE 621 622 /*** IUnknown methods ***/ 623 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 624 IPin* This, 625 REFIID riid, 626 void **ppvObject); 627 628 ULONG (STDMETHODCALLTYPE *AddRef)( 629 IPin* This); 630 631 ULONG (STDMETHODCALLTYPE *Release)( 632 IPin* This); 633 634 /*** IPin methods ***/ 635 HRESULT (STDMETHODCALLTYPE *Connect)( 636 IPin* This, 637 IPin *pReceivePin, 638 const AM_MEDIA_TYPE *pmt); 639 640 HRESULT (STDMETHODCALLTYPE *ReceiveConnection)( 641 IPin* This, 642 IPin *pConnector, 643 const AM_MEDIA_TYPE *pmt); 644 645 HRESULT (STDMETHODCALLTYPE *Disconnect)( 646 IPin* This); 647 648 HRESULT (STDMETHODCALLTYPE *ConnectedTo)( 649 IPin* This, 650 IPin **pPin); 651 652 HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)( 653 IPin* This, 654 AM_MEDIA_TYPE *pmt); 655 656 HRESULT (STDMETHODCALLTYPE *QueryPinInfo)( 657 IPin* This, 658 PIN_INFO *pInfo); 659 660 HRESULT (STDMETHODCALLTYPE *QueryDirection)( 661 IPin* This, 662 PIN_DIRECTION *pPinDir); 663 664 HRESULT (STDMETHODCALLTYPE *QueryId)( 665 IPin* This, 666 LPWSTR *Id); 667 668 HRESULT (STDMETHODCALLTYPE *QueryAccept)( 669 IPin* This, 670 const AM_MEDIA_TYPE *pmt); 671 672 HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)( 673 IPin* This, 674 IEnumMediaTypes **ppEnum); 675 676 HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)( 677 IPin* This, 678 IPin **apPin, 679 ULONG *nPin); 680 681 HRESULT (STDMETHODCALLTYPE *EndOfStream)( 682 IPin* This); 683 684 HRESULT (STDMETHODCALLTYPE *BeginFlush)( 685 IPin* This); 686 687 HRESULT (STDMETHODCALLTYPE *EndFlush)( 688 IPin* This); 689 690 HRESULT (STDMETHODCALLTYPE *NewSegment)( 691 IPin* This, 692 REFERENCE_TIME tStart, 693 REFERENCE_TIME tStop, 694 double dRate); 695 696 END_INTERFACE 697 } IPinVtbl; 698 interface IPin { 699 CONST_VTBL IPinVtbl* lpVtbl; 700 }; 701 702 #ifdef COBJMACROS 703 #ifndef WIDL_C_INLINE_WRAPPERS 704 /*** IUnknown methods ***/ 705 #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 706 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This) 707 #define IPin_Release(This) (This)->lpVtbl->Release(This) 708 /*** IPin methods ***/ 709 #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt) 710 #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt) 711 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This) 712 #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin) 713 #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt) 714 #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo) 715 #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir) 716 #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id) 717 #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt) 718 #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum) 719 #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin) 720 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) 721 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) 722 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This) 723 #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate) 724 #else 725 /*** IUnknown methods ***/ 726 static FORCEINLINE HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) { 727 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 728 } 729 static FORCEINLINE ULONG IPin_AddRef(IPin* This) { 730 return This->lpVtbl->AddRef(This); 731 } 732 static FORCEINLINE ULONG IPin_Release(IPin* This) { 733 return This->lpVtbl->Release(This); 734 } 735 /*** IPin methods ***/ 736 static FORCEINLINE HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) { 737 return This->lpVtbl->Connect(This,pReceivePin,pmt); 738 } 739 static FORCEINLINE HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) { 740 return This->lpVtbl->ReceiveConnection(This,pConnector,pmt); 741 } 742 static FORCEINLINE HRESULT IPin_Disconnect(IPin* This) { 743 return This->lpVtbl->Disconnect(This); 744 } 745 static FORCEINLINE HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) { 746 return This->lpVtbl->ConnectedTo(This,pPin); 747 } 748 static FORCEINLINE HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) { 749 return This->lpVtbl->ConnectionMediaType(This,pmt); 750 } 751 static FORCEINLINE HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) { 752 return This->lpVtbl->QueryPinInfo(This,pInfo); 753 } 754 static FORCEINLINE HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) { 755 return This->lpVtbl->QueryDirection(This,pPinDir); 756 } 757 static FORCEINLINE HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) { 758 return This->lpVtbl->QueryId(This,Id); 759 } 760 static FORCEINLINE HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) { 761 return This->lpVtbl->QueryAccept(This,pmt); 762 } 763 static FORCEINLINE HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) { 764 return This->lpVtbl->EnumMediaTypes(This,ppEnum); 765 } 766 static FORCEINLINE HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) { 767 return This->lpVtbl->QueryInternalConnections(This,apPin,nPin); 768 } 769 static FORCEINLINE HRESULT IPin_EndOfStream(IPin* This) { 770 return This->lpVtbl->EndOfStream(This); 771 } 772 static FORCEINLINE HRESULT IPin_BeginFlush(IPin* This) { 773 return This->lpVtbl->BeginFlush(This); 774 } 775 static FORCEINLINE HRESULT IPin_EndFlush(IPin* This) { 776 return This->lpVtbl->EndFlush(This); 777 } 778 static FORCEINLINE HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) { 779 return This->lpVtbl->NewSegment(This,tStart,tStop,dRate); 780 } 781 #endif 782 #endif 783 784 #endif 785 786 HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy( 787 IPin* This, 788 IPin *pReceivePin, 789 const AM_MEDIA_TYPE *pmt); 790 void __RPC_STUB IPin_Connect_Stub( 791 IRpcStubBuffer* This, 792 IRpcChannelBuffer* pRpcChannelBuffer, 793 PRPC_MESSAGE pRpcMessage, 794 DWORD* pdwStubPhase); 795 HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy( 796 IPin* This, 797 IPin *pConnector, 798 const AM_MEDIA_TYPE *pmt); 799 void __RPC_STUB IPin_ReceiveConnection_Stub( 800 IRpcStubBuffer* This, 801 IRpcChannelBuffer* pRpcChannelBuffer, 802 PRPC_MESSAGE pRpcMessage, 803 DWORD* pdwStubPhase); 804 HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy( 805 IPin* This); 806 void __RPC_STUB IPin_Disconnect_Stub( 807 IRpcStubBuffer* This, 808 IRpcChannelBuffer* pRpcChannelBuffer, 809 PRPC_MESSAGE pRpcMessage, 810 DWORD* pdwStubPhase); 811 HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy( 812 IPin* This, 813 IPin **pPin); 814 void __RPC_STUB IPin_ConnectedTo_Stub( 815 IRpcStubBuffer* This, 816 IRpcChannelBuffer* pRpcChannelBuffer, 817 PRPC_MESSAGE pRpcMessage, 818 DWORD* pdwStubPhase); 819 HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy( 820 IPin* This, 821 AM_MEDIA_TYPE *pmt); 822 void __RPC_STUB IPin_ConnectionMediaType_Stub( 823 IRpcStubBuffer* This, 824 IRpcChannelBuffer* pRpcChannelBuffer, 825 PRPC_MESSAGE pRpcMessage, 826 DWORD* pdwStubPhase); 827 HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy( 828 IPin* This, 829 PIN_INFO *pInfo); 830 void __RPC_STUB IPin_QueryPinInfo_Stub( 831 IRpcStubBuffer* This, 832 IRpcChannelBuffer* pRpcChannelBuffer, 833 PRPC_MESSAGE pRpcMessage, 834 DWORD* pdwStubPhase); 835 HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy( 836 IPin* This, 837 PIN_DIRECTION *pPinDir); 838 void __RPC_STUB IPin_QueryDirection_Stub( 839 IRpcStubBuffer* This, 840 IRpcChannelBuffer* pRpcChannelBuffer, 841 PRPC_MESSAGE pRpcMessage, 842 DWORD* pdwStubPhase); 843 HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy( 844 IPin* This, 845 LPWSTR *Id); 846 void __RPC_STUB IPin_QueryId_Stub( 847 IRpcStubBuffer* This, 848 IRpcChannelBuffer* pRpcChannelBuffer, 849 PRPC_MESSAGE pRpcMessage, 850 DWORD* pdwStubPhase); 851 HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy( 852 IPin* This, 853 const AM_MEDIA_TYPE *pmt); 854 void __RPC_STUB IPin_QueryAccept_Stub( 855 IRpcStubBuffer* This, 856 IRpcChannelBuffer* pRpcChannelBuffer, 857 PRPC_MESSAGE pRpcMessage, 858 DWORD* pdwStubPhase); 859 HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy( 860 IPin* This, 861 IEnumMediaTypes **ppEnum); 862 void __RPC_STUB IPin_EnumMediaTypes_Stub( 863 IRpcStubBuffer* This, 864 IRpcChannelBuffer* pRpcChannelBuffer, 865 PRPC_MESSAGE pRpcMessage, 866 DWORD* pdwStubPhase); 867 HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy( 868 IPin* This, 869 IPin **apPin, 870 ULONG *nPin); 871 void __RPC_STUB IPin_QueryInternalConnections_Stub( 872 IRpcStubBuffer* This, 873 IRpcChannelBuffer* pRpcChannelBuffer, 874 PRPC_MESSAGE pRpcMessage, 875 DWORD* pdwStubPhase); 876 HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy( 877 IPin* This); 878 void __RPC_STUB IPin_EndOfStream_Stub( 879 IRpcStubBuffer* This, 880 IRpcChannelBuffer* pRpcChannelBuffer, 881 PRPC_MESSAGE pRpcMessage, 882 DWORD* pdwStubPhase); 883 HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy( 884 IPin* This); 885 void __RPC_STUB IPin_BeginFlush_Stub( 886 IRpcStubBuffer* This, 887 IRpcChannelBuffer* pRpcChannelBuffer, 888 PRPC_MESSAGE pRpcMessage, 889 DWORD* pdwStubPhase); 890 HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy( 891 IPin* This); 892 void __RPC_STUB IPin_EndFlush_Stub( 893 IRpcStubBuffer* This, 894 IRpcChannelBuffer* pRpcChannelBuffer, 895 PRPC_MESSAGE pRpcMessage, 896 DWORD* pdwStubPhase); 897 HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy( 898 IPin* This, 899 REFERENCE_TIME tStart, 900 REFERENCE_TIME tStop, 901 double dRate); 902 void __RPC_STUB IPin_NewSegment_Stub( 903 IRpcStubBuffer* This, 904 IRpcChannelBuffer* pRpcChannelBuffer, 905 PRPC_MESSAGE pRpcMessage, 906 DWORD* pdwStubPhase); 907 908 #endif /* __IPin_INTERFACE_DEFINED__ */ 909 910 typedef IPin *PPIN; 911 912 /***************************************************************************** 913 * IEnumPins interface 914 */ 915 #ifndef __IEnumPins_INTERFACE_DEFINED__ 916 #define __IEnumPins_INTERFACE_DEFINED__ 917 918 DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 919 #if defined(__cplusplus) && !defined(CINTERFACE) 920 MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770") 921 IEnumPins : public IUnknown 922 { 923 virtual HRESULT STDMETHODCALLTYPE Next( 924 ULONG cPins, 925 IPin **ppPins, 926 ULONG *pcFetched) = 0; 927 928 virtual HRESULT STDMETHODCALLTYPE Skip( 929 ULONG cPins) = 0; 930 931 virtual HRESULT STDMETHODCALLTYPE Reset( 932 ) = 0; 933 934 virtual HRESULT STDMETHODCALLTYPE Clone( 935 IEnumPins **ppEnum) = 0; 936 937 }; 938 #ifdef __CRT_UUID_DECL 939 __CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 940 #endif 941 #else 942 typedef struct IEnumPinsVtbl { 943 BEGIN_INTERFACE 944 945 /*** IUnknown methods ***/ 946 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 947 IEnumPins* This, 948 REFIID riid, 949 void **ppvObject); 950 951 ULONG (STDMETHODCALLTYPE *AddRef)( 952 IEnumPins* This); 953 954 ULONG (STDMETHODCALLTYPE *Release)( 955 IEnumPins* This); 956 957 /*** IEnumPins methods ***/ 958 HRESULT (STDMETHODCALLTYPE *Next)( 959 IEnumPins* This, 960 ULONG cPins, 961 IPin **ppPins, 962 ULONG *pcFetched); 963 964 HRESULT (STDMETHODCALLTYPE *Skip)( 965 IEnumPins* This, 966 ULONG cPins); 967 968 HRESULT (STDMETHODCALLTYPE *Reset)( 969 IEnumPins* This); 970 971 HRESULT (STDMETHODCALLTYPE *Clone)( 972 IEnumPins* This, 973 IEnumPins **ppEnum); 974 975 END_INTERFACE 976 } IEnumPinsVtbl; 977 interface IEnumPins { 978 CONST_VTBL IEnumPinsVtbl* lpVtbl; 979 }; 980 981 #ifdef COBJMACROS 982 #ifndef WIDL_C_INLINE_WRAPPERS 983 /*** IUnknown methods ***/ 984 #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 985 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This) 986 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This) 987 /*** IEnumPins methods ***/ 988 #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched) 989 #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins) 990 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This) 991 #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 992 #else 993 /*** IUnknown methods ***/ 994 static FORCEINLINE HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) { 995 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 996 } 997 static FORCEINLINE ULONG IEnumPins_AddRef(IEnumPins* This) { 998 return This->lpVtbl->AddRef(This); 999 } 1000 static FORCEINLINE ULONG IEnumPins_Release(IEnumPins* This) { 1001 return This->lpVtbl->Release(This); 1002 } 1003 /*** IEnumPins methods ***/ 1004 static FORCEINLINE HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) { 1005 return This->lpVtbl->Next(This,cPins,ppPins,pcFetched); 1006 } 1007 static FORCEINLINE HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) { 1008 return This->lpVtbl->Skip(This,cPins); 1009 } 1010 static FORCEINLINE HRESULT IEnumPins_Reset(IEnumPins* This) { 1011 return This->lpVtbl->Reset(This); 1012 } 1013 static FORCEINLINE HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) { 1014 return This->lpVtbl->Clone(This,ppEnum); 1015 } 1016 #endif 1017 #endif 1018 1019 #endif 1020 1021 HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy( 1022 IEnumPins* This, 1023 ULONG cPins, 1024 IPin **ppPins, 1025 ULONG *pcFetched); 1026 void __RPC_STUB IEnumPins_Next_Stub( 1027 IRpcStubBuffer* This, 1028 IRpcChannelBuffer* pRpcChannelBuffer, 1029 PRPC_MESSAGE pRpcMessage, 1030 DWORD* pdwStubPhase); 1031 HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy( 1032 IEnumPins* This, 1033 ULONG cPins); 1034 void __RPC_STUB IEnumPins_Skip_Stub( 1035 IRpcStubBuffer* This, 1036 IRpcChannelBuffer* pRpcChannelBuffer, 1037 PRPC_MESSAGE pRpcMessage, 1038 DWORD* pdwStubPhase); 1039 HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy( 1040 IEnumPins* This); 1041 void __RPC_STUB IEnumPins_Reset_Stub( 1042 IRpcStubBuffer* This, 1043 IRpcChannelBuffer* pRpcChannelBuffer, 1044 PRPC_MESSAGE pRpcMessage, 1045 DWORD* pdwStubPhase); 1046 HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy( 1047 IEnumPins* This, 1048 IEnumPins **ppEnum); 1049 void __RPC_STUB IEnumPins_Clone_Stub( 1050 IRpcStubBuffer* This, 1051 IRpcChannelBuffer* pRpcChannelBuffer, 1052 PRPC_MESSAGE pRpcMessage, 1053 DWORD* pdwStubPhase); 1054 1055 #endif /* __IEnumPins_INTERFACE_DEFINED__ */ 1056 1057 typedef IEnumPins *PENUMPINS; 1058 1059 /***************************************************************************** 1060 * IEnumMediaTypes interface 1061 */ 1062 #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__ 1063 #define __IEnumMediaTypes_INTERFACE_DEFINED__ 1064 1065 DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a); 1066 #if defined(__cplusplus) && !defined(CINTERFACE) 1067 MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a") 1068 IEnumMediaTypes : public IUnknown 1069 { 1070 virtual HRESULT STDMETHODCALLTYPE Next( 1071 ULONG cMediaTypes, 1072 AM_MEDIA_TYPE **ppMediaTypes, 1073 ULONG *pcFetched) = 0; 1074 1075 virtual HRESULT STDMETHODCALLTYPE Skip( 1076 ULONG cMediaTypes) = 0; 1077 1078 virtual HRESULT STDMETHODCALLTYPE Reset( 1079 ) = 0; 1080 1081 virtual HRESULT STDMETHODCALLTYPE Clone( 1082 IEnumMediaTypes **ppEnum) = 0; 1083 1084 }; 1085 #ifdef __CRT_UUID_DECL 1086 __CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a) 1087 #endif 1088 #else 1089 typedef struct IEnumMediaTypesVtbl { 1090 BEGIN_INTERFACE 1091 1092 /*** IUnknown methods ***/ 1093 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1094 IEnumMediaTypes* This, 1095 REFIID riid, 1096 void **ppvObject); 1097 1098 ULONG (STDMETHODCALLTYPE *AddRef)( 1099 IEnumMediaTypes* This); 1100 1101 ULONG (STDMETHODCALLTYPE *Release)( 1102 IEnumMediaTypes* This); 1103 1104 /*** IEnumMediaTypes methods ***/ 1105 HRESULT (STDMETHODCALLTYPE *Next)( 1106 IEnumMediaTypes* This, 1107 ULONG cMediaTypes, 1108 AM_MEDIA_TYPE **ppMediaTypes, 1109 ULONG *pcFetched); 1110 1111 HRESULT (STDMETHODCALLTYPE *Skip)( 1112 IEnumMediaTypes* This, 1113 ULONG cMediaTypes); 1114 1115 HRESULT (STDMETHODCALLTYPE *Reset)( 1116 IEnumMediaTypes* This); 1117 1118 HRESULT (STDMETHODCALLTYPE *Clone)( 1119 IEnumMediaTypes* This, 1120 IEnumMediaTypes **ppEnum); 1121 1122 END_INTERFACE 1123 } IEnumMediaTypesVtbl; 1124 interface IEnumMediaTypes { 1125 CONST_VTBL IEnumMediaTypesVtbl* lpVtbl; 1126 }; 1127 1128 #ifdef COBJMACROS 1129 #ifndef WIDL_C_INLINE_WRAPPERS 1130 /*** IUnknown methods ***/ 1131 #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1132 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This) 1133 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This) 1134 /*** IEnumMediaTypes methods ***/ 1135 #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched) 1136 #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes) 1137 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This) 1138 #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1139 #else 1140 /*** IUnknown methods ***/ 1141 static FORCEINLINE HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) { 1142 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1143 } 1144 static FORCEINLINE ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) { 1145 return This->lpVtbl->AddRef(This); 1146 } 1147 static FORCEINLINE ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) { 1148 return This->lpVtbl->Release(This); 1149 } 1150 /*** IEnumMediaTypes methods ***/ 1151 static FORCEINLINE HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) { 1152 return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched); 1153 } 1154 static FORCEINLINE HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) { 1155 return This->lpVtbl->Skip(This,cMediaTypes); 1156 } 1157 static FORCEINLINE HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) { 1158 return This->lpVtbl->Reset(This); 1159 } 1160 static FORCEINLINE HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) { 1161 return This->lpVtbl->Clone(This,ppEnum); 1162 } 1163 #endif 1164 #endif 1165 1166 #endif 1167 1168 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy( 1169 IEnumMediaTypes* This, 1170 ULONG cMediaTypes, 1171 AM_MEDIA_TYPE **ppMediaTypes, 1172 ULONG *pcFetched); 1173 void __RPC_STUB IEnumMediaTypes_Next_Stub( 1174 IRpcStubBuffer* This, 1175 IRpcChannelBuffer* pRpcChannelBuffer, 1176 PRPC_MESSAGE pRpcMessage, 1177 DWORD* pdwStubPhase); 1178 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy( 1179 IEnumMediaTypes* This, 1180 ULONG cMediaTypes); 1181 void __RPC_STUB IEnumMediaTypes_Skip_Stub( 1182 IRpcStubBuffer* This, 1183 IRpcChannelBuffer* pRpcChannelBuffer, 1184 PRPC_MESSAGE pRpcMessage, 1185 DWORD* pdwStubPhase); 1186 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy( 1187 IEnumMediaTypes* This); 1188 void __RPC_STUB IEnumMediaTypes_Reset_Stub( 1189 IRpcStubBuffer* This, 1190 IRpcChannelBuffer* pRpcChannelBuffer, 1191 PRPC_MESSAGE pRpcMessage, 1192 DWORD* pdwStubPhase); 1193 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy( 1194 IEnumMediaTypes* This, 1195 IEnumMediaTypes **ppEnum); 1196 void __RPC_STUB IEnumMediaTypes_Clone_Stub( 1197 IRpcStubBuffer* This, 1198 IRpcChannelBuffer* pRpcChannelBuffer, 1199 PRPC_MESSAGE pRpcMessage, 1200 DWORD* pdwStubPhase); 1201 1202 #endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */ 1203 1204 typedef IEnumMediaTypes *PENUMMEDIATYPES; 1205 1206 /***************************************************************************** 1207 * IFilterGraph interface 1208 */ 1209 #ifndef __IFilterGraph_INTERFACE_DEFINED__ 1210 #define __IFilterGraph_INTERFACE_DEFINED__ 1211 1212 DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1213 #if defined(__cplusplus) && !defined(CINTERFACE) 1214 MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770") 1215 IFilterGraph : public IUnknown 1216 { 1217 virtual HRESULT STDMETHODCALLTYPE AddFilter( 1218 IBaseFilter *pFilter, 1219 LPCWSTR pName) = 0; 1220 1221 virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 1222 IBaseFilter *pFilter) = 0; 1223 1224 virtual HRESULT STDMETHODCALLTYPE EnumFilters( 1225 IEnumFilters **ppEnum) = 0; 1226 1227 virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 1228 LPCWSTR pName, 1229 IBaseFilter **ppFilter) = 0; 1230 1231 virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 1232 IPin *ppinOut, 1233 IPin *ppinIn, 1234 const AM_MEDIA_TYPE *pmt) = 0; 1235 1236 virtual HRESULT STDMETHODCALLTYPE Reconnect( 1237 IPin *ppin) = 0; 1238 1239 virtual HRESULT STDMETHODCALLTYPE Disconnect( 1240 IPin *ppin) = 0; 1241 1242 virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( 1243 ) = 0; 1244 1245 }; 1246 #ifdef __CRT_UUID_DECL 1247 __CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1248 #endif 1249 #else 1250 typedef struct IFilterGraphVtbl { 1251 BEGIN_INTERFACE 1252 1253 /*** IUnknown methods ***/ 1254 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1255 IFilterGraph* This, 1256 REFIID riid, 1257 void **ppvObject); 1258 1259 ULONG (STDMETHODCALLTYPE *AddRef)( 1260 IFilterGraph* This); 1261 1262 ULONG (STDMETHODCALLTYPE *Release)( 1263 IFilterGraph* This); 1264 1265 /*** IFilterGraph methods ***/ 1266 HRESULT (STDMETHODCALLTYPE *AddFilter)( 1267 IFilterGraph* This, 1268 IBaseFilter *pFilter, 1269 LPCWSTR pName); 1270 1271 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 1272 IFilterGraph* This, 1273 IBaseFilter *pFilter); 1274 1275 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 1276 IFilterGraph* This, 1277 IEnumFilters **ppEnum); 1278 1279 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 1280 IFilterGraph* This, 1281 LPCWSTR pName, 1282 IBaseFilter **ppFilter); 1283 1284 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 1285 IFilterGraph* This, 1286 IPin *ppinOut, 1287 IPin *ppinIn, 1288 const AM_MEDIA_TYPE *pmt); 1289 1290 HRESULT (STDMETHODCALLTYPE *Reconnect)( 1291 IFilterGraph* This, 1292 IPin *ppin); 1293 1294 HRESULT (STDMETHODCALLTYPE *Disconnect)( 1295 IFilterGraph* This, 1296 IPin *ppin); 1297 1298 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 1299 IFilterGraph* This); 1300 1301 END_INTERFACE 1302 } IFilterGraphVtbl; 1303 interface IFilterGraph { 1304 CONST_VTBL IFilterGraphVtbl* lpVtbl; 1305 }; 1306 1307 #ifdef COBJMACROS 1308 #ifndef WIDL_C_INLINE_WRAPPERS 1309 /*** IUnknown methods ***/ 1310 #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1311 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This) 1312 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This) 1313 /*** IFilterGraph methods ***/ 1314 #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 1315 #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 1316 #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 1317 #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 1318 #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 1319 #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 1320 #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 1321 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 1322 #else 1323 /*** IUnknown methods ***/ 1324 static FORCEINLINE HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) { 1325 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1326 } 1327 static FORCEINLINE ULONG IFilterGraph_AddRef(IFilterGraph* This) { 1328 return This->lpVtbl->AddRef(This); 1329 } 1330 static FORCEINLINE ULONG IFilterGraph_Release(IFilterGraph* This) { 1331 return This->lpVtbl->Release(This); 1332 } 1333 /*** IFilterGraph methods ***/ 1334 static FORCEINLINE HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) { 1335 return This->lpVtbl->AddFilter(This,pFilter,pName); 1336 } 1337 static FORCEINLINE HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) { 1338 return This->lpVtbl->RemoveFilter(This,pFilter); 1339 } 1340 static FORCEINLINE HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) { 1341 return This->lpVtbl->EnumFilters(This,ppEnum); 1342 } 1343 static FORCEINLINE HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) { 1344 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 1345 } 1346 static FORCEINLINE HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 1347 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 1348 } 1349 static FORCEINLINE HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) { 1350 return This->lpVtbl->Reconnect(This,ppin); 1351 } 1352 static FORCEINLINE HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) { 1353 return This->lpVtbl->Disconnect(This,ppin); 1354 } 1355 static FORCEINLINE HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) { 1356 return This->lpVtbl->SetDefaultSyncSource(This); 1357 } 1358 #endif 1359 #endif 1360 1361 #endif 1362 1363 HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy( 1364 IFilterGraph* This, 1365 IBaseFilter *pFilter, 1366 LPCWSTR pName); 1367 void __RPC_STUB IFilterGraph_AddFilter_Stub( 1368 IRpcStubBuffer* This, 1369 IRpcChannelBuffer* pRpcChannelBuffer, 1370 PRPC_MESSAGE pRpcMessage, 1371 DWORD* pdwStubPhase); 1372 HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy( 1373 IFilterGraph* This, 1374 IBaseFilter *pFilter); 1375 void __RPC_STUB IFilterGraph_RemoveFilter_Stub( 1376 IRpcStubBuffer* This, 1377 IRpcChannelBuffer* pRpcChannelBuffer, 1378 PRPC_MESSAGE pRpcMessage, 1379 DWORD* pdwStubPhase); 1380 HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy( 1381 IFilterGraph* This, 1382 IEnumFilters **ppEnum); 1383 void __RPC_STUB IFilterGraph_EnumFilters_Stub( 1384 IRpcStubBuffer* This, 1385 IRpcChannelBuffer* pRpcChannelBuffer, 1386 PRPC_MESSAGE pRpcMessage, 1387 DWORD* pdwStubPhase); 1388 HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy( 1389 IFilterGraph* This, 1390 LPCWSTR pName, 1391 IBaseFilter **ppFilter); 1392 void __RPC_STUB IFilterGraph_FindFilterByName_Stub( 1393 IRpcStubBuffer* This, 1394 IRpcChannelBuffer* pRpcChannelBuffer, 1395 PRPC_MESSAGE pRpcMessage, 1396 DWORD* pdwStubPhase); 1397 HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy( 1398 IFilterGraph* This, 1399 IPin *ppinOut, 1400 IPin *ppinIn, 1401 const AM_MEDIA_TYPE *pmt); 1402 void __RPC_STUB IFilterGraph_ConnectDirect_Stub( 1403 IRpcStubBuffer* This, 1404 IRpcChannelBuffer* pRpcChannelBuffer, 1405 PRPC_MESSAGE pRpcMessage, 1406 DWORD* pdwStubPhase); 1407 HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy( 1408 IFilterGraph* This, 1409 IPin *ppin); 1410 void __RPC_STUB IFilterGraph_Reconnect_Stub( 1411 IRpcStubBuffer* This, 1412 IRpcChannelBuffer* pRpcChannelBuffer, 1413 PRPC_MESSAGE pRpcMessage, 1414 DWORD* pdwStubPhase); 1415 HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy( 1416 IFilterGraph* This, 1417 IPin *ppin); 1418 void __RPC_STUB IFilterGraph_Disconnect_Stub( 1419 IRpcStubBuffer* This, 1420 IRpcChannelBuffer* pRpcChannelBuffer, 1421 PRPC_MESSAGE pRpcMessage, 1422 DWORD* pdwStubPhase); 1423 HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy( 1424 IFilterGraph* This); 1425 void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub( 1426 IRpcStubBuffer* This, 1427 IRpcChannelBuffer* pRpcChannelBuffer, 1428 PRPC_MESSAGE pRpcMessage, 1429 DWORD* pdwStubPhase); 1430 1431 #endif /* __IFilterGraph_INTERFACE_DEFINED__ */ 1432 1433 typedef IFilterGraph *PFILTERGRAPH; 1434 1435 /***************************************************************************** 1436 * IEnumFilters interface 1437 */ 1438 #ifndef __IEnumFilters_INTERFACE_DEFINED__ 1439 #define __IEnumFilters_INTERFACE_DEFINED__ 1440 1441 DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1442 #if defined(__cplusplus) && !defined(CINTERFACE) 1443 MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770") 1444 IEnumFilters : public IUnknown 1445 { 1446 virtual HRESULT STDMETHODCALLTYPE Next( 1447 ULONG cFilters, 1448 IBaseFilter **ppFilter, 1449 ULONG *pcFetched) = 0; 1450 1451 virtual HRESULT STDMETHODCALLTYPE Skip( 1452 ULONG cFilters) = 0; 1453 1454 virtual HRESULT STDMETHODCALLTYPE Reset( 1455 ) = 0; 1456 1457 virtual HRESULT STDMETHODCALLTYPE Clone( 1458 IEnumFilters **ppEnum) = 0; 1459 1460 }; 1461 #ifdef __CRT_UUID_DECL 1462 __CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1463 #endif 1464 #else 1465 typedef struct IEnumFiltersVtbl { 1466 BEGIN_INTERFACE 1467 1468 /*** IUnknown methods ***/ 1469 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1470 IEnumFilters* This, 1471 REFIID riid, 1472 void **ppvObject); 1473 1474 ULONG (STDMETHODCALLTYPE *AddRef)( 1475 IEnumFilters* This); 1476 1477 ULONG (STDMETHODCALLTYPE *Release)( 1478 IEnumFilters* This); 1479 1480 /*** IEnumFilters methods ***/ 1481 HRESULT (STDMETHODCALLTYPE *Next)( 1482 IEnumFilters* This, 1483 ULONG cFilters, 1484 IBaseFilter **ppFilter, 1485 ULONG *pcFetched); 1486 1487 HRESULT (STDMETHODCALLTYPE *Skip)( 1488 IEnumFilters* This, 1489 ULONG cFilters); 1490 1491 HRESULT (STDMETHODCALLTYPE *Reset)( 1492 IEnumFilters* This); 1493 1494 HRESULT (STDMETHODCALLTYPE *Clone)( 1495 IEnumFilters* This, 1496 IEnumFilters **ppEnum); 1497 1498 END_INTERFACE 1499 } IEnumFiltersVtbl; 1500 interface IEnumFilters { 1501 CONST_VTBL IEnumFiltersVtbl* lpVtbl; 1502 }; 1503 1504 #ifdef COBJMACROS 1505 #ifndef WIDL_C_INLINE_WRAPPERS 1506 /*** IUnknown methods ***/ 1507 #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1508 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This) 1509 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This) 1510 /*** IEnumFilters methods ***/ 1511 #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched) 1512 #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) 1513 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This) 1514 #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1515 #else 1516 /*** IUnknown methods ***/ 1517 static FORCEINLINE HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) { 1518 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1519 } 1520 static FORCEINLINE ULONG IEnumFilters_AddRef(IEnumFilters* This) { 1521 return This->lpVtbl->AddRef(This); 1522 } 1523 static FORCEINLINE ULONG IEnumFilters_Release(IEnumFilters* This) { 1524 return This->lpVtbl->Release(This); 1525 } 1526 /*** IEnumFilters methods ***/ 1527 static FORCEINLINE HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) { 1528 return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched); 1529 } 1530 static FORCEINLINE HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) { 1531 return This->lpVtbl->Skip(This,cFilters); 1532 } 1533 static FORCEINLINE HRESULT IEnumFilters_Reset(IEnumFilters* This) { 1534 return This->lpVtbl->Reset(This); 1535 } 1536 static FORCEINLINE HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) { 1537 return This->lpVtbl->Clone(This,ppEnum); 1538 } 1539 #endif 1540 #endif 1541 1542 #endif 1543 1544 HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy( 1545 IEnumFilters* This, 1546 ULONG cFilters, 1547 IBaseFilter **ppFilter, 1548 ULONG *pcFetched); 1549 void __RPC_STUB IEnumFilters_Next_Stub( 1550 IRpcStubBuffer* This, 1551 IRpcChannelBuffer* pRpcChannelBuffer, 1552 PRPC_MESSAGE pRpcMessage, 1553 DWORD* pdwStubPhase); 1554 HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy( 1555 IEnumFilters* This, 1556 ULONG cFilters); 1557 void __RPC_STUB IEnumFilters_Skip_Stub( 1558 IRpcStubBuffer* This, 1559 IRpcChannelBuffer* pRpcChannelBuffer, 1560 PRPC_MESSAGE pRpcMessage, 1561 DWORD* pdwStubPhase); 1562 HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy( 1563 IEnumFilters* This); 1564 void __RPC_STUB IEnumFilters_Reset_Stub( 1565 IRpcStubBuffer* This, 1566 IRpcChannelBuffer* pRpcChannelBuffer, 1567 PRPC_MESSAGE pRpcMessage, 1568 DWORD* pdwStubPhase); 1569 HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy( 1570 IEnumFilters* This, 1571 IEnumFilters **ppEnum); 1572 void __RPC_STUB IEnumFilters_Clone_Stub( 1573 IRpcStubBuffer* This, 1574 IRpcChannelBuffer* pRpcChannelBuffer, 1575 PRPC_MESSAGE pRpcMessage, 1576 DWORD* pdwStubPhase); 1577 1578 #endif /* __IEnumFilters_INTERFACE_DEFINED__ */ 1579 1580 typedef IEnumFilters *PENUMFILTERS; 1581 1582 /***************************************************************************** 1583 * IMediaFilter interface 1584 */ 1585 #ifndef __IMediaFilter_INTERFACE_DEFINED__ 1586 #define __IMediaFilter_INTERFACE_DEFINED__ 1587 1588 typedef enum _FilterState { 1589 State_Stopped = 0, 1590 State_Paused = 1, 1591 State_Running = 2 1592 } FILTER_STATE; 1593 1594 DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1595 #if defined(__cplusplus) && !defined(CINTERFACE) 1596 MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770") 1597 IMediaFilter : public IPersist 1598 { 1599 virtual HRESULT STDMETHODCALLTYPE Stop( 1600 ) = 0; 1601 1602 virtual HRESULT STDMETHODCALLTYPE Pause( 1603 ) = 0; 1604 1605 virtual HRESULT STDMETHODCALLTYPE Run( 1606 REFERENCE_TIME tStart) = 0; 1607 1608 virtual HRESULT STDMETHODCALLTYPE GetState( 1609 DWORD dwMilliSecsTimeout, 1610 FILTER_STATE *State) = 0; 1611 1612 virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 1613 IReferenceClock *pClock) = 0; 1614 1615 virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 1616 IReferenceClock **pClock) = 0; 1617 1618 }; 1619 #ifdef __CRT_UUID_DECL 1620 __CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1621 #endif 1622 #else 1623 typedef struct IMediaFilterVtbl { 1624 BEGIN_INTERFACE 1625 1626 /*** IUnknown methods ***/ 1627 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1628 IMediaFilter* This, 1629 REFIID riid, 1630 void **ppvObject); 1631 1632 ULONG (STDMETHODCALLTYPE *AddRef)( 1633 IMediaFilter* This); 1634 1635 ULONG (STDMETHODCALLTYPE *Release)( 1636 IMediaFilter* This); 1637 1638 /*** IPersist methods ***/ 1639 HRESULT (STDMETHODCALLTYPE *GetClassID)( 1640 IMediaFilter* This, 1641 CLSID *pClassID); 1642 1643 /*** IMediaFilter methods ***/ 1644 HRESULT (STDMETHODCALLTYPE *Stop)( 1645 IMediaFilter* This); 1646 1647 HRESULT (STDMETHODCALLTYPE *Pause)( 1648 IMediaFilter* This); 1649 1650 HRESULT (STDMETHODCALLTYPE *Run)( 1651 IMediaFilter* This, 1652 REFERENCE_TIME tStart); 1653 1654 HRESULT (STDMETHODCALLTYPE *GetState)( 1655 IMediaFilter* This, 1656 DWORD dwMilliSecsTimeout, 1657 FILTER_STATE *State); 1658 1659 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 1660 IMediaFilter* This, 1661 IReferenceClock *pClock); 1662 1663 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 1664 IMediaFilter* This, 1665 IReferenceClock **pClock); 1666 1667 END_INTERFACE 1668 } IMediaFilterVtbl; 1669 interface IMediaFilter { 1670 CONST_VTBL IMediaFilterVtbl* lpVtbl; 1671 }; 1672 1673 #ifdef COBJMACROS 1674 #ifndef WIDL_C_INLINE_WRAPPERS 1675 /*** IUnknown methods ***/ 1676 #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1677 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1678 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This) 1679 /*** IPersist methods ***/ 1680 #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1681 /*** IMediaFilter methods ***/ 1682 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This) 1683 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This) 1684 #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1685 #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1686 #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1687 #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1688 #else 1689 /*** IUnknown methods ***/ 1690 static FORCEINLINE HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) { 1691 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1692 } 1693 static FORCEINLINE ULONG IMediaFilter_AddRef(IMediaFilter* This) { 1694 return This->lpVtbl->AddRef(This); 1695 } 1696 static FORCEINLINE ULONG IMediaFilter_Release(IMediaFilter* This) { 1697 return This->lpVtbl->Release(This); 1698 } 1699 /*** IPersist methods ***/ 1700 static FORCEINLINE HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) { 1701 return This->lpVtbl->GetClassID(This,pClassID); 1702 } 1703 /*** IMediaFilter methods ***/ 1704 static FORCEINLINE HRESULT IMediaFilter_Stop(IMediaFilter* This) { 1705 return This->lpVtbl->Stop(This); 1706 } 1707 static FORCEINLINE HRESULT IMediaFilter_Pause(IMediaFilter* This) { 1708 return This->lpVtbl->Pause(This); 1709 } 1710 static FORCEINLINE HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) { 1711 return This->lpVtbl->Run(This,tStart); 1712 } 1713 static FORCEINLINE HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1714 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1715 } 1716 static FORCEINLINE HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) { 1717 return This->lpVtbl->SetSyncSource(This,pClock); 1718 } 1719 static FORCEINLINE HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) { 1720 return This->lpVtbl->GetSyncSource(This,pClock); 1721 } 1722 #endif 1723 #endif 1724 1725 #endif 1726 1727 HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy( 1728 IMediaFilter* This); 1729 void __RPC_STUB IMediaFilter_Stop_Stub( 1730 IRpcStubBuffer* This, 1731 IRpcChannelBuffer* pRpcChannelBuffer, 1732 PRPC_MESSAGE pRpcMessage, 1733 DWORD* pdwStubPhase); 1734 HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy( 1735 IMediaFilter* This); 1736 void __RPC_STUB IMediaFilter_Pause_Stub( 1737 IRpcStubBuffer* This, 1738 IRpcChannelBuffer* pRpcChannelBuffer, 1739 PRPC_MESSAGE pRpcMessage, 1740 DWORD* pdwStubPhase); 1741 HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy( 1742 IMediaFilter* This, 1743 REFERENCE_TIME tStart); 1744 void __RPC_STUB IMediaFilter_Run_Stub( 1745 IRpcStubBuffer* This, 1746 IRpcChannelBuffer* pRpcChannelBuffer, 1747 PRPC_MESSAGE pRpcMessage, 1748 DWORD* pdwStubPhase); 1749 HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy( 1750 IMediaFilter* This, 1751 DWORD dwMilliSecsTimeout, 1752 FILTER_STATE *State); 1753 void __RPC_STUB IMediaFilter_GetState_Stub( 1754 IRpcStubBuffer* This, 1755 IRpcChannelBuffer* pRpcChannelBuffer, 1756 PRPC_MESSAGE pRpcMessage, 1757 DWORD* pdwStubPhase); 1758 HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy( 1759 IMediaFilter* This, 1760 IReferenceClock *pClock); 1761 void __RPC_STUB IMediaFilter_SetSyncSource_Stub( 1762 IRpcStubBuffer* This, 1763 IRpcChannelBuffer* pRpcChannelBuffer, 1764 PRPC_MESSAGE pRpcMessage, 1765 DWORD* pdwStubPhase); 1766 HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy( 1767 IMediaFilter* This, 1768 IReferenceClock **pClock); 1769 void __RPC_STUB IMediaFilter_GetSyncSource_Stub( 1770 IRpcStubBuffer* This, 1771 IRpcChannelBuffer* pRpcChannelBuffer, 1772 PRPC_MESSAGE pRpcMessage, 1773 DWORD* pdwStubPhase); 1774 1775 #endif /* __IMediaFilter_INTERFACE_DEFINED__ */ 1776 1777 typedef IMediaFilter *PMEDIAFILTER; 1778 1779 /***************************************************************************** 1780 * IBaseFilter interface 1781 */ 1782 #ifndef __IBaseFilter_INTERFACE_DEFINED__ 1783 #define __IBaseFilter_INTERFACE_DEFINED__ 1784 1785 typedef struct _FilterInfo { 1786 WCHAR achName[128]; 1787 IFilterGraph *pGraph; 1788 } FILTER_INFO; 1789 1790 DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1791 #if defined(__cplusplus) && !defined(CINTERFACE) 1792 MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770") 1793 IBaseFilter : public IMediaFilter 1794 { 1795 virtual HRESULT STDMETHODCALLTYPE EnumPins( 1796 IEnumPins **ppEnum) = 0; 1797 1798 virtual HRESULT STDMETHODCALLTYPE FindPin( 1799 LPCWSTR Id, 1800 IPin **ppPin) = 0; 1801 1802 virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 1803 FILTER_INFO *pInfo) = 0; 1804 1805 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 1806 IFilterGraph *pGraph, 1807 LPCWSTR pName) = 0; 1808 1809 virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 1810 LPWSTR *pVendorInfo) = 0; 1811 1812 }; 1813 #ifdef __CRT_UUID_DECL 1814 __CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1815 #endif 1816 #else 1817 typedef struct IBaseFilterVtbl { 1818 BEGIN_INTERFACE 1819 1820 /*** IUnknown methods ***/ 1821 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1822 IBaseFilter* This, 1823 REFIID riid, 1824 void **ppvObject); 1825 1826 ULONG (STDMETHODCALLTYPE *AddRef)( 1827 IBaseFilter* This); 1828 1829 ULONG (STDMETHODCALLTYPE *Release)( 1830 IBaseFilter* This); 1831 1832 /*** IPersist methods ***/ 1833 HRESULT (STDMETHODCALLTYPE *GetClassID)( 1834 IBaseFilter* This, 1835 CLSID *pClassID); 1836 1837 /*** IMediaFilter methods ***/ 1838 HRESULT (STDMETHODCALLTYPE *Stop)( 1839 IBaseFilter* This); 1840 1841 HRESULT (STDMETHODCALLTYPE *Pause)( 1842 IBaseFilter* This); 1843 1844 HRESULT (STDMETHODCALLTYPE *Run)( 1845 IBaseFilter* This, 1846 REFERENCE_TIME tStart); 1847 1848 HRESULT (STDMETHODCALLTYPE *GetState)( 1849 IBaseFilter* This, 1850 DWORD dwMilliSecsTimeout, 1851 FILTER_STATE *State); 1852 1853 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 1854 IBaseFilter* This, 1855 IReferenceClock *pClock); 1856 1857 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 1858 IBaseFilter* This, 1859 IReferenceClock **pClock); 1860 1861 /*** IBaseFilter methods ***/ 1862 HRESULT (STDMETHODCALLTYPE *EnumPins)( 1863 IBaseFilter* This, 1864 IEnumPins **ppEnum); 1865 1866 HRESULT (STDMETHODCALLTYPE *FindPin)( 1867 IBaseFilter* This, 1868 LPCWSTR Id, 1869 IPin **ppPin); 1870 1871 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( 1872 IBaseFilter* This, 1873 FILTER_INFO *pInfo); 1874 1875 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( 1876 IBaseFilter* This, 1877 IFilterGraph *pGraph, 1878 LPCWSTR pName); 1879 1880 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( 1881 IBaseFilter* This, 1882 LPWSTR *pVendorInfo); 1883 1884 END_INTERFACE 1885 } IBaseFilterVtbl; 1886 interface IBaseFilter { 1887 CONST_VTBL IBaseFilterVtbl* lpVtbl; 1888 }; 1889 1890 #ifdef COBJMACROS 1891 #ifndef WIDL_C_INLINE_WRAPPERS 1892 /*** IUnknown methods ***/ 1893 #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1894 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1895 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This) 1896 /*** IPersist methods ***/ 1897 #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1898 /*** IMediaFilter methods ***/ 1899 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This) 1900 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This) 1901 #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1902 #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1903 #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1904 #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1905 /*** IBaseFilter methods ***/ 1906 #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) 1907 #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) 1908 #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) 1909 #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) 1910 #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) 1911 #else 1912 /*** IUnknown methods ***/ 1913 static FORCEINLINE HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) { 1914 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1915 } 1916 static FORCEINLINE ULONG IBaseFilter_AddRef(IBaseFilter* This) { 1917 return This->lpVtbl->AddRef(This); 1918 } 1919 static FORCEINLINE ULONG IBaseFilter_Release(IBaseFilter* This) { 1920 return This->lpVtbl->Release(This); 1921 } 1922 /*** IPersist methods ***/ 1923 static FORCEINLINE HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) { 1924 return This->lpVtbl->GetClassID(This,pClassID); 1925 } 1926 /*** IMediaFilter methods ***/ 1927 static FORCEINLINE HRESULT IBaseFilter_Stop(IBaseFilter* This) { 1928 return This->lpVtbl->Stop(This); 1929 } 1930 static FORCEINLINE HRESULT IBaseFilter_Pause(IBaseFilter* This) { 1931 return This->lpVtbl->Pause(This); 1932 } 1933 static FORCEINLINE HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) { 1934 return This->lpVtbl->Run(This,tStart); 1935 } 1936 static FORCEINLINE HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1937 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1938 } 1939 static FORCEINLINE HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) { 1940 return This->lpVtbl->SetSyncSource(This,pClock); 1941 } 1942 static FORCEINLINE HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) { 1943 return This->lpVtbl->GetSyncSource(This,pClock); 1944 } 1945 /*** IBaseFilter methods ***/ 1946 static FORCEINLINE HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) { 1947 return This->lpVtbl->EnumPins(This,ppEnum); 1948 } 1949 static FORCEINLINE HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) { 1950 return This->lpVtbl->FindPin(This,Id,ppPin); 1951 } 1952 static FORCEINLINE HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) { 1953 return This->lpVtbl->QueryFilterInfo(This,pInfo); 1954 } 1955 static FORCEINLINE HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { 1956 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); 1957 } 1958 static FORCEINLINE HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) { 1959 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); 1960 } 1961 #endif 1962 #endif 1963 1964 #endif 1965 1966 HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy( 1967 IBaseFilter* This, 1968 IEnumPins **ppEnum); 1969 void __RPC_STUB IBaseFilter_EnumPins_Stub( 1970 IRpcStubBuffer* This, 1971 IRpcChannelBuffer* pRpcChannelBuffer, 1972 PRPC_MESSAGE pRpcMessage, 1973 DWORD* pdwStubPhase); 1974 HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy( 1975 IBaseFilter* This, 1976 LPCWSTR Id, 1977 IPin **ppPin); 1978 void __RPC_STUB IBaseFilter_FindPin_Stub( 1979 IRpcStubBuffer* This, 1980 IRpcChannelBuffer* pRpcChannelBuffer, 1981 PRPC_MESSAGE pRpcMessage, 1982 DWORD* pdwStubPhase); 1983 HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy( 1984 IBaseFilter* This, 1985 FILTER_INFO *pInfo); 1986 void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub( 1987 IRpcStubBuffer* This, 1988 IRpcChannelBuffer* pRpcChannelBuffer, 1989 PRPC_MESSAGE pRpcMessage, 1990 DWORD* pdwStubPhase); 1991 HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy( 1992 IBaseFilter* This, 1993 IFilterGraph *pGraph, 1994 LPCWSTR pName); 1995 void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub( 1996 IRpcStubBuffer* This, 1997 IRpcChannelBuffer* pRpcChannelBuffer, 1998 PRPC_MESSAGE pRpcMessage, 1999 DWORD* pdwStubPhase); 2000 HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy( 2001 IBaseFilter* This, 2002 LPWSTR *pVendorInfo); 2003 void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub( 2004 IRpcStubBuffer* This, 2005 IRpcChannelBuffer* pRpcChannelBuffer, 2006 PRPC_MESSAGE pRpcMessage, 2007 DWORD* pdwStubPhase); 2008 2009 #endif /* __IBaseFilter_INTERFACE_DEFINED__ */ 2010 2011 typedef IBaseFilter *PFILTER; 2012 2013 /***************************************************************************** 2014 * IReferenceClock interface 2015 */ 2016 #ifndef __IReferenceClock_INTERFACE_DEFINED__ 2017 #define __IReferenceClock_INTERFACE_DEFINED__ 2018 2019 DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2020 #if defined(__cplusplus) && !defined(CINTERFACE) 2021 MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770") 2022 IReferenceClock : public IUnknown 2023 { 2024 virtual HRESULT STDMETHODCALLTYPE GetTime( 2025 REFERENCE_TIME *pTime) = 0; 2026 2027 virtual HRESULT STDMETHODCALLTYPE AdviseTime( 2028 REFERENCE_TIME baseTime, 2029 REFERENCE_TIME streamTime, 2030 HEVENT hEvent, 2031 DWORD_PTR *pdwAdviseCookie) = 0; 2032 2033 virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 2034 REFERENCE_TIME startTime, 2035 REFERENCE_TIME periodTime, 2036 HSEMAPHORE hSemaphore, 2037 DWORD_PTR *pdwAdviseCookie) = 0; 2038 2039 virtual HRESULT STDMETHODCALLTYPE Unadvise( 2040 DWORD_PTR dwAdviseCookie) = 0; 2041 2042 }; 2043 #ifdef __CRT_UUID_DECL 2044 __CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2045 #endif 2046 #else 2047 typedef struct IReferenceClockVtbl { 2048 BEGIN_INTERFACE 2049 2050 /*** IUnknown methods ***/ 2051 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2052 IReferenceClock* This, 2053 REFIID riid, 2054 void **ppvObject); 2055 2056 ULONG (STDMETHODCALLTYPE *AddRef)( 2057 IReferenceClock* This); 2058 2059 ULONG (STDMETHODCALLTYPE *Release)( 2060 IReferenceClock* This); 2061 2062 /*** IReferenceClock methods ***/ 2063 HRESULT (STDMETHODCALLTYPE *GetTime)( 2064 IReferenceClock* This, 2065 REFERENCE_TIME *pTime); 2066 2067 HRESULT (STDMETHODCALLTYPE *AdviseTime)( 2068 IReferenceClock* This, 2069 REFERENCE_TIME baseTime, 2070 REFERENCE_TIME streamTime, 2071 HEVENT hEvent, 2072 DWORD_PTR *pdwAdviseCookie); 2073 2074 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( 2075 IReferenceClock* This, 2076 REFERENCE_TIME startTime, 2077 REFERENCE_TIME periodTime, 2078 HSEMAPHORE hSemaphore, 2079 DWORD_PTR *pdwAdviseCookie); 2080 2081 HRESULT (STDMETHODCALLTYPE *Unadvise)( 2082 IReferenceClock* This, 2083 DWORD_PTR dwAdviseCookie); 2084 2085 END_INTERFACE 2086 } IReferenceClockVtbl; 2087 interface IReferenceClock { 2088 CONST_VTBL IReferenceClockVtbl* lpVtbl; 2089 }; 2090 2091 #ifdef COBJMACROS 2092 #ifndef WIDL_C_INLINE_WRAPPERS 2093 /*** IUnknown methods ***/ 2094 #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2095 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This) 2096 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This) 2097 /*** IReferenceClock methods ***/ 2098 #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 2099 #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 2100 #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 2101 #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 2102 #else 2103 /*** IUnknown methods ***/ 2104 static FORCEINLINE HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) { 2105 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2106 } 2107 static FORCEINLINE ULONG IReferenceClock_AddRef(IReferenceClock* This) { 2108 return This->lpVtbl->AddRef(This); 2109 } 2110 static FORCEINLINE ULONG IReferenceClock_Release(IReferenceClock* This) { 2111 return This->lpVtbl->Release(This); 2112 } 2113 /*** IReferenceClock methods ***/ 2114 static FORCEINLINE HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) { 2115 return This->lpVtbl->GetTime(This,pTime); 2116 } 2117 static FORCEINLINE HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { 2118 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); 2119 } 2120 static FORCEINLINE HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { 2121 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); 2122 } 2123 static FORCEINLINE HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) { 2124 return This->lpVtbl->Unadvise(This,dwAdviseCookie); 2125 } 2126 #endif 2127 #endif 2128 2129 #endif 2130 2131 HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy( 2132 IReferenceClock* This, 2133 REFERENCE_TIME *pTime); 2134 void __RPC_STUB IReferenceClock_GetTime_Stub( 2135 IRpcStubBuffer* This, 2136 IRpcChannelBuffer* pRpcChannelBuffer, 2137 PRPC_MESSAGE pRpcMessage, 2138 DWORD* pdwStubPhase); 2139 HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy( 2140 IReferenceClock* This, 2141 REFERENCE_TIME baseTime, 2142 REFERENCE_TIME streamTime, 2143 HEVENT hEvent, 2144 DWORD_PTR *pdwAdviseCookie); 2145 void __RPC_STUB IReferenceClock_AdviseTime_Stub( 2146 IRpcStubBuffer* This, 2147 IRpcChannelBuffer* pRpcChannelBuffer, 2148 PRPC_MESSAGE pRpcMessage, 2149 DWORD* pdwStubPhase); 2150 HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy( 2151 IReferenceClock* This, 2152 REFERENCE_TIME startTime, 2153 REFERENCE_TIME periodTime, 2154 HSEMAPHORE hSemaphore, 2155 DWORD_PTR *pdwAdviseCookie); 2156 void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub( 2157 IRpcStubBuffer* This, 2158 IRpcChannelBuffer* pRpcChannelBuffer, 2159 PRPC_MESSAGE pRpcMessage, 2160 DWORD* pdwStubPhase); 2161 HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy( 2162 IReferenceClock* This, 2163 DWORD_PTR dwAdviseCookie); 2164 void __RPC_STUB IReferenceClock_Unadvise_Stub( 2165 IRpcStubBuffer* This, 2166 IRpcChannelBuffer* pRpcChannelBuffer, 2167 PRPC_MESSAGE pRpcMessage, 2168 DWORD* pdwStubPhase); 2169 2170 #endif /* __IReferenceClock_INTERFACE_DEFINED__ */ 2171 2172 typedef IReferenceClock *PREFERENCECLOCK; 2173 2174 /***************************************************************************** 2175 * IReferenceClockTimerControl interface 2176 */ 2177 #ifndef __IReferenceClockTimerControl_INTERFACE_DEFINED__ 2178 #define __IReferenceClockTimerControl_INTERFACE_DEFINED__ 2179 2180 DEFINE_GUID(IID_IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8); 2181 #if defined(__cplusplus) && !defined(CINTERFACE) 2182 MIDL_INTERFACE("ebec459c-2eca-4d42-a8af-30df557614b8") 2183 IReferenceClockTimerControl : public IUnknown 2184 { 2185 virtual HRESULT STDMETHODCALLTYPE SetDefaultTimerResolution( 2186 REFERENCE_TIME timerResolution) = 0; 2187 2188 virtual HRESULT STDMETHODCALLTYPE GetDefaultTimerResolution( 2189 REFERENCE_TIME *pTimerResolution) = 0; 2190 2191 }; 2192 #ifdef __CRT_UUID_DECL 2193 __CRT_UUID_DECL(IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8) 2194 #endif 2195 #else 2196 typedef struct IReferenceClockTimerControlVtbl { 2197 BEGIN_INTERFACE 2198 2199 /*** IUnknown methods ***/ 2200 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2201 IReferenceClockTimerControl* This, 2202 REFIID riid, 2203 void **ppvObject); 2204 2205 ULONG (STDMETHODCALLTYPE *AddRef)( 2206 IReferenceClockTimerControl* This); 2207 2208 ULONG (STDMETHODCALLTYPE *Release)( 2209 IReferenceClockTimerControl* This); 2210 2211 /*** IReferenceClockTimerControl methods ***/ 2212 HRESULT (STDMETHODCALLTYPE *SetDefaultTimerResolution)( 2213 IReferenceClockTimerControl* This, 2214 REFERENCE_TIME timerResolution); 2215 2216 HRESULT (STDMETHODCALLTYPE *GetDefaultTimerResolution)( 2217 IReferenceClockTimerControl* This, 2218 REFERENCE_TIME *pTimerResolution); 2219 2220 END_INTERFACE 2221 } IReferenceClockTimerControlVtbl; 2222 interface IReferenceClockTimerControl { 2223 CONST_VTBL IReferenceClockTimerControlVtbl* lpVtbl; 2224 }; 2225 2226 #ifdef COBJMACROS 2227 #ifndef WIDL_C_INLINE_WRAPPERS 2228 /*** IUnknown methods ***/ 2229 #define IReferenceClockTimerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2230 #define IReferenceClockTimerControl_AddRef(This) (This)->lpVtbl->AddRef(This) 2231 #define IReferenceClockTimerControl_Release(This) (This)->lpVtbl->Release(This) 2232 /*** IReferenceClockTimerControl methods ***/ 2233 #define IReferenceClockTimerControl_SetDefaultTimerResolution(This,timerResolution) (This)->lpVtbl->SetDefaultTimerResolution(This,timerResolution) 2234 #define IReferenceClockTimerControl_GetDefaultTimerResolution(This,pTimerResolution) (This)->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution) 2235 #else 2236 /*** IUnknown methods ***/ 2237 static FORCEINLINE HRESULT IReferenceClockTimerControl_QueryInterface(IReferenceClockTimerControl* This,REFIID riid,void **ppvObject) { 2238 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2239 } 2240 static FORCEINLINE ULONG IReferenceClockTimerControl_AddRef(IReferenceClockTimerControl* This) { 2241 return This->lpVtbl->AddRef(This); 2242 } 2243 static FORCEINLINE ULONG IReferenceClockTimerControl_Release(IReferenceClockTimerControl* This) { 2244 return This->lpVtbl->Release(This); 2245 } 2246 /*** IReferenceClockTimerControl methods ***/ 2247 static FORCEINLINE HRESULT IReferenceClockTimerControl_SetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME timerResolution) { 2248 return This->lpVtbl->SetDefaultTimerResolution(This,timerResolution); 2249 } 2250 static FORCEINLINE HRESULT IReferenceClockTimerControl_GetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME *pTimerResolution) { 2251 return This->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution); 2252 } 2253 #endif 2254 #endif 2255 2256 #endif 2257 2258 HRESULT STDMETHODCALLTYPE IReferenceClockTimerControl_SetDefaultTimerResolution_Proxy( 2259 IReferenceClockTimerControl* This, 2260 REFERENCE_TIME timerResolution); 2261 void __RPC_STUB IReferenceClockTimerControl_SetDefaultTimerResolution_Stub( 2262 IRpcStubBuffer* This, 2263 IRpcChannelBuffer* pRpcChannelBuffer, 2264 PRPC_MESSAGE pRpcMessage, 2265 DWORD* pdwStubPhase); 2266 HRESULT STDMETHODCALLTYPE IReferenceClockTimerControl_GetDefaultTimerResolution_Proxy( 2267 IReferenceClockTimerControl* This, 2268 REFERENCE_TIME *pTimerResolution); 2269 void __RPC_STUB IReferenceClockTimerControl_GetDefaultTimerResolution_Stub( 2270 IRpcStubBuffer* This, 2271 IRpcChannelBuffer* pRpcChannelBuffer, 2272 PRPC_MESSAGE pRpcMessage, 2273 DWORD* pdwStubPhase); 2274 2275 #endif /* __IReferenceClockTimerControl_INTERFACE_DEFINED__ */ 2276 2277 2278 /***************************************************************************** 2279 * IReferenceClock2 interface 2280 */ 2281 #ifndef __IReferenceClock2_INTERFACE_DEFINED__ 2282 #define __IReferenceClock2_INTERFACE_DEFINED__ 2283 2284 DEFINE_GUID(IID_IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 2285 #if defined(__cplusplus) && !defined(CINTERFACE) 2286 MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60") 2287 IReferenceClock2 : public IReferenceClock 2288 { 2289 }; 2290 #ifdef __CRT_UUID_DECL 2291 __CRT_UUID_DECL(IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 2292 #endif 2293 #else 2294 typedef struct IReferenceClock2Vtbl { 2295 BEGIN_INTERFACE 2296 2297 /*** IUnknown methods ***/ 2298 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2299 IReferenceClock2* This, 2300 REFIID riid, 2301 void **ppvObject); 2302 2303 ULONG (STDMETHODCALLTYPE *AddRef)( 2304 IReferenceClock2* This); 2305 2306 ULONG (STDMETHODCALLTYPE *Release)( 2307 IReferenceClock2* This); 2308 2309 /*** IReferenceClock methods ***/ 2310 HRESULT (STDMETHODCALLTYPE *GetTime)( 2311 IReferenceClock2* This, 2312 REFERENCE_TIME *pTime); 2313 2314 HRESULT (STDMETHODCALLTYPE *AdviseTime)( 2315 IReferenceClock2* This, 2316 REFERENCE_TIME baseTime, 2317 REFERENCE_TIME streamTime, 2318 HEVENT hEvent, 2319 DWORD_PTR *pdwAdviseCookie); 2320 2321 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( 2322 IReferenceClock2* This, 2323 REFERENCE_TIME startTime, 2324 REFERENCE_TIME periodTime, 2325 HSEMAPHORE hSemaphore, 2326 DWORD_PTR *pdwAdviseCookie); 2327 2328 HRESULT (STDMETHODCALLTYPE *Unadvise)( 2329 IReferenceClock2* This, 2330 DWORD_PTR dwAdviseCookie); 2331 2332 END_INTERFACE 2333 } IReferenceClock2Vtbl; 2334 interface IReferenceClock2 { 2335 CONST_VTBL IReferenceClock2Vtbl* lpVtbl; 2336 }; 2337 2338 #ifdef COBJMACROS 2339 #ifndef WIDL_C_INLINE_WRAPPERS 2340 /*** IUnknown methods ***/ 2341 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2342 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This) 2343 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This) 2344 /*** IReferenceClock methods ***/ 2345 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 2346 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 2347 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 2348 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 2349 #else 2350 /*** IUnknown methods ***/ 2351 static FORCEINLINE HRESULT IReferenceClock2_QueryInterface(IReferenceClock2* This,REFIID riid,void **ppvObject) { 2352 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2353 } 2354 static FORCEINLINE ULONG IReferenceClock2_AddRef(IReferenceClock2* This) { 2355 return This->lpVtbl->AddRef(This); 2356 } 2357 static FORCEINLINE ULONG IReferenceClock2_Release(IReferenceClock2* This) { 2358 return This->lpVtbl->Release(This); 2359 } 2360 /*** IReferenceClock methods ***/ 2361 static FORCEINLINE HRESULT IReferenceClock2_GetTime(IReferenceClock2* This,REFERENCE_TIME *pTime) { 2362 return This->lpVtbl->GetTime(This,pTime); 2363 } 2364 static FORCEINLINE HRESULT IReferenceClock2_AdviseTime(IReferenceClock2* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { 2365 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); 2366 } 2367 static FORCEINLINE HRESULT IReferenceClock2_AdvisePeriodic(IReferenceClock2* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { 2368 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); 2369 } 2370 static FORCEINLINE HRESULT IReferenceClock2_Unadvise(IReferenceClock2* This,DWORD_PTR dwAdviseCookie) { 2371 return This->lpVtbl->Unadvise(This,dwAdviseCookie); 2372 } 2373 #endif 2374 #endif 2375 2376 #endif 2377 2378 2379 #endif /* __IReferenceClock2_INTERFACE_DEFINED__ */ 2380 2381 typedef IReferenceClock2 *PREFERENCECLOCK2; 2382 2383 /***************************************************************************** 2384 * IMediaSample interface 2385 */ 2386 #ifndef __IMediaSample_INTERFACE_DEFINED__ 2387 #define __IMediaSample_INTERFACE_DEFINED__ 2388 2389 DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2390 #if defined(__cplusplus) && !defined(CINTERFACE) 2391 MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770") 2392 IMediaSample : public IUnknown 2393 { 2394 virtual HRESULT STDMETHODCALLTYPE GetPointer( 2395 BYTE **ppBuffer) = 0; 2396 2397 virtual LONG STDMETHODCALLTYPE GetSize( 2398 ) = 0; 2399 2400 virtual HRESULT STDMETHODCALLTYPE GetTime( 2401 REFERENCE_TIME *pTimeStart, 2402 REFERENCE_TIME *pTimeEnd) = 0; 2403 2404 virtual HRESULT STDMETHODCALLTYPE SetTime( 2405 REFERENCE_TIME *pTimeStart, 2406 REFERENCE_TIME *pTimeEnd) = 0; 2407 2408 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( 2409 ) = 0; 2410 2411 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 2412 WINBOOL bIsSyncPoint) = 0; 2413 2414 virtual HRESULT STDMETHODCALLTYPE IsPreroll( 2415 ) = 0; 2416 2417 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 2418 WINBOOL bIsPreroll) = 0; 2419 2420 virtual LONG STDMETHODCALLTYPE GetActualDataLength( 2421 ) = 0; 2422 2423 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 2424 LONG a) = 0; 2425 2426 virtual HRESULT STDMETHODCALLTYPE GetMediaType( 2427 AM_MEDIA_TYPE **ppMediaType) = 0; 2428 2429 virtual HRESULT STDMETHODCALLTYPE SetMediaType( 2430 AM_MEDIA_TYPE *pMediaType) = 0; 2431 2432 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( 2433 ) = 0; 2434 2435 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 2436 WINBOOL bDiscontinuity) = 0; 2437 2438 virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 2439 LONGLONG *pTimeStart, 2440 LONGLONG *pTimeEnd) = 0; 2441 2442 virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 2443 LONGLONG *pTimeStart, 2444 LONGLONG *pTimeEnd) = 0; 2445 2446 }; 2447 #ifdef __CRT_UUID_DECL 2448 __CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2449 #endif 2450 #else 2451 typedef struct IMediaSampleVtbl { 2452 BEGIN_INTERFACE 2453 2454 /*** IUnknown methods ***/ 2455 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2456 IMediaSample* This, 2457 REFIID riid, 2458 void **ppvObject); 2459 2460 ULONG (STDMETHODCALLTYPE *AddRef)( 2461 IMediaSample* This); 2462 2463 ULONG (STDMETHODCALLTYPE *Release)( 2464 IMediaSample* This); 2465 2466 /*** IMediaSample methods ***/ 2467 HRESULT (STDMETHODCALLTYPE *GetPointer)( 2468 IMediaSample* This, 2469 BYTE **ppBuffer); 2470 2471 LONG (STDMETHODCALLTYPE *GetSize)( 2472 IMediaSample* This); 2473 2474 HRESULT (STDMETHODCALLTYPE *GetTime)( 2475 IMediaSample* This, 2476 REFERENCE_TIME *pTimeStart, 2477 REFERENCE_TIME *pTimeEnd); 2478 2479 HRESULT (STDMETHODCALLTYPE *SetTime)( 2480 IMediaSample* This, 2481 REFERENCE_TIME *pTimeStart, 2482 REFERENCE_TIME *pTimeEnd); 2483 2484 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 2485 IMediaSample* This); 2486 2487 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 2488 IMediaSample* This, 2489 WINBOOL bIsSyncPoint); 2490 2491 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 2492 IMediaSample* This); 2493 2494 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 2495 IMediaSample* This, 2496 WINBOOL bIsPreroll); 2497 2498 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 2499 IMediaSample* This); 2500 2501 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 2502 IMediaSample* This, 2503 LONG a); 2504 2505 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 2506 IMediaSample* This, 2507 AM_MEDIA_TYPE **ppMediaType); 2508 2509 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 2510 IMediaSample* This, 2511 AM_MEDIA_TYPE *pMediaType); 2512 2513 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 2514 IMediaSample* This); 2515 2516 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 2517 IMediaSample* This, 2518 WINBOOL bDiscontinuity); 2519 2520 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 2521 IMediaSample* This, 2522 LONGLONG *pTimeStart, 2523 LONGLONG *pTimeEnd); 2524 2525 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 2526 IMediaSample* This, 2527 LONGLONG *pTimeStart, 2528 LONGLONG *pTimeEnd); 2529 2530 END_INTERFACE 2531 } IMediaSampleVtbl; 2532 interface IMediaSample { 2533 CONST_VTBL IMediaSampleVtbl* lpVtbl; 2534 }; 2535 2536 #ifdef COBJMACROS 2537 #ifndef WIDL_C_INLINE_WRAPPERS 2538 /*** IUnknown methods ***/ 2539 #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2540 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) 2541 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This) 2542 /*** IMediaSample methods ***/ 2543 #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 2544 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This) 2545 #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 2546 #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 2547 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 2548 #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 2549 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 2550 #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 2551 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 2552 #define IMediaSample_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) 2553 #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 2554 #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 2555 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 2556 #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 2557 #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 2558 #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 2559 #else 2560 /*** IUnknown methods ***/ 2561 static FORCEINLINE HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) { 2562 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2563 } 2564 static FORCEINLINE ULONG IMediaSample_AddRef(IMediaSample* This) { 2565 return This->lpVtbl->AddRef(This); 2566 } 2567 static FORCEINLINE ULONG IMediaSample_Release(IMediaSample* This) { 2568 return This->lpVtbl->Release(This); 2569 } 2570 /*** IMediaSample methods ***/ 2571 static FORCEINLINE HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) { 2572 return This->lpVtbl->GetPointer(This,ppBuffer); 2573 } 2574 static FORCEINLINE LONG IMediaSample_GetSize(IMediaSample* This) { 2575 return This->lpVtbl->GetSize(This); 2576 } 2577 static FORCEINLINE HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2578 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 2579 } 2580 static FORCEINLINE HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2581 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 2582 } 2583 static FORCEINLINE HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) { 2584 return This->lpVtbl->IsSyncPoint(This); 2585 } 2586 static FORCEINLINE HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) { 2587 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 2588 } 2589 static FORCEINLINE HRESULT IMediaSample_IsPreroll(IMediaSample* This) { 2590 return This->lpVtbl->IsPreroll(This); 2591 } 2592 static FORCEINLINE HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) { 2593 return This->lpVtbl->SetPreroll(This,bIsPreroll); 2594 } 2595 static FORCEINLINE LONG IMediaSample_GetActualDataLength(IMediaSample* This) { 2596 return This->lpVtbl->GetActualDataLength(This); 2597 } 2598 static FORCEINLINE HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG a) { 2599 return This->lpVtbl->SetActualDataLength(This,a); 2600 } 2601 static FORCEINLINE HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) { 2602 return This->lpVtbl->GetMediaType(This,ppMediaType); 2603 } 2604 static FORCEINLINE HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) { 2605 return This->lpVtbl->SetMediaType(This,pMediaType); 2606 } 2607 static FORCEINLINE HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) { 2608 return This->lpVtbl->IsDiscontinuity(This); 2609 } 2610 static FORCEINLINE HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) { 2611 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 2612 } 2613 static FORCEINLINE HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2614 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 2615 } 2616 static FORCEINLINE HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2617 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 2618 } 2619 #endif 2620 #endif 2621 2622 #endif 2623 2624 HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy( 2625 IMediaSample* This, 2626 BYTE **ppBuffer); 2627 void __RPC_STUB IMediaSample_GetPointer_Stub( 2628 IRpcStubBuffer* This, 2629 IRpcChannelBuffer* pRpcChannelBuffer, 2630 PRPC_MESSAGE pRpcMessage, 2631 DWORD* pdwStubPhase); 2632 LONG STDMETHODCALLTYPE IMediaSample_GetSize_Proxy( 2633 IMediaSample* This); 2634 void __RPC_STUB IMediaSample_GetSize_Stub( 2635 IRpcStubBuffer* This, 2636 IRpcChannelBuffer* pRpcChannelBuffer, 2637 PRPC_MESSAGE pRpcMessage, 2638 DWORD* pdwStubPhase); 2639 HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy( 2640 IMediaSample* This, 2641 REFERENCE_TIME *pTimeStart, 2642 REFERENCE_TIME *pTimeEnd); 2643 void __RPC_STUB IMediaSample_GetTime_Stub( 2644 IRpcStubBuffer* This, 2645 IRpcChannelBuffer* pRpcChannelBuffer, 2646 PRPC_MESSAGE pRpcMessage, 2647 DWORD* pdwStubPhase); 2648 HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy( 2649 IMediaSample* This, 2650 REFERENCE_TIME *pTimeStart, 2651 REFERENCE_TIME *pTimeEnd); 2652 void __RPC_STUB IMediaSample_SetTime_Stub( 2653 IRpcStubBuffer* This, 2654 IRpcChannelBuffer* pRpcChannelBuffer, 2655 PRPC_MESSAGE pRpcMessage, 2656 DWORD* pdwStubPhase); 2657 HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy( 2658 IMediaSample* This); 2659 void __RPC_STUB IMediaSample_IsSyncPoint_Stub( 2660 IRpcStubBuffer* This, 2661 IRpcChannelBuffer* pRpcChannelBuffer, 2662 PRPC_MESSAGE pRpcMessage, 2663 DWORD* pdwStubPhase); 2664 HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy( 2665 IMediaSample* This, 2666 WINBOOL bIsSyncPoint); 2667 void __RPC_STUB IMediaSample_SetSyncPoint_Stub( 2668 IRpcStubBuffer* This, 2669 IRpcChannelBuffer* pRpcChannelBuffer, 2670 PRPC_MESSAGE pRpcMessage, 2671 DWORD* pdwStubPhase); 2672 HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy( 2673 IMediaSample* This); 2674 void __RPC_STUB IMediaSample_IsPreroll_Stub( 2675 IRpcStubBuffer* This, 2676 IRpcChannelBuffer* pRpcChannelBuffer, 2677 PRPC_MESSAGE pRpcMessage, 2678 DWORD* pdwStubPhase); 2679 HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy( 2680 IMediaSample* This, 2681 WINBOOL bIsPreroll); 2682 void __RPC_STUB IMediaSample_SetPreroll_Stub( 2683 IRpcStubBuffer* This, 2684 IRpcChannelBuffer* pRpcChannelBuffer, 2685 PRPC_MESSAGE pRpcMessage, 2686 DWORD* pdwStubPhase); 2687 LONG STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy( 2688 IMediaSample* This); 2689 void __RPC_STUB IMediaSample_GetActualDataLength_Stub( 2690 IRpcStubBuffer* This, 2691 IRpcChannelBuffer* pRpcChannelBuffer, 2692 PRPC_MESSAGE pRpcMessage, 2693 DWORD* pdwStubPhase); 2694 HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy( 2695 IMediaSample* This, 2696 LONG a); 2697 void __RPC_STUB IMediaSample_SetActualDataLength_Stub( 2698 IRpcStubBuffer* This, 2699 IRpcChannelBuffer* pRpcChannelBuffer, 2700 PRPC_MESSAGE pRpcMessage, 2701 DWORD* pdwStubPhase); 2702 HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy( 2703 IMediaSample* This, 2704 AM_MEDIA_TYPE **ppMediaType); 2705 void __RPC_STUB IMediaSample_GetMediaType_Stub( 2706 IRpcStubBuffer* This, 2707 IRpcChannelBuffer* pRpcChannelBuffer, 2708 PRPC_MESSAGE pRpcMessage, 2709 DWORD* pdwStubPhase); 2710 HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy( 2711 IMediaSample* This, 2712 AM_MEDIA_TYPE *pMediaType); 2713 void __RPC_STUB IMediaSample_SetMediaType_Stub( 2714 IRpcStubBuffer* This, 2715 IRpcChannelBuffer* pRpcChannelBuffer, 2716 PRPC_MESSAGE pRpcMessage, 2717 DWORD* pdwStubPhase); 2718 HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy( 2719 IMediaSample* This); 2720 void __RPC_STUB IMediaSample_IsDiscontinuity_Stub( 2721 IRpcStubBuffer* This, 2722 IRpcChannelBuffer* pRpcChannelBuffer, 2723 PRPC_MESSAGE pRpcMessage, 2724 DWORD* pdwStubPhase); 2725 HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy( 2726 IMediaSample* This, 2727 WINBOOL bDiscontinuity); 2728 void __RPC_STUB IMediaSample_SetDiscontinuity_Stub( 2729 IRpcStubBuffer* This, 2730 IRpcChannelBuffer* pRpcChannelBuffer, 2731 PRPC_MESSAGE pRpcMessage, 2732 DWORD* pdwStubPhase); 2733 HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy( 2734 IMediaSample* This, 2735 LONGLONG *pTimeStart, 2736 LONGLONG *pTimeEnd); 2737 void __RPC_STUB IMediaSample_GetMediaTime_Stub( 2738 IRpcStubBuffer* This, 2739 IRpcChannelBuffer* pRpcChannelBuffer, 2740 PRPC_MESSAGE pRpcMessage, 2741 DWORD* pdwStubPhase); 2742 HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy( 2743 IMediaSample* This, 2744 LONGLONG *pTimeStart, 2745 LONGLONG *pTimeEnd); 2746 void __RPC_STUB IMediaSample_SetMediaTime_Stub( 2747 IRpcStubBuffer* This, 2748 IRpcChannelBuffer* pRpcChannelBuffer, 2749 PRPC_MESSAGE pRpcMessage, 2750 DWORD* pdwStubPhase); 2751 2752 #endif /* __IMediaSample_INTERFACE_DEFINED__ */ 2753 2754 typedef IMediaSample *PMEDIASAMPLE; 2755 2756 enum tagAM_SAMPLE_PROPERTY_FLAGS { 2757 AM_SAMPLE_SPLICEPOINT = 0x1, 2758 AM_SAMPLE_PREROLL = 0x2, 2759 AM_SAMPLE_DATADISCONTINUITY = 0x4, 2760 AM_SAMPLE_TYPECHANGED = 0x8, 2761 AM_SAMPLE_TIMEVALID = 0x10, 2762 AM_SAMPLE_TIMEDISCONTINUITY = 0x40, 2763 AM_SAMPLE_FLUSH_ON_PAUSE = 0x80, 2764 AM_SAMPLE_STOPVALID = 0x100, 2765 AM_SAMPLE_ENDOFSTREAM = 0x200, 2766 AM_STREAM_MEDIA = 0, 2767 AM_STREAM_CONTROL = 1 2768 }; 2769 2770 2771 typedef struct tagAM_SAMPLE2_PROPERTIES { 2772 DWORD cbData; 2773 DWORD dwTypeSpecificFlags; 2774 DWORD dwSampleFlags; 2775 LONG lActual; 2776 REFERENCE_TIME tStart; 2777 REFERENCE_TIME tStop; 2778 DWORD dwStreamId; 2779 AM_MEDIA_TYPE *pMediaType; 2780 BYTE *pbBuffer; 2781 LONG cbBuffer; 2782 } AM_SAMPLE2_PROPERTIES; 2783 2784 /***************************************************************************** 2785 * IMediaSample2 interface 2786 */ 2787 #ifndef __IMediaSample2_INTERFACE_DEFINED__ 2788 #define __IMediaSample2_INTERFACE_DEFINED__ 2789 2790 DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 2791 #if defined(__cplusplus) && !defined(CINTERFACE) 2792 MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60") 2793 IMediaSample2 : public IMediaSample 2794 { 2795 virtual HRESULT STDMETHODCALLTYPE GetProperties( 2796 DWORD cbProperties, 2797 BYTE *pbProperties) = 0; 2798 2799 virtual HRESULT STDMETHODCALLTYPE SetProperties( 2800 DWORD cbProperties, 2801 const BYTE *pbProperties) = 0; 2802 2803 }; 2804 #ifdef __CRT_UUID_DECL 2805 __CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 2806 #endif 2807 #else 2808 typedef struct IMediaSample2Vtbl { 2809 BEGIN_INTERFACE 2810 2811 /*** IUnknown methods ***/ 2812 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2813 IMediaSample2* This, 2814 REFIID riid, 2815 void **ppvObject); 2816 2817 ULONG (STDMETHODCALLTYPE *AddRef)( 2818 IMediaSample2* This); 2819 2820 ULONG (STDMETHODCALLTYPE *Release)( 2821 IMediaSample2* This); 2822 2823 /*** IMediaSample methods ***/ 2824 HRESULT (STDMETHODCALLTYPE *GetPointer)( 2825 IMediaSample2* This, 2826 BYTE **ppBuffer); 2827 2828 LONG (STDMETHODCALLTYPE *GetSize)( 2829 IMediaSample2* This); 2830 2831 HRESULT (STDMETHODCALLTYPE *GetTime)( 2832 IMediaSample2* This, 2833 REFERENCE_TIME *pTimeStart, 2834 REFERENCE_TIME *pTimeEnd); 2835 2836 HRESULT (STDMETHODCALLTYPE *SetTime)( 2837 IMediaSample2* This, 2838 REFERENCE_TIME *pTimeStart, 2839 REFERENCE_TIME *pTimeEnd); 2840 2841 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 2842 IMediaSample2* This); 2843 2844 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 2845 IMediaSample2* This, 2846 WINBOOL bIsSyncPoint); 2847 2848 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 2849 IMediaSample2* This); 2850 2851 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 2852 IMediaSample2* This, 2853 WINBOOL bIsPreroll); 2854 2855 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 2856 IMediaSample2* This); 2857 2858 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 2859 IMediaSample2* This, 2860 LONG a); 2861 2862 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 2863 IMediaSample2* This, 2864 AM_MEDIA_TYPE **ppMediaType); 2865 2866 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 2867 IMediaSample2* This, 2868 AM_MEDIA_TYPE *pMediaType); 2869 2870 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 2871 IMediaSample2* This); 2872 2873 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 2874 IMediaSample2* This, 2875 WINBOOL bDiscontinuity); 2876 2877 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 2878 IMediaSample2* This, 2879 LONGLONG *pTimeStart, 2880 LONGLONG *pTimeEnd); 2881 2882 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 2883 IMediaSample2* This, 2884 LONGLONG *pTimeStart, 2885 LONGLONG *pTimeEnd); 2886 2887 /*** IMediaSample2 methods ***/ 2888 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2889 IMediaSample2* This, 2890 DWORD cbProperties, 2891 BYTE *pbProperties); 2892 2893 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2894 IMediaSample2* This, 2895 DWORD cbProperties, 2896 const BYTE *pbProperties); 2897 2898 END_INTERFACE 2899 } IMediaSample2Vtbl; 2900 interface IMediaSample2 { 2901 CONST_VTBL IMediaSample2Vtbl* lpVtbl; 2902 }; 2903 2904 #ifdef COBJMACROS 2905 #ifndef WIDL_C_INLINE_WRAPPERS 2906 /*** IUnknown methods ***/ 2907 #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2908 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This) 2909 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This) 2910 /*** IMediaSample methods ***/ 2911 #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 2912 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This) 2913 #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 2914 #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 2915 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 2916 #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 2917 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 2918 #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 2919 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 2920 #define IMediaSample2_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) 2921 #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 2922 #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 2923 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 2924 #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 2925 #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 2926 #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 2927 /*** IMediaSample2 methods ***/ 2928 #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties) 2929 #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties) 2930 #else 2931 /*** IUnknown methods ***/ 2932 static FORCEINLINE HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) { 2933 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2934 } 2935 static FORCEINLINE ULONG IMediaSample2_AddRef(IMediaSample2* This) { 2936 return This->lpVtbl->AddRef(This); 2937 } 2938 static FORCEINLINE ULONG IMediaSample2_Release(IMediaSample2* This) { 2939 return This->lpVtbl->Release(This); 2940 } 2941 /*** IMediaSample methods ***/ 2942 static FORCEINLINE HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) { 2943 return This->lpVtbl->GetPointer(This,ppBuffer); 2944 } 2945 static FORCEINLINE LONG IMediaSample2_GetSize(IMediaSample2* This) { 2946 return This->lpVtbl->GetSize(This); 2947 } 2948 static FORCEINLINE HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2949 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 2950 } 2951 static FORCEINLINE HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2952 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 2953 } 2954 static FORCEINLINE HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) { 2955 return This->lpVtbl->IsSyncPoint(This); 2956 } 2957 static FORCEINLINE HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) { 2958 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 2959 } 2960 static FORCEINLINE HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) { 2961 return This->lpVtbl->IsPreroll(This); 2962 } 2963 static FORCEINLINE HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) { 2964 return This->lpVtbl->SetPreroll(This,bIsPreroll); 2965 } 2966 static FORCEINLINE LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) { 2967 return This->lpVtbl->GetActualDataLength(This); 2968 } 2969 static FORCEINLINE HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG a) { 2970 return This->lpVtbl->SetActualDataLength(This,a); 2971 } 2972 static FORCEINLINE HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) { 2973 return This->lpVtbl->GetMediaType(This,ppMediaType); 2974 } 2975 static FORCEINLINE HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) { 2976 return This->lpVtbl->SetMediaType(This,pMediaType); 2977 } 2978 static FORCEINLINE HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) { 2979 return This->lpVtbl->IsDiscontinuity(This); 2980 } 2981 static FORCEINLINE HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) { 2982 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 2983 } 2984 static FORCEINLINE HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2985 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 2986 } 2987 static FORCEINLINE HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2988 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 2989 } 2990 /*** IMediaSample2 methods ***/ 2991 static FORCEINLINE HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) { 2992 return This->lpVtbl->GetProperties(This,cbProperties,pbProperties); 2993 } 2994 static FORCEINLINE HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) { 2995 return This->lpVtbl->SetProperties(This,cbProperties,pbProperties); 2996 } 2997 #endif 2998 #endif 2999 3000 #endif 3001 3002 HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy( 3003 IMediaSample2* This, 3004 DWORD cbProperties, 3005 BYTE *pbProperties); 3006 void __RPC_STUB IMediaSample2_GetProperties_Stub( 3007 IRpcStubBuffer* This, 3008 IRpcChannelBuffer* pRpcChannelBuffer, 3009 PRPC_MESSAGE pRpcMessage, 3010 DWORD* pdwStubPhase); 3011 HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy( 3012 IMediaSample2* This, 3013 DWORD cbProperties, 3014 const BYTE *pbProperties); 3015 void __RPC_STUB IMediaSample2_SetProperties_Stub( 3016 IRpcStubBuffer* This, 3017 IRpcChannelBuffer* pRpcChannelBuffer, 3018 PRPC_MESSAGE pRpcMessage, 3019 DWORD* pdwStubPhase); 3020 3021 #endif /* __IMediaSample2_INTERFACE_DEFINED__ */ 3022 3023 typedef IMediaSample2 *PMEDIASAMPLE2; 3024 3025 /***************************************************************************** 3026 * IMediaSample2Config interface 3027 */ 3028 #ifndef __IMediaSample2Config_INTERFACE_DEFINED__ 3029 #define __IMediaSample2Config_INTERFACE_DEFINED__ 3030 3031 DEFINE_GUID(IID_IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3); 3032 #if defined(__cplusplus) && !defined(CINTERFACE) 3033 MIDL_INTERFACE("68961e68-832b-41ea-bc91-63593f3e70e3") 3034 IMediaSample2Config : public IUnknown 3035 { 3036 virtual HRESULT STDMETHODCALLTYPE GetSurface( 3037 IUnknown **ppDirect3DSurface9) = 0; 3038 3039 }; 3040 #ifdef __CRT_UUID_DECL 3041 __CRT_UUID_DECL(IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3) 3042 #endif 3043 #else 3044 typedef struct IMediaSample2ConfigVtbl { 3045 BEGIN_INTERFACE 3046 3047 /*** IUnknown methods ***/ 3048 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3049 IMediaSample2Config* This, 3050 REFIID riid, 3051 void **ppvObject); 3052 3053 ULONG (STDMETHODCALLTYPE *AddRef)( 3054 IMediaSample2Config* This); 3055 3056 ULONG (STDMETHODCALLTYPE *Release)( 3057 IMediaSample2Config* This); 3058 3059 /*** IMediaSample2Config methods ***/ 3060 HRESULT (STDMETHODCALLTYPE *GetSurface)( 3061 IMediaSample2Config* This, 3062 IUnknown **ppDirect3DSurface9); 3063 3064 END_INTERFACE 3065 } IMediaSample2ConfigVtbl; 3066 interface IMediaSample2Config { 3067 CONST_VTBL IMediaSample2ConfigVtbl* lpVtbl; 3068 }; 3069 3070 #ifdef COBJMACROS 3071 #ifndef WIDL_C_INLINE_WRAPPERS 3072 /*** IUnknown methods ***/ 3073 #define IMediaSample2Config_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3074 #define IMediaSample2Config_AddRef(This) (This)->lpVtbl->AddRef(This) 3075 #define IMediaSample2Config_Release(This) (This)->lpVtbl->Release(This) 3076 /*** IMediaSample2Config methods ***/ 3077 #define IMediaSample2Config_GetSurface(This,ppDirect3DSurface9) (This)->lpVtbl->GetSurface(This,ppDirect3DSurface9) 3078 #else 3079 /*** IUnknown methods ***/ 3080 static FORCEINLINE HRESULT IMediaSample2Config_QueryInterface(IMediaSample2Config* This,REFIID riid,void **ppvObject) { 3081 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3082 } 3083 static FORCEINLINE ULONG IMediaSample2Config_AddRef(IMediaSample2Config* This) { 3084 return This->lpVtbl->AddRef(This); 3085 } 3086 static FORCEINLINE ULONG IMediaSample2Config_Release(IMediaSample2Config* This) { 3087 return This->lpVtbl->Release(This); 3088 } 3089 /*** IMediaSample2Config methods ***/ 3090 static FORCEINLINE HRESULT IMediaSample2Config_GetSurface(IMediaSample2Config* This,IUnknown **ppDirect3DSurface9) { 3091 return This->lpVtbl->GetSurface(This,ppDirect3DSurface9); 3092 } 3093 #endif 3094 #endif 3095 3096 #endif 3097 3098 HRESULT STDMETHODCALLTYPE IMediaSample2Config_GetSurface_Proxy( 3099 IMediaSample2Config* This, 3100 IUnknown **ppDirect3DSurface9); 3101 void __RPC_STUB IMediaSample2Config_GetSurface_Stub( 3102 IRpcStubBuffer* This, 3103 IRpcChannelBuffer* pRpcChannelBuffer, 3104 PRPC_MESSAGE pRpcMessage, 3105 DWORD* pdwStubPhase); 3106 3107 #endif /* __IMediaSample2Config_INTERFACE_DEFINED__ */ 3108 3109 3110 #define AM_GBF_PREVFRAMESKIPPED 1 3111 #define AM_GBF_NOTASYNCPOINT 2 3112 #define AM_GBF_NOWAIT 4 3113 #define AM_GBF_NODDSURFACELOCK 8 3114 3115 /***************************************************************************** 3116 * IMemAllocator interface 3117 */ 3118 #ifndef __IMemAllocator_INTERFACE_DEFINED__ 3119 #define __IMemAllocator_INTERFACE_DEFINED__ 3120 3121 DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 3122 #if defined(__cplusplus) && !defined(CINTERFACE) 3123 MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770") 3124 IMemAllocator : public IUnknown 3125 { 3126 virtual HRESULT STDMETHODCALLTYPE SetProperties( 3127 ALLOCATOR_PROPERTIES *pRequest, 3128 ALLOCATOR_PROPERTIES *pActual) = 0; 3129 3130 virtual HRESULT STDMETHODCALLTYPE GetProperties( 3131 ALLOCATOR_PROPERTIES *pProps) = 0; 3132 3133 virtual HRESULT STDMETHODCALLTYPE Commit( 3134 ) = 0; 3135 3136 virtual HRESULT STDMETHODCALLTYPE Decommit( 3137 ) = 0; 3138 3139 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 3140 IMediaSample **ppBuffer, 3141 REFERENCE_TIME *pStartTime, 3142 REFERENCE_TIME *pEndTime, 3143 DWORD dwFlags) = 0; 3144 3145 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 3146 IMediaSample *pBuffer) = 0; 3147 3148 }; 3149 #ifdef __CRT_UUID_DECL 3150 __CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 3151 #endif 3152 #else 3153 typedef struct IMemAllocatorVtbl { 3154 BEGIN_INTERFACE 3155 3156 /*** IUnknown methods ***/ 3157 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3158 IMemAllocator* This, 3159 REFIID riid, 3160 void **ppvObject); 3161 3162 ULONG (STDMETHODCALLTYPE *AddRef)( 3163 IMemAllocator* This); 3164 3165 ULONG (STDMETHODCALLTYPE *Release)( 3166 IMemAllocator* This); 3167 3168 /*** IMemAllocator methods ***/ 3169 HRESULT (STDMETHODCALLTYPE *SetProperties)( 3170 IMemAllocator* This, 3171 ALLOCATOR_PROPERTIES *pRequest, 3172 ALLOCATOR_PROPERTIES *pActual); 3173 3174 HRESULT (STDMETHODCALLTYPE *GetProperties)( 3175 IMemAllocator* This, 3176 ALLOCATOR_PROPERTIES *pProps); 3177 3178 HRESULT (STDMETHODCALLTYPE *Commit)( 3179 IMemAllocator* This); 3180 3181 HRESULT (STDMETHODCALLTYPE *Decommit)( 3182 IMemAllocator* This); 3183 3184 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 3185 IMemAllocator* This, 3186 IMediaSample **ppBuffer, 3187 REFERENCE_TIME *pStartTime, 3188 REFERENCE_TIME *pEndTime, 3189 DWORD dwFlags); 3190 3191 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 3192 IMemAllocator* This, 3193 IMediaSample *pBuffer); 3194 3195 END_INTERFACE 3196 } IMemAllocatorVtbl; 3197 interface IMemAllocator { 3198 CONST_VTBL IMemAllocatorVtbl* lpVtbl; 3199 }; 3200 3201 #ifdef COBJMACROS 3202 #ifndef WIDL_C_INLINE_WRAPPERS 3203 /*** IUnknown methods ***/ 3204 #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3205 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 3206 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This) 3207 /*** IMemAllocator methods ***/ 3208 #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) 3209 #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) 3210 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This) 3211 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This) 3212 #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) 3213 #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) 3214 #else 3215 /*** IUnknown methods ***/ 3216 static FORCEINLINE HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) { 3217 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3218 } 3219 static FORCEINLINE ULONG IMemAllocator_AddRef(IMemAllocator* This) { 3220 return This->lpVtbl->AddRef(This); 3221 } 3222 static FORCEINLINE ULONG IMemAllocator_Release(IMemAllocator* This) { 3223 return This->lpVtbl->Release(This); 3224 } 3225 /*** IMemAllocator methods ***/ 3226 static FORCEINLINE HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { 3227 return This->lpVtbl->SetProperties(This,pRequest,pActual); 3228 } 3229 static FORCEINLINE HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) { 3230 return This->lpVtbl->GetProperties(This,pProps); 3231 } 3232 static FORCEINLINE HRESULT IMemAllocator_Commit(IMemAllocator* This) { 3233 return This->lpVtbl->Commit(This); 3234 } 3235 static FORCEINLINE HRESULT IMemAllocator_Decommit(IMemAllocator* This) { 3236 return This->lpVtbl->Decommit(This); 3237 } 3238 static FORCEINLINE HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { 3239 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); 3240 } 3241 static FORCEINLINE HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) { 3242 return This->lpVtbl->ReleaseBuffer(This,pBuffer); 3243 } 3244 #endif 3245 #endif 3246 3247 #endif 3248 3249 HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy( 3250 IMemAllocator* This, 3251 ALLOCATOR_PROPERTIES *pRequest, 3252 ALLOCATOR_PROPERTIES *pActual); 3253 void __RPC_STUB IMemAllocator_SetProperties_Stub( 3254 IRpcStubBuffer* This, 3255 IRpcChannelBuffer* pRpcChannelBuffer, 3256 PRPC_MESSAGE pRpcMessage, 3257 DWORD* pdwStubPhase); 3258 HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy( 3259 IMemAllocator* This, 3260 ALLOCATOR_PROPERTIES *pProps); 3261 void __RPC_STUB IMemAllocator_GetProperties_Stub( 3262 IRpcStubBuffer* This, 3263 IRpcChannelBuffer* pRpcChannelBuffer, 3264 PRPC_MESSAGE pRpcMessage, 3265 DWORD* pdwStubPhase); 3266 HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy( 3267 IMemAllocator* This); 3268 void __RPC_STUB IMemAllocator_Commit_Stub( 3269 IRpcStubBuffer* This, 3270 IRpcChannelBuffer* pRpcChannelBuffer, 3271 PRPC_MESSAGE pRpcMessage, 3272 DWORD* pdwStubPhase); 3273 HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy( 3274 IMemAllocator* This); 3275 void __RPC_STUB IMemAllocator_Decommit_Stub( 3276 IRpcStubBuffer* This, 3277 IRpcChannelBuffer* pRpcChannelBuffer, 3278 PRPC_MESSAGE pRpcMessage, 3279 DWORD* pdwStubPhase); 3280 HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy( 3281 IMemAllocator* This, 3282 IMediaSample **ppBuffer, 3283 REFERENCE_TIME *pStartTime, 3284 REFERENCE_TIME *pEndTime, 3285 DWORD dwFlags); 3286 void __RPC_STUB IMemAllocator_GetBuffer_Stub( 3287 IRpcStubBuffer* This, 3288 IRpcChannelBuffer* pRpcChannelBuffer, 3289 PRPC_MESSAGE pRpcMessage, 3290 DWORD* pdwStubPhase); 3291 HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy( 3292 IMemAllocator* This, 3293 IMediaSample *pBuffer); 3294 void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub( 3295 IRpcStubBuffer* This, 3296 IRpcChannelBuffer* pRpcChannelBuffer, 3297 PRPC_MESSAGE pRpcMessage, 3298 DWORD* pdwStubPhase); 3299 3300 #endif /* __IMemAllocator_INTERFACE_DEFINED__ */ 3301 3302 typedef IMemAllocator *PMEMALLOCATOR; 3303 3304 /***************************************************************************** 3305 * IMemAllocatorCallbackTemp interface 3306 */ 3307 #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ 3308 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ 3309 3310 DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 3311 #if defined(__cplusplus) && !defined(CINTERFACE) 3312 MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375") 3313 IMemAllocatorCallbackTemp : public IMemAllocator 3314 { 3315 virtual HRESULT STDMETHODCALLTYPE SetNotify( 3316 IMemAllocatorNotifyCallbackTemp *pNotify) = 0; 3317 3318 virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 3319 LONG *plBuffersFree) = 0; 3320 3321 }; 3322 #ifdef __CRT_UUID_DECL 3323 __CRT_UUID_DECL(IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 3324 #endif 3325 #else 3326 typedef struct IMemAllocatorCallbackTempVtbl { 3327 BEGIN_INTERFACE 3328 3329 /*** IUnknown methods ***/ 3330 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3331 IMemAllocatorCallbackTemp* This, 3332 REFIID riid, 3333 void **ppvObject); 3334 3335 ULONG (STDMETHODCALLTYPE *AddRef)( 3336 IMemAllocatorCallbackTemp* This); 3337 3338 ULONG (STDMETHODCALLTYPE *Release)( 3339 IMemAllocatorCallbackTemp* This); 3340 3341 /*** IMemAllocator methods ***/ 3342 HRESULT (STDMETHODCALLTYPE *SetProperties)( 3343 IMemAllocatorCallbackTemp* This, 3344 ALLOCATOR_PROPERTIES *pRequest, 3345 ALLOCATOR_PROPERTIES *pActual); 3346 3347 HRESULT (STDMETHODCALLTYPE *GetProperties)( 3348 IMemAllocatorCallbackTemp* This, 3349 ALLOCATOR_PROPERTIES *pProps); 3350 3351 HRESULT (STDMETHODCALLTYPE *Commit)( 3352 IMemAllocatorCallbackTemp* This); 3353 3354 HRESULT (STDMETHODCALLTYPE *Decommit)( 3355 IMemAllocatorCallbackTemp* This); 3356 3357 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 3358 IMemAllocatorCallbackTemp* This, 3359 IMediaSample **ppBuffer, 3360 REFERENCE_TIME *pStartTime, 3361 REFERENCE_TIME *pEndTime, 3362 DWORD dwFlags); 3363 3364 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 3365 IMemAllocatorCallbackTemp* This, 3366 IMediaSample *pBuffer); 3367 3368 /*** IMemAllocatorCallbackTemp methods ***/ 3369 HRESULT (STDMETHODCALLTYPE *SetNotify)( 3370 IMemAllocatorCallbackTemp* This, 3371 IMemAllocatorNotifyCallbackTemp *pNotify); 3372 3373 HRESULT (STDMETHODCALLTYPE *GetFreeCount)( 3374 IMemAllocatorCallbackTemp* This, 3375 LONG *plBuffersFree); 3376 3377 END_INTERFACE 3378 } IMemAllocatorCallbackTempVtbl; 3379 interface IMemAllocatorCallbackTemp { 3380 CONST_VTBL IMemAllocatorCallbackTempVtbl* lpVtbl; 3381 }; 3382 3383 #ifdef COBJMACROS 3384 #ifndef WIDL_C_INLINE_WRAPPERS 3385 /*** IUnknown methods ***/ 3386 #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3387 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) 3388 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This) 3389 /*** IMemAllocator methods ***/ 3390 #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) 3391 #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) 3392 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This) 3393 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This) 3394 #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) 3395 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) 3396 /*** IMemAllocatorCallbackTemp methods ***/ 3397 #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify) 3398 #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree) 3399 #else 3400 /*** IUnknown methods ***/ 3401 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_QueryInterface(IMemAllocatorCallbackTemp* This,REFIID riid,void **ppvObject) { 3402 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3403 } 3404 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_AddRef(IMemAllocatorCallbackTemp* This) { 3405 return This->lpVtbl->AddRef(This); 3406 } 3407 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_Release(IMemAllocatorCallbackTemp* This) { 3408 return This->lpVtbl->Release(This); 3409 } 3410 /*** IMemAllocator methods ***/ 3411 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { 3412 return This->lpVtbl->SetProperties(This,pRequest,pActual); 3413 } 3414 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pProps) { 3415 return This->lpVtbl->GetProperties(This,pProps); 3416 } 3417 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Commit(IMemAllocatorCallbackTemp* This) { 3418 return This->lpVtbl->Commit(This); 3419 } 3420 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Decommit(IMemAllocatorCallbackTemp* This) { 3421 return This->lpVtbl->Decommit(This); 3422 } 3423 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetBuffer(IMemAllocatorCallbackTemp* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { 3424 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); 3425 } 3426 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_ReleaseBuffer(IMemAllocatorCallbackTemp* This,IMediaSample *pBuffer) { 3427 return This->lpVtbl->ReleaseBuffer(This,pBuffer); 3428 } 3429 /*** IMemAllocatorCallbackTemp methods ***/ 3430 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetNotify(IMemAllocatorCallbackTemp* This,IMemAllocatorNotifyCallbackTemp *pNotify) { 3431 return This->lpVtbl->SetNotify(This,pNotify); 3432 } 3433 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetFreeCount(IMemAllocatorCallbackTemp* This,LONG *plBuffersFree) { 3434 return This->lpVtbl->GetFreeCount(This,plBuffersFree); 3435 } 3436 #endif 3437 #endif 3438 3439 #endif 3440 3441 HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy( 3442 IMemAllocatorCallbackTemp* This, 3443 IMemAllocatorNotifyCallbackTemp *pNotify); 3444 void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub( 3445 IRpcStubBuffer* This, 3446 IRpcChannelBuffer* pRpcChannelBuffer, 3447 PRPC_MESSAGE pRpcMessage, 3448 DWORD* pdwStubPhase); 3449 HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy( 3450 IMemAllocatorCallbackTemp* This, 3451 LONG *plBuffersFree); 3452 void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub( 3453 IRpcStubBuffer* This, 3454 IRpcChannelBuffer* pRpcChannelBuffer, 3455 PRPC_MESSAGE pRpcMessage, 3456 DWORD* pdwStubPhase); 3457 3458 #endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */ 3459 3460 3461 /***************************************************************************** 3462 * IMemAllocatorNotifyCallbackTemp interface 3463 */ 3464 #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ 3465 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ 3466 3467 DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 3468 #if defined(__cplusplus) && !defined(CINTERFACE) 3469 MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375") 3470 IMemAllocatorNotifyCallbackTemp : public IUnknown 3471 { 3472 virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 3473 ) = 0; 3474 3475 }; 3476 #ifdef __CRT_UUID_DECL 3477 __CRT_UUID_DECL(IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 3478 #endif 3479 #else 3480 typedef struct IMemAllocatorNotifyCallbackTempVtbl { 3481 BEGIN_INTERFACE 3482 3483 /*** IUnknown methods ***/ 3484 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3485 IMemAllocatorNotifyCallbackTemp* This, 3486 REFIID riid, 3487 void **ppvObject); 3488 3489 ULONG (STDMETHODCALLTYPE *AddRef)( 3490 IMemAllocatorNotifyCallbackTemp* This); 3491 3492 ULONG (STDMETHODCALLTYPE *Release)( 3493 IMemAllocatorNotifyCallbackTemp* This); 3494 3495 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3496 HRESULT (STDMETHODCALLTYPE *NotifyRelease)( 3497 IMemAllocatorNotifyCallbackTemp* This); 3498 3499 END_INTERFACE 3500 } IMemAllocatorNotifyCallbackTempVtbl; 3501 interface IMemAllocatorNotifyCallbackTemp { 3502 CONST_VTBL IMemAllocatorNotifyCallbackTempVtbl* lpVtbl; 3503 }; 3504 3505 #ifdef COBJMACROS 3506 #ifndef WIDL_C_INLINE_WRAPPERS 3507 /*** IUnknown methods ***/ 3508 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3509 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) 3510 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This) 3511 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3512 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This) 3513 #else 3514 /*** IUnknown methods ***/ 3515 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_QueryInterface(IMemAllocatorNotifyCallbackTemp* This,REFIID riid,void **ppvObject) { 3516 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3517 } 3518 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_AddRef(IMemAllocatorNotifyCallbackTemp* This) { 3519 return This->lpVtbl->AddRef(This); 3520 } 3521 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_Release(IMemAllocatorNotifyCallbackTemp* This) { 3522 return This->lpVtbl->Release(This); 3523 } 3524 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3525 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_NotifyRelease(IMemAllocatorNotifyCallbackTemp* This) { 3526 return This->lpVtbl->NotifyRelease(This); 3527 } 3528 #endif 3529 #endif 3530 3531 #endif 3532 3533 HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( 3534 IMemAllocatorNotifyCallbackTemp* This); 3535 void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub( 3536 IRpcStubBuffer* This, 3537 IRpcChannelBuffer* pRpcChannelBuffer, 3538 PRPC_MESSAGE pRpcMessage, 3539 DWORD* pdwStubPhase); 3540 3541 #endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */ 3542 3543 3544 /***************************************************************************** 3545 * IMemInputPin interface 3546 */ 3547 #ifndef __IMemInputPin_INTERFACE_DEFINED__ 3548 #define __IMemInputPin_INTERFACE_DEFINED__ 3549 3550 DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 3551 #if defined(__cplusplus) && !defined(CINTERFACE) 3552 MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770") 3553 IMemInputPin : public IUnknown 3554 { 3555 virtual HRESULT STDMETHODCALLTYPE GetAllocator( 3556 IMemAllocator **ppAllocator) = 0; 3557 3558 virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 3559 IMemAllocator *pAllocator, 3560 WINBOOL bReadOnly) = 0; 3561 3562 virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 3563 ALLOCATOR_PROPERTIES *pProps) = 0; 3564 3565 virtual HRESULT STDMETHODCALLTYPE Receive( 3566 IMediaSample *pSample) = 0; 3567 3568 virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 3569 IMediaSample **pSamples, 3570 LONG nSamples, 3571 LONG *nSamplesProcessed) = 0; 3572 3573 virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( 3574 ) = 0; 3575 3576 }; 3577 #ifdef __CRT_UUID_DECL 3578 __CRT_UUID_DECL(IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 3579 #endif 3580 #else 3581 typedef struct IMemInputPinVtbl { 3582 BEGIN_INTERFACE 3583 3584 /*** IUnknown methods ***/ 3585 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3586 IMemInputPin* This, 3587 REFIID riid, 3588 void **ppvObject); 3589 3590 ULONG (STDMETHODCALLTYPE *AddRef)( 3591 IMemInputPin* This); 3592 3593 ULONG (STDMETHODCALLTYPE *Release)( 3594 IMemInputPin* This); 3595 3596 /*** IMemInputPin methods ***/ 3597 HRESULT (STDMETHODCALLTYPE *GetAllocator)( 3598 IMemInputPin* This, 3599 IMemAllocator **ppAllocator); 3600 3601 HRESULT (STDMETHODCALLTYPE *NotifyAllocator)( 3602 IMemInputPin* This, 3603 IMemAllocator *pAllocator, 3604 WINBOOL bReadOnly); 3605 3606 HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)( 3607 IMemInputPin* This, 3608 ALLOCATOR_PROPERTIES *pProps); 3609 3610 HRESULT (STDMETHODCALLTYPE *Receive)( 3611 IMemInputPin* This, 3612 IMediaSample *pSample); 3613 3614 HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)( 3615 IMemInputPin* This, 3616 IMediaSample **pSamples, 3617 LONG nSamples, 3618 LONG *nSamplesProcessed); 3619 3620 HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)( 3621 IMemInputPin* This); 3622 3623 END_INTERFACE 3624 } IMemInputPinVtbl; 3625 interface IMemInputPin { 3626 CONST_VTBL IMemInputPinVtbl* lpVtbl; 3627 }; 3628 3629 #ifdef COBJMACROS 3630 #ifndef WIDL_C_INLINE_WRAPPERS 3631 /*** IUnknown methods ***/ 3632 #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3633 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This) 3634 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This) 3635 /*** IMemInputPin methods ***/ 3636 #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator) 3637 #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly) 3638 #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps) 3639 #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample) 3640 #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) 3641 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This) 3642 #else 3643 /*** IUnknown methods ***/ 3644 static FORCEINLINE HRESULT IMemInputPin_QueryInterface(IMemInputPin* This,REFIID riid,void **ppvObject) { 3645 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3646 } 3647 static FORCEINLINE ULONG IMemInputPin_AddRef(IMemInputPin* This) { 3648 return This->lpVtbl->AddRef(This); 3649 } 3650 static FORCEINLINE ULONG IMemInputPin_Release(IMemInputPin* This) { 3651 return This->lpVtbl->Release(This); 3652 } 3653 /*** IMemInputPin methods ***/ 3654 static FORCEINLINE HRESULT IMemInputPin_GetAllocator(IMemInputPin* This,IMemAllocator **ppAllocator) { 3655 return This->lpVtbl->GetAllocator(This,ppAllocator); 3656 } 3657 static FORCEINLINE HRESULT IMemInputPin_NotifyAllocator(IMemInputPin* This,IMemAllocator *pAllocator,WINBOOL bReadOnly) { 3658 return This->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly); 3659 } 3660 static FORCEINLINE HRESULT IMemInputPin_GetAllocatorRequirements(IMemInputPin* This,ALLOCATOR_PROPERTIES *pProps) { 3661 return This->lpVtbl->GetAllocatorRequirements(This,pProps); 3662 } 3663 static FORCEINLINE HRESULT IMemInputPin_Receive(IMemInputPin* This,IMediaSample *pSample) { 3664 return This->lpVtbl->Receive(This,pSample); 3665 } 3666 static FORCEINLINE HRESULT IMemInputPin_ReceiveMultiple(IMemInputPin* This,IMediaSample **pSamples,LONG nSamples,LONG *nSamplesProcessed) { 3667 return This->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed); 3668 } 3669 static FORCEINLINE HRESULT IMemInputPin_ReceiveCanBlock(IMemInputPin* This) { 3670 return This->lpVtbl->ReceiveCanBlock(This); 3671 } 3672 #endif 3673 #endif 3674 3675 #endif 3676 3677 HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy( 3678 IMemInputPin* This, 3679 IMemAllocator **ppAllocator); 3680 void __RPC_STUB IMemInputPin_GetAllocator_Stub( 3681 IRpcStubBuffer* This, 3682 IRpcChannelBuffer* pRpcChannelBuffer, 3683 PRPC_MESSAGE pRpcMessage, 3684 DWORD* pdwStubPhase); 3685 HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy( 3686 IMemInputPin* This, 3687 IMemAllocator *pAllocator, 3688 WINBOOL bReadOnly); 3689 void __RPC_STUB IMemInputPin_NotifyAllocator_Stub( 3690 IRpcStubBuffer* This, 3691 IRpcChannelBuffer* pRpcChannelBuffer, 3692 PRPC_MESSAGE pRpcMessage, 3693 DWORD* pdwStubPhase); 3694 HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy( 3695 IMemInputPin* This, 3696 ALLOCATOR_PROPERTIES *pProps); 3697 void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub( 3698 IRpcStubBuffer* This, 3699 IRpcChannelBuffer* pRpcChannelBuffer, 3700 PRPC_MESSAGE pRpcMessage, 3701 DWORD* pdwStubPhase); 3702 HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy( 3703 IMemInputPin* This, 3704 IMediaSample *pSample); 3705 void __RPC_STUB IMemInputPin_Receive_Stub( 3706 IRpcStubBuffer* This, 3707 IRpcChannelBuffer* pRpcChannelBuffer, 3708 PRPC_MESSAGE pRpcMessage, 3709 DWORD* pdwStubPhase); 3710 HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy( 3711 IMemInputPin* This, 3712 IMediaSample **pSamples, 3713 LONG nSamples, 3714 LONG *nSamplesProcessed); 3715 void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub( 3716 IRpcStubBuffer* This, 3717 IRpcChannelBuffer* pRpcChannelBuffer, 3718 PRPC_MESSAGE pRpcMessage, 3719 DWORD* pdwStubPhase); 3720 HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy( 3721 IMemInputPin* This); 3722 void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub( 3723 IRpcStubBuffer* This, 3724 IRpcChannelBuffer* pRpcChannelBuffer, 3725 PRPC_MESSAGE pRpcMessage, 3726 DWORD* pdwStubPhase); 3727 3728 #endif /* __IMemInputPin_INTERFACE_DEFINED__ */ 3729 3730 typedef IMemInputPin *PMEMINPUTPIN; 3731 3732 /***************************************************************************** 3733 * IAMovieSetup interface 3734 */ 3735 #ifndef __IAMovieSetup_INTERFACE_DEFINED__ 3736 #define __IAMovieSetup_INTERFACE_DEFINED__ 3737 3738 DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20); 3739 #if defined(__cplusplus) && !defined(CINTERFACE) 3740 MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20") 3741 IAMovieSetup : public IUnknown 3742 { 3743 virtual HRESULT STDMETHODCALLTYPE Register( 3744 ) = 0; 3745 3746 virtual HRESULT STDMETHODCALLTYPE Unregister( 3747 ) = 0; 3748 3749 }; 3750 #ifdef __CRT_UUID_DECL 3751 __CRT_UUID_DECL(IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20) 3752 #endif 3753 #else 3754 typedef struct IAMovieSetupVtbl { 3755 BEGIN_INTERFACE 3756 3757 /*** IUnknown methods ***/ 3758 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3759 IAMovieSetup* This, 3760 REFIID riid, 3761 void **ppvObject); 3762 3763 ULONG (STDMETHODCALLTYPE *AddRef)( 3764 IAMovieSetup* This); 3765 3766 ULONG (STDMETHODCALLTYPE *Release)( 3767 IAMovieSetup* This); 3768 3769 /*** IAMovieSetup methods ***/ 3770 HRESULT (STDMETHODCALLTYPE *Register)( 3771 IAMovieSetup* This); 3772 3773 HRESULT (STDMETHODCALLTYPE *Unregister)( 3774 IAMovieSetup* This); 3775 3776 END_INTERFACE 3777 } IAMovieSetupVtbl; 3778 interface IAMovieSetup { 3779 CONST_VTBL IAMovieSetupVtbl* lpVtbl; 3780 }; 3781 3782 #ifdef COBJMACROS 3783 #ifndef WIDL_C_INLINE_WRAPPERS 3784 /*** IUnknown methods ***/ 3785 #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3786 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This) 3787 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This) 3788 /*** IAMovieSetup methods ***/ 3789 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This) 3790 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This) 3791 #else 3792 /*** IUnknown methods ***/ 3793 static FORCEINLINE HRESULT IAMovieSetup_QueryInterface(IAMovieSetup* This,REFIID riid,void **ppvObject) { 3794 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3795 } 3796 static FORCEINLINE ULONG IAMovieSetup_AddRef(IAMovieSetup* This) { 3797 return This->lpVtbl->AddRef(This); 3798 } 3799 static FORCEINLINE ULONG IAMovieSetup_Release(IAMovieSetup* This) { 3800 return This->lpVtbl->Release(This); 3801 } 3802 /*** IAMovieSetup methods ***/ 3803 static FORCEINLINE HRESULT IAMovieSetup_Register(IAMovieSetup* This) { 3804 return This->lpVtbl->Register(This); 3805 } 3806 static FORCEINLINE HRESULT IAMovieSetup_Unregister(IAMovieSetup* This) { 3807 return This->lpVtbl->Unregister(This); 3808 } 3809 #endif 3810 #endif 3811 3812 #endif 3813 3814 HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy( 3815 IAMovieSetup* This); 3816 void __RPC_STUB IAMovieSetup_Register_Stub( 3817 IRpcStubBuffer* This, 3818 IRpcChannelBuffer* pRpcChannelBuffer, 3819 PRPC_MESSAGE pRpcMessage, 3820 DWORD* pdwStubPhase); 3821 HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy( 3822 IAMovieSetup* This); 3823 void __RPC_STUB IAMovieSetup_Unregister_Stub( 3824 IRpcStubBuffer* This, 3825 IRpcChannelBuffer* pRpcChannelBuffer, 3826 PRPC_MESSAGE pRpcMessage, 3827 DWORD* pdwStubPhase); 3828 3829 #endif /* __IAMovieSetup_INTERFACE_DEFINED__ */ 3830 3831 typedef IAMovieSetup *PAMOVIESETUP; 3832 3833 typedef enum AM_SEEKING_SeekingFlags { 3834 AM_SEEKING_NoPositioning = 0x0, 3835 AM_SEEKING_AbsolutePositioning = 0x1, 3836 AM_SEEKING_RelativePositioning = 0x2, 3837 AM_SEEKING_IncrementalPositioning = 0x3, 3838 AM_SEEKING_PositioningBitsMask = 0x3, 3839 AM_SEEKING_SeekToKeyFrame = 0x4, 3840 AM_SEEKING_ReturnTime = 0x8, 3841 AM_SEEKING_Segment = 0x10, 3842 AM_SEEKING_NoFlush = 0x20 3843 } AM_SEEKING_SEEKING_FLAGS; 3844 3845 typedef enum AM_SEEKING_SeekingCapabilities { 3846 AM_SEEKING_CanSeekAbsolute = 0x1, 3847 AM_SEEKING_CanSeekForwards = 0x2, 3848 AM_SEEKING_CanSeekBackwards = 0x4, 3849 AM_SEEKING_CanGetCurrentPos = 0x8, 3850 AM_SEEKING_CanGetStopPos = 0x10, 3851 AM_SEEKING_CanGetDuration = 0x20, 3852 AM_SEEKING_CanPlayBackwards = 0x40, 3853 AM_SEEKING_CanDoSegments = 0x80, 3854 AM_SEEKING_Source = 0x100 3855 } AM_SEEKING_SEEKING_CAPABILITIES; 3856 3857 /***************************************************************************** 3858 * IMediaSeeking interface 3859 */ 3860 #ifndef __IMediaSeeking_INTERFACE_DEFINED__ 3861 #define __IMediaSeeking_INTERFACE_DEFINED__ 3862 3863 DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 3864 #if defined(__cplusplus) && !defined(CINTERFACE) 3865 MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60") 3866 IMediaSeeking : public IUnknown 3867 { 3868 virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 3869 DWORD *pCapabilities) = 0; 3870 3871 virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 3872 DWORD *pCapabilities) = 0; 3873 3874 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 3875 const GUID *pFormat) = 0; 3876 3877 virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 3878 GUID *pFormat) = 0; 3879 3880 virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 3881 GUID *pFormat) = 0; 3882 3883 virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 3884 const GUID *pFormat) = 0; 3885 3886 virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 3887 const GUID *pFormat) = 0; 3888 3889 virtual HRESULT STDMETHODCALLTYPE GetDuration( 3890 LONGLONG *pDuration) = 0; 3891 3892 virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 3893 LONGLONG *pStop) = 0; 3894 3895 virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 3896 LONGLONG *pCurrent) = 0; 3897 3898 virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 3899 LONGLONG *pTarget, 3900 const GUID *pTargetFormat, 3901 LONGLONG Source, 3902 const GUID *pSourceFormat) = 0; 3903 3904 virtual HRESULT STDMETHODCALLTYPE SetPositions( 3905 LONGLONG *pCurrent, 3906 DWORD dwCurrentFlags, 3907 LONGLONG *pStop, 3908 DWORD dwStopFlags) = 0; 3909 3910 virtual HRESULT STDMETHODCALLTYPE GetPositions( 3911 LONGLONG *pCurrent, 3912 LONGLONG *pStop) = 0; 3913 3914 virtual HRESULT STDMETHODCALLTYPE GetAvailable( 3915 LONGLONG *pEarliest, 3916 LONGLONG *pLatest) = 0; 3917 3918 virtual HRESULT STDMETHODCALLTYPE SetRate( 3919 double dRate) = 0; 3920 3921 virtual HRESULT STDMETHODCALLTYPE GetRate( 3922 double *pdRate) = 0; 3923 3924 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 3925 LONGLONG *pllPreroll) = 0; 3926 3927 }; 3928 #ifdef __CRT_UUID_DECL 3929 __CRT_UUID_DECL(IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 3930 #endif 3931 #else 3932 typedef struct IMediaSeekingVtbl { 3933 BEGIN_INTERFACE 3934 3935 /*** IUnknown methods ***/ 3936 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3937 IMediaSeeking* This, 3938 REFIID riid, 3939 void **ppvObject); 3940 3941 ULONG (STDMETHODCALLTYPE *AddRef)( 3942 IMediaSeeking* This); 3943 3944 ULONG (STDMETHODCALLTYPE *Release)( 3945 IMediaSeeking* This); 3946 3947 /*** IMediaSeeking methods ***/ 3948 HRESULT (STDMETHODCALLTYPE *GetCapabilities)( 3949 IMediaSeeking* This, 3950 DWORD *pCapabilities); 3951 3952 HRESULT (STDMETHODCALLTYPE *CheckCapabilities)( 3953 IMediaSeeking* This, 3954 DWORD *pCapabilities); 3955 3956 HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( 3957 IMediaSeeking* This, 3958 const GUID *pFormat); 3959 3960 HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)( 3961 IMediaSeeking* This, 3962 GUID *pFormat); 3963 3964 HRESULT (STDMETHODCALLTYPE *GetTimeFormat)( 3965 IMediaSeeking* This, 3966 GUID *pFormat); 3967 3968 HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)( 3969 IMediaSeeking* This, 3970 const GUID *pFormat); 3971 3972 HRESULT (STDMETHODCALLTYPE *SetTimeFormat)( 3973 IMediaSeeking* This, 3974 const GUID *pFormat); 3975 3976 HRESULT (STDMETHODCALLTYPE *GetDuration)( 3977 IMediaSeeking* This, 3978 LONGLONG *pDuration); 3979 3980 HRESULT (STDMETHODCALLTYPE *GetStopPosition)( 3981 IMediaSeeking* This, 3982 LONGLONG *pStop); 3983 3984 HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( 3985 IMediaSeeking* This, 3986 LONGLONG *pCurrent); 3987 3988 HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)( 3989 IMediaSeeking* This, 3990 LONGLONG *pTarget, 3991 const GUID *pTargetFormat, 3992 LONGLONG Source, 3993 const GUID *pSourceFormat); 3994 3995 HRESULT (STDMETHODCALLTYPE *SetPositions)( 3996 IMediaSeeking* This, 3997 LONGLONG *pCurrent, 3998 DWORD dwCurrentFlags, 3999 LONGLONG *pStop, 4000 DWORD dwStopFlags); 4001 4002 HRESULT (STDMETHODCALLTYPE *GetPositions)( 4003 IMediaSeeking* This, 4004 LONGLONG *pCurrent, 4005 LONGLONG *pStop); 4006 4007 HRESULT (STDMETHODCALLTYPE *GetAvailable)( 4008 IMediaSeeking* This, 4009 LONGLONG *pEarliest, 4010 LONGLONG *pLatest); 4011 4012 HRESULT (STDMETHODCALLTYPE *SetRate)( 4013 IMediaSeeking* This, 4014 double dRate); 4015 4016 HRESULT (STDMETHODCALLTYPE *GetRate)( 4017 IMediaSeeking* This, 4018 double *pdRate); 4019 4020 HRESULT (STDMETHODCALLTYPE *GetPreroll)( 4021 IMediaSeeking* This, 4022 LONGLONG *pllPreroll); 4023 4024 END_INTERFACE 4025 } IMediaSeekingVtbl; 4026 interface IMediaSeeking { 4027 CONST_VTBL IMediaSeekingVtbl* lpVtbl; 4028 }; 4029 4030 #ifdef COBJMACROS 4031 #ifndef WIDL_C_INLINE_WRAPPERS 4032 /*** IUnknown methods ***/ 4033 #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4034 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This) 4035 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This) 4036 /*** IMediaSeeking methods ***/ 4037 #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities) 4038 #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities) 4039 #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat) 4040 #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat) 4041 #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat) 4042 #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat) 4043 #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat) 4044 #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) 4045 #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop) 4046 #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent) 4047 #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) 4048 #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) 4049 #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop) 4050 #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest) 4051 #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate) 4052 #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate) 4053 #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll) 4054 #else 4055 /*** IUnknown methods ***/ 4056 static FORCEINLINE HRESULT IMediaSeeking_QueryInterface(IMediaSeeking* This,REFIID riid,void **ppvObject) { 4057 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4058 } 4059 static FORCEINLINE ULONG IMediaSeeking_AddRef(IMediaSeeking* This) { 4060 return This->lpVtbl->AddRef(This); 4061 } 4062 static FORCEINLINE ULONG IMediaSeeking_Release(IMediaSeeking* This) { 4063 return This->lpVtbl->Release(This); 4064 } 4065 /*** IMediaSeeking methods ***/ 4066 static FORCEINLINE HRESULT IMediaSeeking_GetCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { 4067 return This->lpVtbl->GetCapabilities(This,pCapabilities); 4068 } 4069 static FORCEINLINE HRESULT IMediaSeeking_CheckCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { 4070 return This->lpVtbl->CheckCapabilities(This,pCapabilities); 4071 } 4072 static FORCEINLINE HRESULT IMediaSeeking_IsFormatSupported(IMediaSeeking* This,const GUID *pFormat) { 4073 return This->lpVtbl->IsFormatSupported(This,pFormat); 4074 } 4075 static FORCEINLINE HRESULT IMediaSeeking_QueryPreferredFormat(IMediaSeeking* This,GUID *pFormat) { 4076 return This->lpVtbl->QueryPreferredFormat(This,pFormat); 4077 } 4078 static FORCEINLINE HRESULT IMediaSeeking_GetTimeFormat(IMediaSeeking* This,GUID *pFormat) { 4079 return This->lpVtbl->GetTimeFormat(This,pFormat); 4080 } 4081 static FORCEINLINE HRESULT IMediaSeeking_IsUsingTimeFormat(IMediaSeeking* This,const GUID *pFormat) { 4082 return This->lpVtbl->IsUsingTimeFormat(This,pFormat); 4083 } 4084 static FORCEINLINE HRESULT IMediaSeeking_SetTimeFormat(IMediaSeeking* This,const GUID *pFormat) { 4085 return This->lpVtbl->SetTimeFormat(This,pFormat); 4086 } 4087 static FORCEINLINE HRESULT IMediaSeeking_GetDuration(IMediaSeeking* This,LONGLONG *pDuration) { 4088 return This->lpVtbl->GetDuration(This,pDuration); 4089 } 4090 static FORCEINLINE HRESULT IMediaSeeking_GetStopPosition(IMediaSeeking* This,LONGLONG *pStop) { 4091 return This->lpVtbl->GetStopPosition(This,pStop); 4092 } 4093 static FORCEINLINE HRESULT IMediaSeeking_GetCurrentPosition(IMediaSeeking* This,LONGLONG *pCurrent) { 4094 return This->lpVtbl->GetCurrentPosition(This,pCurrent); 4095 } 4096 static FORCEINLINE HRESULT IMediaSeeking_ConvertTimeFormat(IMediaSeeking* This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) { 4097 return This->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat); 4098 } 4099 static FORCEINLINE HRESULT IMediaSeeking_SetPositions(IMediaSeeking* This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) { 4100 return This->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags); 4101 } 4102 static FORCEINLINE HRESULT IMediaSeeking_GetPositions(IMediaSeeking* This,LONGLONG *pCurrent,LONGLONG *pStop) { 4103 return This->lpVtbl->GetPositions(This,pCurrent,pStop); 4104 } 4105 static FORCEINLINE HRESULT IMediaSeeking_GetAvailable(IMediaSeeking* This,LONGLONG *pEarliest,LONGLONG *pLatest) { 4106 return This->lpVtbl->GetAvailable(This,pEarliest,pLatest); 4107 } 4108 static FORCEINLINE HRESULT IMediaSeeking_SetRate(IMediaSeeking* This,double dRate) { 4109 return This->lpVtbl->SetRate(This,dRate); 4110 } 4111 static FORCEINLINE HRESULT IMediaSeeking_GetRate(IMediaSeeking* This,double *pdRate) { 4112 return This->lpVtbl->GetRate(This,pdRate); 4113 } 4114 static FORCEINLINE HRESULT IMediaSeeking_GetPreroll(IMediaSeeking* This,LONGLONG *pllPreroll) { 4115 return This->lpVtbl->GetPreroll(This,pllPreroll); 4116 } 4117 #endif 4118 #endif 4119 4120 #endif 4121 4122 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy( 4123 IMediaSeeking* This, 4124 DWORD *pCapabilities); 4125 void __RPC_STUB IMediaSeeking_GetCapabilities_Stub( 4126 IRpcStubBuffer* This, 4127 IRpcChannelBuffer* pRpcChannelBuffer, 4128 PRPC_MESSAGE pRpcMessage, 4129 DWORD* pdwStubPhase); 4130 HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy( 4131 IMediaSeeking* This, 4132 DWORD *pCapabilities); 4133 void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub( 4134 IRpcStubBuffer* This, 4135 IRpcChannelBuffer* pRpcChannelBuffer, 4136 PRPC_MESSAGE pRpcMessage, 4137 DWORD* pdwStubPhase); 4138 HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy( 4139 IMediaSeeking* This, 4140 const GUID *pFormat); 4141 void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub( 4142 IRpcStubBuffer* This, 4143 IRpcChannelBuffer* pRpcChannelBuffer, 4144 PRPC_MESSAGE pRpcMessage, 4145 DWORD* pdwStubPhase); 4146 HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy( 4147 IMediaSeeking* This, 4148 GUID *pFormat); 4149 void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub( 4150 IRpcStubBuffer* This, 4151 IRpcChannelBuffer* pRpcChannelBuffer, 4152 PRPC_MESSAGE pRpcMessage, 4153 DWORD* pdwStubPhase); 4154 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy( 4155 IMediaSeeking* This, 4156 GUID *pFormat); 4157 void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub( 4158 IRpcStubBuffer* This, 4159 IRpcChannelBuffer* pRpcChannelBuffer, 4160 PRPC_MESSAGE pRpcMessage, 4161 DWORD* pdwStubPhase); 4162 HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy( 4163 IMediaSeeking* This, 4164 const GUID *pFormat); 4165 void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub( 4166 IRpcStubBuffer* This, 4167 IRpcChannelBuffer* pRpcChannelBuffer, 4168 PRPC_MESSAGE pRpcMessage, 4169 DWORD* pdwStubPhase); 4170 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy( 4171 IMediaSeeking* This, 4172 const GUID *pFormat); 4173 void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub( 4174 IRpcStubBuffer* This, 4175 IRpcChannelBuffer* pRpcChannelBuffer, 4176 PRPC_MESSAGE pRpcMessage, 4177 DWORD* pdwStubPhase); 4178 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy( 4179 IMediaSeeking* This, 4180 LONGLONG *pDuration); 4181 void __RPC_STUB IMediaSeeking_GetDuration_Stub( 4182 IRpcStubBuffer* This, 4183 IRpcChannelBuffer* pRpcChannelBuffer, 4184 PRPC_MESSAGE pRpcMessage, 4185 DWORD* pdwStubPhase); 4186 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy( 4187 IMediaSeeking* This, 4188 LONGLONG *pStop); 4189 void __RPC_STUB IMediaSeeking_GetStopPosition_Stub( 4190 IRpcStubBuffer* This, 4191 IRpcChannelBuffer* pRpcChannelBuffer, 4192 PRPC_MESSAGE pRpcMessage, 4193 DWORD* pdwStubPhase); 4194 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy( 4195 IMediaSeeking* This, 4196 LONGLONG *pCurrent); 4197 void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub( 4198 IRpcStubBuffer* This, 4199 IRpcChannelBuffer* pRpcChannelBuffer, 4200 PRPC_MESSAGE pRpcMessage, 4201 DWORD* pdwStubPhase); 4202 HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy( 4203 IMediaSeeking* This, 4204 LONGLONG *pTarget, 4205 const GUID *pTargetFormat, 4206 LONGLONG Source, 4207 const GUID *pSourceFormat); 4208 void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub( 4209 IRpcStubBuffer* This, 4210 IRpcChannelBuffer* pRpcChannelBuffer, 4211 PRPC_MESSAGE pRpcMessage, 4212 DWORD* pdwStubPhase); 4213 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy( 4214 IMediaSeeking* This, 4215 LONGLONG *pCurrent, 4216 DWORD dwCurrentFlags, 4217 LONGLONG *pStop, 4218 DWORD dwStopFlags); 4219 void __RPC_STUB IMediaSeeking_SetPositions_Stub( 4220 IRpcStubBuffer* This, 4221 IRpcChannelBuffer* pRpcChannelBuffer, 4222 PRPC_MESSAGE pRpcMessage, 4223 DWORD* pdwStubPhase); 4224 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy( 4225 IMediaSeeking* This, 4226 LONGLONG *pCurrent, 4227 LONGLONG *pStop); 4228 void __RPC_STUB IMediaSeeking_GetPositions_Stub( 4229 IRpcStubBuffer* This, 4230 IRpcChannelBuffer* pRpcChannelBuffer, 4231 PRPC_MESSAGE pRpcMessage, 4232 DWORD* pdwStubPhase); 4233 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy( 4234 IMediaSeeking* This, 4235 LONGLONG *pEarliest, 4236 LONGLONG *pLatest); 4237 void __RPC_STUB IMediaSeeking_GetAvailable_Stub( 4238 IRpcStubBuffer* This, 4239 IRpcChannelBuffer* pRpcChannelBuffer, 4240 PRPC_MESSAGE pRpcMessage, 4241 DWORD* pdwStubPhase); 4242 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy( 4243 IMediaSeeking* This, 4244 double dRate); 4245 void __RPC_STUB IMediaSeeking_SetRate_Stub( 4246 IRpcStubBuffer* This, 4247 IRpcChannelBuffer* pRpcChannelBuffer, 4248 PRPC_MESSAGE pRpcMessage, 4249 DWORD* pdwStubPhase); 4250 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy( 4251 IMediaSeeking* This, 4252 double *pdRate); 4253 void __RPC_STUB IMediaSeeking_GetRate_Stub( 4254 IRpcStubBuffer* This, 4255 IRpcChannelBuffer* pRpcChannelBuffer, 4256 PRPC_MESSAGE pRpcMessage, 4257 DWORD* pdwStubPhase); 4258 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy( 4259 IMediaSeeking* This, 4260 LONGLONG *pllPreroll); 4261 void __RPC_STUB IMediaSeeking_GetPreroll_Stub( 4262 IRpcStubBuffer* This, 4263 IRpcChannelBuffer* pRpcChannelBuffer, 4264 PRPC_MESSAGE pRpcMessage, 4265 DWORD* pdwStubPhase); 4266 4267 #endif /* __IMediaSeeking_INTERFACE_DEFINED__ */ 4268 4269 typedef IMediaSeeking *PMEDIASEEKING; 4270 4271 enum tagAM_MEDIAEVENT_FLAGS { 4272 AM_MEDIAEVENT_NONOTIFY = 0x1 4273 }; 4274 4275 #endif 4276 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ 4277 #define __IAMAnalogVideoDecoder_FWD_DEFINED__ 4278 typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder; 4279 #endif 4280 4281 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ 4282 #define __IAMAnalogVideoEncoder_FWD_DEFINED__ 4283 typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder; 4284 #endif 4285 4286 #ifndef __IAMAudioInputMixer_FWD_DEFINED__ 4287 #define __IAMAudioInputMixer_FWD_DEFINED__ 4288 typedef interface IAMAudioInputMixer IAMAudioInputMixer; 4289 #endif 4290 4291 #ifndef __IAMAudioRendererStats_FWD_DEFINED__ 4292 #define __IAMAudioRendererStats_FWD_DEFINED__ 4293 typedef interface IAMAudioRendererStats IAMAudioRendererStats; 4294 #endif 4295 4296 #ifndef __IAMBufferNegotiation_FWD_DEFINED__ 4297 #define __IAMBufferNegotiation_FWD_DEFINED__ 4298 typedef interface IAMBufferNegotiation IAMBufferNegotiation; 4299 #endif 4300 4301 #ifndef __IAMCameraControl_FWD_DEFINED__ 4302 #define __IAMCameraControl_FWD_DEFINED__ 4303 typedef interface IAMCameraControl IAMCameraControl; 4304 #endif 4305 4306 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__ 4307 #define __IAMCertifiedOutputProtection_FWD_DEFINED__ 4308 typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection; 4309 #endif 4310 4311 #ifndef __IAMClockSlave_FWD_DEFINED__ 4312 #define __IAMClockSlave_FWD_DEFINED__ 4313 typedef interface IAMClockSlave IAMClockSlave; 4314 #endif 4315 4316 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ 4317 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ 4318 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; 4319 #endif 4320 4321 #ifndef __IAMCrossbar_FWD_DEFINED__ 4322 #define __IAMCrossbar_FWD_DEFINED__ 4323 typedef interface IAMCrossbar IAMCrossbar; 4324 #endif 4325 4326 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ 4327 #define __IAMDevMemoryAllocator_FWD_DEFINED__ 4328 typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator; 4329 #endif 4330 4331 #ifndef __IAMDevMemoryControl_FWD_DEFINED__ 4332 #define __IAMDevMemoryControl_FWD_DEFINED__ 4333 typedef interface IAMDevMemoryControl IAMDevMemoryControl; 4334 #endif 4335 4336 #ifndef __IAMDroppedFrames_FWD_DEFINED__ 4337 #define __IAMDroppedFrames_FWD_DEFINED__ 4338 typedef interface IAMDroppedFrames IAMDroppedFrames; 4339 #endif 4340 4341 #ifndef __IAMExtDevice_FWD_DEFINED__ 4342 #define __IAMExtDevice_FWD_DEFINED__ 4343 typedef interface IAMExtDevice IAMExtDevice; 4344 #endif 4345 4346 #ifndef __IAMExtTransport_FWD_DEFINED__ 4347 #define __IAMExtTransport_FWD_DEFINED__ 4348 typedef interface IAMExtTransport IAMExtTransport; 4349 #endif 4350 4351 #ifndef __IAMGraphStreams_FWD_DEFINED__ 4352 #define __IAMGraphStreams_FWD_DEFINED__ 4353 typedef interface IAMGraphStreams IAMGraphStreams; 4354 #endif 4355 4356 #ifndef __IAMLatency_FWD_DEFINED__ 4357 #define __IAMLatency_FWD_DEFINED__ 4358 typedef interface IAMLatency IAMLatency; 4359 #endif 4360 4361 #ifndef __IAMOpenProgress_FWD_DEFINED__ 4362 #define __IAMOpenProgress_FWD_DEFINED__ 4363 typedef interface IAMOpenProgress IAMOpenProgress; 4364 #endif 4365 4366 #ifndef __IAMOverlayFX_FWD_DEFINED__ 4367 #define __IAMOverlayFX_FWD_DEFINED__ 4368 typedef interface IAMOverlayFX IAMOverlayFX; 4369 #endif 4370 4371 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ 4372 #define __IAMPhysicalPinInfo_FWD_DEFINED__ 4373 typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo; 4374 #endif 4375 4376 #ifndef __IAMPushSource_FWD_DEFINED__ 4377 #define __IAMPushSource_FWD_DEFINED__ 4378 typedef interface IAMPushSource IAMPushSource; 4379 #endif 4380 4381 #ifndef __IAMStreamConfig_FWD_DEFINED__ 4382 #define __IAMStreamConfig_FWD_DEFINED__ 4383 typedef interface IAMStreamConfig IAMStreamConfig; 4384 #endif 4385 4386 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ 4387 #define __IAMTimecodeDisplay_FWD_DEFINED__ 4388 typedef interface IAMTimecodeDisplay IAMTimecodeDisplay; 4389 #endif 4390 4391 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ 4392 #define __IAMTimecodeGenerator_FWD_DEFINED__ 4393 typedef interface IAMTimecodeGenerator IAMTimecodeGenerator; 4394 #endif 4395 4396 #ifndef __IAMTimecodeReader_FWD_DEFINED__ 4397 #define __IAMTimecodeReader_FWD_DEFINED__ 4398 typedef interface IAMTimecodeReader IAMTimecodeReader; 4399 #endif 4400 4401 #ifndef __IAMTVTuner_FWD_DEFINED__ 4402 #define __IAMTVTuner_FWD_DEFINED__ 4403 typedef interface IAMTVTuner IAMTVTuner; 4404 #endif 4405 4406 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ 4407 #define __IAMVfwCaptureDialogs_FWD_DEFINED__ 4408 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; 4409 #endif 4410 4411 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ 4412 #define __IAMVfwCompressDialogs_FWD_DEFINED__ 4413 typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs; 4414 #endif 4415 4416 #ifndef __IAMVideoCompression_FWD_DEFINED__ 4417 #define __IAMVideoCompression_FWD_DEFINED__ 4418 typedef interface IAMVideoCompression IAMVideoCompression; 4419 #endif 4420 4421 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ 4422 #define __IAMVideoDecimationProperties_FWD_DEFINED__ 4423 typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties; 4424 #endif 4425 4426 #ifndef __IAMVideoProcAmp_FWD_DEFINED__ 4427 #define __IAMVideoProcAmp_FWD_DEFINED__ 4428 typedef interface IAMVideoProcAmp IAMVideoProcAmp; 4429 #endif 4430 4431 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ 4432 #define __IAMGraphBuilderCallback_FWD_DEFINED__ 4433 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; 4434 #endif 4435 4436 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ 4437 #define __ICaptureGraphBuilder_FWD_DEFINED__ 4438 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; 4439 #endif 4440 4441 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ 4442 #define __ICaptureGraphBuilder2_FWD_DEFINED__ 4443 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; 4444 #endif 4445 4446 #ifndef __IConfigAviMux_FWD_DEFINED__ 4447 #define __IConfigAviMux_FWD_DEFINED__ 4448 typedef interface IConfigAviMux IConfigAviMux; 4449 #endif 4450 4451 #ifndef __IConfigInterleaving_FWD_DEFINED__ 4452 #define __IConfigInterleaving_FWD_DEFINED__ 4453 typedef interface IConfigInterleaving IConfigInterleaving; 4454 #endif 4455 4456 #ifndef __IDecimateVideoImage_FWD_DEFINED__ 4457 #define __IDecimateVideoImage_FWD_DEFINED__ 4458 typedef interface IDecimateVideoImage IDecimateVideoImage; 4459 #endif 4460 4461 #ifndef __IDrawVideoImage_FWD_DEFINED__ 4462 #define __IDrawVideoImage_FWD_DEFINED__ 4463 typedef interface IDrawVideoImage IDrawVideoImage; 4464 #endif 4465 4466 #ifndef __IEnumRegFilters_FWD_DEFINED__ 4467 #define __IEnumRegFilters_FWD_DEFINED__ 4468 typedef interface IEnumRegFilters IEnumRegFilters; 4469 #endif 4470 4471 #ifndef __IEnumStreamIdMap_FWD_DEFINED__ 4472 #define __IEnumStreamIdMap_FWD_DEFINED__ 4473 typedef interface IEnumStreamIdMap IEnumStreamIdMap; 4474 #endif 4475 4476 #ifndef __IFileSourceFilter_FWD_DEFINED__ 4477 #define __IFileSourceFilter_FWD_DEFINED__ 4478 typedef interface IFileSourceFilter IFileSourceFilter; 4479 #endif 4480 4481 #ifndef __IFileSinkFilter_FWD_DEFINED__ 4482 #define __IFileSinkFilter_FWD_DEFINED__ 4483 typedef interface IFileSinkFilter IFileSinkFilter; 4484 #endif 4485 4486 #ifndef __IFileSinkFilter2_FWD_DEFINED__ 4487 #define __IFileSinkFilter2_FWD_DEFINED__ 4488 typedef interface IFileSinkFilter2 IFileSinkFilter2; 4489 #endif 4490 4491 #ifndef __IFilterMapper_FWD_DEFINED__ 4492 #define __IFilterMapper_FWD_DEFINED__ 4493 typedef interface IFilterMapper IFilterMapper; 4494 #endif 4495 4496 #ifndef __IFilterMapper2_FWD_DEFINED__ 4497 #define __IFilterMapper2_FWD_DEFINED__ 4498 typedef interface IFilterMapper2 IFilterMapper2; 4499 #endif 4500 4501 #ifndef __IGraphBuilder_FWD_DEFINED__ 4502 #define __IGraphBuilder_FWD_DEFINED__ 4503 typedef interface IGraphBuilder IGraphBuilder; 4504 #endif 4505 4506 #ifndef __IKsPropertySet_FWD_DEFINED__ 4507 #define __IKsPropertySet_FWD_DEFINED__ 4508 typedef interface IKsPropertySet IKsPropertySet; 4509 #endif 4510 4511 #ifndef __IMediaEventSink_FWD_DEFINED__ 4512 #define __IMediaEventSink_FWD_DEFINED__ 4513 typedef interface IMediaEventSink IMediaEventSink; 4514 #endif 4515 4516 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ 4517 #define __IMpeg2Demultiplexer_FWD_DEFINED__ 4518 typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer; 4519 #endif 4520 4521 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ 4522 #define __IMPEG2StreamIdMap_FWD_DEFINED__ 4523 typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap; 4524 #endif 4525 4526 #ifndef __IOverlay_FWD_DEFINED__ 4527 #define __IOverlay_FWD_DEFINED__ 4528 typedef interface IOverlay IOverlay; 4529 #endif 4530 4531 #ifndef __IOverlayNotify_FWD_DEFINED__ 4532 #define __IOverlayNotify_FWD_DEFINED__ 4533 typedef interface IOverlayNotify IOverlayNotify; 4534 #endif 4535 4536 #ifndef __IOverlayNotify2_FWD_DEFINED__ 4537 #define __IOverlayNotify2_FWD_DEFINED__ 4538 typedef interface IOverlayNotify2 IOverlayNotify2; 4539 #endif 4540 4541 #ifndef __IQualityControl_FWD_DEFINED__ 4542 #define __IQualityControl_FWD_DEFINED__ 4543 typedef interface IQualityControl IQualityControl; 4544 #endif 4545 4546 #ifndef __ISeekingPassThru_FWD_DEFINED__ 4547 #define __ISeekingPassThru_FWD_DEFINED__ 4548 typedef interface ISeekingPassThru ISeekingPassThru; 4549 #endif 4550 4551 typedef enum tagAnalogVideoStandard { 4552 AnalogVideo_None = 0x0, 4553 AnalogVideo_NTSC_M = 0x1, 4554 AnalogVideo_NTSC_M_J = 0x2, 4555 AnalogVideo_NTSC_433 = 0x4, 4556 AnalogVideo_PAL_B = 0x10, 4557 AnalogVideo_PAL_D = 0x20, 4558 AnalogVideo_PAL_G = 0x40, 4559 AnalogVideo_PAL_H = 0x80, 4560 AnalogVideo_PAL_I = 0x100, 4561 AnalogVideo_PAL_M = 0x200, 4562 AnalogVideo_PAL_N = 0x400, 4563 AnalogVideo_PAL_60 = 0x800, 4564 AnalogVideo_SECAM_B = 0x1000, 4565 AnalogVideo_SECAM_D = 0x2000, 4566 AnalogVideo_SECAM_G = 0x4000, 4567 AnalogVideo_SECAM_H = 0x8000, 4568 AnalogVideo_SECAM_K = 0x10000, 4569 AnalogVideo_SECAM_K1 = 0x20000, 4570 AnalogVideo_SECAM_L = 0x40000, 4571 AnalogVideo_SECAM_L1 = 0x80000, 4572 AnalogVideo_PAL_N_COMBO = 0x100000, 4573 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, 4574 AnalogVideoMask_MCE_PAL = (((AnalogVideo_PAL_B | AnalogVideo_PAL_D) | AnalogVideo_PAL_G) | AnalogVideo_PAL_H) | AnalogVideo_PAL_I, 4575 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 4576 } AnalogVideoStandard; 4577 typedef enum tagTunerInputType { 4578 TunerInputCable = 0, 4579 TunerInputAntenna = 1 4580 } TunerInputType; 4581 typedef struct __WIDL_strmif_generated_name_00000002 { 4582 CLSID Clsid; 4583 LPWSTR Name; 4584 } REGFILTER; 4585 typedef enum tagTVAudioMode { 4586 AMTVAUDIO_MODE_MONO = 0x1, 4587 AMTVAUDIO_MODE_STEREO = 0x2, 4588 AMTVAUDIO_MODE_LANG_A = 0x10, 4589 AMTVAUDIO_MODE_LANG_B = 0x20, 4590 AMTVAUDIO_MODE_LANG_C = 0x40, 4591 AMTVAUDIO_PRESET_STEREO = 0x200, 4592 AMTVAUDIO_PRESET_LANG_A = 0x1000, 4593 AMTVAUDIO_PRESET_LANG_B = 0x2000, 4594 AMTVAUDIO_PRESET_LANG_C = 0x4000 4595 } TVAudioMode; 4596 /***************************************************************************** 4597 * IEnumRegFilters interface 4598 */ 4599 #ifndef __IEnumRegFilters_INTERFACE_DEFINED__ 4600 #define __IEnumRegFilters_INTERFACE_DEFINED__ 4601 4602 DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4603 #if defined(__cplusplus) && !defined(CINTERFACE) 4604 MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770") 4605 IEnumRegFilters : public IUnknown 4606 { 4607 virtual HRESULT STDMETHODCALLTYPE Next( 4608 ULONG cFilters, 4609 REGFILTER **apRegFilter, 4610 ULONG *pcFetched) = 0; 4611 4612 virtual HRESULT STDMETHODCALLTYPE Skip( 4613 ULONG cFilters) = 0; 4614 4615 virtual HRESULT STDMETHODCALLTYPE Reset( 4616 ) = 0; 4617 4618 virtual HRESULT STDMETHODCALLTYPE Clone( 4619 IEnumRegFilters **ppEnum) = 0; 4620 4621 }; 4622 #ifdef __CRT_UUID_DECL 4623 __CRT_UUID_DECL(IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4624 #endif 4625 #else 4626 typedef struct IEnumRegFiltersVtbl { 4627 BEGIN_INTERFACE 4628 4629 /*** IUnknown methods ***/ 4630 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4631 IEnumRegFilters* This, 4632 REFIID riid, 4633 void **ppvObject); 4634 4635 ULONG (STDMETHODCALLTYPE *AddRef)( 4636 IEnumRegFilters* This); 4637 4638 ULONG (STDMETHODCALLTYPE *Release)( 4639 IEnumRegFilters* This); 4640 4641 /*** IEnumRegFilters methods ***/ 4642 HRESULT (STDMETHODCALLTYPE *Next)( 4643 IEnumRegFilters* This, 4644 ULONG cFilters, 4645 REGFILTER **apRegFilter, 4646 ULONG *pcFetched); 4647 4648 HRESULT (STDMETHODCALLTYPE *Skip)( 4649 IEnumRegFilters* This, 4650 ULONG cFilters); 4651 4652 HRESULT (STDMETHODCALLTYPE *Reset)( 4653 IEnumRegFilters* This); 4654 4655 HRESULT (STDMETHODCALLTYPE *Clone)( 4656 IEnumRegFilters* This, 4657 IEnumRegFilters **ppEnum); 4658 4659 END_INTERFACE 4660 } IEnumRegFiltersVtbl; 4661 interface IEnumRegFilters { 4662 CONST_VTBL IEnumRegFiltersVtbl* lpVtbl; 4663 }; 4664 4665 #ifdef COBJMACROS 4666 #ifndef WIDL_C_INLINE_WRAPPERS 4667 /*** IUnknown methods ***/ 4668 #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4669 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This) 4670 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This) 4671 /*** IEnumRegFilters methods ***/ 4672 #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched) 4673 #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) 4674 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This) 4675 #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 4676 #else 4677 /*** IUnknown methods ***/ 4678 static FORCEINLINE HRESULT IEnumRegFilters_QueryInterface(IEnumRegFilters* This,REFIID riid,void **ppvObject) { 4679 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4680 } 4681 static FORCEINLINE ULONG IEnumRegFilters_AddRef(IEnumRegFilters* This) { 4682 return This->lpVtbl->AddRef(This); 4683 } 4684 static FORCEINLINE ULONG IEnumRegFilters_Release(IEnumRegFilters* This) { 4685 return This->lpVtbl->Release(This); 4686 } 4687 /*** IEnumRegFilters methods ***/ 4688 static FORCEINLINE HRESULT IEnumRegFilters_Next(IEnumRegFilters* This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) { 4689 return This->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched); 4690 } 4691 static FORCEINLINE HRESULT IEnumRegFilters_Skip(IEnumRegFilters* This,ULONG cFilters) { 4692 return This->lpVtbl->Skip(This,cFilters); 4693 } 4694 static FORCEINLINE HRESULT IEnumRegFilters_Reset(IEnumRegFilters* This) { 4695 return This->lpVtbl->Reset(This); 4696 } 4697 static FORCEINLINE HRESULT IEnumRegFilters_Clone(IEnumRegFilters* This,IEnumRegFilters **ppEnum) { 4698 return This->lpVtbl->Clone(This,ppEnum); 4699 } 4700 #endif 4701 #endif 4702 4703 #endif 4704 4705 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy( 4706 IEnumRegFilters* This, 4707 ULONG cFilters, 4708 REGFILTER **apRegFilter, 4709 ULONG *pcFetched); 4710 void __RPC_STUB IEnumRegFilters_Next_Stub( 4711 IRpcStubBuffer* This, 4712 IRpcChannelBuffer* pRpcChannelBuffer, 4713 PRPC_MESSAGE pRpcMessage, 4714 DWORD* pdwStubPhase); 4715 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy( 4716 IEnumRegFilters* This, 4717 ULONG cFilters); 4718 void __RPC_STUB IEnumRegFilters_Skip_Stub( 4719 IRpcStubBuffer* This, 4720 IRpcChannelBuffer* pRpcChannelBuffer, 4721 PRPC_MESSAGE pRpcMessage, 4722 DWORD* pdwStubPhase); 4723 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy( 4724 IEnumRegFilters* This); 4725 void __RPC_STUB IEnumRegFilters_Reset_Stub( 4726 IRpcStubBuffer* This, 4727 IRpcChannelBuffer* pRpcChannelBuffer, 4728 PRPC_MESSAGE pRpcMessage, 4729 DWORD* pdwStubPhase); 4730 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy( 4731 IEnumRegFilters* This, 4732 IEnumRegFilters **ppEnum); 4733 void __RPC_STUB IEnumRegFilters_Clone_Stub( 4734 IRpcStubBuffer* This, 4735 IRpcChannelBuffer* pRpcChannelBuffer, 4736 PRPC_MESSAGE pRpcMessage, 4737 DWORD* pdwStubPhase); 4738 4739 #endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */ 4740 4741 typedef IEnumRegFilters *PENUMREGFILTERS; 4742 /***************************************************************************** 4743 * IFilterMapper interface 4744 */ 4745 #ifndef __IFilterMapper_INTERFACE_DEFINED__ 4746 #define __IFilterMapper_INTERFACE_DEFINED__ 4747 4748 enum { 4749 MERIT_PREFERRED = 0x800000, 4750 MERIT_NORMAL = 0x600000, 4751 MERIT_UNLIKELY = 0x400000, 4752 MERIT_DO_NOT_USE = 0x200000, 4753 MERIT_SW_COMPRESSOR = 0x100000, 4754 MERIT_HW_COMPRESSOR = 0x100050 4755 }; 4756 4757 DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4758 #if defined(__cplusplus) && !defined(CINTERFACE) 4759 MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770") 4760 IFilterMapper : public IUnknown 4761 { 4762 virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 4763 CLSID clsid, 4764 LPCWSTR Name, 4765 DWORD dwMerit) = 0; 4766 4767 virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 4768 CLSID clsid, 4769 LPCWSTR Name, 4770 CLSID *MRId) = 0; 4771 4772 virtual HRESULT STDMETHODCALLTYPE RegisterPin( 4773 CLSID Filter, 4774 LPCWSTR Name, 4775 WINBOOL bRendered, 4776 WINBOOL bOutput, 4777 WINBOOL bZero, 4778 WINBOOL bMany, 4779 CLSID ConnectsToFilter, 4780 LPCWSTR ConnectsToPin) = 0; 4781 4782 virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 4783 CLSID clsFilter, 4784 LPCWSTR strName, 4785 CLSID clsMajorType, 4786 CLSID clsSubType) = 0; 4787 4788 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 4789 CLSID Filter) = 0; 4790 4791 virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 4792 CLSID MRId) = 0; 4793 4794 virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 4795 CLSID Filter, 4796 LPCWSTR Name) = 0; 4797 4798 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 4799 IEnumRegFilters **ppEnum, 4800 DWORD dwMerit, 4801 WINBOOL bInputNeeded, 4802 CLSID clsInMaj, 4803 CLSID clsInSub, 4804 WINBOOL bRender, 4805 WINBOOL bOututNeeded, 4806 CLSID clsOutMaj, 4807 CLSID clsOutSub) = 0; 4808 4809 }; 4810 #ifdef __CRT_UUID_DECL 4811 __CRT_UUID_DECL(IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4812 #endif 4813 #else 4814 typedef struct IFilterMapperVtbl { 4815 BEGIN_INTERFACE 4816 4817 /*** IUnknown methods ***/ 4818 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4819 IFilterMapper* This, 4820 REFIID riid, 4821 void **ppvObject); 4822 4823 ULONG (STDMETHODCALLTYPE *AddRef)( 4824 IFilterMapper* This); 4825 4826 ULONG (STDMETHODCALLTYPE *Release)( 4827 IFilterMapper* This); 4828 4829 /*** IFilterMapper methods ***/ 4830 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4831 IFilterMapper* This, 4832 CLSID clsid, 4833 LPCWSTR Name, 4834 DWORD dwMerit); 4835 4836 HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)( 4837 IFilterMapper* This, 4838 CLSID clsid, 4839 LPCWSTR Name, 4840 CLSID *MRId); 4841 4842 HRESULT (STDMETHODCALLTYPE *RegisterPin)( 4843 IFilterMapper* This, 4844 CLSID Filter, 4845 LPCWSTR Name, 4846 WINBOOL bRendered, 4847 WINBOOL bOutput, 4848 WINBOOL bZero, 4849 WINBOOL bMany, 4850 CLSID ConnectsToFilter, 4851 LPCWSTR ConnectsToPin); 4852 4853 HRESULT (STDMETHODCALLTYPE *RegisterPinType)( 4854 IFilterMapper* This, 4855 CLSID clsFilter, 4856 LPCWSTR strName, 4857 CLSID clsMajorType, 4858 CLSID clsSubType); 4859 4860 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4861 IFilterMapper* This, 4862 CLSID Filter); 4863 4864 HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)( 4865 IFilterMapper* This, 4866 CLSID MRId); 4867 4868 HRESULT (STDMETHODCALLTYPE *UnregisterPin)( 4869 IFilterMapper* This, 4870 CLSID Filter, 4871 LPCWSTR Name); 4872 4873 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4874 IFilterMapper* This, 4875 IEnumRegFilters **ppEnum, 4876 DWORD dwMerit, 4877 WINBOOL bInputNeeded, 4878 CLSID clsInMaj, 4879 CLSID clsInSub, 4880 WINBOOL bRender, 4881 WINBOOL bOututNeeded, 4882 CLSID clsOutMaj, 4883 CLSID clsOutSub); 4884 4885 END_INTERFACE 4886 } IFilterMapperVtbl; 4887 interface IFilterMapper { 4888 CONST_VTBL IFilterMapperVtbl* lpVtbl; 4889 }; 4890 4891 #ifdef COBJMACROS 4892 #ifndef WIDL_C_INLINE_WRAPPERS 4893 /*** IUnknown methods ***/ 4894 #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4895 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This) 4896 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This) 4897 /*** IFilterMapper methods ***/ 4898 #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit) 4899 #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId) 4900 #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) 4901 #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) 4902 #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter) 4903 #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId) 4904 #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name) 4905 #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) 4906 #else 4907 /*** IUnknown methods ***/ 4908 static FORCEINLINE HRESULT IFilterMapper_QueryInterface(IFilterMapper* This,REFIID riid,void **ppvObject) { 4909 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4910 } 4911 static FORCEINLINE ULONG IFilterMapper_AddRef(IFilterMapper* This) { 4912 return This->lpVtbl->AddRef(This); 4913 } 4914 static FORCEINLINE ULONG IFilterMapper_Release(IFilterMapper* This) { 4915 return This->lpVtbl->Release(This); 4916 } 4917 /*** IFilterMapper methods ***/ 4918 static FORCEINLINE HRESULT IFilterMapper_RegisterFilter(IFilterMapper* This,CLSID clsid,LPCWSTR Name,DWORD dwMerit) { 4919 return This->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit); 4920 } 4921 static FORCEINLINE HRESULT IFilterMapper_RegisterFilterInstance(IFilterMapper* This,CLSID clsid,LPCWSTR Name,CLSID *MRId) { 4922 return This->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId); 4923 } 4924 static FORCEINLINE HRESULT IFilterMapper_RegisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) { 4925 return This->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin); 4926 } 4927 static FORCEINLINE HRESULT IFilterMapper_RegisterPinType(IFilterMapper* This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) { 4928 return This->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType); 4929 } 4930 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilter(IFilterMapper* This,CLSID Filter) { 4931 return This->lpVtbl->UnregisterFilter(This,Filter); 4932 } 4933 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilterInstance(IFilterMapper* This,CLSID MRId) { 4934 return This->lpVtbl->UnregisterFilterInstance(This,MRId); 4935 } 4936 static FORCEINLINE HRESULT IFilterMapper_UnregisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name) { 4937 return This->lpVtbl->UnregisterPin(This,Filter,Name); 4938 } 4939 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) { 4940 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub); 4941 } 4942 #endif 4943 #endif 4944 4945 #endif 4946 4947 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy( 4948 IFilterMapper* This, 4949 CLSID clsid, 4950 LPCWSTR Name, 4951 DWORD dwMerit); 4952 void __RPC_STUB IFilterMapper_RegisterFilter_Stub( 4953 IRpcStubBuffer* This, 4954 IRpcChannelBuffer* pRpcChannelBuffer, 4955 PRPC_MESSAGE pRpcMessage, 4956 DWORD* pdwStubPhase); 4957 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy( 4958 IFilterMapper* This, 4959 CLSID clsid, 4960 LPCWSTR Name, 4961 CLSID *MRId); 4962 void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub( 4963 IRpcStubBuffer* This, 4964 IRpcChannelBuffer* pRpcChannelBuffer, 4965 PRPC_MESSAGE pRpcMessage, 4966 DWORD* pdwStubPhase); 4967 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy( 4968 IFilterMapper* This, 4969 CLSID Filter, 4970 LPCWSTR Name, 4971 WINBOOL bRendered, 4972 WINBOOL bOutput, 4973 WINBOOL bZero, 4974 WINBOOL bMany, 4975 CLSID ConnectsToFilter, 4976 LPCWSTR ConnectsToPin); 4977 void __RPC_STUB IFilterMapper_RegisterPin_Stub( 4978 IRpcStubBuffer* This, 4979 IRpcChannelBuffer* pRpcChannelBuffer, 4980 PRPC_MESSAGE pRpcMessage, 4981 DWORD* pdwStubPhase); 4982 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy( 4983 IFilterMapper* This, 4984 CLSID clsFilter, 4985 LPCWSTR strName, 4986 CLSID clsMajorType, 4987 CLSID clsSubType); 4988 void __RPC_STUB IFilterMapper_RegisterPinType_Stub( 4989 IRpcStubBuffer* This, 4990 IRpcChannelBuffer* pRpcChannelBuffer, 4991 PRPC_MESSAGE pRpcMessage, 4992 DWORD* pdwStubPhase); 4993 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy( 4994 IFilterMapper* This, 4995 CLSID Filter); 4996 void __RPC_STUB IFilterMapper_UnregisterFilter_Stub( 4997 IRpcStubBuffer* This, 4998 IRpcChannelBuffer* pRpcChannelBuffer, 4999 PRPC_MESSAGE pRpcMessage, 5000 DWORD* pdwStubPhase); 5001 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy( 5002 IFilterMapper* This, 5003 CLSID MRId); 5004 void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub( 5005 IRpcStubBuffer* This, 5006 IRpcChannelBuffer* pRpcChannelBuffer, 5007 PRPC_MESSAGE pRpcMessage, 5008 DWORD* pdwStubPhase); 5009 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy( 5010 IFilterMapper* This, 5011 CLSID Filter, 5012 LPCWSTR Name); 5013 void __RPC_STUB IFilterMapper_UnregisterPin_Stub( 5014 IRpcStubBuffer* This, 5015 IRpcChannelBuffer* pRpcChannelBuffer, 5016 PRPC_MESSAGE pRpcMessage, 5017 DWORD* pdwStubPhase); 5018 HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy( 5019 IFilterMapper* This, 5020 IEnumRegFilters **ppEnum, 5021 DWORD dwMerit, 5022 WINBOOL bInputNeeded, 5023 CLSID clsInMaj, 5024 CLSID clsInSub, 5025 WINBOOL bRender, 5026 WINBOOL bOututNeeded, 5027 CLSID clsOutMaj, 5028 CLSID clsOutSub); 5029 void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub( 5030 IRpcStubBuffer* This, 5031 IRpcChannelBuffer* pRpcChannelBuffer, 5032 PRPC_MESSAGE pRpcMessage, 5033 DWORD* pdwStubPhase); 5034 5035 #endif /* __IFilterMapper_INTERFACE_DEFINED__ */ 5036 5037 typedef struct __WIDL_strmif_generated_name_00000003 { 5038 const CLSID *clsMajorType; 5039 const CLSID *clsMinorType; 5040 } REGPINTYPES; 5041 typedef struct __WIDL_strmif_generated_name_00000004 { 5042 LPWSTR strName; 5043 WINBOOL bRendered; 5044 WINBOOL bOutput; 5045 WINBOOL bZero; 5046 WINBOOL bMany; 5047 const CLSID *clsConnectsToFilter; 5048 const WCHAR *strConnectsToPin; 5049 UINT nMediaTypes; 5050 const REGPINTYPES *lpMediaType; 5051 } REGFILTERPINS; 5052 typedef struct __WIDL_strmif_generated_name_00000005 { 5053 CLSID clsMedium; 5054 DWORD dw1; 5055 DWORD dw2; 5056 } REGPINMEDIUM; 5057 enum { 5058 REG_PINFLAG_B_ZERO = 0x1, 5059 REG_PINFLAG_B_RENDERER = 0x2, 5060 REG_PINFLAG_B_MANY = 0x4, 5061 REG_PINFLAG_B_OUTPUT = 0x8 5062 }; 5063 5064 typedef struct __WIDL_strmif_generated_name_00000006 { 5065 DWORD dwFlags; 5066 UINT cInstances; 5067 UINT nMediaTypes; 5068 const REGPINTYPES *lpMediaType; 5069 UINT nMediums; 5070 const REGPINMEDIUM *lpMedium; 5071 const CLSID *clsPinCategory; 5072 } REGFILTERPINS2; 5073 typedef struct __WIDL_strmif_generated_name_00000007 { 5074 DWORD dwVersion; 5075 DWORD dwMerit; 5076 __C89_NAMELESS union { 5077 __C89_NAMELESS struct { 5078 ULONG cPins; 5079 const REGFILTERPINS *rgPins; 5080 } __C89_NAMELESSSTRUCTNAME1; 5081 __C89_NAMELESS struct { 5082 ULONG cPins2; 5083 const REGFILTERPINS2 *rgPins2; 5084 } __C89_NAMELESSSTRUCTNAME2; 5085 } __C89_NAMELESSUNIONNAME; 5086 } REGFILTER2; 5087 /***************************************************************************** 5088 * IFilterMapper2 interface 5089 */ 5090 #ifndef __IFilterMapper2_INTERFACE_DEFINED__ 5091 #define __IFilterMapper2_INTERFACE_DEFINED__ 5092 5093 DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 5094 #if defined(__cplusplus) && !defined(CINTERFACE) 5095 MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375") 5096 IFilterMapper2 : public IUnknown 5097 { 5098 virtual HRESULT STDMETHODCALLTYPE CreateCategory( 5099 REFCLSID clsidCategory, 5100 DWORD dwCategoryMerit, 5101 LPCWSTR Description) = 0; 5102 5103 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 5104 const CLSID *pclsidCategory, 5105 LPCOLESTR szInstance, 5106 REFCLSID Filter) = 0; 5107 5108 virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 5109 REFCLSID clsidFilter, 5110 LPCWSTR Name, 5111 IMoniker **ppMoniker, 5112 const CLSID *pclsidCategory, 5113 LPCOLESTR szInstance, 5114 const REGFILTER2 *prf2) = 0; 5115 5116 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 5117 IEnumMoniker **ppEnum, 5118 DWORD dwFlags, 5119 WINBOOL bExactMatch, 5120 DWORD dwMerit, 5121 WINBOOL bInputNeeded, 5122 DWORD cInputTypes, 5123 const GUID *pInputTypes, 5124 const REGPINMEDIUM *pMedIn, 5125 const CLSID *pPinCategoryIn, 5126 WINBOOL bRender, 5127 WINBOOL bOutputNeeded, 5128 DWORD cOutputTypes, 5129 const GUID *pOutputTypes, 5130 const REGPINMEDIUM *pMedOut, 5131 const CLSID *pPinCategoryOut) = 0; 5132 5133 }; 5134 #ifdef __CRT_UUID_DECL 5135 __CRT_UUID_DECL(IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 5136 #endif 5137 #else 5138 typedef struct IFilterMapper2Vtbl { 5139 BEGIN_INTERFACE 5140 5141 /*** IUnknown methods ***/ 5142 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5143 IFilterMapper2* This, 5144 REFIID riid, 5145 void **ppvObject); 5146 5147 ULONG (STDMETHODCALLTYPE *AddRef)( 5148 IFilterMapper2* This); 5149 5150 ULONG (STDMETHODCALLTYPE *Release)( 5151 IFilterMapper2* This); 5152 5153 /*** IFilterMapper2 methods ***/ 5154 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 5155 IFilterMapper2* This, 5156 REFCLSID clsidCategory, 5157 DWORD dwCategoryMerit, 5158 LPCWSTR Description); 5159 5160 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 5161 IFilterMapper2* This, 5162 const CLSID *pclsidCategory, 5163 LPCOLESTR szInstance, 5164 REFCLSID Filter); 5165 5166 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 5167 IFilterMapper2* This, 5168 REFCLSID clsidFilter, 5169 LPCWSTR Name, 5170 IMoniker **ppMoniker, 5171 const CLSID *pclsidCategory, 5172 LPCOLESTR szInstance, 5173 const REGFILTER2 *prf2); 5174 5175 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 5176 IFilterMapper2* This, 5177 IEnumMoniker **ppEnum, 5178 DWORD dwFlags, 5179 WINBOOL bExactMatch, 5180 DWORD dwMerit, 5181 WINBOOL bInputNeeded, 5182 DWORD cInputTypes, 5183 const GUID *pInputTypes, 5184 const REGPINMEDIUM *pMedIn, 5185 const CLSID *pPinCategoryIn, 5186 WINBOOL bRender, 5187 WINBOOL bOutputNeeded, 5188 DWORD cOutputTypes, 5189 const GUID *pOutputTypes, 5190 const REGPINMEDIUM *pMedOut, 5191 const CLSID *pPinCategoryOut); 5192 5193 END_INTERFACE 5194 } IFilterMapper2Vtbl; 5195 interface IFilterMapper2 { 5196 CONST_VTBL IFilterMapper2Vtbl* lpVtbl; 5197 }; 5198 5199 #ifdef COBJMACROS 5200 #ifndef WIDL_C_INLINE_WRAPPERS 5201 /*** IUnknown methods ***/ 5202 #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5203 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This) 5204 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This) 5205 /*** IFilterMapper2 methods ***/ 5206 #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) 5207 #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) 5208 #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) 5209 #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) 5210 #else 5211 /*** IUnknown methods ***/ 5212 static FORCEINLINE HRESULT IFilterMapper2_QueryInterface(IFilterMapper2* This,REFIID riid,void **ppvObject) { 5213 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5214 } 5215 static FORCEINLINE ULONG IFilterMapper2_AddRef(IFilterMapper2* This) { 5216 return This->lpVtbl->AddRef(This); 5217 } 5218 static FORCEINLINE ULONG IFilterMapper2_Release(IFilterMapper2* This) { 5219 return This->lpVtbl->Release(This); 5220 } 5221 /*** IFilterMapper2 methods ***/ 5222 static FORCEINLINE HRESULT IFilterMapper2_CreateCategory(IFilterMapper2* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { 5223 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); 5224 } 5225 static FORCEINLINE HRESULT IFilterMapper2_UnregisterFilter(IFilterMapper2* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { 5226 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); 5227 } 5228 static FORCEINLINE HRESULT IFilterMapper2_RegisterFilter(IFilterMapper2* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { 5229 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); 5230 } 5231 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) { 5232 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); 5233 } 5234 #endif 5235 #endif 5236 5237 #endif 5238 5239 HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy( 5240 IFilterMapper2* This, 5241 REFCLSID clsidCategory, 5242 DWORD dwCategoryMerit, 5243 LPCWSTR Description); 5244 void __RPC_STUB IFilterMapper2_CreateCategory_Stub( 5245 IRpcStubBuffer* This, 5246 IRpcChannelBuffer* pRpcChannelBuffer, 5247 PRPC_MESSAGE pRpcMessage, 5248 DWORD* pdwStubPhase); 5249 HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy( 5250 IFilterMapper2* This, 5251 const CLSID *pclsidCategory, 5252 LPCOLESTR szInstance, 5253 REFCLSID Filter); 5254 void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub( 5255 IRpcStubBuffer* This, 5256 IRpcChannelBuffer* pRpcChannelBuffer, 5257 PRPC_MESSAGE pRpcMessage, 5258 DWORD* pdwStubPhase); 5259 HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy( 5260 IFilterMapper2* This, 5261 REFCLSID clsidFilter, 5262 LPCWSTR Name, 5263 IMoniker **ppMoniker, 5264 const CLSID *pclsidCategory, 5265 LPCOLESTR szInstance, 5266 const REGFILTER2 *prf2); 5267 void __RPC_STUB IFilterMapper2_RegisterFilter_Stub( 5268 IRpcStubBuffer* This, 5269 IRpcChannelBuffer* pRpcChannelBuffer, 5270 PRPC_MESSAGE pRpcMessage, 5271 DWORD* pdwStubPhase); 5272 HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy( 5273 IFilterMapper2* This, 5274 IEnumMoniker **ppEnum, 5275 DWORD dwFlags, 5276 WINBOOL bExactMatch, 5277 DWORD dwMerit, 5278 WINBOOL bInputNeeded, 5279 DWORD cInputTypes, 5280 const GUID *pInputTypes, 5281 const REGPINMEDIUM *pMedIn, 5282 const CLSID *pPinCategoryIn, 5283 WINBOOL bRender, 5284 WINBOOL bOutputNeeded, 5285 DWORD cOutputTypes, 5286 const GUID *pOutputTypes, 5287 const REGPINMEDIUM *pMedOut, 5288 const CLSID *pPinCategoryOut); 5289 void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub( 5290 IRpcStubBuffer* This, 5291 IRpcChannelBuffer* pRpcChannelBuffer, 5292 PRPC_MESSAGE pRpcMessage, 5293 DWORD* pdwStubPhase); 5294 5295 #endif /* __IFilterMapper2_INTERFACE_DEFINED__ */ 5296 5297 /***************************************************************************** 5298 * IFilterMapper3 interface 5299 */ 5300 #ifndef __IFilterMapper3_INTERFACE_DEFINED__ 5301 #define __IFilterMapper3_INTERFACE_DEFINED__ 5302 5303 DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 5304 #if defined(__cplusplus) && !defined(CINTERFACE) 5305 MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375") 5306 IFilterMapper3 : public IFilterMapper2 5307 { 5308 virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( 5309 ICreateDevEnum **ppEnum) = 0; 5310 5311 }; 5312 #ifdef __CRT_UUID_DECL 5313 __CRT_UUID_DECL(IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 5314 #endif 5315 #else 5316 typedef struct IFilterMapper3Vtbl { 5317 BEGIN_INTERFACE 5318 5319 /*** IUnknown methods ***/ 5320 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5321 IFilterMapper3* This, 5322 REFIID riid, 5323 void **ppvObject); 5324 5325 ULONG (STDMETHODCALLTYPE *AddRef)( 5326 IFilterMapper3* This); 5327 5328 ULONG (STDMETHODCALLTYPE *Release)( 5329 IFilterMapper3* This); 5330 5331 /*** IFilterMapper2 methods ***/ 5332 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 5333 IFilterMapper3* This, 5334 REFCLSID clsidCategory, 5335 DWORD dwCategoryMerit, 5336 LPCWSTR Description); 5337 5338 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 5339 IFilterMapper3* This, 5340 const CLSID *pclsidCategory, 5341 LPCOLESTR szInstance, 5342 REFCLSID Filter); 5343 5344 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 5345 IFilterMapper3* This, 5346 REFCLSID clsidFilter, 5347 LPCWSTR Name, 5348 IMoniker **ppMoniker, 5349 const CLSID *pclsidCategory, 5350 LPCOLESTR szInstance, 5351 const REGFILTER2 *prf2); 5352 5353 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 5354 IFilterMapper3* This, 5355 IEnumMoniker **ppEnum, 5356 DWORD dwFlags, 5357 WINBOOL bExactMatch, 5358 DWORD dwMerit, 5359 WINBOOL bInputNeeded, 5360 DWORD cInputTypes, 5361 const GUID *pInputTypes, 5362 const REGPINMEDIUM *pMedIn, 5363 const CLSID *pPinCategoryIn, 5364 WINBOOL bRender, 5365 WINBOOL bOutputNeeded, 5366 DWORD cOutputTypes, 5367 const GUID *pOutputTypes, 5368 const REGPINMEDIUM *pMedOut, 5369 const CLSID *pPinCategoryOut); 5370 5371 /*** IFilterMapper3 methods ***/ 5372 HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)( 5373 IFilterMapper3* This, 5374 ICreateDevEnum **ppEnum); 5375 5376 END_INTERFACE 5377 } IFilterMapper3Vtbl; 5378 interface IFilterMapper3 { 5379 CONST_VTBL IFilterMapper3Vtbl* lpVtbl; 5380 }; 5381 5382 #ifdef COBJMACROS 5383 #ifndef WIDL_C_INLINE_WRAPPERS 5384 /*** IUnknown methods ***/ 5385 #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5386 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This) 5387 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This) 5388 /*** IFilterMapper2 methods ***/ 5389 #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) 5390 #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) 5391 #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) 5392 #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) 5393 /*** IFilterMapper3 methods ***/ 5394 #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum) 5395 #else 5396 /*** IUnknown methods ***/ 5397 static FORCEINLINE HRESULT IFilterMapper3_QueryInterface(IFilterMapper3* This,REFIID riid,void **ppvObject) { 5398 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5399 } 5400 static FORCEINLINE ULONG IFilterMapper3_AddRef(IFilterMapper3* This) { 5401 return This->lpVtbl->AddRef(This); 5402 } 5403 static FORCEINLINE ULONG IFilterMapper3_Release(IFilterMapper3* This) { 5404 return This->lpVtbl->Release(This); 5405 } 5406 /*** IFilterMapper2 methods ***/ 5407 static FORCEINLINE HRESULT IFilterMapper3_CreateCategory(IFilterMapper3* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { 5408 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); 5409 } 5410 static FORCEINLINE HRESULT IFilterMapper3_UnregisterFilter(IFilterMapper3* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { 5411 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); 5412 } 5413 static FORCEINLINE HRESULT IFilterMapper3_RegisterFilter(IFilterMapper3* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { 5414 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); 5415 } 5416 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) { 5417 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); 5418 } 5419 /*** IFilterMapper3 methods ***/ 5420 static FORCEINLINE HRESULT IFilterMapper3_GetICreateDevEnum(IFilterMapper3* This,ICreateDevEnum **ppEnum) { 5421 return This->lpVtbl->GetICreateDevEnum(This,ppEnum); 5422 } 5423 #endif 5424 #endif 5425 5426 #endif 5427 5428 HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy( 5429 IFilterMapper3* This, 5430 ICreateDevEnum **ppEnum); 5431 void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub( 5432 IRpcStubBuffer* This, 5433 IRpcChannelBuffer* pRpcChannelBuffer, 5434 PRPC_MESSAGE pRpcMessage, 5435 DWORD* pdwStubPhase); 5436 5437 #endif /* __IFilterMapper3_INTERFACE_DEFINED__ */ 5438 5439 typedef enum tagQualityMessageType { 5440 Famine = 0, 5441 Flood = 1 5442 } QualityMessageType; 5443 typedef struct tagQuality { 5444 QualityMessageType Type; 5445 LONG Proportion; 5446 REFERENCE_TIME Late; 5447 REFERENCE_TIME TimeStamp; 5448 } Quality; 5449 typedef IQualityControl *PQUALITYCONTROL; 5450 /***************************************************************************** 5451 * IQualityControl interface 5452 */ 5453 #ifndef __IQualityControl_INTERFACE_DEFINED__ 5454 #define __IQualityControl_INTERFACE_DEFINED__ 5455 5456 DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5457 #if defined(__cplusplus) && !defined(CINTERFACE) 5458 MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770") 5459 IQualityControl : public IUnknown 5460 { 5461 virtual HRESULT STDMETHODCALLTYPE Notify( 5462 IBaseFilter *pSelf, 5463 Quality q) = 0; 5464 5465 virtual HRESULT STDMETHODCALLTYPE SetSink( 5466 IQualityControl *piqc) = 0; 5467 5468 }; 5469 #ifdef __CRT_UUID_DECL 5470 __CRT_UUID_DECL(IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5471 #endif 5472 #else 5473 typedef struct IQualityControlVtbl { 5474 BEGIN_INTERFACE 5475 5476 /*** IUnknown methods ***/ 5477 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5478 IQualityControl* This, 5479 REFIID riid, 5480 void **ppvObject); 5481 5482 ULONG (STDMETHODCALLTYPE *AddRef)( 5483 IQualityControl* This); 5484 5485 ULONG (STDMETHODCALLTYPE *Release)( 5486 IQualityControl* This); 5487 5488 /*** IQualityControl methods ***/ 5489 HRESULT (STDMETHODCALLTYPE *Notify)( 5490 IQualityControl* This, 5491 IBaseFilter *pSelf, 5492 Quality q); 5493 5494 HRESULT (STDMETHODCALLTYPE *SetSink)( 5495 IQualityControl* This, 5496 IQualityControl *piqc); 5497 5498 END_INTERFACE 5499 } IQualityControlVtbl; 5500 interface IQualityControl { 5501 CONST_VTBL IQualityControlVtbl* lpVtbl; 5502 }; 5503 5504 #ifdef COBJMACROS 5505 #ifndef WIDL_C_INLINE_WRAPPERS 5506 /*** IUnknown methods ***/ 5507 #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5508 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This) 5509 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This) 5510 /*** IQualityControl methods ***/ 5511 #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q) 5512 #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc) 5513 #else 5514 /*** IUnknown methods ***/ 5515 static FORCEINLINE HRESULT IQualityControl_QueryInterface(IQualityControl* This,REFIID riid,void **ppvObject) { 5516 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5517 } 5518 static FORCEINLINE ULONG IQualityControl_AddRef(IQualityControl* This) { 5519 return This->lpVtbl->AddRef(This); 5520 } 5521 static FORCEINLINE ULONG IQualityControl_Release(IQualityControl* This) { 5522 return This->lpVtbl->Release(This); 5523 } 5524 /*** IQualityControl methods ***/ 5525 static FORCEINLINE HRESULT IQualityControl_Notify(IQualityControl* This,IBaseFilter *pSelf,Quality q) { 5526 return This->lpVtbl->Notify(This,pSelf,q); 5527 } 5528 static FORCEINLINE HRESULT IQualityControl_SetSink(IQualityControl* This,IQualityControl *piqc) { 5529 return This->lpVtbl->SetSink(This,piqc); 5530 } 5531 #endif 5532 #endif 5533 5534 #endif 5535 5536 HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy( 5537 IQualityControl* This, 5538 IBaseFilter *pSelf, 5539 Quality q); 5540 void __RPC_STUB IQualityControl_Notify_Stub( 5541 IRpcStubBuffer* This, 5542 IRpcChannelBuffer* pRpcChannelBuffer, 5543 PRPC_MESSAGE pRpcMessage, 5544 DWORD* pdwStubPhase); 5545 HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy( 5546 IQualityControl* This, 5547 IQualityControl *piqc); 5548 void __RPC_STUB IQualityControl_SetSink_Stub( 5549 IRpcStubBuffer* This, 5550 IRpcChannelBuffer* pRpcChannelBuffer, 5551 PRPC_MESSAGE pRpcMessage, 5552 DWORD* pdwStubPhase); 5553 5554 #endif /* __IQualityControl_INTERFACE_DEFINED__ */ 5555 5556 enum { 5557 CK_NOCOLORKEY = 0x0, 5558 CK_INDEX = 0x1, 5559 CK_RGB = 0x2 5560 }; 5561 5562 typedef struct tagCOLORKEY { 5563 DWORD KeyType; 5564 DWORD PaletteIndex; 5565 COLORREF LowColorValue; 5566 COLORREF HighColorValue; 5567 } COLORKEY; 5568 enum { 5569 ADVISE_NONE = 0x0, 5570 ADVISE_CLIPPING = 0x1, 5571 ADVISE_PALETTE = 0x2, 5572 ADVISE_COLORKEY = 0x4, 5573 ADVISE_POSITION = 0x8, 5574 ADVISE_DISPLAY_CHANGE = 0x10 5575 }; 5576 5577 #define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION) 5578 5579 #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE) 5580 5581 #ifndef _WINGDI_ 5582 typedef struct _RGNDATAHEADER { 5583 DWORD dwSize; 5584 DWORD iType; 5585 DWORD nCount; 5586 DWORD nRgnSize; 5587 RECT rcBound; 5588 } RGNDATAHEADER; 5589 typedef struct _RGNDATA { 5590 RGNDATAHEADER rdh; 5591 char Buffer[1]; 5592 } RGNDATA; 5593 #endif /* _WINGDI_ */ 5594 /***************************************************************************** 5595 * IOverlayNotify interface 5596 */ 5597 #ifndef __IOverlayNotify_INTERFACE_DEFINED__ 5598 #define __IOverlayNotify_INTERFACE_DEFINED__ 5599 5600 DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5601 #if defined(__cplusplus) && !defined(CINTERFACE) 5602 MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770") 5603 IOverlayNotify : public IUnknown 5604 { 5605 virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 5606 DWORD dwColors, 5607 const PALETTEENTRY *pPalette) = 0; 5608 5609 virtual HRESULT STDMETHODCALLTYPE OnClipChange( 5610 const RECT *pSourceRect, 5611 const RECT *pDestinationRect, 5612 const RGNDATA *pRgnData) = 0; 5613 5614 virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 5615 const COLORKEY *pColorKey) = 0; 5616 5617 virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 5618 const RECT *pSourceRect, 5619 const RECT *pDestinationRect) = 0; 5620 5621 }; 5622 #ifdef __CRT_UUID_DECL 5623 __CRT_UUID_DECL(IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5624 #endif 5625 #else 5626 typedef struct IOverlayNotifyVtbl { 5627 BEGIN_INTERFACE 5628 5629 /*** IUnknown methods ***/ 5630 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5631 IOverlayNotify* This, 5632 REFIID riid, 5633 void **ppvObject); 5634 5635 ULONG (STDMETHODCALLTYPE *AddRef)( 5636 IOverlayNotify* This); 5637 5638 ULONG (STDMETHODCALLTYPE *Release)( 5639 IOverlayNotify* This); 5640 5641 /*** IOverlayNotify methods ***/ 5642 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( 5643 IOverlayNotify* This, 5644 DWORD dwColors, 5645 const PALETTEENTRY *pPalette); 5646 5647 HRESULT (STDMETHODCALLTYPE *OnClipChange)( 5648 IOverlayNotify* This, 5649 const RECT *pSourceRect, 5650 const RECT *pDestinationRect, 5651 const RGNDATA *pRgnData); 5652 5653 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( 5654 IOverlayNotify* This, 5655 const COLORKEY *pColorKey); 5656 5657 HRESULT (STDMETHODCALLTYPE *OnPositionChange)( 5658 IOverlayNotify* This, 5659 const RECT *pSourceRect, 5660 const RECT *pDestinationRect); 5661 5662 END_INTERFACE 5663 } IOverlayNotifyVtbl; 5664 interface IOverlayNotify { 5665 CONST_VTBL IOverlayNotifyVtbl* lpVtbl; 5666 }; 5667 5668 #ifdef COBJMACROS 5669 #ifndef WIDL_C_INLINE_WRAPPERS 5670 /*** IUnknown methods ***/ 5671 #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5672 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 5673 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This) 5674 /*** IOverlayNotify methods ***/ 5675 #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) 5676 #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) 5677 #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) 5678 #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) 5679 #else 5680 /*** IUnknown methods ***/ 5681 static FORCEINLINE HRESULT IOverlayNotify_QueryInterface(IOverlayNotify* This,REFIID riid,void **ppvObject) { 5682 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5683 } 5684 static FORCEINLINE ULONG IOverlayNotify_AddRef(IOverlayNotify* This) { 5685 return This->lpVtbl->AddRef(This); 5686 } 5687 static FORCEINLINE ULONG IOverlayNotify_Release(IOverlayNotify* This) { 5688 return This->lpVtbl->Release(This); 5689 } 5690 /*** IOverlayNotify methods ***/ 5691 static FORCEINLINE HRESULT IOverlayNotify_OnPaletteChange(IOverlayNotify* This,DWORD dwColors,const PALETTEENTRY *pPalette) { 5692 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); 5693 } 5694 static FORCEINLINE HRESULT IOverlayNotify_OnClipChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { 5695 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); 5696 } 5697 static FORCEINLINE HRESULT IOverlayNotify_OnColorKeyChange(IOverlayNotify* This,const COLORKEY *pColorKey) { 5698 return This->lpVtbl->OnColorKeyChange(This,pColorKey); 5699 } 5700 static FORCEINLINE HRESULT IOverlayNotify_OnPositionChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect) { 5701 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); 5702 } 5703 #endif 5704 #endif 5705 5706 #endif 5707 5708 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy( 5709 IOverlayNotify* This, 5710 DWORD dwColors, 5711 const PALETTEENTRY *pPalette); 5712 void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub( 5713 IRpcStubBuffer* This, 5714 IRpcChannelBuffer* pRpcChannelBuffer, 5715 PRPC_MESSAGE pRpcMessage, 5716 DWORD* pdwStubPhase); 5717 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy( 5718 IOverlayNotify* This, 5719 const RECT *pSourceRect, 5720 const RECT *pDestinationRect, 5721 const RGNDATA *pRgnData); 5722 void __RPC_STUB IOverlayNotify_OnClipChange_Stub( 5723 IRpcStubBuffer* This, 5724 IRpcChannelBuffer* pRpcChannelBuffer, 5725 PRPC_MESSAGE pRpcMessage, 5726 DWORD* pdwStubPhase); 5727 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy( 5728 IOverlayNotify* This, 5729 const COLORKEY *pColorKey); 5730 void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub( 5731 IRpcStubBuffer* This, 5732 IRpcChannelBuffer* pRpcChannelBuffer, 5733 PRPC_MESSAGE pRpcMessage, 5734 DWORD* pdwStubPhase); 5735 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy( 5736 IOverlayNotify* This, 5737 const RECT *pSourceRect, 5738 const RECT *pDestinationRect); 5739 void __RPC_STUB IOverlayNotify_OnPositionChange_Stub( 5740 IRpcStubBuffer* This, 5741 IRpcChannelBuffer* pRpcChannelBuffer, 5742 PRPC_MESSAGE pRpcMessage, 5743 DWORD* pdwStubPhase); 5744 5745 #endif /* __IOverlayNotify_INTERFACE_DEFINED__ */ 5746 5747 typedef IOverlayNotify *POVERLAYNOTIFY; 5748 #if 0 5749 typedef HANDLE HMONITOR; 5750 #endif /* 0 */ 5751 /***************************************************************************** 5752 * IOverlayNotify2 interface 5753 */ 5754 #ifndef __IOverlayNotify2_INTERFACE_DEFINED__ 5755 #define __IOverlayNotify2_INTERFACE_DEFINED__ 5756 5757 DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96); 5758 #if defined(__cplusplus) && !defined(CINTERFACE) 5759 MIDL_INTERFACE("680efa10-d535-11d1-87c8-00a0c9223196") 5760 IOverlayNotify2 : public IOverlayNotify 5761 { 5762 virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 5763 HMONITOR hMonitor) = 0; 5764 5765 }; 5766 #ifdef __CRT_UUID_DECL 5767 __CRT_UUID_DECL(IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96) 5768 #endif 5769 #else 5770 typedef struct IOverlayNotify2Vtbl { 5771 BEGIN_INTERFACE 5772 5773 /*** IUnknown methods ***/ 5774 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5775 IOverlayNotify2* This, 5776 REFIID riid, 5777 void **ppvObject); 5778 5779 ULONG (STDMETHODCALLTYPE *AddRef)( 5780 IOverlayNotify2* This); 5781 5782 ULONG (STDMETHODCALLTYPE *Release)( 5783 IOverlayNotify2* This); 5784 5785 /*** IOverlayNotify methods ***/ 5786 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( 5787 IOverlayNotify2* This, 5788 DWORD dwColors, 5789 const PALETTEENTRY *pPalette); 5790 5791 HRESULT (STDMETHODCALLTYPE *OnClipChange)( 5792 IOverlayNotify2* This, 5793 const RECT *pSourceRect, 5794 const RECT *pDestinationRect, 5795 const RGNDATA *pRgnData); 5796 5797 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( 5798 IOverlayNotify2* This, 5799 const COLORKEY *pColorKey); 5800 5801 HRESULT (STDMETHODCALLTYPE *OnPositionChange)( 5802 IOverlayNotify2* This, 5803 const RECT *pSourceRect, 5804 const RECT *pDestinationRect); 5805 5806 /*** IOverlayNotify2 methods ***/ 5807 HRESULT (STDMETHODCALLTYPE *OnDisplayChange)( 5808 IOverlayNotify2* This, 5809 HMONITOR hMonitor); 5810 5811 END_INTERFACE 5812 } IOverlayNotify2Vtbl; 5813 interface IOverlayNotify2 { 5814 CONST_VTBL IOverlayNotify2Vtbl* lpVtbl; 5815 }; 5816 5817 #ifdef COBJMACROS 5818 #ifndef WIDL_C_INLINE_WRAPPERS 5819 /*** IUnknown methods ***/ 5820 #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5821 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This) 5822 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This) 5823 /*** IOverlayNotify methods ***/ 5824 #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) 5825 #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) 5826 #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) 5827 #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) 5828 /*** IOverlayNotify2 methods ***/ 5829 #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor) 5830 #else 5831 /*** IUnknown methods ***/ 5832 static FORCEINLINE HRESULT IOverlayNotify2_QueryInterface(IOverlayNotify2* This,REFIID riid,void **ppvObject) { 5833 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5834 } 5835 static FORCEINLINE ULONG IOverlayNotify2_AddRef(IOverlayNotify2* This) { 5836 return This->lpVtbl->AddRef(This); 5837 } 5838 static FORCEINLINE ULONG IOverlayNotify2_Release(IOverlayNotify2* This) { 5839 return This->lpVtbl->Release(This); 5840 } 5841 /*** IOverlayNotify methods ***/ 5842 static FORCEINLINE HRESULT IOverlayNotify2_OnPaletteChange(IOverlayNotify2* This,DWORD dwColors,const PALETTEENTRY *pPalette) { 5843 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); 5844 } 5845 static FORCEINLINE HRESULT IOverlayNotify2_OnClipChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { 5846 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); 5847 } 5848 static FORCEINLINE HRESULT IOverlayNotify2_OnColorKeyChange(IOverlayNotify2* This,const COLORKEY *pColorKey) { 5849 return This->lpVtbl->OnColorKeyChange(This,pColorKey); 5850 } 5851 static FORCEINLINE HRESULT IOverlayNotify2_OnPositionChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect) { 5852 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); 5853 } 5854 /*** IOverlayNotify2 methods ***/ 5855 static FORCEINLINE HRESULT IOverlayNotify2_OnDisplayChange(IOverlayNotify2* This,HMONITOR hMonitor) { 5856 return This->lpVtbl->OnDisplayChange(This,hMonitor); 5857 } 5858 #endif 5859 #endif 5860 5861 #endif 5862 5863 HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy( 5864 IOverlayNotify2* This, 5865 HMONITOR hMonitor); 5866 void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub( 5867 IRpcStubBuffer* This, 5868 IRpcChannelBuffer* pRpcChannelBuffer, 5869 PRPC_MESSAGE pRpcMessage, 5870 DWORD* pdwStubPhase); 5871 5872 #endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */ 5873 5874 typedef IOverlayNotify2 *POVERLAYNOTIFY2; 5875 /***************************************************************************** 5876 * IOverlay interface 5877 */ 5878 #ifndef __IOverlay_INTERFACE_DEFINED__ 5879 #define __IOverlay_INTERFACE_DEFINED__ 5880 5881 DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5882 #if defined(__cplusplus) && !defined(CINTERFACE) 5883 MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770") 5884 IOverlay : public IUnknown 5885 { 5886 virtual HRESULT STDMETHODCALLTYPE GetPalette( 5887 DWORD *pdwColors, 5888 PALETTEENTRY **ppPalette) = 0; 5889 5890 virtual HRESULT STDMETHODCALLTYPE SetPalette( 5891 DWORD dwColors, 5892 PALETTEENTRY *pPalette) = 0; 5893 5894 virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 5895 COLORKEY *pColorKey) = 0; 5896 5897 virtual HRESULT STDMETHODCALLTYPE GetColorKey( 5898 COLORKEY *pColorKey) = 0; 5899 5900 virtual HRESULT STDMETHODCALLTYPE SetColorKey( 5901 COLORKEY *pColorKey) = 0; 5902 5903 virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 5904 HWND *pHwnd) = 0; 5905 5906 virtual HRESULT STDMETHODCALLTYPE GetClipList( 5907 RECT *pSourceRect, 5908 RECT *pDestinationRect, 5909 RGNDATA **ppRgnData) = 0; 5910 5911 virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 5912 RECT *pSourceRect, 5913 RECT *pDestinationRect) = 0; 5914 5915 virtual HRESULT STDMETHODCALLTYPE Advise( 5916 IOverlayNotify *pOverlayNotify, 5917 DWORD dwInterests) = 0; 5918 5919 virtual HRESULT STDMETHODCALLTYPE Unadvise( 5920 ) = 0; 5921 5922 }; 5923 #ifdef __CRT_UUID_DECL 5924 __CRT_UUID_DECL(IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5925 #endif 5926 #else 5927 typedef struct IOverlayVtbl { 5928 BEGIN_INTERFACE 5929 5930 /*** IUnknown methods ***/ 5931 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5932 IOverlay* This, 5933 REFIID riid, 5934 void **ppvObject); 5935 5936 ULONG (STDMETHODCALLTYPE *AddRef)( 5937 IOverlay* This); 5938 5939 ULONG (STDMETHODCALLTYPE *Release)( 5940 IOverlay* This); 5941 5942 /*** IOverlay methods ***/ 5943 HRESULT (STDMETHODCALLTYPE *GetPalette)( 5944 IOverlay* This, 5945 DWORD *pdwColors, 5946 PALETTEENTRY **ppPalette); 5947 5948 HRESULT (STDMETHODCALLTYPE *SetPalette)( 5949 IOverlay* This, 5950 DWORD dwColors, 5951 PALETTEENTRY *pPalette); 5952 5953 HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)( 5954 IOverlay* This, 5955 COLORKEY *pColorKey); 5956 5957 HRESULT (STDMETHODCALLTYPE *GetColorKey)( 5958 IOverlay* This, 5959 COLORKEY *pColorKey); 5960 5961 HRESULT (STDMETHODCALLTYPE *SetColorKey)( 5962 IOverlay* This, 5963 COLORKEY *pColorKey); 5964 5965 HRESULT (STDMETHODCALLTYPE *GetWindowHandle)( 5966 IOverlay* This, 5967 HWND *pHwnd); 5968 5969 HRESULT (STDMETHODCALLTYPE *GetClipList)( 5970 IOverlay* This, 5971 RECT *pSourceRect, 5972 RECT *pDestinationRect, 5973 RGNDATA **ppRgnData); 5974 5975 HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( 5976 IOverlay* This, 5977 RECT *pSourceRect, 5978 RECT *pDestinationRect); 5979 5980 HRESULT (STDMETHODCALLTYPE *Advise)( 5981 IOverlay* This, 5982 IOverlayNotify *pOverlayNotify, 5983 DWORD dwInterests); 5984 5985 HRESULT (STDMETHODCALLTYPE *Unadvise)( 5986 IOverlay* This); 5987 5988 END_INTERFACE 5989 } IOverlayVtbl; 5990 interface IOverlay { 5991 CONST_VTBL IOverlayVtbl* lpVtbl; 5992 }; 5993 5994 #ifdef COBJMACROS 5995 #ifndef WIDL_C_INLINE_WRAPPERS 5996 /*** IUnknown methods ***/ 5997 #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5998 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This) 5999 #define IOverlay_Release(This) (This)->lpVtbl->Release(This) 6000 /*** IOverlay methods ***/ 6001 #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette) 6002 #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette) 6003 #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey) 6004 #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey) 6005 #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey) 6006 #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd) 6007 #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) 6008 #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect) 6009 #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests) 6010 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This) 6011 #else 6012 /*** IUnknown methods ***/ 6013 static FORCEINLINE HRESULT IOverlay_QueryInterface(IOverlay* This,REFIID riid,void **ppvObject) { 6014 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6015 } 6016 static FORCEINLINE ULONG IOverlay_AddRef(IOverlay* This) { 6017 return This->lpVtbl->AddRef(This); 6018 } 6019 static FORCEINLINE ULONG IOverlay_Release(IOverlay* This) { 6020 return This->lpVtbl->Release(This); 6021 } 6022 /*** IOverlay methods ***/ 6023 static FORCEINLINE HRESULT IOverlay_GetPalette(IOverlay* This,DWORD *pdwColors,PALETTEENTRY **ppPalette) { 6024 return This->lpVtbl->GetPalette(This,pdwColors,ppPalette); 6025 } 6026 static FORCEINLINE HRESULT IOverlay_SetPalette(IOverlay* This,DWORD dwColors,PALETTEENTRY *pPalette) { 6027 return This->lpVtbl->SetPalette(This,dwColors,pPalette); 6028 } 6029 static FORCEINLINE HRESULT IOverlay_GetDefaultColorKey(IOverlay* This,COLORKEY *pColorKey) { 6030 return This->lpVtbl->GetDefaultColorKey(This,pColorKey); 6031 } 6032 static FORCEINLINE HRESULT IOverlay_GetColorKey(IOverlay* This,COLORKEY *pColorKey) { 6033 return This->lpVtbl->GetColorKey(This,pColorKey); 6034 } 6035 static FORCEINLINE HRESULT IOverlay_SetColorKey(IOverlay* This,COLORKEY *pColorKey) { 6036 return This->lpVtbl->SetColorKey(This,pColorKey); 6037 } 6038 static FORCEINLINE HRESULT IOverlay_GetWindowHandle(IOverlay* This,HWND *pHwnd) { 6039 return This->lpVtbl->GetWindowHandle(This,pHwnd); 6040 } 6041 static FORCEINLINE HRESULT IOverlay_GetClipList(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) { 6042 return This->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData); 6043 } 6044 static FORCEINLINE HRESULT IOverlay_GetVideoPosition(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect) { 6045 return This->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect); 6046 } 6047 static FORCEINLINE HRESULT IOverlay_Advise(IOverlay* This,IOverlayNotify *pOverlayNotify,DWORD dwInterests) { 6048 return This->lpVtbl->Advise(This,pOverlayNotify,dwInterests); 6049 } 6050 static FORCEINLINE HRESULT IOverlay_Unadvise(IOverlay* This) { 6051 return This->lpVtbl->Unadvise(This); 6052 } 6053 #endif 6054 #endif 6055 6056 #endif 6057 6058 HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy( 6059 IOverlay* This, 6060 DWORD *pdwColors, 6061 PALETTEENTRY **ppPalette); 6062 void __RPC_STUB IOverlay_GetPalette_Stub( 6063 IRpcStubBuffer* This, 6064 IRpcChannelBuffer* pRpcChannelBuffer, 6065 PRPC_MESSAGE pRpcMessage, 6066 DWORD* pdwStubPhase); 6067 HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy( 6068 IOverlay* This, 6069 DWORD dwColors, 6070 PALETTEENTRY *pPalette); 6071 void __RPC_STUB IOverlay_SetPalette_Stub( 6072 IRpcStubBuffer* This, 6073 IRpcChannelBuffer* pRpcChannelBuffer, 6074 PRPC_MESSAGE pRpcMessage, 6075 DWORD* pdwStubPhase); 6076 HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy( 6077 IOverlay* This, 6078 COLORKEY *pColorKey); 6079 void __RPC_STUB IOverlay_GetDefaultColorKey_Stub( 6080 IRpcStubBuffer* This, 6081 IRpcChannelBuffer* pRpcChannelBuffer, 6082 PRPC_MESSAGE pRpcMessage, 6083 DWORD* pdwStubPhase); 6084 HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy( 6085 IOverlay* This, 6086 COLORKEY *pColorKey); 6087 void __RPC_STUB IOverlay_GetColorKey_Stub( 6088 IRpcStubBuffer* This, 6089 IRpcChannelBuffer* pRpcChannelBuffer, 6090 PRPC_MESSAGE pRpcMessage, 6091 DWORD* pdwStubPhase); 6092 HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy( 6093 IOverlay* This, 6094 COLORKEY *pColorKey); 6095 void __RPC_STUB IOverlay_SetColorKey_Stub( 6096 IRpcStubBuffer* This, 6097 IRpcChannelBuffer* pRpcChannelBuffer, 6098 PRPC_MESSAGE pRpcMessage, 6099 DWORD* pdwStubPhase); 6100 HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy( 6101 IOverlay* This, 6102 HWND *pHwnd); 6103 void __RPC_STUB IOverlay_GetWindowHandle_Stub( 6104 IRpcStubBuffer* This, 6105 IRpcChannelBuffer* pRpcChannelBuffer, 6106 PRPC_MESSAGE pRpcMessage, 6107 DWORD* pdwStubPhase); 6108 HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy( 6109 IOverlay* This, 6110 RECT *pSourceRect, 6111 RECT *pDestinationRect, 6112 RGNDATA **ppRgnData); 6113 void __RPC_STUB IOverlay_GetClipList_Stub( 6114 IRpcStubBuffer* This, 6115 IRpcChannelBuffer* pRpcChannelBuffer, 6116 PRPC_MESSAGE pRpcMessage, 6117 DWORD* pdwStubPhase); 6118 HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy( 6119 IOverlay* This, 6120 RECT *pSourceRect, 6121 RECT *pDestinationRect); 6122 void __RPC_STUB IOverlay_GetVideoPosition_Stub( 6123 IRpcStubBuffer* This, 6124 IRpcChannelBuffer* pRpcChannelBuffer, 6125 PRPC_MESSAGE pRpcMessage, 6126 DWORD* pdwStubPhase); 6127 HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy( 6128 IOverlay* This, 6129 IOverlayNotify *pOverlayNotify, 6130 DWORD dwInterests); 6131 void __RPC_STUB IOverlay_Advise_Stub( 6132 IRpcStubBuffer* This, 6133 IRpcChannelBuffer* pRpcChannelBuffer, 6134 PRPC_MESSAGE pRpcMessage, 6135 DWORD* pdwStubPhase); 6136 HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy( 6137 IOverlay* This); 6138 void __RPC_STUB IOverlay_Unadvise_Stub( 6139 IRpcStubBuffer* This, 6140 IRpcChannelBuffer* pRpcChannelBuffer, 6141 PRPC_MESSAGE pRpcMessage, 6142 DWORD* pdwStubPhase); 6143 6144 #endif /* __IOverlay_INTERFACE_DEFINED__ */ 6145 6146 typedef IOverlay *POVERLAY; 6147 /***************************************************************************** 6148 * IMediaEventSink interface 6149 */ 6150 #ifndef __IMediaEventSink_INTERFACE_DEFINED__ 6151 #define __IMediaEventSink_INTERFACE_DEFINED__ 6152 6153 DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 6154 #if defined(__cplusplus) && !defined(CINTERFACE) 6155 MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770") 6156 IMediaEventSink : public IUnknown 6157 { 6158 virtual HRESULT STDMETHODCALLTYPE Notify( 6159 LONG EventCode, 6160 LONG_PTR EventParam1, 6161 LONG_PTR EventParam2) = 0; 6162 6163 }; 6164 #ifdef __CRT_UUID_DECL 6165 __CRT_UUID_DECL(IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 6166 #endif 6167 #else 6168 typedef struct IMediaEventSinkVtbl { 6169 BEGIN_INTERFACE 6170 6171 /*** IUnknown methods ***/ 6172 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6173 IMediaEventSink* This, 6174 REFIID riid, 6175 void **ppvObject); 6176 6177 ULONG (STDMETHODCALLTYPE *AddRef)( 6178 IMediaEventSink* This); 6179 6180 ULONG (STDMETHODCALLTYPE *Release)( 6181 IMediaEventSink* This); 6182 6183 /*** IMediaEventSink methods ***/ 6184 HRESULT (STDMETHODCALLTYPE *Notify)( 6185 IMediaEventSink* This, 6186 LONG EventCode, 6187 LONG_PTR EventParam1, 6188 LONG_PTR EventParam2); 6189 6190 END_INTERFACE 6191 } IMediaEventSinkVtbl; 6192 interface IMediaEventSink { 6193 CONST_VTBL IMediaEventSinkVtbl* lpVtbl; 6194 }; 6195 6196 #ifdef COBJMACROS 6197 #ifndef WIDL_C_INLINE_WRAPPERS 6198 /*** IUnknown methods ***/ 6199 #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6200 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) 6201 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This) 6202 /*** IMediaEventSink methods ***/ 6203 #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2) 6204 #else 6205 /*** IUnknown methods ***/ 6206 static FORCEINLINE HRESULT IMediaEventSink_QueryInterface(IMediaEventSink* This,REFIID riid,void **ppvObject) { 6207 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6208 } 6209 static FORCEINLINE ULONG IMediaEventSink_AddRef(IMediaEventSink* This) { 6210 return This->lpVtbl->AddRef(This); 6211 } 6212 static FORCEINLINE ULONG IMediaEventSink_Release(IMediaEventSink* This) { 6213 return This->lpVtbl->Release(This); 6214 } 6215 /*** IMediaEventSink methods ***/ 6216 static FORCEINLINE HRESULT IMediaEventSink_Notify(IMediaEventSink* This,LONG EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) { 6217 return This->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2); 6218 } 6219 #endif 6220 #endif 6221 6222 #endif 6223 6224 HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy( 6225 IMediaEventSink* This, 6226 LONG EventCode, 6227 LONG_PTR EventParam1, 6228 LONG_PTR EventParam2); 6229 void __RPC_STUB IMediaEventSink_Notify_Stub( 6230 IRpcStubBuffer* This, 6231 IRpcChannelBuffer* pRpcChannelBuffer, 6232 PRPC_MESSAGE pRpcMessage, 6233 DWORD* pdwStubPhase); 6234 6235 #endif /* __IMediaEventSink_INTERFACE_DEFINED__ */ 6236 6237 typedef IMediaEventSink *PMEDIAEVENTSINK; 6238 /***************************************************************************** 6239 * IFileSourceFilter interface 6240 */ 6241 #ifndef __IFileSourceFilter_INTERFACE_DEFINED__ 6242 #define __IFileSourceFilter_INTERFACE_DEFINED__ 6243 6244 DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 6245 #if defined(__cplusplus) && !defined(CINTERFACE) 6246 MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770") 6247 IFileSourceFilter : public IUnknown 6248 { 6249 virtual HRESULT STDMETHODCALLTYPE Load( 6250 LPCOLESTR pszFileName, 6251 const AM_MEDIA_TYPE *pmt) = 0; 6252 6253 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 6254 LPOLESTR *ppszFileName, 6255 AM_MEDIA_TYPE *pmt) = 0; 6256 6257 }; 6258 #ifdef __CRT_UUID_DECL 6259 __CRT_UUID_DECL(IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 6260 #endif 6261 #else 6262 typedef struct IFileSourceFilterVtbl { 6263 BEGIN_INTERFACE 6264 6265 /*** IUnknown methods ***/ 6266 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6267 IFileSourceFilter* This, 6268 REFIID riid, 6269 void **ppvObject); 6270 6271 ULONG (STDMETHODCALLTYPE *AddRef)( 6272 IFileSourceFilter* This); 6273 6274 ULONG (STDMETHODCALLTYPE *Release)( 6275 IFileSourceFilter* This); 6276 6277 /*** IFileSourceFilter methods ***/ 6278 HRESULT (STDMETHODCALLTYPE *Load)( 6279 IFileSourceFilter* This, 6280 LPCOLESTR pszFileName, 6281 const AM_MEDIA_TYPE *pmt); 6282 6283 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 6284 IFileSourceFilter* This, 6285 LPOLESTR *ppszFileName, 6286 AM_MEDIA_TYPE *pmt); 6287 6288 END_INTERFACE 6289 } IFileSourceFilterVtbl; 6290 interface IFileSourceFilter { 6291 CONST_VTBL IFileSourceFilterVtbl* lpVtbl; 6292 }; 6293 6294 #ifdef COBJMACROS 6295 #ifndef WIDL_C_INLINE_WRAPPERS 6296 /*** IUnknown methods ***/ 6297 #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6298 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 6299 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This) 6300 /*** IFileSourceFilter methods ***/ 6301 #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt) 6302 #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 6303 #else 6304 /*** IUnknown methods ***/ 6305 static FORCEINLINE HRESULT IFileSourceFilter_QueryInterface(IFileSourceFilter* This,REFIID riid,void **ppvObject) { 6306 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6307 } 6308 static FORCEINLINE ULONG IFileSourceFilter_AddRef(IFileSourceFilter* This) { 6309 return This->lpVtbl->AddRef(This); 6310 } 6311 static FORCEINLINE ULONG IFileSourceFilter_Release(IFileSourceFilter* This) { 6312 return This->lpVtbl->Release(This); 6313 } 6314 /*** IFileSourceFilter methods ***/ 6315 static FORCEINLINE HRESULT IFileSourceFilter_Load(IFileSourceFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 6316 return This->lpVtbl->Load(This,pszFileName,pmt); 6317 } 6318 static FORCEINLINE HRESULT IFileSourceFilter_GetCurFile(IFileSourceFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 6319 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 6320 } 6321 #endif 6322 #endif 6323 6324 #endif 6325 6326 HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy( 6327 IFileSourceFilter* This, 6328 LPCOLESTR pszFileName, 6329 const AM_MEDIA_TYPE *pmt); 6330 void __RPC_STUB IFileSourceFilter_Load_Stub( 6331 IRpcStubBuffer* This, 6332 IRpcChannelBuffer* pRpcChannelBuffer, 6333 PRPC_MESSAGE pRpcMessage, 6334 DWORD* pdwStubPhase); 6335 HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy( 6336 IFileSourceFilter* This, 6337 LPOLESTR *ppszFileName, 6338 AM_MEDIA_TYPE *pmt); 6339 void __RPC_STUB IFileSourceFilter_GetCurFile_Stub( 6340 IRpcStubBuffer* This, 6341 IRpcChannelBuffer* pRpcChannelBuffer, 6342 PRPC_MESSAGE pRpcMessage, 6343 DWORD* pdwStubPhase); 6344 6345 #endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */ 6346 6347 typedef IFileSourceFilter *PFILTERFILESOURCE; 6348 /***************************************************************************** 6349 * IFileSinkFilter interface 6350 */ 6351 #ifndef __IFileSinkFilter_INTERFACE_DEFINED__ 6352 #define __IFileSinkFilter_INTERFACE_DEFINED__ 6353 6354 DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); 6355 #if defined(__cplusplus) && !defined(CINTERFACE) 6356 MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6") 6357 IFileSinkFilter : public IUnknown 6358 { 6359 virtual HRESULT STDMETHODCALLTYPE SetFileName( 6360 LPCOLESTR pszFileName, 6361 const AM_MEDIA_TYPE *pmt) = 0; 6362 6363 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 6364 LPOLESTR *ppszFileName, 6365 AM_MEDIA_TYPE *pmt) = 0; 6366 6367 }; 6368 #ifdef __CRT_UUID_DECL 6369 __CRT_UUID_DECL(IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) 6370 #endif 6371 #else 6372 typedef struct IFileSinkFilterVtbl { 6373 BEGIN_INTERFACE 6374 6375 /*** IUnknown methods ***/ 6376 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6377 IFileSinkFilter* This, 6378 REFIID riid, 6379 void **ppvObject); 6380 6381 ULONG (STDMETHODCALLTYPE *AddRef)( 6382 IFileSinkFilter* This); 6383 6384 ULONG (STDMETHODCALLTYPE *Release)( 6385 IFileSinkFilter* This); 6386 6387 /*** IFileSinkFilter methods ***/ 6388 HRESULT (STDMETHODCALLTYPE *SetFileName)( 6389 IFileSinkFilter* This, 6390 LPCOLESTR pszFileName, 6391 const AM_MEDIA_TYPE *pmt); 6392 6393 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 6394 IFileSinkFilter* This, 6395 LPOLESTR *ppszFileName, 6396 AM_MEDIA_TYPE *pmt); 6397 6398 END_INTERFACE 6399 } IFileSinkFilterVtbl; 6400 interface IFileSinkFilter { 6401 CONST_VTBL IFileSinkFilterVtbl* lpVtbl; 6402 }; 6403 6404 #ifdef COBJMACROS 6405 #ifndef WIDL_C_INLINE_WRAPPERS 6406 /*** IUnknown methods ***/ 6407 #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6408 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 6409 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This) 6410 /*** IFileSinkFilter methods ***/ 6411 #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) 6412 #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 6413 #else 6414 /*** IUnknown methods ***/ 6415 static FORCEINLINE HRESULT IFileSinkFilter_QueryInterface(IFileSinkFilter* This,REFIID riid,void **ppvObject) { 6416 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6417 } 6418 static FORCEINLINE ULONG IFileSinkFilter_AddRef(IFileSinkFilter* This) { 6419 return This->lpVtbl->AddRef(This); 6420 } 6421 static FORCEINLINE ULONG IFileSinkFilter_Release(IFileSinkFilter* This) { 6422 return This->lpVtbl->Release(This); 6423 } 6424 /*** IFileSinkFilter methods ***/ 6425 static FORCEINLINE HRESULT IFileSinkFilter_SetFileName(IFileSinkFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 6426 return This->lpVtbl->SetFileName(This,pszFileName,pmt); 6427 } 6428 static FORCEINLINE HRESULT IFileSinkFilter_GetCurFile(IFileSinkFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 6429 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 6430 } 6431 #endif 6432 #endif 6433 6434 #endif 6435 6436 HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy( 6437 IFileSinkFilter* This, 6438 LPCOLESTR pszFileName, 6439 const AM_MEDIA_TYPE *pmt); 6440 void __RPC_STUB IFileSinkFilter_SetFileName_Stub( 6441 IRpcStubBuffer* This, 6442 IRpcChannelBuffer* pRpcChannelBuffer, 6443 PRPC_MESSAGE pRpcMessage, 6444 DWORD* pdwStubPhase); 6445 HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy( 6446 IFileSinkFilter* This, 6447 LPOLESTR *ppszFileName, 6448 AM_MEDIA_TYPE *pmt); 6449 void __RPC_STUB IFileSinkFilter_GetCurFile_Stub( 6450 IRpcStubBuffer* This, 6451 IRpcChannelBuffer* pRpcChannelBuffer, 6452 PRPC_MESSAGE pRpcMessage, 6453 DWORD* pdwStubPhase); 6454 6455 #endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */ 6456 6457 typedef IFileSinkFilter *PFILTERFILESINK; 6458 /***************************************************************************** 6459 * IFileSinkFilter2 interface 6460 */ 6461 #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__ 6462 #define __IFileSinkFilter2_INTERFACE_DEFINED__ 6463 6464 DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86); 6465 #if defined(__cplusplus) && !defined(CINTERFACE) 6466 MIDL_INTERFACE("00855b90-ce1b-11d0-bd4f-00a0c911ce86") 6467 IFileSinkFilter2 : public IFileSinkFilter 6468 { 6469 virtual HRESULT STDMETHODCALLTYPE SetMode( 6470 DWORD dwFlags) = 0; 6471 6472 virtual HRESULT STDMETHODCALLTYPE GetMode( 6473 DWORD *pdwFlags) = 0; 6474 6475 }; 6476 #ifdef __CRT_UUID_DECL 6477 __CRT_UUID_DECL(IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86) 6478 #endif 6479 #else 6480 typedef struct IFileSinkFilter2Vtbl { 6481 BEGIN_INTERFACE 6482 6483 /*** IUnknown methods ***/ 6484 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6485 IFileSinkFilter2* This, 6486 REFIID riid, 6487 void **ppvObject); 6488 6489 ULONG (STDMETHODCALLTYPE *AddRef)( 6490 IFileSinkFilter2* This); 6491 6492 ULONG (STDMETHODCALLTYPE *Release)( 6493 IFileSinkFilter2* This); 6494 6495 /*** IFileSinkFilter methods ***/ 6496 HRESULT (STDMETHODCALLTYPE *SetFileName)( 6497 IFileSinkFilter2* This, 6498 LPCOLESTR pszFileName, 6499 const AM_MEDIA_TYPE *pmt); 6500 6501 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 6502 IFileSinkFilter2* This, 6503 LPOLESTR *ppszFileName, 6504 AM_MEDIA_TYPE *pmt); 6505 6506 /*** IFileSinkFilter2 methods ***/ 6507 HRESULT (STDMETHODCALLTYPE *SetMode)( 6508 IFileSinkFilter2* This, 6509 DWORD dwFlags); 6510 6511 HRESULT (STDMETHODCALLTYPE *GetMode)( 6512 IFileSinkFilter2* This, 6513 DWORD *pdwFlags); 6514 6515 END_INTERFACE 6516 } IFileSinkFilter2Vtbl; 6517 interface IFileSinkFilter2 { 6518 CONST_VTBL IFileSinkFilter2Vtbl* lpVtbl; 6519 }; 6520 6521 #ifdef COBJMACROS 6522 #ifndef WIDL_C_INLINE_WRAPPERS 6523 /*** IUnknown methods ***/ 6524 #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6525 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This) 6526 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This) 6527 /*** IFileSinkFilter methods ***/ 6528 #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) 6529 #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 6530 /*** IFileSinkFilter2 methods ***/ 6531 #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags) 6532 #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags) 6533 #else 6534 /*** IUnknown methods ***/ 6535 static FORCEINLINE HRESULT IFileSinkFilter2_QueryInterface(IFileSinkFilter2* This,REFIID riid,void **ppvObject) { 6536 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6537 } 6538 static FORCEINLINE ULONG IFileSinkFilter2_AddRef(IFileSinkFilter2* This) { 6539 return This->lpVtbl->AddRef(This); 6540 } 6541 static FORCEINLINE ULONG IFileSinkFilter2_Release(IFileSinkFilter2* This) { 6542 return This->lpVtbl->Release(This); 6543 } 6544 /*** IFileSinkFilter methods ***/ 6545 static FORCEINLINE HRESULT IFileSinkFilter2_SetFileName(IFileSinkFilter2* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 6546 return This->lpVtbl->SetFileName(This,pszFileName,pmt); 6547 } 6548 static FORCEINLINE HRESULT IFileSinkFilter2_GetCurFile(IFileSinkFilter2* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 6549 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 6550 } 6551 /*** IFileSinkFilter2 methods ***/ 6552 static FORCEINLINE HRESULT IFileSinkFilter2_SetMode(IFileSinkFilter2* This,DWORD dwFlags) { 6553 return This->lpVtbl->SetMode(This,dwFlags); 6554 } 6555 static FORCEINLINE HRESULT IFileSinkFilter2_GetMode(IFileSinkFilter2* This,DWORD *pdwFlags) { 6556 return This->lpVtbl->GetMode(This,pdwFlags); 6557 } 6558 #endif 6559 #endif 6560 6561 #endif 6562 6563 HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy( 6564 IFileSinkFilter2* This, 6565 DWORD dwFlags); 6566 void __RPC_STUB IFileSinkFilter2_SetMode_Stub( 6567 IRpcStubBuffer* This, 6568 IRpcChannelBuffer* pRpcChannelBuffer, 6569 PRPC_MESSAGE pRpcMessage, 6570 DWORD* pdwStubPhase); 6571 HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy( 6572 IFileSinkFilter2* This, 6573 DWORD *pdwFlags); 6574 void __RPC_STUB IFileSinkFilter2_GetMode_Stub( 6575 IRpcStubBuffer* This, 6576 IRpcChannelBuffer* pRpcChannelBuffer, 6577 PRPC_MESSAGE pRpcMessage, 6578 DWORD* pdwStubPhase); 6579 6580 #endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */ 6581 6582 typedef IFileSinkFilter2 *PFILESINKFILTER2; 6583 typedef enum __WIDL_strmif_generated_name_00000008 { 6584 AM_FILE_OVERWRITE = 0x1 6585 } AM_FILESINK_FLAGS; 6586 /***************************************************************************** 6587 * IGraphBuilder interface 6588 */ 6589 #ifndef __IGraphBuilder_INTERFACE_DEFINED__ 6590 #define __IGraphBuilder_INTERFACE_DEFINED__ 6591 6592 DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 6593 #if defined(__cplusplus) && !defined(CINTERFACE) 6594 MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770") 6595 IGraphBuilder : public IFilterGraph 6596 { 6597 virtual HRESULT STDMETHODCALLTYPE Connect( 6598 IPin *ppinOut, 6599 IPin *ppinIn) = 0; 6600 6601 virtual HRESULT STDMETHODCALLTYPE Render( 6602 IPin *ppinOut) = 0; 6603 6604 virtual HRESULT STDMETHODCALLTYPE RenderFile( 6605 LPCWSTR lpcwstrFile, 6606 LPCWSTR lpcwstrPlayList) = 0; 6607 6608 virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 6609 LPCWSTR lpcwstrFileName, 6610 LPCWSTR lpcwstrFilterName, 6611 IBaseFilter **ppFilter) = 0; 6612 6613 virtual HRESULT STDMETHODCALLTYPE SetLogFile( 6614 DWORD_PTR hFile) = 0; 6615 6616 virtual HRESULT STDMETHODCALLTYPE Abort( 6617 ) = 0; 6618 6619 virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( 6620 ) = 0; 6621 6622 }; 6623 #ifdef __CRT_UUID_DECL 6624 __CRT_UUID_DECL(IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 6625 #endif 6626 #else 6627 typedef struct IGraphBuilderVtbl { 6628 BEGIN_INTERFACE 6629 6630 /*** IUnknown methods ***/ 6631 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6632 IGraphBuilder* This, 6633 REFIID riid, 6634 void **ppvObject); 6635 6636 ULONG (STDMETHODCALLTYPE *AddRef)( 6637 IGraphBuilder* This); 6638 6639 ULONG (STDMETHODCALLTYPE *Release)( 6640 IGraphBuilder* This); 6641 6642 /*** IFilterGraph methods ***/ 6643 HRESULT (STDMETHODCALLTYPE *AddFilter)( 6644 IGraphBuilder* This, 6645 IBaseFilter *pFilter, 6646 LPCWSTR pName); 6647 6648 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 6649 IGraphBuilder* This, 6650 IBaseFilter *pFilter); 6651 6652 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 6653 IGraphBuilder* This, 6654 IEnumFilters **ppEnum); 6655 6656 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 6657 IGraphBuilder* This, 6658 LPCWSTR pName, 6659 IBaseFilter **ppFilter); 6660 6661 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 6662 IGraphBuilder* This, 6663 IPin *ppinOut, 6664 IPin *ppinIn, 6665 const AM_MEDIA_TYPE *pmt); 6666 6667 HRESULT (STDMETHODCALLTYPE *Reconnect)( 6668 IGraphBuilder* This, 6669 IPin *ppin); 6670 6671 HRESULT (STDMETHODCALLTYPE *Disconnect)( 6672 IGraphBuilder* This, 6673 IPin *ppin); 6674 6675 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 6676 IGraphBuilder* This); 6677 6678 /*** IGraphBuilder methods ***/ 6679 HRESULT (STDMETHODCALLTYPE *Connect)( 6680 IGraphBuilder* This, 6681 IPin *ppinOut, 6682 IPin *ppinIn); 6683 6684 HRESULT (STDMETHODCALLTYPE *Render)( 6685 IGraphBuilder* This, 6686 IPin *ppinOut); 6687 6688 HRESULT (STDMETHODCALLTYPE *RenderFile)( 6689 IGraphBuilder* This, 6690 LPCWSTR lpcwstrFile, 6691 LPCWSTR lpcwstrPlayList); 6692 6693 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( 6694 IGraphBuilder* This, 6695 LPCWSTR lpcwstrFileName, 6696 LPCWSTR lpcwstrFilterName, 6697 IBaseFilter **ppFilter); 6698 6699 HRESULT (STDMETHODCALLTYPE *SetLogFile)( 6700 IGraphBuilder* This, 6701 DWORD_PTR hFile); 6702 6703 HRESULT (STDMETHODCALLTYPE *Abort)( 6704 IGraphBuilder* This); 6705 6706 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( 6707 IGraphBuilder* This); 6708 6709 END_INTERFACE 6710 } IGraphBuilderVtbl; 6711 interface IGraphBuilder { 6712 CONST_VTBL IGraphBuilderVtbl* lpVtbl; 6713 }; 6714 6715 #ifdef COBJMACROS 6716 #ifndef WIDL_C_INLINE_WRAPPERS 6717 /*** IUnknown methods ***/ 6718 #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6719 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 6720 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 6721 /*** IFilterGraph methods ***/ 6722 #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 6723 #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 6724 #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 6725 #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 6726 #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 6727 #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 6728 #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 6729 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 6730 /*** IGraphBuilder methods ***/ 6731 #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) 6732 #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) 6733 #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) 6734 #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) 6735 #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) 6736 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This) 6737 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) 6738 #else 6739 /*** IUnknown methods ***/ 6740 static FORCEINLINE HRESULT IGraphBuilder_QueryInterface(IGraphBuilder* This,REFIID riid,void **ppvObject) { 6741 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6742 } 6743 static FORCEINLINE ULONG IGraphBuilder_AddRef(IGraphBuilder* This) { 6744 return This->lpVtbl->AddRef(This); 6745 } 6746 static FORCEINLINE ULONG IGraphBuilder_Release(IGraphBuilder* This) { 6747 return This->lpVtbl->Release(This); 6748 } 6749 /*** IFilterGraph methods ***/ 6750 static FORCEINLINE HRESULT IGraphBuilder_AddFilter(IGraphBuilder* This,IBaseFilter *pFilter,LPCWSTR pName) { 6751 return This->lpVtbl->AddFilter(This,pFilter,pName); 6752 } 6753 static FORCEINLINE HRESULT IGraphBuilder_RemoveFilter(IGraphBuilder* This,IBaseFilter *pFilter) { 6754 return This->lpVtbl->RemoveFilter(This,pFilter); 6755 } 6756 static FORCEINLINE HRESULT IGraphBuilder_EnumFilters(IGraphBuilder* This,IEnumFilters **ppEnum) { 6757 return This->lpVtbl->EnumFilters(This,ppEnum); 6758 } 6759 static FORCEINLINE HRESULT IGraphBuilder_FindFilterByName(IGraphBuilder* This,LPCWSTR pName,IBaseFilter **ppFilter) { 6760 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 6761 } 6762 static FORCEINLINE HRESULT IGraphBuilder_ConnectDirect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 6763 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 6764 } 6765 static FORCEINLINE HRESULT IGraphBuilder_Reconnect(IGraphBuilder* This,IPin *ppin) { 6766 return This->lpVtbl->Reconnect(This,ppin); 6767 } 6768 static FORCEINLINE HRESULT IGraphBuilder_Disconnect(IGraphBuilder* This,IPin *ppin) { 6769 return This->lpVtbl->Disconnect(This,ppin); 6770 } 6771 static FORCEINLINE HRESULT IGraphBuilder_SetDefaultSyncSource(IGraphBuilder* This) { 6772 return This->lpVtbl->SetDefaultSyncSource(This); 6773 } 6774 /*** IGraphBuilder methods ***/ 6775 static FORCEINLINE HRESULT IGraphBuilder_Connect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn) { 6776 return This->lpVtbl->Connect(This,ppinOut,ppinIn); 6777 } 6778 static FORCEINLINE HRESULT IGraphBuilder_Render(IGraphBuilder* This,IPin *ppinOut) { 6779 return This->lpVtbl->Render(This,ppinOut); 6780 } 6781 static FORCEINLINE HRESULT IGraphBuilder_RenderFile(IGraphBuilder* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { 6782 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); 6783 } 6784 static FORCEINLINE HRESULT IGraphBuilder_AddSourceFilter(IGraphBuilder* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 6785 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); 6786 } 6787 static FORCEINLINE HRESULT IGraphBuilder_SetLogFile(IGraphBuilder* This,DWORD_PTR hFile) { 6788 return This->lpVtbl->SetLogFile(This,hFile); 6789 } 6790 static FORCEINLINE HRESULT IGraphBuilder_Abort(IGraphBuilder* This) { 6791 return This->lpVtbl->Abort(This); 6792 } 6793 static FORCEINLINE HRESULT IGraphBuilder_ShouldOperationContinue(IGraphBuilder* This) { 6794 return This->lpVtbl->ShouldOperationContinue(This); 6795 } 6796 #endif 6797 #endif 6798 6799 #endif 6800 6801 HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy( 6802 IGraphBuilder* This, 6803 IPin *ppinOut, 6804 IPin *ppinIn); 6805 void __RPC_STUB IGraphBuilder_Connect_Stub( 6806 IRpcStubBuffer* This, 6807 IRpcChannelBuffer* pRpcChannelBuffer, 6808 PRPC_MESSAGE pRpcMessage, 6809 DWORD* pdwStubPhase); 6810 HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy( 6811 IGraphBuilder* This, 6812 IPin *ppinOut); 6813 void __RPC_STUB IGraphBuilder_Render_Stub( 6814 IRpcStubBuffer* This, 6815 IRpcChannelBuffer* pRpcChannelBuffer, 6816 PRPC_MESSAGE pRpcMessage, 6817 DWORD* pdwStubPhase); 6818 HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy( 6819 IGraphBuilder* This, 6820 LPCWSTR lpcwstrFile, 6821 LPCWSTR lpcwstrPlayList); 6822 void __RPC_STUB IGraphBuilder_RenderFile_Stub( 6823 IRpcStubBuffer* This, 6824 IRpcChannelBuffer* pRpcChannelBuffer, 6825 PRPC_MESSAGE pRpcMessage, 6826 DWORD* pdwStubPhase); 6827 HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy( 6828 IGraphBuilder* This, 6829 LPCWSTR lpcwstrFileName, 6830 LPCWSTR lpcwstrFilterName, 6831 IBaseFilter **ppFilter); 6832 void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub( 6833 IRpcStubBuffer* This, 6834 IRpcChannelBuffer* pRpcChannelBuffer, 6835 PRPC_MESSAGE pRpcMessage, 6836 DWORD* pdwStubPhase); 6837 HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy( 6838 IGraphBuilder* This, 6839 DWORD_PTR hFile); 6840 void __RPC_STUB IGraphBuilder_SetLogFile_Stub( 6841 IRpcStubBuffer* This, 6842 IRpcChannelBuffer* pRpcChannelBuffer, 6843 PRPC_MESSAGE pRpcMessage, 6844 DWORD* pdwStubPhase); 6845 HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy( 6846 IGraphBuilder* This); 6847 void __RPC_STUB IGraphBuilder_Abort_Stub( 6848 IRpcStubBuffer* This, 6849 IRpcChannelBuffer* pRpcChannelBuffer, 6850 PRPC_MESSAGE pRpcMessage, 6851 DWORD* pdwStubPhase); 6852 HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy( 6853 IGraphBuilder* This); 6854 void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub( 6855 IRpcStubBuffer* This, 6856 IRpcChannelBuffer* pRpcChannelBuffer, 6857 PRPC_MESSAGE pRpcMessage, 6858 DWORD* pdwStubPhase); 6859 6860 #endif /* __IGraphBuilder_INTERFACE_DEFINED__ */ 6861 6862 /***************************************************************************** 6863 * ICaptureGraphBuilder interface 6864 */ 6865 #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__ 6866 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__ 6867 6868 DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 6869 #if defined(__cplusplus) && !defined(CINTERFACE) 6870 MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5") 6871 ICaptureGraphBuilder : public IUnknown 6872 { 6873 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 6874 IGraphBuilder *pfg) = 0; 6875 6876 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 6877 IGraphBuilder **ppfg) = 0; 6878 6879 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 6880 const GUID *pType, 6881 LPCOLESTR lpstrFile, 6882 IBaseFilter **ppf, 6883 IFileSinkFilter **ppSink) = 0; 6884 6885 virtual HRESULT STDMETHODCALLTYPE FindInterface( 6886 const GUID *pCategory, 6887 IBaseFilter *pf, 6888 REFIID riid, 6889 void **ppint) = 0; 6890 6891 virtual HRESULT STDMETHODCALLTYPE RenderStream( 6892 const GUID *pCategory, 6893 IUnknown *pSource, 6894 IBaseFilter *pfCompressor, 6895 IBaseFilter *pfRenderer) = 0; 6896 6897 virtual HRESULT STDMETHODCALLTYPE ControlStream( 6898 const GUID *pCategory, 6899 IBaseFilter *pFilter, 6900 REFERENCE_TIME *pstart, 6901 REFERENCE_TIME *pstop, 6902 WORD wStartCookie, 6903 WORD wStopCookie) = 0; 6904 6905 virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 6906 LPCOLESTR lpstr, 6907 DWORDLONG dwlSize) = 0; 6908 6909 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 6910 LPOLESTR lpwstrOld, 6911 LPOLESTR lpwstrNew, 6912 int fAllowEscAbort, 6913 IAMCopyCaptureFileProgress *pCallback) = 0; 6914 6915 }; 6916 #ifdef __CRT_UUID_DECL 6917 __CRT_UUID_DECL(ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 6918 #endif 6919 #else 6920 typedef struct ICaptureGraphBuilderVtbl { 6921 BEGIN_INTERFACE 6922 6923 /*** IUnknown methods ***/ 6924 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6925 ICaptureGraphBuilder* This, 6926 REFIID riid, 6927 void **ppvObject); 6928 6929 ULONG (STDMETHODCALLTYPE *AddRef)( 6930 ICaptureGraphBuilder* This); 6931 6932 ULONG (STDMETHODCALLTYPE *Release)( 6933 ICaptureGraphBuilder* This); 6934 6935 /*** ICaptureGraphBuilder methods ***/ 6936 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( 6937 ICaptureGraphBuilder* This, 6938 IGraphBuilder *pfg); 6939 6940 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( 6941 ICaptureGraphBuilder* This, 6942 IGraphBuilder **ppfg); 6943 6944 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( 6945 ICaptureGraphBuilder* This, 6946 const GUID *pType, 6947 LPCOLESTR lpstrFile, 6948 IBaseFilter **ppf, 6949 IFileSinkFilter **ppSink); 6950 6951 HRESULT (STDMETHODCALLTYPE *FindInterface)( 6952 ICaptureGraphBuilder* This, 6953 const GUID *pCategory, 6954 IBaseFilter *pf, 6955 REFIID riid, 6956 void **ppint); 6957 6958 HRESULT (STDMETHODCALLTYPE *RenderStream)( 6959 ICaptureGraphBuilder* This, 6960 const GUID *pCategory, 6961 IUnknown *pSource, 6962 IBaseFilter *pfCompressor, 6963 IBaseFilter *pfRenderer); 6964 6965 HRESULT (STDMETHODCALLTYPE *ControlStream)( 6966 ICaptureGraphBuilder* This, 6967 const GUID *pCategory, 6968 IBaseFilter *pFilter, 6969 REFERENCE_TIME *pstart, 6970 REFERENCE_TIME *pstop, 6971 WORD wStartCookie, 6972 WORD wStopCookie); 6973 6974 HRESULT (STDMETHODCALLTYPE *AllocCapFile)( 6975 ICaptureGraphBuilder* This, 6976 LPCOLESTR lpstr, 6977 DWORDLONG dwlSize); 6978 6979 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( 6980 ICaptureGraphBuilder* This, 6981 LPOLESTR lpwstrOld, 6982 LPOLESTR lpwstrNew, 6983 int fAllowEscAbort, 6984 IAMCopyCaptureFileProgress *pCallback); 6985 6986 END_INTERFACE 6987 } ICaptureGraphBuilderVtbl; 6988 interface ICaptureGraphBuilder { 6989 CONST_VTBL ICaptureGraphBuilderVtbl* lpVtbl; 6990 }; 6991 6992 #ifdef COBJMACROS 6993 #ifndef WIDL_C_INLINE_WRAPPERS 6994 /*** IUnknown methods ***/ 6995 #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6996 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 6997 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 6998 /*** ICaptureGraphBuilder methods ***/ 6999 #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) 7000 #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) 7001 #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) 7002 #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint) 7003 #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) 7004 #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) 7005 #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) 7006 #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) 7007 #else 7008 /*** IUnknown methods ***/ 7009 static FORCEINLINE HRESULT ICaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder* This,REFIID riid,void **ppvObject) { 7010 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7011 } 7012 static FORCEINLINE ULONG ICaptureGraphBuilder_AddRef(ICaptureGraphBuilder* This) { 7013 return This->lpVtbl->AddRef(This); 7014 } 7015 static FORCEINLINE ULONG ICaptureGraphBuilder_Release(ICaptureGraphBuilder* This) { 7016 return This->lpVtbl->Release(This); 7017 } 7018 /*** ICaptureGraphBuilder methods ***/ 7019 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder *pfg) { 7020 return This->lpVtbl->SetFiltergraph(This,pfg); 7021 } 7022 static FORCEINLINE HRESULT ICaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder **ppfg) { 7023 return This->lpVtbl->GetFiltergraph(This,ppfg); 7024 } 7025 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { 7026 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); 7027 } 7028 static FORCEINLINE HRESULT ICaptureGraphBuilder_FindInterface(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) { 7029 return This->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint); 7030 } 7031 static FORCEINLINE HRESULT ICaptureGraphBuilder_RenderStream(ICaptureGraphBuilder* This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { 7032 return This->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer); 7033 } 7034 static FORCEINLINE HRESULT ICaptureGraphBuilder_ControlStream(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) { 7035 return This->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie); 7036 } 7037 static FORCEINLINE HRESULT ICaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { 7038 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); 7039 } 7040 static FORCEINLINE HRESULT ICaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { 7041 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); 7042 } 7043 #endif 7044 #endif 7045 7046 #endif 7047 7048 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy( 7049 ICaptureGraphBuilder* This, 7050 IGraphBuilder *pfg); 7051 void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub( 7052 IRpcStubBuffer* This, 7053 IRpcChannelBuffer* pRpcChannelBuffer, 7054 PRPC_MESSAGE pRpcMessage, 7055 DWORD* pdwStubPhase); 7056 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy( 7057 ICaptureGraphBuilder* This, 7058 IGraphBuilder **ppfg); 7059 void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub( 7060 IRpcStubBuffer* This, 7061 IRpcChannelBuffer* pRpcChannelBuffer, 7062 PRPC_MESSAGE pRpcMessage, 7063 DWORD* pdwStubPhase); 7064 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy( 7065 ICaptureGraphBuilder* This, 7066 const GUID *pType, 7067 LPCOLESTR lpstrFile, 7068 IBaseFilter **ppf, 7069 IFileSinkFilter **ppSink); 7070 void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub( 7071 IRpcStubBuffer* This, 7072 IRpcChannelBuffer* pRpcChannelBuffer, 7073 PRPC_MESSAGE pRpcMessage, 7074 DWORD* pdwStubPhase); 7075 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( 7076 ICaptureGraphBuilder* This, 7077 const GUID *pCategory, 7078 IBaseFilter *pf, 7079 REFIID riid, 7080 IUnknown **ppint); 7081 void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub( 7082 IRpcStubBuffer* This, 7083 IRpcChannelBuffer* pRpcChannelBuffer, 7084 PRPC_MESSAGE pRpcMessage, 7085 DWORD* pdwStubPhase); 7086 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy( 7087 ICaptureGraphBuilder* This, 7088 const GUID *pCategory, 7089 IUnknown *pSource, 7090 IBaseFilter *pfCompressor, 7091 IBaseFilter *pfRenderer); 7092 void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub( 7093 IRpcStubBuffer* This, 7094 IRpcChannelBuffer* pRpcChannelBuffer, 7095 PRPC_MESSAGE pRpcMessage, 7096 DWORD* pdwStubPhase); 7097 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy( 7098 ICaptureGraphBuilder* This, 7099 const GUID *pCategory, 7100 IBaseFilter *pFilter, 7101 REFERENCE_TIME *pstart, 7102 REFERENCE_TIME *pstop, 7103 WORD wStartCookie, 7104 WORD wStopCookie); 7105 void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub( 7106 IRpcStubBuffer* This, 7107 IRpcChannelBuffer* pRpcChannelBuffer, 7108 PRPC_MESSAGE pRpcMessage, 7109 DWORD* pdwStubPhase); 7110 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy( 7111 ICaptureGraphBuilder* This, 7112 LPCOLESTR lpstr, 7113 DWORDLONG dwlSize); 7114 void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub( 7115 IRpcStubBuffer* This, 7116 IRpcChannelBuffer* pRpcChannelBuffer, 7117 PRPC_MESSAGE pRpcMessage, 7118 DWORD* pdwStubPhase); 7119 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy( 7120 ICaptureGraphBuilder* This, 7121 LPOLESTR lpwstrOld, 7122 LPOLESTR lpwstrNew, 7123 int fAllowEscAbort, 7124 IAMCopyCaptureFileProgress *pCallback); 7125 void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub( 7126 IRpcStubBuffer* This, 7127 IRpcChannelBuffer* pRpcChannelBuffer, 7128 PRPC_MESSAGE pRpcMessage, 7129 DWORD* pdwStubPhase); 7130 HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy( 7131 ICaptureGraphBuilder* This, 7132 const GUID *pCategory, 7133 IBaseFilter *pf, 7134 REFIID riid, 7135 void **ppint); 7136 HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub( 7137 ICaptureGraphBuilder* This, 7138 const GUID *pCategory, 7139 IBaseFilter *pf, 7140 REFIID riid, 7141 IUnknown **ppint); 7142 7143 #endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */ 7144 7145 /***************************************************************************** 7146 * IAMCopyCaptureFileProgress interface 7147 */ 7148 #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ 7149 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ 7150 7151 DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 7152 #if defined(__cplusplus) && !defined(CINTERFACE) 7153 MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5") 7154 IAMCopyCaptureFileProgress : public IUnknown 7155 { 7156 virtual HRESULT STDMETHODCALLTYPE Progress( 7157 int iProgress) = 0; 7158 7159 }; 7160 #ifdef __CRT_UUID_DECL 7161 __CRT_UUID_DECL(IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 7162 #endif 7163 #else 7164 typedef struct IAMCopyCaptureFileProgressVtbl { 7165 BEGIN_INTERFACE 7166 7167 /*** IUnknown methods ***/ 7168 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7169 IAMCopyCaptureFileProgress* This, 7170 REFIID riid, 7171 void **ppvObject); 7172 7173 ULONG (STDMETHODCALLTYPE *AddRef)( 7174 IAMCopyCaptureFileProgress* This); 7175 7176 ULONG (STDMETHODCALLTYPE *Release)( 7177 IAMCopyCaptureFileProgress* This); 7178 7179 /*** IAMCopyCaptureFileProgress methods ***/ 7180 HRESULT (STDMETHODCALLTYPE *Progress)( 7181 IAMCopyCaptureFileProgress* This, 7182 int iProgress); 7183 7184 END_INTERFACE 7185 } IAMCopyCaptureFileProgressVtbl; 7186 interface IAMCopyCaptureFileProgress { 7187 CONST_VTBL IAMCopyCaptureFileProgressVtbl* lpVtbl; 7188 }; 7189 7190 #ifdef COBJMACROS 7191 #ifndef WIDL_C_INLINE_WRAPPERS 7192 /*** IUnknown methods ***/ 7193 #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7194 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This) 7195 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This) 7196 /*** IAMCopyCaptureFileProgress methods ***/ 7197 #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress) 7198 #else 7199 /*** IUnknown methods ***/ 7200 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_QueryInterface(IAMCopyCaptureFileProgress* This,REFIID riid,void **ppvObject) { 7201 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7202 } 7203 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_AddRef(IAMCopyCaptureFileProgress* This) { 7204 return This->lpVtbl->AddRef(This); 7205 } 7206 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_Release(IAMCopyCaptureFileProgress* This) { 7207 return This->lpVtbl->Release(This); 7208 } 7209 /*** IAMCopyCaptureFileProgress methods ***/ 7210 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_Progress(IAMCopyCaptureFileProgress* This,int iProgress) { 7211 return This->lpVtbl->Progress(This,iProgress); 7212 } 7213 #endif 7214 #endif 7215 7216 #endif 7217 7218 HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy( 7219 IAMCopyCaptureFileProgress* This, 7220 int iProgress); 7221 void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub( 7222 IRpcStubBuffer* This, 7223 IRpcChannelBuffer* pRpcChannelBuffer, 7224 PRPC_MESSAGE pRpcMessage, 7225 DWORD* pdwStubPhase); 7226 7227 #endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */ 7228 7229 /***************************************************************************** 7230 * ICaptureGraphBuilder2 interface 7231 */ 7232 #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__ 7233 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__ 7234 7235 DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d); 7236 #if defined(__cplusplus) && !defined(CINTERFACE) 7237 MIDL_INTERFACE("93e5a4e0-2d50-11d2-abfa-00a0c9c6e38d") 7238 ICaptureGraphBuilder2 : public IUnknown 7239 { 7240 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 7241 IGraphBuilder *pfg) = 0; 7242 7243 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 7244 IGraphBuilder **ppfg) = 0; 7245 7246 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 7247 const GUID *pType, 7248 LPCOLESTR lpstrFile, 7249 IBaseFilter **ppf, 7250 IFileSinkFilter **ppSink) = 0; 7251 7252 virtual HRESULT STDMETHODCALLTYPE FindInterface( 7253 const GUID *pCategory, 7254 const GUID *pType, 7255 IBaseFilter *pf, 7256 REFIID riid, 7257 void **ppint) = 0; 7258 7259 virtual HRESULT STDMETHODCALLTYPE RenderStream( 7260 const GUID *pCategory, 7261 const GUID *pType, 7262 IUnknown *pSource, 7263 IBaseFilter *pfCompressor, 7264 IBaseFilter *pfRenderer) = 0; 7265 7266 virtual HRESULT STDMETHODCALLTYPE ControlStream( 7267 const GUID *pCategory, 7268 const GUID *pType, 7269 IBaseFilter *pFilter, 7270 REFERENCE_TIME *pstart, 7271 REFERENCE_TIME *pstop, 7272 WORD wStartCookie, 7273 WORD wStopCookie) = 0; 7274 7275 virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 7276 LPCOLESTR lpstr, 7277 DWORDLONG dwlSize) = 0; 7278 7279 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 7280 LPOLESTR lpwstrOld, 7281 LPOLESTR lpwstrNew, 7282 int fAllowEscAbort, 7283 IAMCopyCaptureFileProgress *pCallback) = 0; 7284 7285 virtual HRESULT STDMETHODCALLTYPE FindPin( 7286 IUnknown *pSource, 7287 PIN_DIRECTION pindir, 7288 const GUID *pCategory, 7289 const GUID *pType, 7290 WINBOOL fUnconnected, 7291 int num, 7292 IPin **ppPin) = 0; 7293 7294 }; 7295 #ifdef __CRT_UUID_DECL 7296 __CRT_UUID_DECL(ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d) 7297 #endif 7298 #else 7299 typedef struct ICaptureGraphBuilder2Vtbl { 7300 BEGIN_INTERFACE 7301 7302 /*** IUnknown methods ***/ 7303 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7304 ICaptureGraphBuilder2* This, 7305 REFIID riid, 7306 void **ppvObject); 7307 7308 ULONG (STDMETHODCALLTYPE *AddRef)( 7309 ICaptureGraphBuilder2* This); 7310 7311 ULONG (STDMETHODCALLTYPE *Release)( 7312 ICaptureGraphBuilder2* This); 7313 7314 /*** ICaptureGraphBuilder2 methods ***/ 7315 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( 7316 ICaptureGraphBuilder2* This, 7317 IGraphBuilder *pfg); 7318 7319 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( 7320 ICaptureGraphBuilder2* This, 7321 IGraphBuilder **ppfg); 7322 7323 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( 7324 ICaptureGraphBuilder2* This, 7325 const GUID *pType, 7326 LPCOLESTR lpstrFile, 7327 IBaseFilter **ppf, 7328 IFileSinkFilter **ppSink); 7329 7330 HRESULT (STDMETHODCALLTYPE *FindInterface)( 7331 ICaptureGraphBuilder2* This, 7332 const GUID *pCategory, 7333 const GUID *pType, 7334 IBaseFilter *pf, 7335 REFIID riid, 7336 void **ppint); 7337 7338 HRESULT (STDMETHODCALLTYPE *RenderStream)( 7339 ICaptureGraphBuilder2* This, 7340 const GUID *pCategory, 7341 const GUID *pType, 7342 IUnknown *pSource, 7343 IBaseFilter *pfCompressor, 7344 IBaseFilter *pfRenderer); 7345 7346 HRESULT (STDMETHODCALLTYPE *ControlStream)( 7347 ICaptureGraphBuilder2* This, 7348 const GUID *pCategory, 7349 const GUID *pType, 7350 IBaseFilter *pFilter, 7351 REFERENCE_TIME *pstart, 7352 REFERENCE_TIME *pstop, 7353 WORD wStartCookie, 7354 WORD wStopCookie); 7355 7356 HRESULT (STDMETHODCALLTYPE *AllocCapFile)( 7357 ICaptureGraphBuilder2* This, 7358 LPCOLESTR lpstr, 7359 DWORDLONG dwlSize); 7360 7361 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( 7362 ICaptureGraphBuilder2* This, 7363 LPOLESTR lpwstrOld, 7364 LPOLESTR lpwstrNew, 7365 int fAllowEscAbort, 7366 IAMCopyCaptureFileProgress *pCallback); 7367 7368 HRESULT (STDMETHODCALLTYPE *FindPin)( 7369 ICaptureGraphBuilder2* This, 7370 IUnknown *pSource, 7371 PIN_DIRECTION pindir, 7372 const GUID *pCategory, 7373 const GUID *pType, 7374 WINBOOL fUnconnected, 7375 int num, 7376 IPin **ppPin); 7377 7378 END_INTERFACE 7379 } ICaptureGraphBuilder2Vtbl; 7380 interface ICaptureGraphBuilder2 { 7381 CONST_VTBL ICaptureGraphBuilder2Vtbl* lpVtbl; 7382 }; 7383 7384 #ifdef COBJMACROS 7385 #ifndef WIDL_C_INLINE_WRAPPERS 7386 /*** IUnknown methods ***/ 7387 #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7388 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) 7389 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This) 7390 /*** ICaptureGraphBuilder2 methods ***/ 7391 #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) 7392 #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) 7393 #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) 7394 #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint) 7395 #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) 7396 #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) 7397 #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) 7398 #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) 7399 #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) 7400 #else 7401 /*** IUnknown methods ***/ 7402 static FORCEINLINE HRESULT ICaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2* This,REFIID riid,void **ppvObject) { 7403 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7404 } 7405 static FORCEINLINE ULONG ICaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2* This) { 7406 return This->lpVtbl->AddRef(This); 7407 } 7408 static FORCEINLINE ULONG ICaptureGraphBuilder2_Release(ICaptureGraphBuilder2* This) { 7409 return This->lpVtbl->Release(This); 7410 } 7411 /*** ICaptureGraphBuilder2 methods ***/ 7412 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder *pfg) { 7413 return This->lpVtbl->SetFiltergraph(This,pfg); 7414 } 7415 static FORCEINLINE HRESULT ICaptureGraphBuilder2_GetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder **ppfg) { 7416 return This->lpVtbl->GetFiltergraph(This,ppfg); 7417 } 7418 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { 7419 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); 7420 } 7421 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) { 7422 return This->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint); 7423 } 7424 static FORCEINLINE HRESULT ICaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { 7425 return This->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer); 7426 } 7427 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) { 7428 return This->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie); 7429 } 7430 static FORCEINLINE HRESULT ICaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { 7431 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); 7432 } 7433 static FORCEINLINE HRESULT ICaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { 7434 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); 7435 } 7436 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2* This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) { 7437 return This->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin); 7438 } 7439 #endif 7440 #endif 7441 7442 #endif 7443 7444 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy( 7445 ICaptureGraphBuilder2* This, 7446 IGraphBuilder *pfg); 7447 void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub( 7448 IRpcStubBuffer* This, 7449 IRpcChannelBuffer* pRpcChannelBuffer, 7450 PRPC_MESSAGE pRpcMessage, 7451 DWORD* pdwStubPhase); 7452 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy( 7453 ICaptureGraphBuilder2* This, 7454 IGraphBuilder **ppfg); 7455 void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub( 7456 IRpcStubBuffer* This, 7457 IRpcChannelBuffer* pRpcChannelBuffer, 7458 PRPC_MESSAGE pRpcMessage, 7459 DWORD* pdwStubPhase); 7460 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy( 7461 ICaptureGraphBuilder2* This, 7462 const GUID *pType, 7463 LPCOLESTR lpstrFile, 7464 IBaseFilter **ppf, 7465 IFileSinkFilter **ppSink); 7466 void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub( 7467 IRpcStubBuffer* This, 7468 IRpcChannelBuffer* pRpcChannelBuffer, 7469 PRPC_MESSAGE pRpcMessage, 7470 DWORD* pdwStubPhase); 7471 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( 7472 ICaptureGraphBuilder2* This, 7473 const GUID *pCategory, 7474 const GUID *pType, 7475 IBaseFilter *pf, 7476 REFIID riid, 7477 IUnknown **ppint); 7478 void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub( 7479 IRpcStubBuffer* This, 7480 IRpcChannelBuffer* pRpcChannelBuffer, 7481 PRPC_MESSAGE pRpcMessage, 7482 DWORD* pdwStubPhase); 7483 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy( 7484 ICaptureGraphBuilder2* This, 7485 const GUID *pCategory, 7486 const GUID *pType, 7487 IUnknown *pSource, 7488 IBaseFilter *pfCompressor, 7489 IBaseFilter *pfRenderer); 7490 void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub( 7491 IRpcStubBuffer* This, 7492 IRpcChannelBuffer* pRpcChannelBuffer, 7493 PRPC_MESSAGE pRpcMessage, 7494 DWORD* pdwStubPhase); 7495 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy( 7496 ICaptureGraphBuilder2* This, 7497 const GUID *pCategory, 7498 const GUID *pType, 7499 IBaseFilter *pFilter, 7500 REFERENCE_TIME *pstart, 7501 REFERENCE_TIME *pstop, 7502 WORD wStartCookie, 7503 WORD wStopCookie); 7504 void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub( 7505 IRpcStubBuffer* This, 7506 IRpcChannelBuffer* pRpcChannelBuffer, 7507 PRPC_MESSAGE pRpcMessage, 7508 DWORD* pdwStubPhase); 7509 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy( 7510 ICaptureGraphBuilder2* This, 7511 LPCOLESTR lpstr, 7512 DWORDLONG dwlSize); 7513 void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub( 7514 IRpcStubBuffer* This, 7515 IRpcChannelBuffer* pRpcChannelBuffer, 7516 PRPC_MESSAGE pRpcMessage, 7517 DWORD* pdwStubPhase); 7518 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy( 7519 ICaptureGraphBuilder2* This, 7520 LPOLESTR lpwstrOld, 7521 LPOLESTR lpwstrNew, 7522 int fAllowEscAbort, 7523 IAMCopyCaptureFileProgress *pCallback); 7524 void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub( 7525 IRpcStubBuffer* This, 7526 IRpcChannelBuffer* pRpcChannelBuffer, 7527 PRPC_MESSAGE pRpcMessage, 7528 DWORD* pdwStubPhase); 7529 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy( 7530 ICaptureGraphBuilder2* This, 7531 IUnknown *pSource, 7532 PIN_DIRECTION pindir, 7533 const GUID *pCategory, 7534 const GUID *pType, 7535 WINBOOL fUnconnected, 7536 int num, 7537 IPin **ppPin); 7538 void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub( 7539 IRpcStubBuffer* This, 7540 IRpcChannelBuffer* pRpcChannelBuffer, 7541 PRPC_MESSAGE pRpcMessage, 7542 DWORD* pdwStubPhase); 7543 HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy( 7544 ICaptureGraphBuilder2* This, 7545 const GUID *pCategory, 7546 const GUID *pType, 7547 IBaseFilter *pf, 7548 REFIID riid, 7549 void **ppint); 7550 HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub( 7551 ICaptureGraphBuilder2* This, 7552 const GUID *pCategory, 7553 const GUID *pType, 7554 IBaseFilter *pf, 7555 REFIID riid, 7556 IUnknown **ppint); 7557 7558 #endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */ 7559 7560 /***************************************************************************** 7561 * IConfigAviMux interface 7562 */ 7563 #ifndef __IConfigAviMux_INTERFACE_DEFINED__ 7564 #define __IConfigAviMux_INTERFACE_DEFINED__ 7565 7566 DEFINE_GUID(IID_IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); 7567 #if defined(__cplusplus) && !defined(CINTERFACE) 7568 MIDL_INTERFACE("5acd6aa0-f482-11ce-8b67-00aa00a3f1a6") 7569 IConfigAviMux : public IUnknown 7570 { 7571 virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 7572 LONG iStream) = 0; 7573 7574 virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 7575 LONG *pStream) = 0; 7576 7577 virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 7578 WINBOOL fOldIndex) = 0; 7579 7580 virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 7581 WINBOOL *pfOldIndex) = 0; 7582 7583 }; 7584 #ifdef __CRT_UUID_DECL 7585 __CRT_UUID_DECL(IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) 7586 #endif 7587 #else 7588 typedef struct IConfigAviMuxVtbl { 7589 BEGIN_INTERFACE 7590 7591 /*** IUnknown methods ***/ 7592 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7593 IConfigAviMux* This, 7594 REFIID riid, 7595 void **ppvObject); 7596 7597 ULONG (STDMETHODCALLTYPE *AddRef)( 7598 IConfigAviMux* This); 7599 7600 ULONG (STDMETHODCALLTYPE *Release)( 7601 IConfigAviMux* This); 7602 7603 /*** IConfigAviMux methods ***/ 7604 HRESULT (STDMETHODCALLTYPE *SetMasterStream)( 7605 IConfigAviMux* This, 7606 LONG iStream); 7607 7608 HRESULT (STDMETHODCALLTYPE *GetMasterStream)( 7609 IConfigAviMux* This, 7610 LONG *pStream); 7611 7612 HRESULT (STDMETHODCALLTYPE *SetOutputCompatibilityIndex)( 7613 IConfigAviMux* This, 7614 WINBOOL fOldIndex); 7615 7616 HRESULT (STDMETHODCALLTYPE *GetOutputCompatibilityIndex)( 7617 IConfigAviMux* This, 7618 WINBOOL *pfOldIndex); 7619 7620 END_INTERFACE 7621 } IConfigAviMuxVtbl; 7622 interface IConfigAviMux { 7623 CONST_VTBL IConfigAviMuxVtbl* lpVtbl; 7624 }; 7625 7626 #ifdef COBJMACROS 7627 #ifndef WIDL_C_INLINE_WRAPPERS 7628 /*** IUnknown methods ***/ 7629 #define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7630 #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This) 7631 #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This) 7632 /*** IConfigAviMux methods ***/ 7633 #define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream) 7634 #define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream) 7635 #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex) 7636 #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex) 7637 #else 7638 /*** IUnknown methods ***/ 7639 static FORCEINLINE HRESULT IConfigAviMux_QueryInterface(IConfigAviMux* This,REFIID riid,void **ppvObject) { 7640 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7641 } 7642 static FORCEINLINE ULONG IConfigAviMux_AddRef(IConfigAviMux* This) { 7643 return This->lpVtbl->AddRef(This); 7644 } 7645 static FORCEINLINE ULONG IConfigAviMux_Release(IConfigAviMux* This) { 7646 return This->lpVtbl->Release(This); 7647 } 7648 /*** IConfigAviMux methods ***/ 7649 static FORCEINLINE HRESULT IConfigAviMux_SetMasterStream(IConfigAviMux* This,LONG iStream) { 7650 return This->lpVtbl->SetMasterStream(This,iStream); 7651 } 7652 static FORCEINLINE HRESULT IConfigAviMux_GetMasterStream(IConfigAviMux* This,LONG *pStream) { 7653 return This->lpVtbl->GetMasterStream(This,pStream); 7654 } 7655 static FORCEINLINE HRESULT IConfigAviMux_SetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL fOldIndex) { 7656 return This->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex); 7657 } 7658 static FORCEINLINE HRESULT IConfigAviMux_GetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL *pfOldIndex) { 7659 return This->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex); 7660 } 7661 #endif 7662 #endif 7663 7664 #endif 7665 7666 HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy( 7667 IConfigAviMux* This, 7668 LONG iStream); 7669 void __RPC_STUB IConfigAviMux_SetMasterStream_Stub( 7670 IRpcStubBuffer* This, 7671 IRpcChannelBuffer* pRpcChannelBuffer, 7672 PRPC_MESSAGE pRpcMessage, 7673 DWORD* pdwStubPhase); 7674 HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy( 7675 IConfigAviMux* This, 7676 LONG *pStream); 7677 void __RPC_STUB IConfigAviMux_GetMasterStream_Stub( 7678 IRpcStubBuffer* This, 7679 IRpcChannelBuffer* pRpcChannelBuffer, 7680 PRPC_MESSAGE pRpcMessage, 7681 DWORD* pdwStubPhase); 7682 HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy( 7683 IConfigAviMux* This, 7684 WINBOOL fOldIndex); 7685 void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub( 7686 IRpcStubBuffer* This, 7687 IRpcChannelBuffer* pRpcChannelBuffer, 7688 PRPC_MESSAGE pRpcMessage, 7689 DWORD* pdwStubPhase); 7690 HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy( 7691 IConfigAviMux* This, 7692 WINBOOL *pfOldIndex); 7693 void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub( 7694 IRpcStubBuffer* This, 7695 IRpcChannelBuffer* pRpcChannelBuffer, 7696 PRPC_MESSAGE pRpcMessage, 7697 DWORD* pdwStubPhase); 7698 7699 #endif /* __IConfigAviMux_INTERFACE_DEFINED__ */ 7700 7701 /***************************************************************************** 7702 * IConfigInterleaving interface 7703 */ 7704 #ifndef __IConfigInterleaving_INTERFACE_DEFINED__ 7705 #define __IConfigInterleaving_INTERFACE_DEFINED__ 7706 7707 typedef enum InterleavingMode { 7708 INTERLEAVE_NONE = 0, 7709 INTERLEAVE_CAPTURE = 1, 7710 INTERLEAVE_FULL = 2, 7711 INTERLEAVE_NONE_BUFFERED = 3 7712 } InterleavingMode; 7713 DEFINE_GUID(IID_IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86); 7714 #if defined(__cplusplus) && !defined(CINTERFACE) 7715 MIDL_INTERFACE("bee3d220-157b-11d0-bd23-00a0c911ce86") 7716 IConfigInterleaving : public IUnknown 7717 { 7718 virtual HRESULT STDMETHODCALLTYPE put_Mode( 7719 InterleavingMode mode) = 0; 7720 7721 virtual HRESULT STDMETHODCALLTYPE get_Mode( 7722 InterleavingMode *pMode) = 0; 7723 7724 virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 7725 const REFERENCE_TIME *prtInterleave, 7726 const REFERENCE_TIME *prtPreroll) = 0; 7727 7728 virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 7729 REFERENCE_TIME *prtInterleave, 7730 REFERENCE_TIME *prtPreroll) = 0; 7731 7732 }; 7733 #ifdef __CRT_UUID_DECL 7734 __CRT_UUID_DECL(IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86) 7735 #endif 7736 #else 7737 typedef struct IConfigInterleavingVtbl { 7738 BEGIN_INTERFACE 7739 7740 /*** IUnknown methods ***/ 7741 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7742 IConfigInterleaving* This, 7743 REFIID riid, 7744 void **ppvObject); 7745 7746 ULONG (STDMETHODCALLTYPE *AddRef)( 7747 IConfigInterleaving* This); 7748 7749 ULONG (STDMETHODCALLTYPE *Release)( 7750 IConfigInterleaving* This); 7751 7752 /*** IConfigInterleaving methods ***/ 7753 HRESULT (STDMETHODCALLTYPE *put_Mode)( 7754 IConfigInterleaving* This, 7755 InterleavingMode mode); 7756 7757 HRESULT (STDMETHODCALLTYPE *get_Mode)( 7758 IConfigInterleaving* This, 7759 InterleavingMode *pMode); 7760 7761 HRESULT (STDMETHODCALLTYPE *put_Interleaving)( 7762 IConfigInterleaving* This, 7763 const REFERENCE_TIME *prtInterleave, 7764 const REFERENCE_TIME *prtPreroll); 7765 7766 HRESULT (STDMETHODCALLTYPE *get_Interleaving)( 7767 IConfigInterleaving* This, 7768 REFERENCE_TIME *prtInterleave, 7769 REFERENCE_TIME *prtPreroll); 7770 7771 END_INTERFACE 7772 } IConfigInterleavingVtbl; 7773 interface IConfigInterleaving { 7774 CONST_VTBL IConfigInterleavingVtbl* lpVtbl; 7775 }; 7776 7777 #ifdef COBJMACROS 7778 #ifndef WIDL_C_INLINE_WRAPPERS 7779 /*** IUnknown methods ***/ 7780 #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7781 #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This) 7782 #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This) 7783 /*** IConfigInterleaving methods ***/ 7784 #define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) 7785 #define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode) 7786 #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll) 7787 #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll) 7788 #else 7789 /*** IUnknown methods ***/ 7790 static FORCEINLINE HRESULT IConfigInterleaving_QueryInterface(IConfigInterleaving* This,REFIID riid,void **ppvObject) { 7791 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7792 } 7793 static FORCEINLINE ULONG IConfigInterleaving_AddRef(IConfigInterleaving* This) { 7794 return This->lpVtbl->AddRef(This); 7795 } 7796 static FORCEINLINE ULONG IConfigInterleaving_Release(IConfigInterleaving* This) { 7797 return This->lpVtbl->Release(This); 7798 } 7799 /*** IConfigInterleaving methods ***/ 7800 static FORCEINLINE HRESULT IConfigInterleaving_put_Mode(IConfigInterleaving* This,InterleavingMode mode) { 7801 return This->lpVtbl->put_Mode(This,mode); 7802 } 7803 static FORCEINLINE HRESULT IConfigInterleaving_get_Mode(IConfigInterleaving* This,InterleavingMode *pMode) { 7804 return This->lpVtbl->get_Mode(This,pMode); 7805 } 7806 static FORCEINLINE HRESULT IConfigInterleaving_put_Interleaving(IConfigInterleaving* This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) { 7807 return This->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll); 7808 } 7809 static FORCEINLINE HRESULT IConfigInterleaving_get_Interleaving(IConfigInterleaving* This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) { 7810 return This->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll); 7811 } 7812 #endif 7813 #endif 7814 7815 #endif 7816 7817 HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy( 7818 IConfigInterleaving* This, 7819 InterleavingMode mode); 7820 void __RPC_STUB IConfigInterleaving_put_Mode_Stub( 7821 IRpcStubBuffer* This, 7822 IRpcChannelBuffer* pRpcChannelBuffer, 7823 PRPC_MESSAGE pRpcMessage, 7824 DWORD* pdwStubPhase); 7825 HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy( 7826 IConfigInterleaving* This, 7827 InterleavingMode *pMode); 7828 void __RPC_STUB IConfigInterleaving_get_Mode_Stub( 7829 IRpcStubBuffer* This, 7830 IRpcChannelBuffer* pRpcChannelBuffer, 7831 PRPC_MESSAGE pRpcMessage, 7832 DWORD* pdwStubPhase); 7833 HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy( 7834 IConfigInterleaving* This, 7835 const REFERENCE_TIME *prtInterleave, 7836 const REFERENCE_TIME *prtPreroll); 7837 void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub( 7838 IRpcStubBuffer* This, 7839 IRpcChannelBuffer* pRpcChannelBuffer, 7840 PRPC_MESSAGE pRpcMessage, 7841 DWORD* pdwStubPhase); 7842 HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy( 7843 IConfigInterleaving* This, 7844 REFERENCE_TIME *prtInterleave, 7845 REFERENCE_TIME *prtPreroll); 7846 void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub( 7847 IRpcStubBuffer* This, 7848 IRpcChannelBuffer* pRpcChannelBuffer, 7849 PRPC_MESSAGE pRpcMessage, 7850 DWORD* pdwStubPhase); 7851 7852 #endif /* __IConfigInterleaving_INTERFACE_DEFINED__ */ 7853 7854 /***************************************************************************** 7855 * IAMClockSlave interface 7856 */ 7857 #ifndef __IAMClockSlave_INTERFACE_DEFINED__ 7858 #define __IAMClockSlave_INTERFACE_DEFINED__ 7859 7860 DEFINE_GUID(IID_IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe); 7861 #if defined(__cplusplus) && !defined(CINTERFACE) 7862 MIDL_INTERFACE("9fd52741-176d-4b36-8f51-ca8f933223be") 7863 IAMClockSlave : public IUnknown 7864 { 7865 virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance( 7866 DWORD dwTolerance) = 0; 7867 7868 virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance( 7869 DWORD *pdwTolerance) = 0; 7870 7871 }; 7872 #ifdef __CRT_UUID_DECL 7873 __CRT_UUID_DECL(IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe) 7874 #endif 7875 #else 7876 typedef struct IAMClockSlaveVtbl { 7877 BEGIN_INTERFACE 7878 7879 /*** IUnknown methods ***/ 7880 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7881 IAMClockSlave* This, 7882 REFIID riid, 7883 void **ppvObject); 7884 7885 ULONG (STDMETHODCALLTYPE *AddRef)( 7886 IAMClockSlave* This); 7887 7888 ULONG (STDMETHODCALLTYPE *Release)( 7889 IAMClockSlave* This); 7890 7891 /*** IAMClockSlave methods ***/ 7892 HRESULT (STDMETHODCALLTYPE *SetErrorTolerance)( 7893 IAMClockSlave* This, 7894 DWORD dwTolerance); 7895 7896 HRESULT (STDMETHODCALLTYPE *GetErrorTolerance)( 7897 IAMClockSlave* This, 7898 DWORD *pdwTolerance); 7899 7900 END_INTERFACE 7901 } IAMClockSlaveVtbl; 7902 interface IAMClockSlave { 7903 CONST_VTBL IAMClockSlaveVtbl* lpVtbl; 7904 }; 7905 7906 #ifdef COBJMACROS 7907 #ifndef WIDL_C_INLINE_WRAPPERS 7908 /*** IUnknown methods ***/ 7909 #define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7910 #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This) 7911 #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This) 7912 /*** IAMClockSlave methods ***/ 7913 #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance) 7914 #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance) 7915 #else 7916 /*** IUnknown methods ***/ 7917 static FORCEINLINE HRESULT IAMClockSlave_QueryInterface(IAMClockSlave* This,REFIID riid,void **ppvObject) { 7918 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7919 } 7920 static FORCEINLINE ULONG IAMClockSlave_AddRef(IAMClockSlave* This) { 7921 return This->lpVtbl->AddRef(This); 7922 } 7923 static FORCEINLINE ULONG IAMClockSlave_Release(IAMClockSlave* This) { 7924 return This->lpVtbl->Release(This); 7925 } 7926 /*** IAMClockSlave methods ***/ 7927 static FORCEINLINE HRESULT IAMClockSlave_SetErrorTolerance(IAMClockSlave* This,DWORD dwTolerance) { 7928 return This->lpVtbl->SetErrorTolerance(This,dwTolerance); 7929 } 7930 static FORCEINLINE HRESULT IAMClockSlave_GetErrorTolerance(IAMClockSlave* This,DWORD *pdwTolerance) { 7931 return This->lpVtbl->GetErrorTolerance(This,pdwTolerance); 7932 } 7933 #endif 7934 #endif 7935 7936 #endif 7937 7938 HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy( 7939 IAMClockSlave* This, 7940 DWORD dwTolerance); 7941 void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub( 7942 IRpcStubBuffer* This, 7943 IRpcChannelBuffer* pRpcChannelBuffer, 7944 PRPC_MESSAGE pRpcMessage, 7945 DWORD* pdwStubPhase); 7946 HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy( 7947 IAMClockSlave* This, 7948 DWORD *pdwTolerance); 7949 void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub( 7950 IRpcStubBuffer* This, 7951 IRpcChannelBuffer* pRpcChannelBuffer, 7952 PRPC_MESSAGE pRpcMessage, 7953 DWORD* pdwStubPhase); 7954 7955 #endif /* __IAMClockSlave_INTERFACE_DEFINED__ */ 7956 7957 typedef struct _AMCOPPSignature { 7958 BYTE Signature[256]; 7959 } AMCOPPSignature; 7960 typedef struct _AMCOPPCommand { 7961 GUID macKDI; 7962 GUID guidCommandID; 7963 DWORD dwSequence; 7964 DWORD bSizeData; 7965 BYTE CommandData[4056]; 7966 } AMCOPPCommand; 7967 typedef struct _AMCOPPCommand *LPAMCOPPCommand; 7968 typedef struct _AMCOPPStatusInput { 7969 GUID rApp; 7970 GUID guidStatusRequestID; 7971 DWORD dwSequence; 7972 DWORD cbSizeData; 7973 BYTE StatusData[4056]; 7974 } AMCOPPStatusInput; 7975 typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput; 7976 typedef struct _AMCOPPStatusOutput { 7977 GUID macKDI; 7978 DWORD cbSizeData; 7979 BYTE COPPStatus[4076]; 7980 } AMCOPPStatusOutput; 7981 typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput; 7982 /***************************************************************************** 7983 * IAMCertifiedOutputProtection interface 7984 */ 7985 #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ 7986 #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ 7987 7988 DEFINE_GUID(IID_IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15); 7989 #if defined(__cplusplus) && !defined(CINTERFACE) 7990 MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515") 7991 IAMCertifiedOutputProtection : public IUnknown 7992 { 7993 virtual HRESULT STDMETHODCALLTYPE KeyExchange( 7994 GUID *pRandom, 7995 BYTE **VarLenCertGH, 7996 DWORD *pdwLengthCertGH) = 0; 7997 7998 virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart( 7999 AMCOPPSignature *pSig) = 0; 8000 8001 virtual HRESULT STDMETHODCALLTYPE ProtectionCommand( 8002 const AMCOPPCommand *cmd) = 0; 8003 8004 virtual HRESULT STDMETHODCALLTYPE ProtectionStatus( 8005 const AMCOPPStatusInput *pStatusInput, 8006 AMCOPPStatusOutput *pStatusOutput) = 0; 8007 8008 }; 8009 #ifdef __CRT_UUID_DECL 8010 __CRT_UUID_DECL(IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15) 8011 #endif 8012 #else 8013 typedef struct IAMCertifiedOutputProtectionVtbl { 8014 BEGIN_INTERFACE 8015 8016 /*** IUnknown methods ***/ 8017 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8018 IAMCertifiedOutputProtection* This, 8019 REFIID riid, 8020 void **ppvObject); 8021 8022 ULONG (STDMETHODCALLTYPE *AddRef)( 8023 IAMCertifiedOutputProtection* This); 8024 8025 ULONG (STDMETHODCALLTYPE *Release)( 8026 IAMCertifiedOutputProtection* This); 8027 8028 /*** IAMCertifiedOutputProtection methods ***/ 8029 HRESULT (STDMETHODCALLTYPE *KeyExchange)( 8030 IAMCertifiedOutputProtection* This, 8031 GUID *pRandom, 8032 BYTE **VarLenCertGH, 8033 DWORD *pdwLengthCertGH); 8034 8035 HRESULT (STDMETHODCALLTYPE *SessionSequenceStart)( 8036 IAMCertifiedOutputProtection* This, 8037 AMCOPPSignature *pSig); 8038 8039 HRESULT (STDMETHODCALLTYPE *ProtectionCommand)( 8040 IAMCertifiedOutputProtection* This, 8041 const AMCOPPCommand *cmd); 8042 8043 HRESULT (STDMETHODCALLTYPE *ProtectionStatus)( 8044 IAMCertifiedOutputProtection* This, 8045 const AMCOPPStatusInput *pStatusInput, 8046 AMCOPPStatusOutput *pStatusOutput); 8047 8048 END_INTERFACE 8049 } IAMCertifiedOutputProtectionVtbl; 8050 interface IAMCertifiedOutputProtection { 8051 CONST_VTBL IAMCertifiedOutputProtectionVtbl* lpVtbl; 8052 }; 8053 8054 #ifdef COBJMACROS 8055 #ifndef WIDL_C_INLINE_WRAPPERS 8056 /*** IUnknown methods ***/ 8057 #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8058 #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This) 8059 #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This) 8060 /*** IAMCertifiedOutputProtection methods ***/ 8061 #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) 8062 #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig) 8063 #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd) 8064 #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput) 8065 #else 8066 /*** IUnknown methods ***/ 8067 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection* This,REFIID riid,void **ppvObject) { 8068 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8069 } 8070 static FORCEINLINE ULONG IAMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection* This) { 8071 return This->lpVtbl->AddRef(This); 8072 } 8073 static FORCEINLINE ULONG IAMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection* This) { 8074 return This->lpVtbl->Release(This); 8075 } 8076 /*** IAMCertifiedOutputProtection methods ***/ 8077 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection* This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) { 8078 return This->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH); 8079 } 8080 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection* This,AMCOPPSignature *pSig) { 8081 return This->lpVtbl->SessionSequenceStart(This,pSig); 8082 } 8083 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection* This,const AMCOPPCommand *cmd) { 8084 return This->lpVtbl->ProtectionCommand(This,cmd); 8085 } 8086 static FORCEINLINE HRESULT IAMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection* This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) { 8087 return This->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput); 8088 } 8089 #endif 8090 #endif 8091 8092 #endif 8093 8094 HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_KeyExchange_Proxy( 8095 IAMCertifiedOutputProtection* This, 8096 GUID *pRandom, 8097 BYTE **VarLenCertGH, 8098 DWORD *pdwLengthCertGH); 8099 void __RPC_STUB IAMCertifiedOutputProtection_KeyExchange_Stub( 8100 IRpcStubBuffer* This, 8101 IRpcChannelBuffer* pRpcChannelBuffer, 8102 PRPC_MESSAGE pRpcMessage, 8103 DWORD* pdwStubPhase); 8104 HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_SessionSequenceStart_Proxy( 8105 IAMCertifiedOutputProtection* This, 8106 AMCOPPSignature *pSig); 8107 void __RPC_STUB IAMCertifiedOutputProtection_SessionSequenceStart_Stub( 8108 IRpcStubBuffer* This, 8109 IRpcChannelBuffer* pRpcChannelBuffer, 8110 PRPC_MESSAGE pRpcMessage, 8111 DWORD* pdwStubPhase); 8112 HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_ProtectionCommand_Proxy( 8113 IAMCertifiedOutputProtection* This, 8114 const AMCOPPCommand *cmd); 8115 void __RPC_STUB IAMCertifiedOutputProtection_ProtectionCommand_Stub( 8116 IRpcStubBuffer* This, 8117 IRpcChannelBuffer* pRpcChannelBuffer, 8118 PRPC_MESSAGE pRpcMessage, 8119 DWORD* pdwStubPhase); 8120 HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_ProtectionStatus_Proxy( 8121 IAMCertifiedOutputProtection* This, 8122 const AMCOPPStatusInput *pStatusInput, 8123 AMCOPPStatusOutput *pStatusOutput); 8124 void __RPC_STUB IAMCertifiedOutputProtection_ProtectionStatus_Stub( 8125 IRpcStubBuffer* This, 8126 IRpcChannelBuffer* pRpcChannelBuffer, 8127 PRPC_MESSAGE pRpcMessage, 8128 DWORD* pdwStubPhase); 8129 8130 #endif /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */ 8131 8132 enum _AM_RENSDEREXFLAGS { 8133 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1 8134 }; 8135 8136 /***************************************************************************** 8137 * IFilterGraph2 interface 8138 */ 8139 #ifndef __IFilterGraph2_INTERFACE_DEFINED__ 8140 #define __IFilterGraph2_INTERFACE_DEFINED__ 8141 8142 DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 8143 #if defined(__cplusplus) && !defined(CINTERFACE) 8144 MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60") 8145 IFilterGraph2 : public IGraphBuilder 8146 { 8147 virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 8148 IMoniker *pMoniker, 8149 IBindCtx *pCtx, 8150 LPCWSTR lpcwstrFilterName, 8151 IBaseFilter **ppFilter) = 0; 8152 8153 virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 8154 IPin *ppin, 8155 const AM_MEDIA_TYPE *pmt) = 0; 8156 8157 virtual HRESULT STDMETHODCALLTYPE RenderEx( 8158 IPin *pPinOut, 8159 DWORD dwFlags, 8160 DWORD *pvContext) = 0; 8161 8162 }; 8163 #ifdef __CRT_UUID_DECL 8164 __CRT_UUID_DECL(IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 8165 #endif 8166 #else 8167 typedef struct IFilterGraph2Vtbl { 8168 BEGIN_INTERFACE 8169 8170 /*** IUnknown methods ***/ 8171 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8172 IFilterGraph2* This, 8173 REFIID riid, 8174 void **ppvObject); 8175 8176 ULONG (STDMETHODCALLTYPE *AddRef)( 8177 IFilterGraph2* This); 8178 8179 ULONG (STDMETHODCALLTYPE *Release)( 8180 IFilterGraph2* This); 8181 8182 /*** IFilterGraph methods ***/ 8183 HRESULT (STDMETHODCALLTYPE *AddFilter)( 8184 IFilterGraph2* This, 8185 IBaseFilter *pFilter, 8186 LPCWSTR pName); 8187 8188 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 8189 IFilterGraph2* This, 8190 IBaseFilter *pFilter); 8191 8192 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 8193 IFilterGraph2* This, 8194 IEnumFilters **ppEnum); 8195 8196 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 8197 IFilterGraph2* This, 8198 LPCWSTR pName, 8199 IBaseFilter **ppFilter); 8200 8201 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 8202 IFilterGraph2* This, 8203 IPin *ppinOut, 8204 IPin *ppinIn, 8205 const AM_MEDIA_TYPE *pmt); 8206 8207 HRESULT (STDMETHODCALLTYPE *Reconnect)( 8208 IFilterGraph2* This, 8209 IPin *ppin); 8210 8211 HRESULT (STDMETHODCALLTYPE *Disconnect)( 8212 IFilterGraph2* This, 8213 IPin *ppin); 8214 8215 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 8216 IFilterGraph2* This); 8217 8218 /*** IGraphBuilder methods ***/ 8219 HRESULT (STDMETHODCALLTYPE *Connect)( 8220 IFilterGraph2* This, 8221 IPin *ppinOut, 8222 IPin *ppinIn); 8223 8224 HRESULT (STDMETHODCALLTYPE *Render)( 8225 IFilterGraph2* This, 8226 IPin *ppinOut); 8227 8228 HRESULT (STDMETHODCALLTYPE *RenderFile)( 8229 IFilterGraph2* This, 8230 LPCWSTR lpcwstrFile, 8231 LPCWSTR lpcwstrPlayList); 8232 8233 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( 8234 IFilterGraph2* This, 8235 LPCWSTR lpcwstrFileName, 8236 LPCWSTR lpcwstrFilterName, 8237 IBaseFilter **ppFilter); 8238 8239 HRESULT (STDMETHODCALLTYPE *SetLogFile)( 8240 IFilterGraph2* This, 8241 DWORD_PTR hFile); 8242 8243 HRESULT (STDMETHODCALLTYPE *Abort)( 8244 IFilterGraph2* This); 8245 8246 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( 8247 IFilterGraph2* This); 8248 8249 /*** IFilterGraph2 methods ***/ 8250 HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)( 8251 IFilterGraph2* This, 8252 IMoniker *pMoniker, 8253 IBindCtx *pCtx, 8254 LPCWSTR lpcwstrFilterName, 8255 IBaseFilter **ppFilter); 8256 8257 HRESULT (STDMETHODCALLTYPE *ReconnectEx)( 8258 IFilterGraph2* This, 8259 IPin *ppin, 8260 const AM_MEDIA_TYPE *pmt); 8261 8262 HRESULT (STDMETHODCALLTYPE *RenderEx)( 8263 IFilterGraph2* This, 8264 IPin *pPinOut, 8265 DWORD dwFlags, 8266 DWORD *pvContext); 8267 8268 END_INTERFACE 8269 } IFilterGraph2Vtbl; 8270 interface IFilterGraph2 { 8271 CONST_VTBL IFilterGraph2Vtbl* lpVtbl; 8272 }; 8273 8274 #ifdef COBJMACROS 8275 #ifndef WIDL_C_INLINE_WRAPPERS 8276 /*** IUnknown methods ***/ 8277 #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8278 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This) 8279 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This) 8280 /*** IFilterGraph methods ***/ 8281 #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 8282 #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 8283 #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 8284 #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 8285 #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 8286 #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 8287 #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 8288 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 8289 /*** IGraphBuilder methods ***/ 8290 #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) 8291 #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) 8292 #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) 8293 #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) 8294 #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) 8295 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This) 8296 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) 8297 /*** IFilterGraph2 methods ***/ 8298 #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) 8299 #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt) 8300 #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext) 8301 #else 8302 /*** IUnknown methods ***/ 8303 static FORCEINLINE HRESULT IFilterGraph2_QueryInterface(IFilterGraph2* This,REFIID riid,void **ppvObject) { 8304 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8305 } 8306 static FORCEINLINE ULONG IFilterGraph2_AddRef(IFilterGraph2* This) { 8307 return This->lpVtbl->AddRef(This); 8308 } 8309 static FORCEINLINE ULONG IFilterGraph2_Release(IFilterGraph2* This) { 8310 return This->lpVtbl->Release(This); 8311 } 8312 /*** IFilterGraph methods ***/ 8313 static FORCEINLINE HRESULT IFilterGraph2_AddFilter(IFilterGraph2* This,IBaseFilter *pFilter,LPCWSTR pName) { 8314 return This->lpVtbl->AddFilter(This,pFilter,pName); 8315 } 8316 static FORCEINLINE HRESULT IFilterGraph2_RemoveFilter(IFilterGraph2* This,IBaseFilter *pFilter) { 8317 return This->lpVtbl->RemoveFilter(This,pFilter); 8318 } 8319 static FORCEINLINE HRESULT IFilterGraph2_EnumFilters(IFilterGraph2* This,IEnumFilters **ppEnum) { 8320 return This->lpVtbl->EnumFilters(This,ppEnum); 8321 } 8322 static FORCEINLINE HRESULT IFilterGraph2_FindFilterByName(IFilterGraph2* This,LPCWSTR pName,IBaseFilter **ppFilter) { 8323 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 8324 } 8325 static FORCEINLINE HRESULT IFilterGraph2_ConnectDirect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 8326 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 8327 } 8328 static FORCEINLINE HRESULT IFilterGraph2_Reconnect(IFilterGraph2* This,IPin *ppin) { 8329 return This->lpVtbl->Reconnect(This,ppin); 8330 } 8331 static FORCEINLINE HRESULT IFilterGraph2_Disconnect(IFilterGraph2* This,IPin *ppin) { 8332 return This->lpVtbl->Disconnect(This,ppin); 8333 } 8334 static FORCEINLINE HRESULT IFilterGraph2_SetDefaultSyncSource(IFilterGraph2* This) { 8335 return This->lpVtbl->SetDefaultSyncSource(This); 8336 } 8337 /*** IGraphBuilder methods ***/ 8338 static FORCEINLINE HRESULT IFilterGraph2_Connect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn) { 8339 return This->lpVtbl->Connect(This,ppinOut,ppinIn); 8340 } 8341 static FORCEINLINE HRESULT IFilterGraph2_Render(IFilterGraph2* This,IPin *ppinOut) { 8342 return This->lpVtbl->Render(This,ppinOut); 8343 } 8344 static FORCEINLINE HRESULT IFilterGraph2_RenderFile(IFilterGraph2* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { 8345 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); 8346 } 8347 static FORCEINLINE HRESULT IFilterGraph2_AddSourceFilter(IFilterGraph2* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 8348 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); 8349 } 8350 static FORCEINLINE HRESULT IFilterGraph2_SetLogFile(IFilterGraph2* This,DWORD_PTR hFile) { 8351 return This->lpVtbl->SetLogFile(This,hFile); 8352 } 8353 static FORCEINLINE HRESULT IFilterGraph2_Abort(IFilterGraph2* This) { 8354 return This->lpVtbl->Abort(This); 8355 } 8356 static FORCEINLINE HRESULT IFilterGraph2_ShouldOperationContinue(IFilterGraph2* This) { 8357 return This->lpVtbl->ShouldOperationContinue(This); 8358 } 8359 /*** IFilterGraph2 methods ***/ 8360 static FORCEINLINE HRESULT IFilterGraph2_AddSourceFilterForMoniker(IFilterGraph2* This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 8361 return This->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter); 8362 } 8363 static FORCEINLINE HRESULT IFilterGraph2_ReconnectEx(IFilterGraph2* This,IPin *ppin,const AM_MEDIA_TYPE *pmt) { 8364 return This->lpVtbl->ReconnectEx(This,ppin,pmt); 8365 } 8366 static FORCEINLINE HRESULT IFilterGraph2_RenderEx(IFilterGraph2* This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) { 8367 return This->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext); 8368 } 8369 #endif 8370 #endif 8371 8372 #endif 8373 8374 HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy( 8375 IFilterGraph2* This, 8376 IMoniker *pMoniker, 8377 IBindCtx *pCtx, 8378 LPCWSTR lpcwstrFilterName, 8379 IBaseFilter **ppFilter); 8380 void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub( 8381 IRpcStubBuffer* This, 8382 IRpcChannelBuffer* pRpcChannelBuffer, 8383 PRPC_MESSAGE pRpcMessage, 8384 DWORD* pdwStubPhase); 8385 HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy( 8386 IFilterGraph2* This, 8387 IPin *ppin, 8388 const AM_MEDIA_TYPE *pmt); 8389 void __RPC_STUB IFilterGraph2_ReconnectEx_Stub( 8390 IRpcStubBuffer* This, 8391 IRpcChannelBuffer* pRpcChannelBuffer, 8392 PRPC_MESSAGE pRpcMessage, 8393 DWORD* pdwStubPhase); 8394 HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy( 8395 IFilterGraph2* This, 8396 IPin *pPinOut, 8397 DWORD dwFlags, 8398 DWORD *pvContext); 8399 void __RPC_STUB IFilterGraph2_RenderEx_Stub( 8400 IRpcStubBuffer* This, 8401 IRpcChannelBuffer* pRpcChannelBuffer, 8402 PRPC_MESSAGE pRpcMessage, 8403 DWORD* pdwStubPhase); 8404 8405 #endif /* __IFilterGraph2_INTERFACE_DEFINED__ */ 8406 8407 /***************************************************************************** 8408 * IStreamBuilder interface 8409 */ 8410 #ifndef __IStreamBuilder_INTERFACE_DEFINED__ 8411 #define __IStreamBuilder_INTERFACE_DEFINED__ 8412 8413 DEFINE_GUID(IID_IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 8414 #if defined(__cplusplus) && !defined(CINTERFACE) 8415 MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770") 8416 IStreamBuilder : public IUnknown 8417 { 8418 virtual HRESULT STDMETHODCALLTYPE Render( 8419 IPin *ppinOut, 8420 IGraphBuilder *pGraph) = 0; 8421 8422 virtual HRESULT STDMETHODCALLTYPE Backout( 8423 IPin *ppinOut, 8424 IGraphBuilder *pGraph) = 0; 8425 8426 }; 8427 #ifdef __CRT_UUID_DECL 8428 __CRT_UUID_DECL(IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 8429 #endif 8430 #else 8431 typedef struct IStreamBuilderVtbl { 8432 BEGIN_INTERFACE 8433 8434 /*** IUnknown methods ***/ 8435 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8436 IStreamBuilder* This, 8437 REFIID riid, 8438 void **ppvObject); 8439 8440 ULONG (STDMETHODCALLTYPE *AddRef)( 8441 IStreamBuilder* This); 8442 8443 ULONG (STDMETHODCALLTYPE *Release)( 8444 IStreamBuilder* This); 8445 8446 /*** IStreamBuilder methods ***/ 8447 HRESULT (STDMETHODCALLTYPE *Render)( 8448 IStreamBuilder* This, 8449 IPin *ppinOut, 8450 IGraphBuilder *pGraph); 8451 8452 HRESULT (STDMETHODCALLTYPE *Backout)( 8453 IStreamBuilder* This, 8454 IPin *ppinOut, 8455 IGraphBuilder *pGraph); 8456 8457 END_INTERFACE 8458 } IStreamBuilderVtbl; 8459 interface IStreamBuilder { 8460 CONST_VTBL IStreamBuilderVtbl* lpVtbl; 8461 }; 8462 8463 #ifdef COBJMACROS 8464 #ifndef WIDL_C_INLINE_WRAPPERS 8465 /*** IUnknown methods ***/ 8466 #define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8467 #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 8468 #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This) 8469 /*** IStreamBuilder methods ***/ 8470 #define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph) 8471 #define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph) 8472 #else 8473 /*** IUnknown methods ***/ 8474 static FORCEINLINE HRESULT IStreamBuilder_QueryInterface(IStreamBuilder* This,REFIID riid,void **ppvObject) { 8475 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8476 } 8477 static FORCEINLINE ULONG IStreamBuilder_AddRef(IStreamBuilder* This) { 8478 return This->lpVtbl->AddRef(This); 8479 } 8480 static FORCEINLINE ULONG IStreamBuilder_Release(IStreamBuilder* This) { 8481 return This->lpVtbl->Release(This); 8482 } 8483 /*** IStreamBuilder methods ***/ 8484 static FORCEINLINE HRESULT IStreamBuilder_Render(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) { 8485 return This->lpVtbl->Render(This,ppinOut,pGraph); 8486 } 8487 static FORCEINLINE HRESULT IStreamBuilder_Backout(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) { 8488 return This->lpVtbl->Backout(This,ppinOut,pGraph); 8489 } 8490 #endif 8491 #endif 8492 8493 #endif 8494 8495 HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy( 8496 IStreamBuilder* This, 8497 IPin *ppinOut, 8498 IGraphBuilder *pGraph); 8499 void __RPC_STUB IStreamBuilder_Render_Stub( 8500 IRpcStubBuffer* This, 8501 IRpcChannelBuffer* pRpcChannelBuffer, 8502 PRPC_MESSAGE pRpcMessage, 8503 DWORD* pdwStubPhase); 8504 HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy( 8505 IStreamBuilder* This, 8506 IPin *ppinOut, 8507 IGraphBuilder *pGraph); 8508 void __RPC_STUB IStreamBuilder_Backout_Stub( 8509 IRpcStubBuffer* This, 8510 IRpcChannelBuffer* pRpcChannelBuffer, 8511 PRPC_MESSAGE pRpcMessage, 8512 DWORD* pdwStubPhase); 8513 8514 #endif /* __IStreamBuilder_INTERFACE_DEFINED__ */ 8515 8516 /***************************************************************************** 8517 * IAMStreamConfig interface 8518 */ 8519 #ifndef __IAMStreamConfig_INTERFACE_DEFINED__ 8520 #define __IAMStreamConfig_INTERFACE_DEFINED__ 8521 8522 typedef struct _VIDEO_STREAM_CONFIG_CAPS { 8523 GUID guid; 8524 ULONG VideoStandard; 8525 SIZE InputSize; 8526 SIZE MinCroppingSize; 8527 SIZE MaxCroppingSize; 8528 int CropGranularityX; 8529 int CropGranularityY; 8530 int CropAlignX; 8531 int CropAlignY; 8532 SIZE MinOutputSize; 8533 SIZE MaxOutputSize; 8534 int OutputGranularityX; 8535 int OutputGranularityY; 8536 int StretchTapsX; 8537 int StretchTapsY; 8538 int ShrinkTapsX; 8539 int ShrinkTapsY; 8540 LONGLONG MinFrameInterval; 8541 LONGLONG MaxFrameInterval; 8542 LONG MinBitsPerSecond; 8543 LONG MaxBitsPerSecond; 8544 } VIDEO_STREAM_CONFIG_CAPS; 8545 typedef struct _AUDIO_STREAM_CONFIG_CAPS { 8546 GUID guid; 8547 ULONG MinimumChannels; 8548 ULONG MaximumChannels; 8549 ULONG ChannelsGranularity; 8550 ULONG MinimumBitsPerSample; 8551 ULONG MaximumBitsPerSample; 8552 ULONG BitsPerSampleGranularity; 8553 ULONG MinimumSampleFrequency; 8554 ULONG MaximumSampleFrequency; 8555 ULONG SampleFrequencyGranularity; 8556 } AUDIO_STREAM_CONFIG_CAPS; 8557 DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 8558 #if defined(__cplusplus) && !defined(CINTERFACE) 8559 MIDL_INTERFACE("c6e13340-30ac-11d0-a18c-00a0c9118956") 8560 IAMStreamConfig : public IUnknown 8561 { 8562 virtual HRESULT STDMETHODCALLTYPE SetFormat( 8563 AM_MEDIA_TYPE *pmt) = 0; 8564 8565 virtual HRESULT STDMETHODCALLTYPE GetFormat( 8566 AM_MEDIA_TYPE **pmt) = 0; 8567 8568 virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 8569 int *piCount, 8570 int *piSize) = 0; 8571 8572 virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 8573 int iIndex, 8574 AM_MEDIA_TYPE **pmt, 8575 BYTE *pSCC) = 0; 8576 8577 }; 8578 #ifdef __CRT_UUID_DECL 8579 __CRT_UUID_DECL(IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 8580 #endif 8581 #else 8582 typedef struct IAMStreamConfigVtbl { 8583 BEGIN_INTERFACE 8584 8585 /*** IUnknown methods ***/ 8586 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8587 IAMStreamConfig* This, 8588 REFIID riid, 8589 void **ppvObject); 8590 8591 ULONG (STDMETHODCALLTYPE *AddRef)( 8592 IAMStreamConfig* This); 8593 8594 ULONG (STDMETHODCALLTYPE *Release)( 8595 IAMStreamConfig* This); 8596 8597 /*** IAMStreamConfig methods ***/ 8598 HRESULT (STDMETHODCALLTYPE *SetFormat)( 8599 IAMStreamConfig* This, 8600 AM_MEDIA_TYPE *pmt); 8601 8602 HRESULT (STDMETHODCALLTYPE *GetFormat)( 8603 IAMStreamConfig* This, 8604 AM_MEDIA_TYPE **pmt); 8605 8606 HRESULT (STDMETHODCALLTYPE *GetNumberOfCapabilities)( 8607 IAMStreamConfig* This, 8608 int *piCount, 8609 int *piSize); 8610 8611 HRESULT (STDMETHODCALLTYPE *GetStreamCaps)( 8612 IAMStreamConfig* This, 8613 int iIndex, 8614 AM_MEDIA_TYPE **pmt, 8615 BYTE *pSCC); 8616 8617 END_INTERFACE 8618 } IAMStreamConfigVtbl; 8619 interface IAMStreamConfig { 8620 CONST_VTBL IAMStreamConfigVtbl* lpVtbl; 8621 }; 8622 8623 #ifdef COBJMACROS 8624 #ifndef WIDL_C_INLINE_WRAPPERS 8625 /*** IUnknown methods ***/ 8626 #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8627 #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 8628 #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This) 8629 /*** IAMStreamConfig methods ***/ 8630 #define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt) 8631 #define IAMStreamConfig_GetFormat(This,pmt) (This)->lpVtbl->GetFormat(This,pmt) 8632 #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize) 8633 #define IAMStreamConfig_GetStreamCaps(This,iIndex,pmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC) 8634 #else 8635 /*** IUnknown methods ***/ 8636 static FORCEINLINE HRESULT IAMStreamConfig_QueryInterface(IAMStreamConfig* This,REFIID riid,void **ppvObject) { 8637 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8638 } 8639 static FORCEINLINE ULONG IAMStreamConfig_AddRef(IAMStreamConfig* This) { 8640 return This->lpVtbl->AddRef(This); 8641 } 8642 static FORCEINLINE ULONG IAMStreamConfig_Release(IAMStreamConfig* This) { 8643 return This->lpVtbl->Release(This); 8644 } 8645 /*** IAMStreamConfig methods ***/ 8646 static FORCEINLINE HRESULT IAMStreamConfig_SetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE *pmt) { 8647 return This->lpVtbl->SetFormat(This,pmt); 8648 } 8649 static FORCEINLINE HRESULT IAMStreamConfig_GetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE **pmt) { 8650 return This->lpVtbl->GetFormat(This,pmt); 8651 } 8652 static FORCEINLINE HRESULT IAMStreamConfig_GetNumberOfCapabilities(IAMStreamConfig* This,int *piCount,int *piSize) { 8653 return This->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize); 8654 } 8655 static FORCEINLINE HRESULT IAMStreamConfig_GetStreamCaps(IAMStreamConfig* This,int iIndex,AM_MEDIA_TYPE **pmt,BYTE *pSCC) { 8656 return This->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC); 8657 } 8658 #endif 8659 #endif 8660 8661 #endif 8662 8663 HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy( 8664 IAMStreamConfig* This, 8665 AM_MEDIA_TYPE *pmt); 8666 void __RPC_STUB IAMStreamConfig_SetFormat_Stub( 8667 IRpcStubBuffer* This, 8668 IRpcChannelBuffer* pRpcChannelBuffer, 8669 PRPC_MESSAGE pRpcMessage, 8670 DWORD* pdwStubPhase); 8671 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy( 8672 IAMStreamConfig* This, 8673 AM_MEDIA_TYPE **pmt); 8674 void __RPC_STUB IAMStreamConfig_GetFormat_Stub( 8675 IRpcStubBuffer* This, 8676 IRpcChannelBuffer* pRpcChannelBuffer, 8677 PRPC_MESSAGE pRpcMessage, 8678 DWORD* pdwStubPhase); 8679 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy( 8680 IAMStreamConfig* This, 8681 int *piCount, 8682 int *piSize); 8683 void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub( 8684 IRpcStubBuffer* This, 8685 IRpcChannelBuffer* pRpcChannelBuffer, 8686 PRPC_MESSAGE pRpcMessage, 8687 DWORD* pdwStubPhase); 8688 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy( 8689 IAMStreamConfig* This, 8690 int iIndex, 8691 AM_MEDIA_TYPE **pmt, 8692 BYTE *pSCC); 8693 void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub( 8694 IRpcStubBuffer* This, 8695 IRpcChannelBuffer* pRpcChannelBuffer, 8696 PRPC_MESSAGE pRpcMessage, 8697 DWORD* pdwStubPhase); 8698 8699 #endif /* __IAMStreamConfig_INTERFACE_DEFINED__ */ 8700 8701 typedef enum tagVideoProcAmpProperty { 8702 VideoProcAmp_Brightness = 0, 8703 VideoProcAmp_Contrast = 1, 8704 VideoProcAmp_Hue = 2, 8705 VideoProcAmp_Saturation = 3, 8706 VideoProcAmp_Sharpness = 4, 8707 VideoProcAmp_Gamma = 5, 8708 VideoProcAmp_ColorEnable = 6, 8709 VideoProcAmp_WhiteBalance = 7, 8710 VideoProcAmp_BacklightCompensation = 8, 8711 VideoProcAmp_Gain = 9 8712 } VideoProcAmpProperty; 8713 typedef enum tagVideoProcAmpFlags { 8714 VideoProcAmp_Flags_Auto = 0x1, 8715 VideoProcAmp_Flags_Manual = 0x2 8716 } VideoProcAmpFlags; 8717 /***************************************************************************** 8718 * IAMVideoProcAmp interface 8719 */ 8720 #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__ 8721 #define __IAMVideoProcAmp_INTERFACE_DEFINED__ 8722 8723 DEFINE_GUID(IID_IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); 8724 #if defined(__cplusplus) && !defined(CINTERFACE) 8725 MIDL_INTERFACE("c6e13360-30ac-11d0-a18c-00a0c9118956") 8726 IAMVideoProcAmp : public IUnknown 8727 { 8728 virtual HRESULT STDMETHODCALLTYPE GetRange( 8729 LONG Property, 8730 LONG *pMin, 8731 LONG *pMax, 8732 LONG *pSteppingDelta, 8733 LONG *pDefault, 8734 LONG *pCapsFlags) = 0; 8735 8736 virtual HRESULT STDMETHODCALLTYPE Set( 8737 LONG Property, 8738 LONG lValue, 8739 LONG Flags) = 0; 8740 8741 virtual HRESULT STDMETHODCALLTYPE Get( 8742 LONG Property, 8743 LONG *lValue, 8744 LONG *Flags) = 0; 8745 8746 }; 8747 #ifdef __CRT_UUID_DECL 8748 __CRT_UUID_DECL(IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) 8749 #endif 8750 #else 8751 typedef struct IAMVideoProcAmpVtbl { 8752 BEGIN_INTERFACE 8753 8754 /*** IUnknown methods ***/ 8755 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8756 IAMVideoProcAmp* This, 8757 REFIID riid, 8758 void **ppvObject); 8759 8760 ULONG (STDMETHODCALLTYPE *AddRef)( 8761 IAMVideoProcAmp* This); 8762 8763 ULONG (STDMETHODCALLTYPE *Release)( 8764 IAMVideoProcAmp* This); 8765 8766 /*** IAMVideoProcAmp methods ***/ 8767 HRESULT (STDMETHODCALLTYPE *GetRange)( 8768 IAMVideoProcAmp* This, 8769 LONG Property, 8770 LONG *pMin, 8771 LONG *pMax, 8772 LONG *pSteppingDelta, 8773 LONG *pDefault, 8774 LONG *pCapsFlags); 8775 8776 HRESULT (STDMETHODCALLTYPE *Set)( 8777 IAMVideoProcAmp* This, 8778 LONG Property, 8779 LONG lValue, 8780 LONG Flags); 8781 8782 HRESULT (STDMETHODCALLTYPE *Get)( 8783 IAMVideoProcAmp* This, 8784 LONG Property, 8785 LONG *lValue, 8786 LONG *Flags); 8787 8788 END_INTERFACE 8789 } IAMVideoProcAmpVtbl; 8790 interface IAMVideoProcAmp { 8791 CONST_VTBL IAMVideoProcAmpVtbl* lpVtbl; 8792 }; 8793 8794 #ifdef COBJMACROS 8795 #ifndef WIDL_C_INLINE_WRAPPERS 8796 /*** IUnknown methods ***/ 8797 #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8798 #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This) 8799 #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This) 8800 /*** IAMVideoProcAmp methods ***/ 8801 #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) 8802 #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags) 8803 #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags) 8804 #else 8805 /*** IUnknown methods ***/ 8806 static FORCEINLINE HRESULT IAMVideoProcAmp_QueryInterface(IAMVideoProcAmp* This,REFIID riid,void **ppvObject) { 8807 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8808 } 8809 static FORCEINLINE ULONG IAMVideoProcAmp_AddRef(IAMVideoProcAmp* This) { 8810 return This->lpVtbl->AddRef(This); 8811 } 8812 static FORCEINLINE ULONG IAMVideoProcAmp_Release(IAMVideoProcAmp* This) { 8813 return This->lpVtbl->Release(This); 8814 } 8815 /*** IAMVideoProcAmp methods ***/ 8816 static FORCEINLINE HRESULT IAMVideoProcAmp_GetRange(IAMVideoProcAmp* This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) { 8817 return This->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags); 8818 } 8819 static FORCEINLINE HRESULT IAMVideoProcAmp_Set(IAMVideoProcAmp* This,LONG Property,LONG lValue,LONG Flags) { 8820 return This->lpVtbl->Set(This,Property,lValue,Flags); 8821 } 8822 static FORCEINLINE HRESULT IAMVideoProcAmp_Get(IAMVideoProcAmp* This,LONG Property,LONG *lValue,LONG *Flags) { 8823 return This->lpVtbl->Get(This,Property,lValue,Flags); 8824 } 8825 #endif 8826 #endif 8827 8828 #endif 8829 8830 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy( 8831 IAMVideoProcAmp* This, 8832 LONG Property, 8833 LONG *pMin, 8834 LONG *pMax, 8835 LONG *pSteppingDelta, 8836 LONG *pDefault, 8837 LONG *pCapsFlags); 8838 void __RPC_STUB IAMVideoProcAmp_GetRange_Stub( 8839 IRpcStubBuffer* This, 8840 IRpcChannelBuffer* pRpcChannelBuffer, 8841 PRPC_MESSAGE pRpcMessage, 8842 DWORD* pdwStubPhase); 8843 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy( 8844 IAMVideoProcAmp* This, 8845 LONG Property, 8846 LONG lValue, 8847 LONG Flags); 8848 void __RPC_STUB IAMVideoProcAmp_Set_Stub( 8849 IRpcStubBuffer* This, 8850 IRpcChannelBuffer* pRpcChannelBuffer, 8851 PRPC_MESSAGE pRpcMessage, 8852 DWORD* pdwStubPhase); 8853 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy( 8854 IAMVideoProcAmp* This, 8855 LONG Property, 8856 LONG *lValue, 8857 LONG *Flags); 8858 void __RPC_STUB IAMVideoProcAmp_Get_Stub( 8859 IRpcStubBuffer* This, 8860 IRpcChannelBuffer* pRpcChannelBuffer, 8861 PRPC_MESSAGE pRpcMessage, 8862 DWORD* pdwStubPhase); 8863 8864 #endif /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */ 8865 8866 /***************************************************************************** 8867 * IAsyncReader interface 8868 */ 8869 #ifndef __IAsyncReader_INTERFACE_DEFINED__ 8870 #define __IAsyncReader_INTERFACE_DEFINED__ 8871 8872 DEFINE_GUID(IID_IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 8873 #if defined(__cplusplus) && !defined(CINTERFACE) 8874 MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770") 8875 IAsyncReader : public IUnknown 8876 { 8877 virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 8878 IMemAllocator *pPreferred, 8879 ALLOCATOR_PROPERTIES *pProps, 8880 IMemAllocator **ppActual) = 0; 8881 8882 virtual HRESULT STDMETHODCALLTYPE Request( 8883 IMediaSample *pSample, 8884 DWORD_PTR dwUser) = 0; 8885 8886 virtual HRESULT STDMETHODCALLTYPE WaitForNext( 8887 DWORD dwTimeout, 8888 IMediaSample **ppSample, 8889 DWORD_PTR *pdwUser) = 0; 8890 8891 virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 8892 IMediaSample *pSample) = 0; 8893 8894 virtual HRESULT STDMETHODCALLTYPE SyncRead( 8895 LONGLONG llPosition, 8896 LONG lLength, 8897 BYTE *pBuffer) = 0; 8898 8899 virtual HRESULT STDMETHODCALLTYPE Length( 8900 LONGLONG *pTotal, 8901 LONGLONG *pAvailable) = 0; 8902 8903 virtual HRESULT STDMETHODCALLTYPE BeginFlush( 8904 ) = 0; 8905 8906 virtual HRESULT STDMETHODCALLTYPE EndFlush( 8907 ) = 0; 8908 8909 }; 8910 #ifdef __CRT_UUID_DECL 8911 __CRT_UUID_DECL(IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 8912 #endif 8913 #else 8914 typedef struct IAsyncReaderVtbl { 8915 BEGIN_INTERFACE 8916 8917 /*** IUnknown methods ***/ 8918 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 8919 IAsyncReader* This, 8920 REFIID riid, 8921 void **ppvObject); 8922 8923 ULONG (STDMETHODCALLTYPE *AddRef)( 8924 IAsyncReader* This); 8925 8926 ULONG (STDMETHODCALLTYPE *Release)( 8927 IAsyncReader* This); 8928 8929 /*** IAsyncReader methods ***/ 8930 HRESULT (STDMETHODCALLTYPE *RequestAllocator)( 8931 IAsyncReader* This, 8932 IMemAllocator *pPreferred, 8933 ALLOCATOR_PROPERTIES *pProps, 8934 IMemAllocator **ppActual); 8935 8936 HRESULT (STDMETHODCALLTYPE *Request)( 8937 IAsyncReader* This, 8938 IMediaSample *pSample, 8939 DWORD_PTR dwUser); 8940 8941 HRESULT (STDMETHODCALLTYPE *WaitForNext)( 8942 IAsyncReader* This, 8943 DWORD dwTimeout, 8944 IMediaSample **ppSample, 8945 DWORD_PTR *pdwUser); 8946 8947 HRESULT (STDMETHODCALLTYPE *SyncReadAligned)( 8948 IAsyncReader* This, 8949 IMediaSample *pSample); 8950 8951 HRESULT (STDMETHODCALLTYPE *SyncRead)( 8952 IAsyncReader* This, 8953 LONGLONG llPosition, 8954 LONG lLength, 8955 BYTE *pBuffer); 8956 8957 HRESULT (STDMETHODCALLTYPE *Length)( 8958 IAsyncReader* This, 8959 LONGLONG *pTotal, 8960 LONGLONG *pAvailable); 8961 8962 HRESULT (STDMETHODCALLTYPE *BeginFlush)( 8963 IAsyncReader* This); 8964 8965 HRESULT (STDMETHODCALLTYPE *EndFlush)( 8966 IAsyncReader* This); 8967 8968 END_INTERFACE 8969 } IAsyncReaderVtbl; 8970 interface IAsyncReader { 8971 CONST_VTBL IAsyncReaderVtbl* lpVtbl; 8972 }; 8973 8974 #ifdef COBJMACROS 8975 #ifndef WIDL_C_INLINE_WRAPPERS 8976 /*** IUnknown methods ***/ 8977 #define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 8978 #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This) 8979 #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This) 8980 /*** IAsyncReader methods ***/ 8981 #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual) 8982 #define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser) 8983 #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser) 8984 #define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample) 8985 #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer) 8986 #define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable) 8987 #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) 8988 #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This) 8989 #else 8990 /*** IUnknown methods ***/ 8991 static FORCEINLINE HRESULT IAsyncReader_QueryInterface(IAsyncReader* This,REFIID riid,void **ppvObject) { 8992 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 8993 } 8994 static FORCEINLINE ULONG IAsyncReader_AddRef(IAsyncReader* This) { 8995 return This->lpVtbl->AddRef(This); 8996 } 8997 static FORCEINLINE ULONG IAsyncReader_Release(IAsyncReader* This) { 8998 return This->lpVtbl->Release(This); 8999 } 9000 /*** IAsyncReader methods ***/ 9001 static FORCEINLINE HRESULT IAsyncReader_RequestAllocator(IAsyncReader* This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) { 9002 return This->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual); 9003 } 9004 static FORCEINLINE HRESULT IAsyncReader_Request(IAsyncReader* This,IMediaSample *pSample,DWORD_PTR dwUser) { 9005 return This->lpVtbl->Request(This,pSample,dwUser); 9006 } 9007 static FORCEINLINE HRESULT IAsyncReader_WaitForNext(IAsyncReader* This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) { 9008 return This->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser); 9009 } 9010 static FORCEINLINE HRESULT IAsyncReader_SyncReadAligned(IAsyncReader* This,IMediaSample *pSample) { 9011 return This->lpVtbl->SyncReadAligned(This,pSample); 9012 } 9013 static FORCEINLINE HRESULT IAsyncReader_SyncRead(IAsyncReader* This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer) { 9014 return This->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer); 9015 } 9016 static FORCEINLINE HRESULT IAsyncReader_Length(IAsyncReader* This,LONGLONG *pTotal,LONGLONG *pAvailable) { 9017 return This->lpVtbl->Length(This,pTotal,pAvailable); 9018 } 9019 static FORCEINLINE HRESULT IAsyncReader_BeginFlush(IAsyncReader* This) { 9020 return This->lpVtbl->BeginFlush(This); 9021 } 9022 static FORCEINLINE HRESULT IAsyncReader_EndFlush(IAsyncReader* This) { 9023 return This->lpVtbl->EndFlush(This); 9024 } 9025 #endif 9026 #endif 9027 9028 #endif 9029 9030 HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy( 9031 IAsyncReader* This, 9032 IMemAllocator *pPreferred, 9033 ALLOCATOR_PROPERTIES *pProps, 9034 IMemAllocator **ppActual); 9035 void __RPC_STUB IAsyncReader_RequestAllocator_Stub( 9036 IRpcStubBuffer* This, 9037 IRpcChannelBuffer* pRpcChannelBuffer, 9038 PRPC_MESSAGE pRpcMessage, 9039 DWORD* pdwStubPhase); 9040 HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy( 9041 IAsyncReader* This, 9042 IMediaSample *pSample, 9043 DWORD_PTR dwUser); 9044 void __RPC_STUB IAsyncReader_Request_Stub( 9045 IRpcStubBuffer* This, 9046 IRpcChannelBuffer* pRpcChannelBuffer, 9047 PRPC_MESSAGE pRpcMessage, 9048 DWORD* pdwStubPhase); 9049 HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy( 9050 IAsyncReader* This, 9051 DWORD dwTimeout, 9052 IMediaSample **ppSample, 9053 DWORD_PTR *pdwUser); 9054 void __RPC_STUB IAsyncReader_WaitForNext_Stub( 9055 IRpcStubBuffer* This, 9056 IRpcChannelBuffer* pRpcChannelBuffer, 9057 PRPC_MESSAGE pRpcMessage, 9058 DWORD* pdwStubPhase); 9059 HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy( 9060 IAsyncReader*