1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/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 __IMediaSample_FWD_DEFINED__ 66 #define __IMediaSample_FWD_DEFINED__ 67 typedef interface IMediaSample IMediaSample; 68 #endif 69 70 #ifndef __IMediaSample2_FWD_DEFINED__ 71 #define __IMediaSample2_FWD_DEFINED__ 72 typedef interface IMediaSample2 IMediaSample2; 73 #endif 74 75 #ifndef __IMemAllocator_FWD_DEFINED__ 76 #define __IMemAllocator_FWD_DEFINED__ 77 typedef interface IMemAllocator IMemAllocator; 78 #endif 79 80 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ 81 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ 82 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; 83 #endif 84 85 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 86 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 87 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; 88 #endif 89 90 #ifndef __IMemInputPin_FWD_DEFINED__ 91 #define __IMemInputPin_FWD_DEFINED__ 92 typedef interface IMemInputPin IMemInputPin; 93 #endif 94 95 #ifndef __IAMovieSetup_FWD_DEFINED__ 96 #define __IAMovieSetup_FWD_DEFINED__ 97 typedef interface IAMovieSetup IAMovieSetup; 98 #endif 99 100 #ifndef __IMediaSeeking_FWD_DEFINED__ 101 #define __IMediaSeeking_FWD_DEFINED__ 102 typedef interface IMediaSeeking IMediaSeeking; 103 #endif 104 105 #ifndef __IEnumRegFilters_FWD_DEFINED__ 106 #define __IEnumRegFilters_FWD_DEFINED__ 107 typedef interface IEnumRegFilters IEnumRegFilters; 108 #endif 109 110 #ifndef __IFilterMapper_FWD_DEFINED__ 111 #define __IFilterMapper_FWD_DEFINED__ 112 typedef interface IFilterMapper IFilterMapper; 113 #endif 114 115 #ifndef __IFilterMapper2_FWD_DEFINED__ 116 #define __IFilterMapper2_FWD_DEFINED__ 117 typedef interface IFilterMapper2 IFilterMapper2; 118 #endif 119 120 #ifndef __IFilterMapper3_FWD_DEFINED__ 121 #define __IFilterMapper3_FWD_DEFINED__ 122 typedef interface IFilterMapper3 IFilterMapper3; 123 #endif 124 125 #ifndef __IQualityControl_FWD_DEFINED__ 126 #define __IQualityControl_FWD_DEFINED__ 127 typedef interface IQualityControl IQualityControl; 128 #endif 129 130 #ifndef __IOverlayNotify_FWD_DEFINED__ 131 #define __IOverlayNotify_FWD_DEFINED__ 132 typedef interface IOverlayNotify IOverlayNotify; 133 #endif 134 135 #ifndef __IOverlayNotify2_FWD_DEFINED__ 136 #define __IOverlayNotify2_FWD_DEFINED__ 137 typedef interface IOverlayNotify2 IOverlayNotify2; 138 #endif 139 140 #ifndef __IOverlay_FWD_DEFINED__ 141 #define __IOverlay_FWD_DEFINED__ 142 typedef interface IOverlay IOverlay; 143 #endif 144 145 #ifndef __IMediaEventSink_FWD_DEFINED__ 146 #define __IMediaEventSink_FWD_DEFINED__ 147 typedef interface IMediaEventSink IMediaEventSink; 148 #endif 149 150 #ifndef __IFileSourceFilter_FWD_DEFINED__ 151 #define __IFileSourceFilter_FWD_DEFINED__ 152 typedef interface IFileSourceFilter IFileSourceFilter; 153 #endif 154 155 #ifndef __IFileSinkFilter_FWD_DEFINED__ 156 #define __IFileSinkFilter_FWD_DEFINED__ 157 typedef interface IFileSinkFilter IFileSinkFilter; 158 #endif 159 160 #ifndef __IFileSinkFilter2_FWD_DEFINED__ 161 #define __IFileSinkFilter2_FWD_DEFINED__ 162 typedef interface IFileSinkFilter2 IFileSinkFilter2; 163 #endif 164 165 #ifndef __IGraphBuilder_FWD_DEFINED__ 166 #define __IGraphBuilder_FWD_DEFINED__ 167 typedef interface IGraphBuilder IGraphBuilder; 168 #endif 169 170 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ 171 #define __ICaptureGraphBuilder_FWD_DEFINED__ 172 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; 173 #endif 174 175 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ 176 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ 177 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; 178 #endif 179 180 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ 181 #define __ICaptureGraphBuilder2_FWD_DEFINED__ 182 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; 183 #endif 184 185 #ifndef __IFilterGraph2_FWD_DEFINED__ 186 #define __IFilterGraph2_FWD_DEFINED__ 187 typedef interface IFilterGraph2 IFilterGraph2; 188 #endif 189 190 #ifndef __IStreamBuilder_FWD_DEFINED__ 191 #define __IStreamBuilder_FWD_DEFINED__ 192 typedef interface IStreamBuilder IStreamBuilder; 193 #endif 194 195 #ifndef __IAMStreamConfig_FWD_DEFINED__ 196 #define __IAMStreamConfig_FWD_DEFINED__ 197 typedef interface IAMStreamConfig IAMStreamConfig; 198 #endif 199 200 #ifndef __IAMVideoProcAmp_FWD_DEFINED__ 201 #define __IAMVideoProcAmp_FWD_DEFINED__ 202 typedef interface IAMVideoProcAmp IAMVideoProcAmp; 203 #endif 204 205 #ifndef __IAsyncReader_FWD_DEFINED__ 206 #define __IAsyncReader_FWD_DEFINED__ 207 typedef interface IAsyncReader IAsyncReader; 208 #endif 209 210 #ifndef __IGraphVersion_FWD_DEFINED__ 211 #define __IGraphVersion_FWD_DEFINED__ 212 typedef interface IGraphVersion IGraphVersion; 213 #endif 214 215 #ifndef __IResourceConsumer_FWD_DEFINED__ 216 #define __IResourceConsumer_FWD_DEFINED__ 217 typedef interface IResourceConsumer IResourceConsumer; 218 #endif 219 220 #ifndef __IResourceManager_FWD_DEFINED__ 221 #define __IResourceManager_FWD_DEFINED__ 222 typedef interface IResourceManager IResourceManager; 223 #endif 224 225 #ifndef __IKsPropertySet_FWD_DEFINED__ 226 #define __IKsPropertySet_FWD_DEFINED__ 227 typedef interface IKsPropertySet IKsPropertySet; 228 #endif 229 230 #ifndef __ISeekingPassThru_FWD_DEFINED__ 231 #define __ISeekingPassThru_FWD_DEFINED__ 232 typedef interface ISeekingPassThru ISeekingPassThru; 233 #endif 234 235 #ifndef __IAMFilterMiscFlags_FWD_DEFINED__ 236 #define __IAMFilterMiscFlags_FWD_DEFINED__ 237 typedef interface IAMFilterMiscFlags IAMFilterMiscFlags; 238 #endif 239 240 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ 241 #define __IAMGraphBuilderCallback_FWD_DEFINED__ 242 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; 243 #endif 244 245 /* Headers for imported files */ 246 247 #include <unknwn.h> 248 #include <objidl.h> 249 #include <oaidl.h> 250 251 #ifdef __cplusplus 252 extern "C" { 253 #endif 254 255 #define CDEF_CLASS_DEFAULT 0x0001 256 #define CDEF_BYPASS_CLASS_MANAGER 0x0002 257 #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008 258 #define CDEF_DEVMON_CMGR_DEVICE 0x0010 259 #define CDEF_DEVMON_DMO 0x0020 260 #define CDEF_DEVMON_PNP_DEVICE 0x0040 261 #define CDEF_DEVMON_FILTER 0x0080 262 #define CDEF_DEVMON_SELECTIVE_MASK 0x00f0 263 /***************************************************************************** 264 * ICreateDevEnum interface 265 */ 266 #ifndef __ICreateDevEnum_INTERFACE_DEFINED__ 267 #define __ICreateDevEnum_INTERFACE_DEFINED__ 268 269 DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86); 270 #if defined(__cplusplus) && !defined(CINTERFACE) 271 MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86") 272 ICreateDevEnum : public IUnknown 273 { 274 virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 275 REFCLSID clsidDeviceClass, 276 IEnumMoniker **ppEnumMoniker, 277 DWORD dwFlags) = 0; 278 279 }; 280 #ifdef __CRT_UUID_DECL 281 __CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86) 282 #endif 283 #else 284 typedef struct ICreateDevEnumVtbl { 285 BEGIN_INTERFACE 286 287 /*** IUnknown methods ***/ 288 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 289 ICreateDevEnum* This, 290 REFIID riid, 291 void **ppvObject); 292 293 ULONG (STDMETHODCALLTYPE *AddRef)( 294 ICreateDevEnum* This); 295 296 ULONG (STDMETHODCALLTYPE *Release)( 297 ICreateDevEnum* This); 298 299 /*** ICreateDevEnum methods ***/ 300 HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)( 301 ICreateDevEnum* This, 302 REFCLSID clsidDeviceClass, 303 IEnumMoniker **ppEnumMoniker, 304 DWORD dwFlags); 305 306 END_INTERFACE 307 } ICreateDevEnumVtbl; 308 interface ICreateDevEnum { 309 CONST_VTBL ICreateDevEnumVtbl* lpVtbl; 310 }; 311 312 #ifdef COBJMACROS 313 #ifndef WIDL_C_INLINE_WRAPPERS 314 /*** IUnknown methods ***/ 315 #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 316 #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This) 317 #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This) 318 /*** ICreateDevEnum methods ***/ 319 #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) 320 #else 321 /*** IUnknown methods ***/ 322 static FORCEINLINE HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) { 323 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 324 } 325 static FORCEINLINE ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) { 326 return This->lpVtbl->AddRef(This); 327 } 328 static FORCEINLINE ULONG ICreateDevEnum_Release(ICreateDevEnum* This) { 329 return This->lpVtbl->Release(This); 330 } 331 /*** ICreateDevEnum methods ***/ 332 static FORCEINLINE HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) { 333 return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags); 334 } 335 #endif 336 #endif 337 338 #endif 339 340 HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy( 341 ICreateDevEnum* This, 342 REFCLSID clsidDeviceClass, 343 IEnumMoniker **ppEnumMoniker, 344 DWORD dwFlags); 345 void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub( 346 IRpcStubBuffer* This, 347 IRpcChannelBuffer* pRpcChannelBuffer, 348 PRPC_MESSAGE pRpcMessage, 349 DWORD* pdwStubPhase); 350 351 #endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */ 352 353 #define CHARS_IN_GUID 39 354 #ifdef WINE_NO_UNICODE_MACROS 355 #undef GetTimeFormat 356 #endif 357 typedef struct _AMMediaType { 358 GUID majortype; 359 GUID subtype; 360 WINBOOL bFixedSizeSamples; 361 WINBOOL bTemporalCompression; 362 ULONG lSampleSize; 363 GUID formattype; 364 IUnknown *pUnk; 365 ULONG cbFormat; 366 BYTE *pbFormat; 367 } AM_MEDIA_TYPE; 368 typedef enum _PinDirection { 369 PINDIR_INPUT = 0, 370 PINDIR_OUTPUT = 1 371 } PIN_DIRECTION; 372 #define MAX_PIN_NAME 128 373 #define MAX_FILTER_NAME 128 374 #ifndef REFERENCE_TIME_DEFINED 375 #define REFERENCE_TIME_DEFINED 376 typedef LONGLONG REFERENCE_TIME; 377 #endif 378 #ifndef REFTIME_DEFINED 379 #define REFTIME_DEFINED 380 typedef DOUBLE REFTIME; 381 #endif 382 typedef DWORD_PTR HSEMAPHORE; 383 typedef DWORD_PTR HEVENT; 384 typedef struct _AllocatorProperties { 385 LONG cBuffers; 386 LONG cbBuffer; 387 LONG cbAlign; 388 LONG cbPrefix; 389 } ALLOCATOR_PROPERTIES; 390 #ifndef __IAMovieSetup_FWD_DEFINED__ 391 #define __IAMovieSetup_FWD_DEFINED__ 392 typedef interface IAMovieSetup IAMovieSetup; 393 #endif 394 395 #ifndef __IEnumFilters_FWD_DEFINED__ 396 #define __IEnumFilters_FWD_DEFINED__ 397 typedef interface IEnumFilters IEnumFilters; 398 #endif 399 400 #ifndef __IEnumMediaTypes_FWD_DEFINED__ 401 #define __IEnumMediaTypes_FWD_DEFINED__ 402 typedef interface IEnumMediaTypes IEnumMediaTypes; 403 #endif 404 405 #ifndef __IEnumPins_FWD_DEFINED__ 406 #define __IEnumPins_FWD_DEFINED__ 407 typedef interface IEnumPins IEnumPins; 408 #endif 409 410 #ifndef __IBaseFilter_FWD_DEFINED__ 411 #define __IBaseFilter_FWD_DEFINED__ 412 typedef interface IBaseFilter IBaseFilter; 413 #endif 414 415 #ifndef __IFilterGraph_FWD_DEFINED__ 416 #define __IFilterGraph_FWD_DEFINED__ 417 typedef interface IFilterGraph IFilterGraph; 418 #endif 419 420 #ifndef __IMediaFilter_FWD_DEFINED__ 421 #define __IMediaFilter_FWD_DEFINED__ 422 typedef interface IMediaFilter IMediaFilter; 423 #endif 424 425 #ifndef __IMediaSample_FWD_DEFINED__ 426 #define __IMediaSample_FWD_DEFINED__ 427 typedef interface IMediaSample IMediaSample; 428 #endif 429 430 #ifndef __IMemAllocator_FWD_DEFINED__ 431 #define __IMemAllocator_FWD_DEFINED__ 432 typedef interface IMemAllocator IMemAllocator; 433 #endif 434 435 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ 436 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ 437 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; 438 #endif 439 440 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 441 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ 442 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; 443 #endif 444 445 #ifndef __IMemInputPin_FWD_DEFINED__ 446 #define __IMemInputPin_FWD_DEFINED__ 447 typedef interface IMemInputPin IMemInputPin; 448 #endif 449 450 #ifndef __IPin_FWD_DEFINED__ 451 #define __IPin_FWD_DEFINED__ 452 typedef interface IPin IPin; 453 #endif 454 455 #ifndef __IReferenceClock_FWD_DEFINED__ 456 #define __IReferenceClock_FWD_DEFINED__ 457 typedef interface IReferenceClock IReferenceClock; 458 #endif 459 460 /***************************************************************************** 461 * IPin interface 462 */ 463 #ifndef __IPin_INTERFACE_DEFINED__ 464 #define __IPin_INTERFACE_DEFINED__ 465 466 typedef struct _PinInfo { 467 IBaseFilter *pFilter; 468 PIN_DIRECTION dir; 469 WCHAR achName[128]; 470 } PIN_INFO; 471 DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 472 #if defined(__cplusplus) && !defined(CINTERFACE) 473 MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770") 474 IPin : public IUnknown 475 { 476 virtual HRESULT STDMETHODCALLTYPE Connect( 477 IPin *pReceivePin, 478 const AM_MEDIA_TYPE *pmt) = 0; 479 480 virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 481 IPin *pConnector, 482 const AM_MEDIA_TYPE *pmt) = 0; 483 484 virtual HRESULT STDMETHODCALLTYPE Disconnect( 485 ) = 0; 486 487 virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 488 IPin **pPin) = 0; 489 490 virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 491 AM_MEDIA_TYPE *pmt) = 0; 492 493 virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 494 PIN_INFO *pInfo) = 0; 495 496 virtual HRESULT STDMETHODCALLTYPE QueryDirection( 497 PIN_DIRECTION *pPinDir) = 0; 498 499 virtual HRESULT STDMETHODCALLTYPE QueryId( 500 LPWSTR *Id) = 0; 501 502 virtual HRESULT STDMETHODCALLTYPE QueryAccept( 503 const AM_MEDIA_TYPE *pmt) = 0; 504 505 virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 506 IEnumMediaTypes **ppEnum) = 0; 507 508 virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 509 IPin **apPin, 510 ULONG *nPin) = 0; 511 512 virtual HRESULT STDMETHODCALLTYPE EndOfStream( 513 ) = 0; 514 515 virtual HRESULT STDMETHODCALLTYPE BeginFlush( 516 ) = 0; 517 518 virtual HRESULT STDMETHODCALLTYPE EndFlush( 519 ) = 0; 520 521 virtual HRESULT STDMETHODCALLTYPE NewSegment( 522 REFERENCE_TIME tStart, 523 REFERENCE_TIME tStop, 524 double dRate) = 0; 525 526 }; 527 #ifdef __CRT_UUID_DECL 528 __CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 529 #endif 530 #else 531 typedef struct IPinVtbl { 532 BEGIN_INTERFACE 533 534 /*** IUnknown methods ***/ 535 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 536 IPin* This, 537 REFIID riid, 538 void **ppvObject); 539 540 ULONG (STDMETHODCALLTYPE *AddRef)( 541 IPin* This); 542 543 ULONG (STDMETHODCALLTYPE *Release)( 544 IPin* This); 545 546 /*** IPin methods ***/ 547 HRESULT (STDMETHODCALLTYPE *Connect)( 548 IPin* This, 549 IPin *pReceivePin, 550 const AM_MEDIA_TYPE *pmt); 551 552 HRESULT (STDMETHODCALLTYPE *ReceiveConnection)( 553 IPin* This, 554 IPin *pConnector, 555 const AM_MEDIA_TYPE *pmt); 556 557 HRESULT (STDMETHODCALLTYPE *Disconnect)( 558 IPin* This); 559 560 HRESULT (STDMETHODCALLTYPE *ConnectedTo)( 561 IPin* This, 562 IPin **pPin); 563 564 HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)( 565 IPin* This, 566 AM_MEDIA_TYPE *pmt); 567 568 HRESULT (STDMETHODCALLTYPE *QueryPinInfo)( 569 IPin* This, 570 PIN_INFO *pInfo); 571 572 HRESULT (STDMETHODCALLTYPE *QueryDirection)( 573 IPin* This, 574 PIN_DIRECTION *pPinDir); 575 576 HRESULT (STDMETHODCALLTYPE *QueryId)( 577 IPin* This, 578 LPWSTR *Id); 579 580 HRESULT (STDMETHODCALLTYPE *QueryAccept)( 581 IPin* This, 582 const AM_MEDIA_TYPE *pmt); 583 584 HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)( 585 IPin* This, 586 IEnumMediaTypes **ppEnum); 587 588 HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)( 589 IPin* This, 590 IPin **apPin, 591 ULONG *nPin); 592 593 HRESULT (STDMETHODCALLTYPE *EndOfStream)( 594 IPin* This); 595 596 HRESULT (STDMETHODCALLTYPE *BeginFlush)( 597 IPin* This); 598 599 HRESULT (STDMETHODCALLTYPE *EndFlush)( 600 IPin* This); 601 602 HRESULT (STDMETHODCALLTYPE *NewSegment)( 603 IPin* This, 604 REFERENCE_TIME tStart, 605 REFERENCE_TIME tStop, 606 double dRate); 607 608 END_INTERFACE 609 } IPinVtbl; 610 interface IPin { 611 CONST_VTBL IPinVtbl* lpVtbl; 612 }; 613 614 #ifdef COBJMACROS 615 #ifndef WIDL_C_INLINE_WRAPPERS 616 /*** IUnknown methods ***/ 617 #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 618 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This) 619 #define IPin_Release(This) (This)->lpVtbl->Release(This) 620 /*** IPin methods ***/ 621 #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt) 622 #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt) 623 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This) 624 #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin) 625 #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt) 626 #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo) 627 #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir) 628 #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id) 629 #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt) 630 #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum) 631 #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin) 632 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) 633 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) 634 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This) 635 #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate) 636 #else 637 /*** IUnknown methods ***/ 638 static FORCEINLINE HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) { 639 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 640 } 641 static FORCEINLINE ULONG IPin_AddRef(IPin* This) { 642 return This->lpVtbl->AddRef(This); 643 } 644 static FORCEINLINE ULONG IPin_Release(IPin* This) { 645 return This->lpVtbl->Release(This); 646 } 647 /*** IPin methods ***/ 648 static FORCEINLINE HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) { 649 return This->lpVtbl->Connect(This,pReceivePin,pmt); 650 } 651 static FORCEINLINE HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) { 652 return This->lpVtbl->ReceiveConnection(This,pConnector,pmt); 653 } 654 static FORCEINLINE HRESULT IPin_Disconnect(IPin* This) { 655 return This->lpVtbl->Disconnect(This); 656 } 657 static FORCEINLINE HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) { 658 return This->lpVtbl->ConnectedTo(This,pPin); 659 } 660 static FORCEINLINE HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) { 661 return This->lpVtbl->ConnectionMediaType(This,pmt); 662 } 663 static FORCEINLINE HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) { 664 return This->lpVtbl->QueryPinInfo(This,pInfo); 665 } 666 static FORCEINLINE HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) { 667 return This->lpVtbl->QueryDirection(This,pPinDir); 668 } 669 static FORCEINLINE HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) { 670 return This->lpVtbl->QueryId(This,Id); 671 } 672 static FORCEINLINE HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) { 673 return This->lpVtbl->QueryAccept(This,pmt); 674 } 675 static FORCEINLINE HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) { 676 return This->lpVtbl->EnumMediaTypes(This,ppEnum); 677 } 678 static FORCEINLINE HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) { 679 return This->lpVtbl->QueryInternalConnections(This,apPin,nPin); 680 } 681 static FORCEINLINE HRESULT IPin_EndOfStream(IPin* This) { 682 return This->lpVtbl->EndOfStream(This); 683 } 684 static FORCEINLINE HRESULT IPin_BeginFlush(IPin* This) { 685 return This->lpVtbl->BeginFlush(This); 686 } 687 static FORCEINLINE HRESULT IPin_EndFlush(IPin* This) { 688 return This->lpVtbl->EndFlush(This); 689 } 690 static FORCEINLINE HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) { 691 return This->lpVtbl->NewSegment(This,tStart,tStop,dRate); 692 } 693 #endif 694 #endif 695 696 #endif 697 698 HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy( 699 IPin* This, 700 IPin *pReceivePin, 701 const AM_MEDIA_TYPE *pmt); 702 void __RPC_STUB IPin_Connect_Stub( 703 IRpcStubBuffer* This, 704 IRpcChannelBuffer* pRpcChannelBuffer, 705 PRPC_MESSAGE pRpcMessage, 706 DWORD* pdwStubPhase); 707 HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy( 708 IPin* This, 709 IPin *pConnector, 710 const AM_MEDIA_TYPE *pmt); 711 void __RPC_STUB IPin_ReceiveConnection_Stub( 712 IRpcStubBuffer* This, 713 IRpcChannelBuffer* pRpcChannelBuffer, 714 PRPC_MESSAGE pRpcMessage, 715 DWORD* pdwStubPhase); 716 HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy( 717 IPin* This); 718 void __RPC_STUB IPin_Disconnect_Stub( 719 IRpcStubBuffer* This, 720 IRpcChannelBuffer* pRpcChannelBuffer, 721 PRPC_MESSAGE pRpcMessage, 722 DWORD* pdwStubPhase); 723 HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy( 724 IPin* This, 725 IPin **pPin); 726 void __RPC_STUB IPin_ConnectedTo_Stub( 727 IRpcStubBuffer* This, 728 IRpcChannelBuffer* pRpcChannelBuffer, 729 PRPC_MESSAGE pRpcMessage, 730 DWORD* pdwStubPhase); 731 HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy( 732 IPin* This, 733 AM_MEDIA_TYPE *pmt); 734 void __RPC_STUB IPin_ConnectionMediaType_Stub( 735 IRpcStubBuffer* This, 736 IRpcChannelBuffer* pRpcChannelBuffer, 737 PRPC_MESSAGE pRpcMessage, 738 DWORD* pdwStubPhase); 739 HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy( 740 IPin* This, 741 PIN_INFO *pInfo); 742 void __RPC_STUB IPin_QueryPinInfo_Stub( 743 IRpcStubBuffer* This, 744 IRpcChannelBuffer* pRpcChannelBuffer, 745 PRPC_MESSAGE pRpcMessage, 746 DWORD* pdwStubPhase); 747 HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy( 748 IPin* This, 749 PIN_DIRECTION *pPinDir); 750 void __RPC_STUB IPin_QueryDirection_Stub( 751 IRpcStubBuffer* This, 752 IRpcChannelBuffer* pRpcChannelBuffer, 753 PRPC_MESSAGE pRpcMessage, 754 DWORD* pdwStubPhase); 755 HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy( 756 IPin* This, 757 LPWSTR *Id); 758 void __RPC_STUB IPin_QueryId_Stub( 759 IRpcStubBuffer* This, 760 IRpcChannelBuffer* pRpcChannelBuffer, 761 PRPC_MESSAGE pRpcMessage, 762 DWORD* pdwStubPhase); 763 HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy( 764 IPin* This, 765 const AM_MEDIA_TYPE *pmt); 766 void __RPC_STUB IPin_QueryAccept_Stub( 767 IRpcStubBuffer* This, 768 IRpcChannelBuffer* pRpcChannelBuffer, 769 PRPC_MESSAGE pRpcMessage, 770 DWORD* pdwStubPhase); 771 HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy( 772 IPin* This, 773 IEnumMediaTypes **ppEnum); 774 void __RPC_STUB IPin_EnumMediaTypes_Stub( 775 IRpcStubBuffer* This, 776 IRpcChannelBuffer* pRpcChannelBuffer, 777 PRPC_MESSAGE pRpcMessage, 778 DWORD* pdwStubPhase); 779 HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy( 780 IPin* This, 781 IPin **apPin, 782 ULONG *nPin); 783 void __RPC_STUB IPin_QueryInternalConnections_Stub( 784 IRpcStubBuffer* This, 785 IRpcChannelBuffer* pRpcChannelBuffer, 786 PRPC_MESSAGE pRpcMessage, 787 DWORD* pdwStubPhase); 788 HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy( 789 IPin* This); 790 void __RPC_STUB IPin_EndOfStream_Stub( 791 IRpcStubBuffer* This, 792 IRpcChannelBuffer* pRpcChannelBuffer, 793 PRPC_MESSAGE pRpcMessage, 794 DWORD* pdwStubPhase); 795 HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy( 796 IPin* This); 797 void __RPC_STUB IPin_BeginFlush_Stub( 798 IRpcStubBuffer* This, 799 IRpcChannelBuffer* pRpcChannelBuffer, 800 PRPC_MESSAGE pRpcMessage, 801 DWORD* pdwStubPhase); 802 HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy( 803 IPin* This); 804 void __RPC_STUB IPin_EndFlush_Stub( 805 IRpcStubBuffer* This, 806 IRpcChannelBuffer* pRpcChannelBuffer, 807 PRPC_MESSAGE pRpcMessage, 808 DWORD* pdwStubPhase); 809 HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy( 810 IPin* This, 811 REFERENCE_TIME tStart, 812 REFERENCE_TIME tStop, 813 double dRate); 814 void __RPC_STUB IPin_NewSegment_Stub( 815 IRpcStubBuffer* This, 816 IRpcChannelBuffer* pRpcChannelBuffer, 817 PRPC_MESSAGE pRpcMessage, 818 DWORD* pdwStubPhase); 819 820 #endif /* __IPin_INTERFACE_DEFINED__ */ 821 822 typedef IPin *PPIN; 823 /***************************************************************************** 824 * IEnumPins interface 825 */ 826 #ifndef __IEnumPins_INTERFACE_DEFINED__ 827 #define __IEnumPins_INTERFACE_DEFINED__ 828 829 DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 830 #if defined(__cplusplus) && !defined(CINTERFACE) 831 MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770") 832 IEnumPins : public IUnknown 833 { 834 virtual HRESULT STDMETHODCALLTYPE Next( 835 ULONG cPins, 836 IPin **ppPins, 837 ULONG *pcFetched) = 0; 838 839 virtual HRESULT STDMETHODCALLTYPE Skip( 840 ULONG cPins) = 0; 841 842 virtual HRESULT STDMETHODCALLTYPE Reset( 843 ) = 0; 844 845 virtual HRESULT STDMETHODCALLTYPE Clone( 846 IEnumPins **ppEnum) = 0; 847 848 }; 849 #ifdef __CRT_UUID_DECL 850 __CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 851 #endif 852 #else 853 typedef struct IEnumPinsVtbl { 854 BEGIN_INTERFACE 855 856 /*** IUnknown methods ***/ 857 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 858 IEnumPins* This, 859 REFIID riid, 860 void **ppvObject); 861 862 ULONG (STDMETHODCALLTYPE *AddRef)( 863 IEnumPins* This); 864 865 ULONG (STDMETHODCALLTYPE *Release)( 866 IEnumPins* This); 867 868 /*** IEnumPins methods ***/ 869 HRESULT (STDMETHODCALLTYPE *Next)( 870 IEnumPins* This, 871 ULONG cPins, 872 IPin **ppPins, 873 ULONG *pcFetched); 874 875 HRESULT (STDMETHODCALLTYPE *Skip)( 876 IEnumPins* This, 877 ULONG cPins); 878 879 HRESULT (STDMETHODCALLTYPE *Reset)( 880 IEnumPins* This); 881 882 HRESULT (STDMETHODCALLTYPE *Clone)( 883 IEnumPins* This, 884 IEnumPins **ppEnum); 885 886 END_INTERFACE 887 } IEnumPinsVtbl; 888 interface IEnumPins { 889 CONST_VTBL IEnumPinsVtbl* lpVtbl; 890 }; 891 892 #ifdef COBJMACROS 893 #ifndef WIDL_C_INLINE_WRAPPERS 894 /*** IUnknown methods ***/ 895 #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 896 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This) 897 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This) 898 /*** IEnumPins methods ***/ 899 #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched) 900 #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins) 901 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This) 902 #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 903 #else 904 /*** IUnknown methods ***/ 905 static FORCEINLINE HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) { 906 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 907 } 908 static FORCEINLINE ULONG IEnumPins_AddRef(IEnumPins* This) { 909 return This->lpVtbl->AddRef(This); 910 } 911 static FORCEINLINE ULONG IEnumPins_Release(IEnumPins* This) { 912 return This->lpVtbl->Release(This); 913 } 914 /*** IEnumPins methods ***/ 915 static FORCEINLINE HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) { 916 return This->lpVtbl->Next(This,cPins,ppPins,pcFetched); 917 } 918 static FORCEINLINE HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) { 919 return This->lpVtbl->Skip(This,cPins); 920 } 921 static FORCEINLINE HRESULT IEnumPins_Reset(IEnumPins* This) { 922 return This->lpVtbl->Reset(This); 923 } 924 static FORCEINLINE HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) { 925 return This->lpVtbl->Clone(This,ppEnum); 926 } 927 #endif 928 #endif 929 930 #endif 931 932 HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy( 933 IEnumPins* This, 934 ULONG cPins, 935 IPin **ppPins, 936 ULONG *pcFetched); 937 void __RPC_STUB IEnumPins_Next_Stub( 938 IRpcStubBuffer* This, 939 IRpcChannelBuffer* pRpcChannelBuffer, 940 PRPC_MESSAGE pRpcMessage, 941 DWORD* pdwStubPhase); 942 HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy( 943 IEnumPins* This, 944 ULONG cPins); 945 void __RPC_STUB IEnumPins_Skip_Stub( 946 IRpcStubBuffer* This, 947 IRpcChannelBuffer* pRpcChannelBuffer, 948 PRPC_MESSAGE pRpcMessage, 949 DWORD* pdwStubPhase); 950 HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy( 951 IEnumPins* This); 952 void __RPC_STUB IEnumPins_Reset_Stub( 953 IRpcStubBuffer* This, 954 IRpcChannelBuffer* pRpcChannelBuffer, 955 PRPC_MESSAGE pRpcMessage, 956 DWORD* pdwStubPhase); 957 HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy( 958 IEnumPins* This, 959 IEnumPins **ppEnum); 960 void __RPC_STUB IEnumPins_Clone_Stub( 961 IRpcStubBuffer* This, 962 IRpcChannelBuffer* pRpcChannelBuffer, 963 PRPC_MESSAGE pRpcMessage, 964 DWORD* pdwStubPhase); 965 966 #endif /* __IEnumPins_INTERFACE_DEFINED__ */ 967 968 typedef IEnumPins *PENUMPINS; 969 /***************************************************************************** 970 * IEnumMediaTypes interface 971 */ 972 #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__ 973 #define __IEnumMediaTypes_INTERFACE_DEFINED__ 974 975 DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a); 976 #if defined(__cplusplus) && !defined(CINTERFACE) 977 MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a") 978 IEnumMediaTypes : public IUnknown 979 { 980 virtual HRESULT STDMETHODCALLTYPE Next( 981 ULONG cMediaTypes, 982 AM_MEDIA_TYPE **ppMediaTypes, 983 ULONG *pcFetched) = 0; 984 985 virtual HRESULT STDMETHODCALLTYPE Skip( 986 ULONG cMediaTypes) = 0; 987 988 virtual HRESULT STDMETHODCALLTYPE Reset( 989 ) = 0; 990 991 virtual HRESULT STDMETHODCALLTYPE Clone( 992 IEnumMediaTypes **ppEnum) = 0; 993 994 }; 995 #ifdef __CRT_UUID_DECL 996 __CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a) 997 #endif 998 #else 999 typedef struct IEnumMediaTypesVtbl { 1000 BEGIN_INTERFACE 1001 1002 /*** IUnknown methods ***/ 1003 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1004 IEnumMediaTypes* This, 1005 REFIID riid, 1006 void **ppvObject); 1007 1008 ULONG (STDMETHODCALLTYPE *AddRef)( 1009 IEnumMediaTypes* This); 1010 1011 ULONG (STDMETHODCALLTYPE *Release)( 1012 IEnumMediaTypes* This); 1013 1014 /*** IEnumMediaTypes methods ***/ 1015 HRESULT (STDMETHODCALLTYPE *Next)( 1016 IEnumMediaTypes* This, 1017 ULONG cMediaTypes, 1018 AM_MEDIA_TYPE **ppMediaTypes, 1019 ULONG *pcFetched); 1020 1021 HRESULT (STDMETHODCALLTYPE *Skip)( 1022 IEnumMediaTypes* This, 1023 ULONG cMediaTypes); 1024 1025 HRESULT (STDMETHODCALLTYPE *Reset)( 1026 IEnumMediaTypes* This); 1027 1028 HRESULT (STDMETHODCALLTYPE *Clone)( 1029 IEnumMediaTypes* This, 1030 IEnumMediaTypes **ppEnum); 1031 1032 END_INTERFACE 1033 } IEnumMediaTypesVtbl; 1034 interface IEnumMediaTypes { 1035 CONST_VTBL IEnumMediaTypesVtbl* lpVtbl; 1036 }; 1037 1038 #ifdef COBJMACROS 1039 #ifndef WIDL_C_INLINE_WRAPPERS 1040 /*** IUnknown methods ***/ 1041 #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1042 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This) 1043 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This) 1044 /*** IEnumMediaTypes methods ***/ 1045 #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched) 1046 #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes) 1047 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This) 1048 #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1049 #else 1050 /*** IUnknown methods ***/ 1051 static FORCEINLINE HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) { 1052 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1053 } 1054 static FORCEINLINE ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) { 1055 return This->lpVtbl->AddRef(This); 1056 } 1057 static FORCEINLINE ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) { 1058 return This->lpVtbl->Release(This); 1059 } 1060 /*** IEnumMediaTypes methods ***/ 1061 static FORCEINLINE HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) { 1062 return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched); 1063 } 1064 static FORCEINLINE HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) { 1065 return This->lpVtbl->Skip(This,cMediaTypes); 1066 } 1067 static FORCEINLINE HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) { 1068 return This->lpVtbl->Reset(This); 1069 } 1070 static FORCEINLINE HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) { 1071 return This->lpVtbl->Clone(This,ppEnum); 1072 } 1073 #endif 1074 #endif 1075 1076 #endif 1077 1078 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy( 1079 IEnumMediaTypes* This, 1080 ULONG cMediaTypes, 1081 AM_MEDIA_TYPE **ppMediaTypes, 1082 ULONG *pcFetched); 1083 void __RPC_STUB IEnumMediaTypes_Next_Stub( 1084 IRpcStubBuffer* This, 1085 IRpcChannelBuffer* pRpcChannelBuffer, 1086 PRPC_MESSAGE pRpcMessage, 1087 DWORD* pdwStubPhase); 1088 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy( 1089 IEnumMediaTypes* This, 1090 ULONG cMediaTypes); 1091 void __RPC_STUB IEnumMediaTypes_Skip_Stub( 1092 IRpcStubBuffer* This, 1093 IRpcChannelBuffer* pRpcChannelBuffer, 1094 PRPC_MESSAGE pRpcMessage, 1095 DWORD* pdwStubPhase); 1096 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy( 1097 IEnumMediaTypes* This); 1098 void __RPC_STUB IEnumMediaTypes_Reset_Stub( 1099 IRpcStubBuffer* This, 1100 IRpcChannelBuffer* pRpcChannelBuffer, 1101 PRPC_MESSAGE pRpcMessage, 1102 DWORD* pdwStubPhase); 1103 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy( 1104 IEnumMediaTypes* This, 1105 IEnumMediaTypes **ppEnum); 1106 void __RPC_STUB IEnumMediaTypes_Clone_Stub( 1107 IRpcStubBuffer* This, 1108 IRpcChannelBuffer* pRpcChannelBuffer, 1109 PRPC_MESSAGE pRpcMessage, 1110 DWORD* pdwStubPhase); 1111 1112 #endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */ 1113 1114 typedef IEnumMediaTypes *PENUMMEDIATYPES; 1115 /***************************************************************************** 1116 * IFilterGraph interface 1117 */ 1118 #ifndef __IFilterGraph_INTERFACE_DEFINED__ 1119 #define __IFilterGraph_INTERFACE_DEFINED__ 1120 1121 DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1122 #if defined(__cplusplus) && !defined(CINTERFACE) 1123 MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770") 1124 IFilterGraph : public IUnknown 1125 { 1126 virtual HRESULT STDMETHODCALLTYPE AddFilter( 1127 IBaseFilter *pFilter, 1128 LPCWSTR pName) = 0; 1129 1130 virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 1131 IBaseFilter *pFilter) = 0; 1132 1133 virtual HRESULT STDMETHODCALLTYPE EnumFilters( 1134 IEnumFilters **ppEnum) = 0; 1135 1136 virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 1137 LPCWSTR pName, 1138 IBaseFilter **ppFilter) = 0; 1139 1140 virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 1141 IPin *ppinOut, 1142 IPin *ppinIn, 1143 const AM_MEDIA_TYPE *pmt) = 0; 1144 1145 virtual HRESULT STDMETHODCALLTYPE Reconnect( 1146 IPin *ppin) = 0; 1147 1148 virtual HRESULT STDMETHODCALLTYPE Disconnect( 1149 IPin *ppin) = 0; 1150 1151 virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( 1152 ) = 0; 1153 1154 }; 1155 #ifdef __CRT_UUID_DECL 1156 __CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1157 #endif 1158 #else 1159 typedef struct IFilterGraphVtbl { 1160 BEGIN_INTERFACE 1161 1162 /*** IUnknown methods ***/ 1163 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1164 IFilterGraph* This, 1165 REFIID riid, 1166 void **ppvObject); 1167 1168 ULONG (STDMETHODCALLTYPE *AddRef)( 1169 IFilterGraph* This); 1170 1171 ULONG (STDMETHODCALLTYPE *Release)( 1172 IFilterGraph* This); 1173 1174 /*** IFilterGraph methods ***/ 1175 HRESULT (STDMETHODCALLTYPE *AddFilter)( 1176 IFilterGraph* This, 1177 IBaseFilter *pFilter, 1178 LPCWSTR pName); 1179 1180 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 1181 IFilterGraph* This, 1182 IBaseFilter *pFilter); 1183 1184 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 1185 IFilterGraph* This, 1186 IEnumFilters **ppEnum); 1187 1188 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 1189 IFilterGraph* This, 1190 LPCWSTR pName, 1191 IBaseFilter **ppFilter); 1192 1193 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 1194 IFilterGraph* This, 1195 IPin *ppinOut, 1196 IPin *ppinIn, 1197 const AM_MEDIA_TYPE *pmt); 1198 1199 HRESULT (STDMETHODCALLTYPE *Reconnect)( 1200 IFilterGraph* This, 1201 IPin *ppin); 1202 1203 HRESULT (STDMETHODCALLTYPE *Disconnect)( 1204 IFilterGraph* This, 1205 IPin *ppin); 1206 1207 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 1208 IFilterGraph* This); 1209 1210 END_INTERFACE 1211 } IFilterGraphVtbl; 1212 interface IFilterGraph { 1213 CONST_VTBL IFilterGraphVtbl* lpVtbl; 1214 }; 1215 1216 #ifdef COBJMACROS 1217 #ifndef WIDL_C_INLINE_WRAPPERS 1218 /*** IUnknown methods ***/ 1219 #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1220 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This) 1221 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This) 1222 /*** IFilterGraph methods ***/ 1223 #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 1224 #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 1225 #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 1226 #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 1227 #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 1228 #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 1229 #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 1230 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 1231 #else 1232 /*** IUnknown methods ***/ 1233 static FORCEINLINE HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) { 1234 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1235 } 1236 static FORCEINLINE ULONG IFilterGraph_AddRef(IFilterGraph* This) { 1237 return This->lpVtbl->AddRef(This); 1238 } 1239 static FORCEINLINE ULONG IFilterGraph_Release(IFilterGraph* This) { 1240 return This->lpVtbl->Release(This); 1241 } 1242 /*** IFilterGraph methods ***/ 1243 static FORCEINLINE HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) { 1244 return This->lpVtbl->AddFilter(This,pFilter,pName); 1245 } 1246 static FORCEINLINE HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) { 1247 return This->lpVtbl->RemoveFilter(This,pFilter); 1248 } 1249 static FORCEINLINE HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) { 1250 return This->lpVtbl->EnumFilters(This,ppEnum); 1251 } 1252 static FORCEINLINE HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) { 1253 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 1254 } 1255 static FORCEINLINE HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 1256 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 1257 } 1258 static FORCEINLINE HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) { 1259 return This->lpVtbl->Reconnect(This,ppin); 1260 } 1261 static FORCEINLINE HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) { 1262 return This->lpVtbl->Disconnect(This,ppin); 1263 } 1264 static FORCEINLINE HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) { 1265 return This->lpVtbl->SetDefaultSyncSource(This); 1266 } 1267 #endif 1268 #endif 1269 1270 #endif 1271 1272 HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy( 1273 IFilterGraph* This, 1274 IBaseFilter *pFilter, 1275 LPCWSTR pName); 1276 void __RPC_STUB IFilterGraph_AddFilter_Stub( 1277 IRpcStubBuffer* This, 1278 IRpcChannelBuffer* pRpcChannelBuffer, 1279 PRPC_MESSAGE pRpcMessage, 1280 DWORD* pdwStubPhase); 1281 HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy( 1282 IFilterGraph* This, 1283 IBaseFilter *pFilter); 1284 void __RPC_STUB IFilterGraph_RemoveFilter_Stub( 1285 IRpcStubBuffer* This, 1286 IRpcChannelBuffer* pRpcChannelBuffer, 1287 PRPC_MESSAGE pRpcMessage, 1288 DWORD* pdwStubPhase); 1289 HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy( 1290 IFilterGraph* This, 1291 IEnumFilters **ppEnum); 1292 void __RPC_STUB IFilterGraph_EnumFilters_Stub( 1293 IRpcStubBuffer* This, 1294 IRpcChannelBuffer* pRpcChannelBuffer, 1295 PRPC_MESSAGE pRpcMessage, 1296 DWORD* pdwStubPhase); 1297 HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy( 1298 IFilterGraph* This, 1299 LPCWSTR pName, 1300 IBaseFilter **ppFilter); 1301 void __RPC_STUB IFilterGraph_FindFilterByName_Stub( 1302 IRpcStubBuffer* This, 1303 IRpcChannelBuffer* pRpcChannelBuffer, 1304 PRPC_MESSAGE pRpcMessage, 1305 DWORD* pdwStubPhase); 1306 HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy( 1307 IFilterGraph* This, 1308 IPin *ppinOut, 1309 IPin *ppinIn, 1310 const AM_MEDIA_TYPE *pmt); 1311 void __RPC_STUB IFilterGraph_ConnectDirect_Stub( 1312 IRpcStubBuffer* This, 1313 IRpcChannelBuffer* pRpcChannelBuffer, 1314 PRPC_MESSAGE pRpcMessage, 1315 DWORD* pdwStubPhase); 1316 HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy( 1317 IFilterGraph* This, 1318 IPin *ppin); 1319 void __RPC_STUB IFilterGraph_Reconnect_Stub( 1320 IRpcStubBuffer* This, 1321 IRpcChannelBuffer* pRpcChannelBuffer, 1322 PRPC_MESSAGE pRpcMessage, 1323 DWORD* pdwStubPhase); 1324 HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy( 1325 IFilterGraph* This, 1326 IPin *ppin); 1327 void __RPC_STUB IFilterGraph_Disconnect_Stub( 1328 IRpcStubBuffer* This, 1329 IRpcChannelBuffer* pRpcChannelBuffer, 1330 PRPC_MESSAGE pRpcMessage, 1331 DWORD* pdwStubPhase); 1332 HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy( 1333 IFilterGraph* This); 1334 void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub( 1335 IRpcStubBuffer* This, 1336 IRpcChannelBuffer* pRpcChannelBuffer, 1337 PRPC_MESSAGE pRpcMessage, 1338 DWORD* pdwStubPhase); 1339 1340 #endif /* __IFilterGraph_INTERFACE_DEFINED__ */ 1341 1342 typedef IFilterGraph *PFILTERGRAPH; 1343 /***************************************************************************** 1344 * IEnumFilters interface 1345 */ 1346 #ifndef __IEnumFilters_INTERFACE_DEFINED__ 1347 #define __IEnumFilters_INTERFACE_DEFINED__ 1348 1349 DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1350 #if defined(__cplusplus) && !defined(CINTERFACE) 1351 MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770") 1352 IEnumFilters : public IUnknown 1353 { 1354 virtual HRESULT STDMETHODCALLTYPE Next( 1355 ULONG cFilters, 1356 IBaseFilter **ppFilter, 1357 ULONG *pcFetched) = 0; 1358 1359 virtual HRESULT STDMETHODCALLTYPE Skip( 1360 ULONG cFilters) = 0; 1361 1362 virtual HRESULT STDMETHODCALLTYPE Reset( 1363 ) = 0; 1364 1365 virtual HRESULT STDMETHODCALLTYPE Clone( 1366 IEnumFilters **ppEnum) = 0; 1367 1368 }; 1369 #ifdef __CRT_UUID_DECL 1370 __CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1371 #endif 1372 #else 1373 typedef struct IEnumFiltersVtbl { 1374 BEGIN_INTERFACE 1375 1376 /*** IUnknown methods ***/ 1377 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1378 IEnumFilters* This, 1379 REFIID riid, 1380 void **ppvObject); 1381 1382 ULONG (STDMETHODCALLTYPE *AddRef)( 1383 IEnumFilters* This); 1384 1385 ULONG (STDMETHODCALLTYPE *Release)( 1386 IEnumFilters* This); 1387 1388 /*** IEnumFilters methods ***/ 1389 HRESULT (STDMETHODCALLTYPE *Next)( 1390 IEnumFilters* This, 1391 ULONG cFilters, 1392 IBaseFilter **ppFilter, 1393 ULONG *pcFetched); 1394 1395 HRESULT (STDMETHODCALLTYPE *Skip)( 1396 IEnumFilters* This, 1397 ULONG cFilters); 1398 1399 HRESULT (STDMETHODCALLTYPE *Reset)( 1400 IEnumFilters* This); 1401 1402 HRESULT (STDMETHODCALLTYPE *Clone)( 1403 IEnumFilters* This, 1404 IEnumFilters **ppEnum); 1405 1406 END_INTERFACE 1407 } IEnumFiltersVtbl; 1408 interface IEnumFilters { 1409 CONST_VTBL IEnumFiltersVtbl* lpVtbl; 1410 }; 1411 1412 #ifdef COBJMACROS 1413 #ifndef WIDL_C_INLINE_WRAPPERS 1414 /*** IUnknown methods ***/ 1415 #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1416 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This) 1417 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This) 1418 /*** IEnumFilters methods ***/ 1419 #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched) 1420 #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) 1421 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This) 1422 #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 1423 #else 1424 /*** IUnknown methods ***/ 1425 static FORCEINLINE HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) { 1426 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1427 } 1428 static FORCEINLINE ULONG IEnumFilters_AddRef(IEnumFilters* This) { 1429 return This->lpVtbl->AddRef(This); 1430 } 1431 static FORCEINLINE ULONG IEnumFilters_Release(IEnumFilters* This) { 1432 return This->lpVtbl->Release(This); 1433 } 1434 /*** IEnumFilters methods ***/ 1435 static FORCEINLINE HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) { 1436 return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched); 1437 } 1438 static FORCEINLINE HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) { 1439 return This->lpVtbl->Skip(This,cFilters); 1440 } 1441 static FORCEINLINE HRESULT IEnumFilters_Reset(IEnumFilters* This) { 1442 return This->lpVtbl->Reset(This); 1443 } 1444 static FORCEINLINE HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) { 1445 return This->lpVtbl->Clone(This,ppEnum); 1446 } 1447 #endif 1448 #endif 1449 1450 #endif 1451 1452 HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy( 1453 IEnumFilters* This, 1454 ULONG cFilters, 1455 IBaseFilter **ppFilter, 1456 ULONG *pcFetched); 1457 void __RPC_STUB IEnumFilters_Next_Stub( 1458 IRpcStubBuffer* This, 1459 IRpcChannelBuffer* pRpcChannelBuffer, 1460 PRPC_MESSAGE pRpcMessage, 1461 DWORD* pdwStubPhase); 1462 HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy( 1463 IEnumFilters* This, 1464 ULONG cFilters); 1465 void __RPC_STUB IEnumFilters_Skip_Stub( 1466 IRpcStubBuffer* This, 1467 IRpcChannelBuffer* pRpcChannelBuffer, 1468 PRPC_MESSAGE pRpcMessage, 1469 DWORD* pdwStubPhase); 1470 HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy( 1471 IEnumFilters* This); 1472 void __RPC_STUB IEnumFilters_Reset_Stub( 1473 IRpcStubBuffer* This, 1474 IRpcChannelBuffer* pRpcChannelBuffer, 1475 PRPC_MESSAGE pRpcMessage, 1476 DWORD* pdwStubPhase); 1477 HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy( 1478 IEnumFilters* This, 1479 IEnumFilters **ppEnum); 1480 void __RPC_STUB IEnumFilters_Clone_Stub( 1481 IRpcStubBuffer* This, 1482 IRpcChannelBuffer* pRpcChannelBuffer, 1483 PRPC_MESSAGE pRpcMessage, 1484 DWORD* pdwStubPhase); 1485 1486 #endif /* __IEnumFilters_INTERFACE_DEFINED__ */ 1487 1488 typedef IEnumFilters *PENUMFILTERS; 1489 /***************************************************************************** 1490 * IMediaFilter interface 1491 */ 1492 #ifndef __IMediaFilter_INTERFACE_DEFINED__ 1493 #define __IMediaFilter_INTERFACE_DEFINED__ 1494 1495 typedef enum _FilterState { 1496 State_Stopped = 0, 1497 State_Paused = 1, 1498 State_Running = 2 1499 } FILTER_STATE; 1500 DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1501 #if defined(__cplusplus) && !defined(CINTERFACE) 1502 MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770") 1503 IMediaFilter : public IPersist 1504 { 1505 virtual HRESULT STDMETHODCALLTYPE Stop( 1506 ) = 0; 1507 1508 virtual HRESULT STDMETHODCALLTYPE Pause( 1509 ) = 0; 1510 1511 virtual HRESULT STDMETHODCALLTYPE Run( 1512 REFERENCE_TIME tStart) = 0; 1513 1514 virtual HRESULT STDMETHODCALLTYPE GetState( 1515 DWORD dwMilliSecsTimeout, 1516 FILTER_STATE *State) = 0; 1517 1518 virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 1519 IReferenceClock *pClock) = 0; 1520 1521 virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 1522 IReferenceClock **pClock) = 0; 1523 1524 }; 1525 #ifdef __CRT_UUID_DECL 1526 __CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1527 #endif 1528 #else 1529 typedef struct IMediaFilterVtbl { 1530 BEGIN_INTERFACE 1531 1532 /*** IUnknown methods ***/ 1533 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1534 IMediaFilter* This, 1535 REFIID riid, 1536 void **ppvObject); 1537 1538 ULONG (STDMETHODCALLTYPE *AddRef)( 1539 IMediaFilter* This); 1540 1541 ULONG (STDMETHODCALLTYPE *Release)( 1542 IMediaFilter* This); 1543 1544 /*** IPersist methods ***/ 1545 HRESULT (STDMETHODCALLTYPE *GetClassID)( 1546 IMediaFilter* This, 1547 CLSID *pClassID); 1548 1549 /*** IMediaFilter methods ***/ 1550 HRESULT (STDMETHODCALLTYPE *Stop)( 1551 IMediaFilter* This); 1552 1553 HRESULT (STDMETHODCALLTYPE *Pause)( 1554 IMediaFilter* This); 1555 1556 HRESULT (STDMETHODCALLTYPE *Run)( 1557 IMediaFilter* This, 1558 REFERENCE_TIME tStart); 1559 1560 HRESULT (STDMETHODCALLTYPE *GetState)( 1561 IMediaFilter* This, 1562 DWORD dwMilliSecsTimeout, 1563 FILTER_STATE *State); 1564 1565 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 1566 IMediaFilter* This, 1567 IReferenceClock *pClock); 1568 1569 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 1570 IMediaFilter* This, 1571 IReferenceClock **pClock); 1572 1573 END_INTERFACE 1574 } IMediaFilterVtbl; 1575 interface IMediaFilter { 1576 CONST_VTBL IMediaFilterVtbl* lpVtbl; 1577 }; 1578 1579 #ifdef COBJMACROS 1580 #ifndef WIDL_C_INLINE_WRAPPERS 1581 /*** IUnknown methods ***/ 1582 #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1583 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1584 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This) 1585 /*** IPersist methods ***/ 1586 #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1587 /*** IMediaFilter methods ***/ 1588 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This) 1589 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This) 1590 #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1591 #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1592 #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1593 #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1594 #else 1595 /*** IUnknown methods ***/ 1596 static FORCEINLINE HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) { 1597 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1598 } 1599 static FORCEINLINE ULONG IMediaFilter_AddRef(IMediaFilter* This) { 1600 return This->lpVtbl->AddRef(This); 1601 } 1602 static FORCEINLINE ULONG IMediaFilter_Release(IMediaFilter* This) { 1603 return This->lpVtbl->Release(This); 1604 } 1605 /*** IPersist methods ***/ 1606 static FORCEINLINE HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) { 1607 return This->lpVtbl->GetClassID(This,pClassID); 1608 } 1609 /*** IMediaFilter methods ***/ 1610 static FORCEINLINE HRESULT IMediaFilter_Stop(IMediaFilter* This) { 1611 return This->lpVtbl->Stop(This); 1612 } 1613 static FORCEINLINE HRESULT IMediaFilter_Pause(IMediaFilter* This) { 1614 return This->lpVtbl->Pause(This); 1615 } 1616 static FORCEINLINE HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) { 1617 return This->lpVtbl->Run(This,tStart); 1618 } 1619 static FORCEINLINE HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1620 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1621 } 1622 static FORCEINLINE HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) { 1623 return This->lpVtbl->SetSyncSource(This,pClock); 1624 } 1625 static FORCEINLINE HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) { 1626 return This->lpVtbl->GetSyncSource(This,pClock); 1627 } 1628 #endif 1629 #endif 1630 1631 #endif 1632 1633 HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy( 1634 IMediaFilter* This); 1635 void __RPC_STUB IMediaFilter_Stop_Stub( 1636 IRpcStubBuffer* This, 1637 IRpcChannelBuffer* pRpcChannelBuffer, 1638 PRPC_MESSAGE pRpcMessage, 1639 DWORD* pdwStubPhase); 1640 HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy( 1641 IMediaFilter* This); 1642 void __RPC_STUB IMediaFilter_Pause_Stub( 1643 IRpcStubBuffer* This, 1644 IRpcChannelBuffer* pRpcChannelBuffer, 1645 PRPC_MESSAGE pRpcMessage, 1646 DWORD* pdwStubPhase); 1647 HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy( 1648 IMediaFilter* This, 1649 REFERENCE_TIME tStart); 1650 void __RPC_STUB IMediaFilter_Run_Stub( 1651 IRpcStubBuffer* This, 1652 IRpcChannelBuffer* pRpcChannelBuffer, 1653 PRPC_MESSAGE pRpcMessage, 1654 DWORD* pdwStubPhase); 1655 HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy( 1656 IMediaFilter* This, 1657 DWORD dwMilliSecsTimeout, 1658 FILTER_STATE *State); 1659 void __RPC_STUB IMediaFilter_GetState_Stub( 1660 IRpcStubBuffer* This, 1661 IRpcChannelBuffer* pRpcChannelBuffer, 1662 PRPC_MESSAGE pRpcMessage, 1663 DWORD* pdwStubPhase); 1664 HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy( 1665 IMediaFilter* This, 1666 IReferenceClock *pClock); 1667 void __RPC_STUB IMediaFilter_SetSyncSource_Stub( 1668 IRpcStubBuffer* This, 1669 IRpcChannelBuffer* pRpcChannelBuffer, 1670 PRPC_MESSAGE pRpcMessage, 1671 DWORD* pdwStubPhase); 1672 HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy( 1673 IMediaFilter* This, 1674 IReferenceClock **pClock); 1675 void __RPC_STUB IMediaFilter_GetSyncSource_Stub( 1676 IRpcStubBuffer* This, 1677 IRpcChannelBuffer* pRpcChannelBuffer, 1678 PRPC_MESSAGE pRpcMessage, 1679 DWORD* pdwStubPhase); 1680 1681 #endif /* __IMediaFilter_INTERFACE_DEFINED__ */ 1682 1683 typedef IMediaFilter *PMEDIAFILTER; 1684 /***************************************************************************** 1685 * IBaseFilter interface 1686 */ 1687 #ifndef __IBaseFilter_INTERFACE_DEFINED__ 1688 #define __IBaseFilter_INTERFACE_DEFINED__ 1689 1690 typedef struct _FilterInfo { 1691 WCHAR achName[128]; 1692 IFilterGraph *pGraph; 1693 } FILTER_INFO; 1694 DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1695 #if defined(__cplusplus) && !defined(CINTERFACE) 1696 MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770") 1697 IBaseFilter : public IMediaFilter 1698 { 1699 virtual HRESULT STDMETHODCALLTYPE EnumPins( 1700 IEnumPins **ppEnum) = 0; 1701 1702 virtual HRESULT STDMETHODCALLTYPE FindPin( 1703 LPCWSTR Id, 1704 IPin **ppPin) = 0; 1705 1706 virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 1707 FILTER_INFO *pInfo) = 0; 1708 1709 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 1710 IFilterGraph *pGraph, 1711 LPCWSTR pName) = 0; 1712 1713 virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 1714 LPWSTR *pVendorInfo) = 0; 1715 1716 }; 1717 #ifdef __CRT_UUID_DECL 1718 __CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1719 #endif 1720 #else 1721 typedef struct IBaseFilterVtbl { 1722 BEGIN_INTERFACE 1723 1724 /*** IUnknown methods ***/ 1725 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1726 IBaseFilter* This, 1727 REFIID riid, 1728 void **ppvObject); 1729 1730 ULONG (STDMETHODCALLTYPE *AddRef)( 1731 IBaseFilter* This); 1732 1733 ULONG (STDMETHODCALLTYPE *Release)( 1734 IBaseFilter* This); 1735 1736 /*** IPersist methods ***/ 1737 HRESULT (STDMETHODCALLTYPE *GetClassID)( 1738 IBaseFilter* This, 1739 CLSID *pClassID); 1740 1741 /*** IMediaFilter methods ***/ 1742 HRESULT (STDMETHODCALLTYPE *Stop)( 1743 IBaseFilter* This); 1744 1745 HRESULT (STDMETHODCALLTYPE *Pause)( 1746 IBaseFilter* This); 1747 1748 HRESULT (STDMETHODCALLTYPE *Run)( 1749 IBaseFilter* This, 1750 REFERENCE_TIME tStart); 1751 1752 HRESULT (STDMETHODCALLTYPE *GetState)( 1753 IBaseFilter* This, 1754 DWORD dwMilliSecsTimeout, 1755 FILTER_STATE *State); 1756 1757 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 1758 IBaseFilter* This, 1759 IReferenceClock *pClock); 1760 1761 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 1762 IBaseFilter* This, 1763 IReferenceClock **pClock); 1764 1765 /*** IBaseFilter methods ***/ 1766 HRESULT (STDMETHODCALLTYPE *EnumPins)( 1767 IBaseFilter* This, 1768 IEnumPins **ppEnum); 1769 1770 HRESULT (STDMETHODCALLTYPE *FindPin)( 1771 IBaseFilter* This, 1772 LPCWSTR Id, 1773 IPin **ppPin); 1774 1775 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( 1776 IBaseFilter* This, 1777 FILTER_INFO *pInfo); 1778 1779 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( 1780 IBaseFilter* This, 1781 IFilterGraph *pGraph, 1782 LPCWSTR pName); 1783 1784 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( 1785 IBaseFilter* This, 1786 LPWSTR *pVendorInfo); 1787 1788 END_INTERFACE 1789 } IBaseFilterVtbl; 1790 interface IBaseFilter { 1791 CONST_VTBL IBaseFilterVtbl* lpVtbl; 1792 }; 1793 1794 #ifdef COBJMACROS 1795 #ifndef WIDL_C_INLINE_WRAPPERS 1796 /*** IUnknown methods ***/ 1797 #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1798 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1799 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This) 1800 /*** IPersist methods ***/ 1801 #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1802 /*** IMediaFilter methods ***/ 1803 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This) 1804 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This) 1805 #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1806 #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1807 #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1808 #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1809 /*** IBaseFilter methods ***/ 1810 #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) 1811 #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) 1812 #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) 1813 #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) 1814 #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) 1815 #else 1816 /*** IUnknown methods ***/ 1817 static FORCEINLINE HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) { 1818 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1819 } 1820 static FORCEINLINE ULONG IBaseFilter_AddRef(IBaseFilter* This) { 1821 return This->lpVtbl->AddRef(This); 1822 } 1823 static FORCEINLINE ULONG IBaseFilter_Release(IBaseFilter* This) { 1824 return This->lpVtbl->Release(This); 1825 } 1826 /*** IPersist methods ***/ 1827 static FORCEINLINE HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) { 1828 return This->lpVtbl->GetClassID(This,pClassID); 1829 } 1830 /*** IMediaFilter methods ***/ 1831 static FORCEINLINE HRESULT IBaseFilter_Stop(IBaseFilter* This) { 1832 return This->lpVtbl->Stop(This); 1833 } 1834 static FORCEINLINE HRESULT IBaseFilter_Pause(IBaseFilter* This) { 1835 return This->lpVtbl->Pause(This); 1836 } 1837 static FORCEINLINE HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) { 1838 return This->lpVtbl->Run(This,tStart); 1839 } 1840 static FORCEINLINE HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1841 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1842 } 1843 static FORCEINLINE HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) { 1844 return This->lpVtbl->SetSyncSource(This,pClock); 1845 } 1846 static FORCEINLINE HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) { 1847 return This->lpVtbl->GetSyncSource(This,pClock); 1848 } 1849 /*** IBaseFilter methods ***/ 1850 static FORCEINLINE HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) { 1851 return This->lpVtbl->EnumPins(This,ppEnum); 1852 } 1853 static FORCEINLINE HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) { 1854 return This->lpVtbl->FindPin(This,Id,ppPin); 1855 } 1856 static FORCEINLINE HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) { 1857 return This->lpVtbl->QueryFilterInfo(This,pInfo); 1858 } 1859 static FORCEINLINE HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { 1860 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); 1861 } 1862 static FORCEINLINE HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) { 1863 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); 1864 } 1865 #endif 1866 #endif 1867 1868 #endif 1869 1870 HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy( 1871 IBaseFilter* This, 1872 IEnumPins **ppEnum); 1873 void __RPC_STUB IBaseFilter_EnumPins_Stub( 1874 IRpcStubBuffer* This, 1875 IRpcChannelBuffer* pRpcChannelBuffer, 1876 PRPC_MESSAGE pRpcMessage, 1877 DWORD* pdwStubPhase); 1878 HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy( 1879 IBaseFilter* This, 1880 LPCWSTR Id, 1881 IPin **ppPin); 1882 void __RPC_STUB IBaseFilter_FindPin_Stub( 1883 IRpcStubBuffer* This, 1884 IRpcChannelBuffer* pRpcChannelBuffer, 1885 PRPC_MESSAGE pRpcMessage, 1886 DWORD* pdwStubPhase); 1887 HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy( 1888 IBaseFilter* This, 1889 FILTER_INFO *pInfo); 1890 void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub( 1891 IRpcStubBuffer* This, 1892 IRpcChannelBuffer* pRpcChannelBuffer, 1893 PRPC_MESSAGE pRpcMessage, 1894 DWORD* pdwStubPhase); 1895 HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy( 1896 IBaseFilter* This, 1897 IFilterGraph *pGraph, 1898 LPCWSTR pName); 1899 void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub( 1900 IRpcStubBuffer* This, 1901 IRpcChannelBuffer* pRpcChannelBuffer, 1902 PRPC_MESSAGE pRpcMessage, 1903 DWORD* pdwStubPhase); 1904 HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy( 1905 IBaseFilter* This, 1906 LPWSTR *pVendorInfo); 1907 void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub( 1908 IRpcStubBuffer* This, 1909 IRpcChannelBuffer* pRpcChannelBuffer, 1910 PRPC_MESSAGE pRpcMessage, 1911 DWORD* pdwStubPhase); 1912 1913 #endif /* __IBaseFilter_INTERFACE_DEFINED__ */ 1914 1915 typedef IBaseFilter *PFILTER; 1916 /***************************************************************************** 1917 * IReferenceClock interface 1918 */ 1919 #ifndef __IReferenceClock_INTERFACE_DEFINED__ 1920 #define __IReferenceClock_INTERFACE_DEFINED__ 1921 1922 DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 1923 #if defined(__cplusplus) && !defined(CINTERFACE) 1924 MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770") 1925 IReferenceClock : public IUnknown 1926 { 1927 virtual HRESULT STDMETHODCALLTYPE GetTime( 1928 REFERENCE_TIME *pTime) = 0; 1929 1930 virtual HRESULT STDMETHODCALLTYPE AdviseTime( 1931 REFERENCE_TIME baseTime, 1932 REFERENCE_TIME streamTime, 1933 HEVENT hEvent, 1934 DWORD_PTR *pdwAdviseCookie) = 0; 1935 1936 virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 1937 REFERENCE_TIME startTime, 1938 REFERENCE_TIME periodTime, 1939 HSEMAPHORE hSemaphore, 1940 DWORD_PTR *pdwAdviseCookie) = 0; 1941 1942 virtual HRESULT STDMETHODCALLTYPE Unadvise( 1943 DWORD_PTR dwAdviseCookie) = 0; 1944 1945 }; 1946 #ifdef __CRT_UUID_DECL 1947 __CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 1948 #endif 1949 #else 1950 typedef struct IReferenceClockVtbl { 1951 BEGIN_INTERFACE 1952 1953 /*** IUnknown methods ***/ 1954 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1955 IReferenceClock* This, 1956 REFIID riid, 1957 void **ppvObject); 1958 1959 ULONG (STDMETHODCALLTYPE *AddRef)( 1960 IReferenceClock* This); 1961 1962 ULONG (STDMETHODCALLTYPE *Release)( 1963 IReferenceClock* This); 1964 1965 /*** IReferenceClock methods ***/ 1966 HRESULT (STDMETHODCALLTYPE *GetTime)( 1967 IReferenceClock* This, 1968 REFERENCE_TIME *pTime); 1969 1970 HRESULT (STDMETHODCALLTYPE *AdviseTime)( 1971 IReferenceClock* This, 1972 REFERENCE_TIME baseTime, 1973 REFERENCE_TIME streamTime, 1974 HEVENT hEvent, 1975 DWORD_PTR *pdwAdviseCookie); 1976 1977 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( 1978 IReferenceClock* This, 1979 REFERENCE_TIME startTime, 1980 REFERENCE_TIME periodTime, 1981 HSEMAPHORE hSemaphore, 1982 DWORD_PTR *pdwAdviseCookie); 1983 1984 HRESULT (STDMETHODCALLTYPE *Unadvise)( 1985 IReferenceClock* This, 1986 DWORD_PTR dwAdviseCookie); 1987 1988 END_INTERFACE 1989 } IReferenceClockVtbl; 1990 interface IReferenceClock { 1991 CONST_VTBL IReferenceClockVtbl* lpVtbl; 1992 }; 1993 1994 #ifdef COBJMACROS 1995 #ifndef WIDL_C_INLINE_WRAPPERS 1996 /*** IUnknown methods ***/ 1997 #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1998 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This) 1999 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This) 2000 /*** IReferenceClock methods ***/ 2001 #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) 2002 #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) 2003 #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) 2004 #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) 2005 #else 2006 /*** IUnknown methods ***/ 2007 static FORCEINLINE HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) { 2008 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2009 } 2010 static FORCEINLINE ULONG IReferenceClock_AddRef(IReferenceClock* This) { 2011 return This->lpVtbl->AddRef(This); 2012 } 2013 static FORCEINLINE ULONG IReferenceClock_Release(IReferenceClock* This) { 2014 return This->lpVtbl->Release(This); 2015 } 2016 /*** IReferenceClock methods ***/ 2017 static FORCEINLINE HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) { 2018 return This->lpVtbl->GetTime(This,pTime); 2019 } 2020 static FORCEINLINE HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { 2021 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); 2022 } 2023 static FORCEINLINE HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { 2024 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); 2025 } 2026 static FORCEINLINE HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) { 2027 return This->lpVtbl->Unadvise(This,dwAdviseCookie); 2028 } 2029 #endif 2030 #endif 2031 2032 #endif 2033 2034 HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy( 2035 IReferenceClock* This, 2036 REFERENCE_TIME *pTime); 2037 void __RPC_STUB IReferenceClock_GetTime_Stub( 2038 IRpcStubBuffer* This, 2039 IRpcChannelBuffer* pRpcChannelBuffer, 2040 PRPC_MESSAGE pRpcMessage, 2041 DWORD* pdwStubPhase); 2042 HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy( 2043 IReferenceClock* This, 2044 REFERENCE_TIME baseTime, 2045 REFERENCE_TIME streamTime, 2046 HEVENT hEvent, 2047 DWORD_PTR *pdwAdviseCookie); 2048 void __RPC_STUB IReferenceClock_AdviseTime_Stub( 2049 IRpcStubBuffer* This, 2050 IRpcChannelBuffer* pRpcChannelBuffer, 2051 PRPC_MESSAGE pRpcMessage, 2052 DWORD* pdwStubPhase); 2053 HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy( 2054 IReferenceClock* This, 2055 REFERENCE_TIME startTime, 2056 REFERENCE_TIME periodTime, 2057 HSEMAPHORE hSemaphore, 2058 DWORD_PTR *pdwAdviseCookie); 2059 void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub( 2060 IRpcStubBuffer* This, 2061 IRpcChannelBuffer* pRpcChannelBuffer, 2062 PRPC_MESSAGE pRpcMessage, 2063 DWORD* pdwStubPhase); 2064 HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy( 2065 IReferenceClock* This, 2066 DWORD_PTR dwAdviseCookie); 2067 void __RPC_STUB IReferenceClock_Unadvise_Stub( 2068 IRpcStubBuffer* This, 2069 IRpcChannelBuffer* pRpcChannelBuffer, 2070 PRPC_MESSAGE pRpcMessage, 2071 DWORD* pdwStubPhase); 2072 2073 #endif /* __IReferenceClock_INTERFACE_DEFINED__ */ 2074 2075 typedef IReferenceClock *PREFERENCECLOCK; 2076 /***************************************************************************** 2077 * IMediaSample interface 2078 */ 2079 #ifndef __IMediaSample_INTERFACE_DEFINED__ 2080 #define __IMediaSample_INTERFACE_DEFINED__ 2081 2082 DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2083 #if defined(__cplusplus) && !defined(CINTERFACE) 2084 MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770") 2085 IMediaSample : public IUnknown 2086 { 2087 virtual HRESULT STDMETHODCALLTYPE GetPointer( 2088 BYTE **ppBuffer) = 0; 2089 2090 virtual LONG STDMETHODCALLTYPE GetSize( 2091 ) = 0; 2092 2093 virtual HRESULT STDMETHODCALLTYPE GetTime( 2094 REFERENCE_TIME *pTimeStart, 2095 REFERENCE_TIME *pTimeEnd) = 0; 2096 2097 virtual HRESULT STDMETHODCALLTYPE SetTime( 2098 REFERENCE_TIME *pTimeStart, 2099 REFERENCE_TIME *pTimeEnd) = 0; 2100 2101 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( 2102 ) = 0; 2103 2104 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 2105 WINBOOL bIsSyncPoint) = 0; 2106 2107 virtual HRESULT STDMETHODCALLTYPE IsPreroll( 2108 ) = 0; 2109 2110 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 2111 WINBOOL bIsPreroll) = 0; 2112 2113 virtual LONG STDMETHODCALLTYPE GetActualDataLength( 2114 ) = 0; 2115 2116 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 2117 LONG length) = 0; 2118 2119 virtual HRESULT STDMETHODCALLTYPE GetMediaType( 2120 AM_MEDIA_TYPE **ppMediaType) = 0; 2121 2122 virtual HRESULT STDMETHODCALLTYPE SetMediaType( 2123 AM_MEDIA_TYPE *pMediaType) = 0; 2124 2125 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( 2126 ) = 0; 2127 2128 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 2129 WINBOOL bDiscontinuity) = 0; 2130 2131 virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 2132 LONGLONG *pTimeStart, 2133 LONGLONG *pTimeEnd) = 0; 2134 2135 virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 2136 LONGLONG *pTimeStart, 2137 LONGLONG *pTimeEnd) = 0; 2138 2139 }; 2140 #ifdef __CRT_UUID_DECL 2141 __CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2142 #endif 2143 #else 2144 typedef struct IMediaSampleVtbl { 2145 BEGIN_INTERFACE 2146 2147 /*** IUnknown methods ***/ 2148 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2149 IMediaSample* This, 2150 REFIID riid, 2151 void **ppvObject); 2152 2153 ULONG (STDMETHODCALLTYPE *AddRef)( 2154 IMediaSample* This); 2155 2156 ULONG (STDMETHODCALLTYPE *Release)( 2157 IMediaSample* This); 2158 2159 /*** IMediaSample methods ***/ 2160 HRESULT (STDMETHODCALLTYPE *GetPointer)( 2161 IMediaSample* This, 2162 BYTE **ppBuffer); 2163 2164 LONG (STDMETHODCALLTYPE *GetSize)( 2165 IMediaSample* This); 2166 2167 HRESULT (STDMETHODCALLTYPE *GetTime)( 2168 IMediaSample* This, 2169 REFERENCE_TIME *pTimeStart, 2170 REFERENCE_TIME *pTimeEnd); 2171 2172 HRESULT (STDMETHODCALLTYPE *SetTime)( 2173 IMediaSample* This, 2174 REFERENCE_TIME *pTimeStart, 2175 REFERENCE_TIME *pTimeEnd); 2176 2177 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 2178 IMediaSample* This); 2179 2180 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 2181 IMediaSample* This, 2182 WINBOOL bIsSyncPoint); 2183 2184 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 2185 IMediaSample* This); 2186 2187 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 2188 IMediaSample* This, 2189 WINBOOL bIsPreroll); 2190 2191 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 2192 IMediaSample* This); 2193 2194 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 2195 IMediaSample* This, 2196 LONG length); 2197 2198 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 2199 IMediaSample* This, 2200 AM_MEDIA_TYPE **ppMediaType); 2201 2202 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 2203 IMediaSample* This, 2204 AM_MEDIA_TYPE *pMediaType); 2205 2206 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 2207 IMediaSample* This); 2208 2209 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 2210 IMediaSample* This, 2211 WINBOOL bDiscontinuity); 2212 2213 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 2214 IMediaSample* This, 2215 LONGLONG *pTimeStart, 2216 LONGLONG *pTimeEnd); 2217 2218 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 2219 IMediaSample* This, 2220 LONGLONG *pTimeStart, 2221 LONGLONG *pTimeEnd); 2222 2223 END_INTERFACE 2224 } IMediaSampleVtbl; 2225 interface IMediaSample { 2226 CONST_VTBL IMediaSampleVtbl* lpVtbl; 2227 }; 2228 2229 #ifdef COBJMACROS 2230 #ifndef WIDL_C_INLINE_WRAPPERS 2231 /*** IUnknown methods ***/ 2232 #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2233 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) 2234 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This) 2235 /*** IMediaSample methods ***/ 2236 #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 2237 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This) 2238 #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 2239 #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 2240 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 2241 #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 2242 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 2243 #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 2244 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 2245 #define IMediaSample_SetActualDataLength(This,length) (This)->lpVtbl->SetActualDataLength(This,length) 2246 #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 2247 #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 2248 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 2249 #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 2250 #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 2251 #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 2252 #else 2253 /*** IUnknown methods ***/ 2254 static FORCEINLINE HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) { 2255 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2256 } 2257 static FORCEINLINE ULONG IMediaSample_AddRef(IMediaSample* This) { 2258 return This->lpVtbl->AddRef(This); 2259 } 2260 static FORCEINLINE ULONG IMediaSample_Release(IMediaSample* This) { 2261 return This->lpVtbl->Release(This); 2262 } 2263 /*** IMediaSample methods ***/ 2264 static FORCEINLINE HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) { 2265 return This->lpVtbl->GetPointer(This,ppBuffer); 2266 } 2267 static FORCEINLINE LONG IMediaSample_GetSize(IMediaSample* This) { 2268 return This->lpVtbl->GetSize(This); 2269 } 2270 static FORCEINLINE HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2271 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 2272 } 2273 static FORCEINLINE HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2274 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 2275 } 2276 static FORCEINLINE HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) { 2277 return This->lpVtbl->IsSyncPoint(This); 2278 } 2279 static FORCEINLINE HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) { 2280 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 2281 } 2282 static FORCEINLINE HRESULT IMediaSample_IsPreroll(IMediaSample* This) { 2283 return This->lpVtbl->IsPreroll(This); 2284 } 2285 static FORCEINLINE HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) { 2286 return This->lpVtbl->SetPreroll(This,bIsPreroll); 2287 } 2288 static FORCEINLINE LONG IMediaSample_GetActualDataLength(IMediaSample* This) { 2289 return This->lpVtbl->GetActualDataLength(This); 2290 } 2291 static FORCEINLINE HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG length) { 2292 return This->lpVtbl->SetActualDataLength(This,length); 2293 } 2294 static FORCEINLINE HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) { 2295 return This->lpVtbl->GetMediaType(This,ppMediaType); 2296 } 2297 static FORCEINLINE HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) { 2298 return This->lpVtbl->SetMediaType(This,pMediaType); 2299 } 2300 static FORCEINLINE HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) { 2301 return This->lpVtbl->IsDiscontinuity(This); 2302 } 2303 static FORCEINLINE HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) { 2304 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 2305 } 2306 static FORCEINLINE HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2307 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 2308 } 2309 static FORCEINLINE HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2310 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 2311 } 2312 #endif 2313 #endif 2314 2315 #endif 2316 2317 HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy( 2318 IMediaSample* This, 2319 BYTE **ppBuffer); 2320 void __RPC_STUB IMediaSample_GetPointer_Stub( 2321 IRpcStubBuffer* This, 2322 IRpcChannelBuffer* pRpcChannelBuffer, 2323 PRPC_MESSAGE pRpcMessage, 2324 DWORD* pdwStubPhase); 2325 LONG STDMETHODCALLTYPE IMediaSample_GetSize_Proxy( 2326 IMediaSample* This); 2327 void __RPC_STUB IMediaSample_GetSize_Stub( 2328 IRpcStubBuffer* This, 2329 IRpcChannelBuffer* pRpcChannelBuffer, 2330 PRPC_MESSAGE pRpcMessage, 2331 DWORD* pdwStubPhase); 2332 HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy( 2333 IMediaSample* This, 2334 REFERENCE_TIME *pTimeStart, 2335 REFERENCE_TIME *pTimeEnd); 2336 void __RPC_STUB IMediaSample_GetTime_Stub( 2337 IRpcStubBuffer* This, 2338 IRpcChannelBuffer* pRpcChannelBuffer, 2339 PRPC_MESSAGE pRpcMessage, 2340 DWORD* pdwStubPhase); 2341 HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy( 2342 IMediaSample* This, 2343 REFERENCE_TIME *pTimeStart, 2344 REFERENCE_TIME *pTimeEnd); 2345 void __RPC_STUB IMediaSample_SetTime_Stub( 2346 IRpcStubBuffer* This, 2347 IRpcChannelBuffer* pRpcChannelBuffer, 2348 PRPC_MESSAGE pRpcMessage, 2349 DWORD* pdwStubPhase); 2350 HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy( 2351 IMediaSample* This); 2352 void __RPC_STUB IMediaSample_IsSyncPoint_Stub( 2353 IRpcStubBuffer* This, 2354 IRpcChannelBuffer* pRpcChannelBuffer, 2355 PRPC_MESSAGE pRpcMessage, 2356 DWORD* pdwStubPhase); 2357 HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy( 2358 IMediaSample* This, 2359 WINBOOL bIsSyncPoint); 2360 void __RPC_STUB IMediaSample_SetSyncPoint_Stub( 2361 IRpcStubBuffer* This, 2362 IRpcChannelBuffer* pRpcChannelBuffer, 2363 PRPC_MESSAGE pRpcMessage, 2364 DWORD* pdwStubPhase); 2365 HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy( 2366 IMediaSample* This); 2367 void __RPC_STUB IMediaSample_IsPreroll_Stub( 2368 IRpcStubBuffer* This, 2369 IRpcChannelBuffer* pRpcChannelBuffer, 2370 PRPC_MESSAGE pRpcMessage, 2371 DWORD* pdwStubPhase); 2372 HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy( 2373 IMediaSample* This, 2374 WINBOOL bIsPreroll); 2375 void __RPC_STUB IMediaSample_SetPreroll_Stub( 2376 IRpcStubBuffer* This, 2377 IRpcChannelBuffer* pRpcChannelBuffer, 2378 PRPC_MESSAGE pRpcMessage, 2379 DWORD* pdwStubPhase); 2380 LONG STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy( 2381 IMediaSample* This); 2382 void __RPC_STUB IMediaSample_GetActualDataLength_Stub( 2383 IRpcStubBuffer* This, 2384 IRpcChannelBuffer* pRpcChannelBuffer, 2385 PRPC_MESSAGE pRpcMessage, 2386 DWORD* pdwStubPhase); 2387 HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy( 2388 IMediaSample* This, 2389 LONG length); 2390 void __RPC_STUB IMediaSample_SetActualDataLength_Stub( 2391 IRpcStubBuffer* This, 2392 IRpcChannelBuffer* pRpcChannelBuffer, 2393 PRPC_MESSAGE pRpcMessage, 2394 DWORD* pdwStubPhase); 2395 HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy( 2396 IMediaSample* This, 2397 AM_MEDIA_TYPE **ppMediaType); 2398 void __RPC_STUB IMediaSample_GetMediaType_Stub( 2399 IRpcStubBuffer* This, 2400 IRpcChannelBuffer* pRpcChannelBuffer, 2401 PRPC_MESSAGE pRpcMessage, 2402 DWORD* pdwStubPhase); 2403 HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy( 2404 IMediaSample* This, 2405 AM_MEDIA_TYPE *pMediaType); 2406 void __RPC_STUB IMediaSample_SetMediaType_Stub( 2407 IRpcStubBuffer* This, 2408 IRpcChannelBuffer* pRpcChannelBuffer, 2409 PRPC_MESSAGE pRpcMessage, 2410 DWORD* pdwStubPhase); 2411 HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy( 2412 IMediaSample* This); 2413 void __RPC_STUB IMediaSample_IsDiscontinuity_Stub( 2414 IRpcStubBuffer* This, 2415 IRpcChannelBuffer* pRpcChannelBuffer, 2416 PRPC_MESSAGE pRpcMessage, 2417 DWORD* pdwStubPhase); 2418 HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy( 2419 IMediaSample* This, 2420 WINBOOL bDiscontinuity); 2421 void __RPC_STUB IMediaSample_SetDiscontinuity_Stub( 2422 IRpcStubBuffer* This, 2423 IRpcChannelBuffer* pRpcChannelBuffer, 2424 PRPC_MESSAGE pRpcMessage, 2425 DWORD* pdwStubPhase); 2426 HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy( 2427 IMediaSample* This, 2428 LONGLONG *pTimeStart, 2429 LONGLONG *pTimeEnd); 2430 void __RPC_STUB IMediaSample_GetMediaTime_Stub( 2431 IRpcStubBuffer* This, 2432 IRpcChannelBuffer* pRpcChannelBuffer, 2433 PRPC_MESSAGE pRpcMessage, 2434 DWORD* pdwStubPhase); 2435 HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy( 2436 IMediaSample* This, 2437 LONGLONG *pTimeStart, 2438 LONGLONG *pTimeEnd); 2439 void __RPC_STUB IMediaSample_SetMediaTime_Stub( 2440 IRpcStubBuffer* This, 2441 IRpcChannelBuffer* pRpcChannelBuffer, 2442 PRPC_MESSAGE pRpcMessage, 2443 DWORD* pdwStubPhase); 2444 2445 #endif /* __IMediaSample_INTERFACE_DEFINED__ */ 2446 2447 typedef IMediaSample *PMEDIASAMPLE; 2448 enum tagAM_SAMPLE_PROPERTY_FLAGS { 2449 AM_SAMPLE_SPLICEPOINT = 0x1, 2450 AM_SAMPLE_PREROLL = 0x2, 2451 AM_SAMPLE_DATADISCONTINUITY = 0x4, 2452 AM_SAMPLE_TYPECHANGED = 0x8, 2453 AM_SAMPLE_TIMEVALID = 0x10, 2454 AM_SAMPLE_TIMEDISCONTINUITY = 0x40, 2455 AM_SAMPLE_FLUSH_ON_PAUSE = 0x80, 2456 AM_SAMPLE_STOPVALID = 0x100, 2457 AM_SAMPLE_ENDOFSTREAM = 0x200, 2458 AM_STREAM_MEDIA = 0, 2459 AM_STREAM_CONTROL = 1 2460 }; 2461 2462 typedef struct tagAM_SAMPLE2_PROPERTIES { 2463 DWORD cbData; 2464 DWORD dwTypeSpecificFlags; 2465 DWORD dwSampleFlags; 2466 LONG lActual; 2467 REFERENCE_TIME tStart; 2468 REFERENCE_TIME tStop; 2469 DWORD dwStreamId; 2470 AM_MEDIA_TYPE *pMediaType; 2471 BYTE *pbBuffer; 2472 LONG cbBuffer; 2473 } AM_SAMPLE2_PROPERTIES; 2474 /***************************************************************************** 2475 * IMediaSample2 interface 2476 */ 2477 #ifndef __IMediaSample2_INTERFACE_DEFINED__ 2478 #define __IMediaSample2_INTERFACE_DEFINED__ 2479 2480 DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 2481 #if defined(__cplusplus) && !defined(CINTERFACE) 2482 MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60") 2483 IMediaSample2 : public IMediaSample 2484 { 2485 virtual HRESULT STDMETHODCALLTYPE GetProperties( 2486 DWORD cbProperties, 2487 BYTE *pbProperties) = 0; 2488 2489 virtual HRESULT STDMETHODCALLTYPE SetProperties( 2490 DWORD cbProperties, 2491 const BYTE *pbProperties) = 0; 2492 2493 }; 2494 #ifdef __CRT_UUID_DECL 2495 __CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 2496 #endif 2497 #else 2498 typedef struct IMediaSample2Vtbl { 2499 BEGIN_INTERFACE 2500 2501 /*** IUnknown methods ***/ 2502 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2503 IMediaSample2* This, 2504 REFIID riid, 2505 void **ppvObject); 2506 2507 ULONG (STDMETHODCALLTYPE *AddRef)( 2508 IMediaSample2* This); 2509 2510 ULONG (STDMETHODCALLTYPE *Release)( 2511 IMediaSample2* This); 2512 2513 /*** IMediaSample methods ***/ 2514 HRESULT (STDMETHODCALLTYPE *GetPointer)( 2515 IMediaSample2* This, 2516 BYTE **ppBuffer); 2517 2518 LONG (STDMETHODCALLTYPE *GetSize)( 2519 IMediaSample2* This); 2520 2521 HRESULT (STDMETHODCALLTYPE *GetTime)( 2522 IMediaSample2* This, 2523 REFERENCE_TIME *pTimeStart, 2524 REFERENCE_TIME *pTimeEnd); 2525 2526 HRESULT (STDMETHODCALLTYPE *SetTime)( 2527 IMediaSample2* This, 2528 REFERENCE_TIME *pTimeStart, 2529 REFERENCE_TIME *pTimeEnd); 2530 2531 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 2532 IMediaSample2* This); 2533 2534 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 2535 IMediaSample2* This, 2536 WINBOOL bIsSyncPoint); 2537 2538 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 2539 IMediaSample2* This); 2540 2541 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 2542 IMediaSample2* This, 2543 WINBOOL bIsPreroll); 2544 2545 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 2546 IMediaSample2* This); 2547 2548 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 2549 IMediaSample2* This, 2550 LONG length); 2551 2552 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 2553 IMediaSample2* This, 2554 AM_MEDIA_TYPE **ppMediaType); 2555 2556 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 2557 IMediaSample2* This, 2558 AM_MEDIA_TYPE *pMediaType); 2559 2560 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 2561 IMediaSample2* This); 2562 2563 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 2564 IMediaSample2* This, 2565 WINBOOL bDiscontinuity); 2566 2567 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 2568 IMediaSample2* This, 2569 LONGLONG *pTimeStart, 2570 LONGLONG *pTimeEnd); 2571 2572 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 2573 IMediaSample2* This, 2574 LONGLONG *pTimeStart, 2575 LONGLONG *pTimeEnd); 2576 2577 /*** IMediaSample2 methods ***/ 2578 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2579 IMediaSample2* This, 2580 DWORD cbProperties, 2581 BYTE *pbProperties); 2582 2583 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2584 IMediaSample2* This, 2585 DWORD cbProperties, 2586 const BYTE *pbProperties); 2587 2588 END_INTERFACE 2589 } IMediaSample2Vtbl; 2590 interface IMediaSample2 { 2591 CONST_VTBL IMediaSample2Vtbl* lpVtbl; 2592 }; 2593 2594 #ifdef COBJMACROS 2595 #ifndef WIDL_C_INLINE_WRAPPERS 2596 /*** IUnknown methods ***/ 2597 #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2598 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This) 2599 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This) 2600 /*** IMediaSample methods ***/ 2601 #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 2602 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This) 2603 #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 2604 #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 2605 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 2606 #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 2607 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 2608 #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 2609 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 2610 #define IMediaSample2_SetActualDataLength(This,length) (This)->lpVtbl->SetActualDataLength(This,length) 2611 #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 2612 #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 2613 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 2614 #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 2615 #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 2616 #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 2617 /*** IMediaSample2 methods ***/ 2618 #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties) 2619 #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties) 2620 #else 2621 /*** IUnknown methods ***/ 2622 static FORCEINLINE HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) { 2623 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2624 } 2625 static FORCEINLINE ULONG IMediaSample2_AddRef(IMediaSample2* This) { 2626 return This->lpVtbl->AddRef(This); 2627 } 2628 static FORCEINLINE ULONG IMediaSample2_Release(IMediaSample2* This) { 2629 return This->lpVtbl->Release(This); 2630 } 2631 /*** IMediaSample methods ***/ 2632 static FORCEINLINE HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) { 2633 return This->lpVtbl->GetPointer(This,ppBuffer); 2634 } 2635 static FORCEINLINE LONG IMediaSample2_GetSize(IMediaSample2* This) { 2636 return This->lpVtbl->GetSize(This); 2637 } 2638 static FORCEINLINE HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2639 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 2640 } 2641 static FORCEINLINE HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 2642 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 2643 } 2644 static FORCEINLINE HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) { 2645 return This->lpVtbl->IsSyncPoint(This); 2646 } 2647 static FORCEINLINE HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) { 2648 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 2649 } 2650 static FORCEINLINE HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) { 2651 return This->lpVtbl->IsPreroll(This); 2652 } 2653 static FORCEINLINE HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) { 2654 return This->lpVtbl->SetPreroll(This,bIsPreroll); 2655 } 2656 static FORCEINLINE LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) { 2657 return This->lpVtbl->GetActualDataLength(This); 2658 } 2659 static FORCEINLINE HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG length) { 2660 return This->lpVtbl->SetActualDataLength(This,length); 2661 } 2662 static FORCEINLINE HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) { 2663 return This->lpVtbl->GetMediaType(This,ppMediaType); 2664 } 2665 static FORCEINLINE HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) { 2666 return This->lpVtbl->SetMediaType(This,pMediaType); 2667 } 2668 static FORCEINLINE HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) { 2669 return This->lpVtbl->IsDiscontinuity(This); 2670 } 2671 static FORCEINLINE HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) { 2672 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 2673 } 2674 static FORCEINLINE HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2675 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 2676 } 2677 static FORCEINLINE HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 2678 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 2679 } 2680 /*** IMediaSample2 methods ***/ 2681 static FORCEINLINE HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) { 2682 return This->lpVtbl->GetProperties(This,cbProperties,pbProperties); 2683 } 2684 static FORCEINLINE HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) { 2685 return This->lpVtbl->SetProperties(This,cbProperties,pbProperties); 2686 } 2687 #endif 2688 #endif 2689 2690 #endif 2691 2692 HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy( 2693 IMediaSample2* This, 2694 DWORD cbProperties, 2695 BYTE *pbProperties); 2696 void __RPC_STUB IMediaSample2_GetProperties_Stub( 2697 IRpcStubBuffer* This, 2698 IRpcChannelBuffer* pRpcChannelBuffer, 2699 PRPC_MESSAGE pRpcMessage, 2700 DWORD* pdwStubPhase); 2701 HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy( 2702 IMediaSample2* This, 2703 DWORD cbProperties, 2704 const BYTE *pbProperties); 2705 void __RPC_STUB IMediaSample2_SetProperties_Stub( 2706 IRpcStubBuffer* This, 2707 IRpcChannelBuffer* pRpcChannelBuffer, 2708 PRPC_MESSAGE pRpcMessage, 2709 DWORD* pdwStubPhase); 2710 2711 #endif /* __IMediaSample2_INTERFACE_DEFINED__ */ 2712 2713 typedef IMediaSample2 *PMEDIASAMPLE2; 2714 #define AM_GBF_PREVFRAMESKIPPED 1 2715 #define AM_GBF_NOTASYNCPOINT 2 2716 #define AM_GBF_NOWAIT 4 2717 #define AM_GBF_NODDSURFACELOCK 8 2718 /***************************************************************************** 2719 * IMemAllocator interface 2720 */ 2721 #ifndef __IMemAllocator_INTERFACE_DEFINED__ 2722 #define __IMemAllocator_INTERFACE_DEFINED__ 2723 2724 DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 2725 #if defined(__cplusplus) && !defined(CINTERFACE) 2726 MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770") 2727 IMemAllocator : public IUnknown 2728 { 2729 virtual HRESULT STDMETHODCALLTYPE SetProperties( 2730 ALLOCATOR_PROPERTIES *pRequest, 2731 ALLOCATOR_PROPERTIES *pActual) = 0; 2732 2733 virtual HRESULT STDMETHODCALLTYPE GetProperties( 2734 ALLOCATOR_PROPERTIES *pProps) = 0; 2735 2736 virtual HRESULT STDMETHODCALLTYPE Commit( 2737 ) = 0; 2738 2739 virtual HRESULT STDMETHODCALLTYPE Decommit( 2740 ) = 0; 2741 2742 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 2743 IMediaSample **ppBuffer, 2744 REFERENCE_TIME *pStartTime, 2745 REFERENCE_TIME *pEndTime, 2746 DWORD dwFlags) = 0; 2747 2748 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 2749 IMediaSample *pBuffer) = 0; 2750 2751 }; 2752 #ifdef __CRT_UUID_DECL 2753 __CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 2754 #endif 2755 #else 2756 typedef struct IMemAllocatorVtbl { 2757 BEGIN_INTERFACE 2758 2759 /*** IUnknown methods ***/ 2760 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2761 IMemAllocator* This, 2762 REFIID riid, 2763 void **ppvObject); 2764 2765 ULONG (STDMETHODCALLTYPE *AddRef)( 2766 IMemAllocator* This); 2767 2768 ULONG (STDMETHODCALLTYPE *Release)( 2769 IMemAllocator* This); 2770 2771 /*** IMemAllocator methods ***/ 2772 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2773 IMemAllocator* This, 2774 ALLOCATOR_PROPERTIES *pRequest, 2775 ALLOCATOR_PROPERTIES *pActual); 2776 2777 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2778 IMemAllocator* This, 2779 ALLOCATOR_PROPERTIES *pProps); 2780 2781 HRESULT (STDMETHODCALLTYPE *Commit)( 2782 IMemAllocator* This); 2783 2784 HRESULT (STDMETHODCALLTYPE *Decommit)( 2785 IMemAllocator* This); 2786 2787 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2788 IMemAllocator* This, 2789 IMediaSample **ppBuffer, 2790 REFERENCE_TIME *pStartTime, 2791 REFERENCE_TIME *pEndTime, 2792 DWORD dwFlags); 2793 2794 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 2795 IMemAllocator* This, 2796 IMediaSample *pBuffer); 2797 2798 END_INTERFACE 2799 } IMemAllocatorVtbl; 2800 interface IMemAllocator { 2801 CONST_VTBL IMemAllocatorVtbl* lpVtbl; 2802 }; 2803 2804 #ifdef COBJMACROS 2805 #ifndef WIDL_C_INLINE_WRAPPERS 2806 /*** IUnknown methods ***/ 2807 #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2808 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 2809 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This) 2810 /*** IMemAllocator methods ***/ 2811 #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) 2812 #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) 2813 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This) 2814 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This) 2815 #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) 2816 #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) 2817 #else 2818 /*** IUnknown methods ***/ 2819 static FORCEINLINE HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) { 2820 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2821 } 2822 static FORCEINLINE ULONG IMemAllocator_AddRef(IMemAllocator* This) { 2823 return This->lpVtbl->AddRef(This); 2824 } 2825 static FORCEINLINE ULONG IMemAllocator_Release(IMemAllocator* This) { 2826 return This->lpVtbl->Release(This); 2827 } 2828 /*** IMemAllocator methods ***/ 2829 static FORCEINLINE HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { 2830 return This->lpVtbl->SetProperties(This,pRequest,pActual); 2831 } 2832 static FORCEINLINE HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) { 2833 return This->lpVtbl->GetProperties(This,pProps); 2834 } 2835 static FORCEINLINE HRESULT IMemAllocator_Commit(IMemAllocator* This) { 2836 return This->lpVtbl->Commit(This); 2837 } 2838 static FORCEINLINE HRESULT IMemAllocator_Decommit(IMemAllocator* This) { 2839 return This->lpVtbl->Decommit(This); 2840 } 2841 static FORCEINLINE HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { 2842 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); 2843 } 2844 static FORCEINLINE HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) { 2845 return This->lpVtbl->ReleaseBuffer(This,pBuffer); 2846 } 2847 #endif 2848 #endif 2849 2850 #endif 2851 2852 HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy( 2853 IMemAllocator* This, 2854 ALLOCATOR_PROPERTIES *pRequest, 2855 ALLOCATOR_PROPERTIES *pActual); 2856 void __RPC_STUB IMemAllocator_SetProperties_Stub( 2857 IRpcStubBuffer* This, 2858 IRpcChannelBuffer* pRpcChannelBuffer, 2859 PRPC_MESSAGE pRpcMessage, 2860 DWORD* pdwStubPhase); 2861 HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy( 2862 IMemAllocator* This, 2863 ALLOCATOR_PROPERTIES *pProps); 2864 void __RPC_STUB IMemAllocator_GetProperties_Stub( 2865 IRpcStubBuffer* This, 2866 IRpcChannelBuffer* pRpcChannelBuffer, 2867 PRPC_MESSAGE pRpcMessage, 2868 DWORD* pdwStubPhase); 2869 HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy( 2870 IMemAllocator* This); 2871 void __RPC_STUB IMemAllocator_Commit_Stub( 2872 IRpcStubBuffer* This, 2873 IRpcChannelBuffer* pRpcChannelBuffer, 2874 PRPC_MESSAGE pRpcMessage, 2875 DWORD* pdwStubPhase); 2876 HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy( 2877 IMemAllocator* This); 2878 void __RPC_STUB IMemAllocator_Decommit_Stub( 2879 IRpcStubBuffer* This, 2880 IRpcChannelBuffer* pRpcChannelBuffer, 2881 PRPC_MESSAGE pRpcMessage, 2882 DWORD* pdwStubPhase); 2883 HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy( 2884 IMemAllocator* This, 2885 IMediaSample **ppBuffer, 2886 REFERENCE_TIME *pStartTime, 2887 REFERENCE_TIME *pEndTime, 2888 DWORD dwFlags); 2889 void __RPC_STUB IMemAllocator_GetBuffer_Stub( 2890 IRpcStubBuffer* This, 2891 IRpcChannelBuffer* pRpcChannelBuffer, 2892 PRPC_MESSAGE pRpcMessage, 2893 DWORD* pdwStubPhase); 2894 HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy( 2895 IMemAllocator* This, 2896 IMediaSample *pBuffer); 2897 void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub( 2898 IRpcStubBuffer* This, 2899 IRpcChannelBuffer* pRpcChannelBuffer, 2900 PRPC_MESSAGE pRpcMessage, 2901 DWORD* pdwStubPhase); 2902 2903 #endif /* __IMemAllocator_INTERFACE_DEFINED__ */ 2904 2905 typedef IMemAllocator *PMEMALLOCATOR; 2906 /***************************************************************************** 2907 * IMemAllocatorCallbackTemp interface 2908 */ 2909 #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ 2910 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ 2911 2912 DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 2913 #if defined(__cplusplus) && !defined(CINTERFACE) 2914 MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375") 2915 IMemAllocatorCallbackTemp : public IMemAllocator 2916 { 2917 virtual HRESULT STDMETHODCALLTYPE SetNotify( 2918 IMemAllocatorNotifyCallbackTemp *pNotify) = 0; 2919 2920 virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 2921 LONG *plBuffersFree) = 0; 2922 2923 }; 2924 #ifdef __CRT_UUID_DECL 2925 __CRT_UUID_DECL(IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 2926 #endif 2927 #else 2928 typedef struct IMemAllocatorCallbackTempVtbl { 2929 BEGIN_INTERFACE 2930 2931 /*** IUnknown methods ***/ 2932 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2933 IMemAllocatorCallbackTemp* This, 2934 REFIID riid, 2935 void **ppvObject); 2936 2937 ULONG (STDMETHODCALLTYPE *AddRef)( 2938 IMemAllocatorCallbackTemp* This); 2939 2940 ULONG (STDMETHODCALLTYPE *Release)( 2941 IMemAllocatorCallbackTemp* This); 2942 2943 /*** IMemAllocator methods ***/ 2944 HRESULT (STDMETHODCALLTYPE *SetProperties)( 2945 IMemAllocatorCallbackTemp* This, 2946 ALLOCATOR_PROPERTIES *pRequest, 2947 ALLOCATOR_PROPERTIES *pActual); 2948 2949 HRESULT (STDMETHODCALLTYPE *GetProperties)( 2950 IMemAllocatorCallbackTemp* This, 2951 ALLOCATOR_PROPERTIES *pProps); 2952 2953 HRESULT (STDMETHODCALLTYPE *Commit)( 2954 IMemAllocatorCallbackTemp* This); 2955 2956 HRESULT (STDMETHODCALLTYPE *Decommit)( 2957 IMemAllocatorCallbackTemp* This); 2958 2959 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 2960 IMemAllocatorCallbackTemp* This, 2961 IMediaSample **ppBuffer, 2962 REFERENCE_TIME *pStartTime, 2963 REFERENCE_TIME *pEndTime, 2964 DWORD dwFlags); 2965 2966 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( 2967 IMemAllocatorCallbackTemp* This, 2968 IMediaSample *pBuffer); 2969 2970 /*** IMemAllocatorCallbackTemp methods ***/ 2971 HRESULT (STDMETHODCALLTYPE *SetNotify)( 2972 IMemAllocatorCallbackTemp* This, 2973 IMemAllocatorNotifyCallbackTemp *pNotify); 2974 2975 HRESULT (STDMETHODCALLTYPE *GetFreeCount)( 2976 IMemAllocatorCallbackTemp* This, 2977 LONG *plBuffersFree); 2978 2979 END_INTERFACE 2980 } IMemAllocatorCallbackTempVtbl; 2981 interface IMemAllocatorCallbackTemp { 2982 CONST_VTBL IMemAllocatorCallbackTempVtbl* lpVtbl; 2983 }; 2984 2985 #ifdef COBJMACROS 2986 #ifndef WIDL_C_INLINE_WRAPPERS 2987 /*** IUnknown methods ***/ 2988 #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2989 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) 2990 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This) 2991 /*** IMemAllocator methods ***/ 2992 #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) 2993 #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) 2994 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This) 2995 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This) 2996 #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) 2997 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) 2998 /*** IMemAllocatorCallbackTemp methods ***/ 2999 #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify) 3000 #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree) 3001 #else 3002 /*** IUnknown methods ***/ 3003 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_QueryInterface(IMemAllocatorCallbackTemp* This,REFIID riid,void **ppvObject) { 3004 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3005 } 3006 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_AddRef(IMemAllocatorCallbackTemp* This) { 3007 return This->lpVtbl->AddRef(This); 3008 } 3009 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_Release(IMemAllocatorCallbackTemp* This) { 3010 return This->lpVtbl->Release(This); 3011 } 3012 /*** IMemAllocator methods ***/ 3013 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { 3014 return This->lpVtbl->SetProperties(This,pRequest,pActual); 3015 } 3016 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pProps) { 3017 return This->lpVtbl->GetProperties(This,pProps); 3018 } 3019 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Commit(IMemAllocatorCallbackTemp* This) { 3020 return This->lpVtbl->Commit(This); 3021 } 3022 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Decommit(IMemAllocatorCallbackTemp* This) { 3023 return This->lpVtbl->Decommit(This); 3024 } 3025 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetBuffer(IMemAllocatorCallbackTemp* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { 3026 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); 3027 } 3028 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_ReleaseBuffer(IMemAllocatorCallbackTemp* This,IMediaSample *pBuffer) { 3029 return This->lpVtbl->ReleaseBuffer(This,pBuffer); 3030 } 3031 /*** IMemAllocatorCallbackTemp methods ***/ 3032 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetNotify(IMemAllocatorCallbackTemp* This,IMemAllocatorNotifyCallbackTemp *pNotify) { 3033 return This->lpVtbl->SetNotify(This,pNotify); 3034 } 3035 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetFreeCount(IMemAllocatorCallbackTemp* This,LONG *plBuffersFree) { 3036 return This->lpVtbl->GetFreeCount(This,plBuffersFree); 3037 } 3038 #endif 3039 #endif 3040 3041 #endif 3042 3043 HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy( 3044 IMemAllocatorCallbackTemp* This, 3045 IMemAllocatorNotifyCallbackTemp *pNotify); 3046 void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub( 3047 IRpcStubBuffer* This, 3048 IRpcChannelBuffer* pRpcChannelBuffer, 3049 PRPC_MESSAGE pRpcMessage, 3050 DWORD* pdwStubPhase); 3051 HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy( 3052 IMemAllocatorCallbackTemp* This, 3053 LONG *plBuffersFree); 3054 void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub( 3055 IRpcStubBuffer* This, 3056 IRpcChannelBuffer* pRpcChannelBuffer, 3057 PRPC_MESSAGE pRpcMessage, 3058 DWORD* pdwStubPhase); 3059 3060 #endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */ 3061 3062 /***************************************************************************** 3063 * IMemAllocatorNotifyCallbackTemp interface 3064 */ 3065 #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ 3066 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ 3067 3068 DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 3069 #if defined(__cplusplus) && !defined(CINTERFACE) 3070 MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375") 3071 IMemAllocatorNotifyCallbackTemp : public IUnknown 3072 { 3073 virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 3074 ) = 0; 3075 3076 }; 3077 #ifdef __CRT_UUID_DECL 3078 __CRT_UUID_DECL(IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 3079 #endif 3080 #else 3081 typedef struct IMemAllocatorNotifyCallbackTempVtbl { 3082 BEGIN_INTERFACE 3083 3084 /*** IUnknown methods ***/ 3085 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3086 IMemAllocatorNotifyCallbackTemp* This, 3087 REFIID riid, 3088 void **ppvObject); 3089 3090 ULONG (STDMETHODCALLTYPE *AddRef)( 3091 IMemAllocatorNotifyCallbackTemp* This); 3092 3093 ULONG (STDMETHODCALLTYPE *Release)( 3094 IMemAllocatorNotifyCallbackTemp* This); 3095 3096 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3097 HRESULT (STDMETHODCALLTYPE *NotifyRelease)( 3098 IMemAllocatorNotifyCallbackTemp* This); 3099 3100 END_INTERFACE 3101 } IMemAllocatorNotifyCallbackTempVtbl; 3102 interface IMemAllocatorNotifyCallbackTemp { 3103 CONST_VTBL IMemAllocatorNotifyCallbackTempVtbl* lpVtbl; 3104 }; 3105 3106 #ifdef COBJMACROS 3107 #ifndef WIDL_C_INLINE_WRAPPERS 3108 /*** IUnknown methods ***/ 3109 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3110 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) 3111 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This) 3112 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3113 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This) 3114 #else 3115 /*** IUnknown methods ***/ 3116 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_QueryInterface(IMemAllocatorNotifyCallbackTemp* This,REFIID riid,void **ppvObject) { 3117 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3118 } 3119 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_AddRef(IMemAllocatorNotifyCallbackTemp* This) { 3120 return This->lpVtbl->AddRef(This); 3121 } 3122 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_Release(IMemAllocatorNotifyCallbackTemp* This) { 3123 return This->lpVtbl->Release(This); 3124 } 3125 /*** IMemAllocatorNotifyCallbackTemp methods ***/ 3126 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_NotifyRelease(IMemAllocatorNotifyCallbackTemp* This) { 3127 return This->lpVtbl->NotifyRelease(This); 3128 } 3129 #endif 3130 #endif 3131 3132 #endif 3133 3134 HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( 3135 IMemAllocatorNotifyCallbackTemp* This); 3136 void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub( 3137 IRpcStubBuffer* This, 3138 IRpcChannelBuffer* pRpcChannelBuffer, 3139 PRPC_MESSAGE pRpcMessage, 3140 DWORD* pdwStubPhase); 3141 3142 #endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */ 3143 3144 /***************************************************************************** 3145 * IMemInputPin interface 3146 */ 3147 #ifndef __IMemInputPin_INTERFACE_DEFINED__ 3148 #define __IMemInputPin_INTERFACE_DEFINED__ 3149 3150 DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 3151 #if defined(__cplusplus) && !defined(CINTERFACE) 3152 MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770") 3153 IMemInputPin : public IUnknown 3154 { 3155 virtual HRESULT STDMETHODCALLTYPE GetAllocator( 3156 IMemAllocator **ppAllocator) = 0; 3157 3158 virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 3159 IMemAllocator *pAllocator, 3160 WINBOOL bReadOnly) = 0; 3161 3162 virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 3163 ALLOCATOR_PROPERTIES *pProps) = 0; 3164 3165 virtual HRESULT STDMETHODCALLTYPE Receive( 3166 IMediaSample *pSample) = 0; 3167 3168 virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 3169 IMediaSample **pSamples, 3170 LONG nSamples, 3171 LONG *nSamplesProcessed) = 0; 3172 3173 virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( 3174 ) = 0; 3175 3176 }; 3177 #ifdef __CRT_UUID_DECL 3178 __CRT_UUID_DECL(IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 3179 #endif 3180 #else 3181 typedef struct IMemInputPinVtbl { 3182 BEGIN_INTERFACE 3183 3184 /*** IUnknown methods ***/ 3185 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3186 IMemInputPin* This, 3187 REFIID riid, 3188 void **ppvObject); 3189 3190 ULONG (STDMETHODCALLTYPE *AddRef)( 3191 IMemInputPin* This); 3192 3193 ULONG (STDMETHODCALLTYPE *Release)( 3194 IMemInputPin* This); 3195 3196 /*** IMemInputPin methods ***/ 3197 HRESULT (STDMETHODCALLTYPE *GetAllocator)( 3198 IMemInputPin* This, 3199 IMemAllocator **ppAllocator); 3200 3201 HRESULT (STDMETHODCALLTYPE *NotifyAllocator)( 3202 IMemInputPin* This, 3203 IMemAllocator *pAllocator, 3204 WINBOOL bReadOnly); 3205 3206 HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)( 3207 IMemInputPin* This, 3208 ALLOCATOR_PROPERTIES *pProps); 3209 3210 HRESULT (STDMETHODCALLTYPE *Receive)( 3211 IMemInputPin* This, 3212 IMediaSample *pSample); 3213 3214 HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)( 3215 IMemInputPin* This, 3216 IMediaSample **pSamples, 3217 LONG nSamples, 3218 LONG *nSamplesProcessed); 3219 3220 HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)( 3221 IMemInputPin* This); 3222 3223 END_INTERFACE 3224 } IMemInputPinVtbl; 3225 interface IMemInputPin { 3226 CONST_VTBL IMemInputPinVtbl* lpVtbl; 3227 }; 3228 3229 #ifdef COBJMACROS 3230 #ifndef WIDL_C_INLINE_WRAPPERS 3231 /*** IUnknown methods ***/ 3232 #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3233 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This) 3234 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This) 3235 /*** IMemInputPin methods ***/ 3236 #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator) 3237 #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly) 3238 #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps) 3239 #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample) 3240 #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) 3241 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This) 3242 #else 3243 /*** IUnknown methods ***/ 3244 static FORCEINLINE HRESULT IMemInputPin_QueryInterface(IMemInputPin* This,REFIID riid,void **ppvObject) { 3245 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3246 } 3247 static FORCEINLINE ULONG IMemInputPin_AddRef(IMemInputPin* This) { 3248 return This->lpVtbl->AddRef(This); 3249 } 3250 static FORCEINLINE ULONG IMemInputPin_Release(IMemInputPin* This) { 3251 return This->lpVtbl->Release(This); 3252 } 3253 /*** IMemInputPin methods ***/ 3254 static FORCEINLINE HRESULT IMemInputPin_GetAllocator(IMemInputPin* This,IMemAllocator **ppAllocator) { 3255 return This->lpVtbl->GetAllocator(This,ppAllocator); 3256 } 3257 static FORCEINLINE HRESULT IMemInputPin_NotifyAllocator(IMemInputPin* This,IMemAllocator *pAllocator,WINBOOL bReadOnly) { 3258 return This->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly); 3259 } 3260 static FORCEINLINE HRESULT IMemInputPin_GetAllocatorRequirements(IMemInputPin* This,ALLOCATOR_PROPERTIES *pProps) { 3261 return This->lpVtbl->GetAllocatorRequirements(This,pProps); 3262 } 3263 static FORCEINLINE HRESULT IMemInputPin_Receive(IMemInputPin* This,IMediaSample *pSample) { 3264 return This->lpVtbl->Receive(This,pSample); 3265 } 3266 static FORCEINLINE HRESULT IMemInputPin_ReceiveMultiple(IMemInputPin* This,IMediaSample **pSamples,LONG nSamples,LONG *nSamplesProcessed) { 3267 return This->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed); 3268 } 3269 static FORCEINLINE HRESULT IMemInputPin_ReceiveCanBlock(IMemInputPin* This) { 3270 return This->lpVtbl->ReceiveCanBlock(This); 3271 } 3272 #endif 3273 #endif 3274 3275 #endif 3276 3277 HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy( 3278 IMemInputPin* This, 3279 IMemAllocator **ppAllocator); 3280 void __RPC_STUB IMemInputPin_GetAllocator_Stub( 3281 IRpcStubBuffer* This, 3282 IRpcChannelBuffer* pRpcChannelBuffer, 3283 PRPC_MESSAGE pRpcMessage, 3284 DWORD* pdwStubPhase); 3285 HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy( 3286 IMemInputPin* This, 3287 IMemAllocator *pAllocator, 3288 WINBOOL bReadOnly); 3289 void __RPC_STUB IMemInputPin_NotifyAllocator_Stub( 3290 IRpcStubBuffer* This, 3291 IRpcChannelBuffer* pRpcChannelBuffer, 3292 PRPC_MESSAGE pRpcMessage, 3293 DWORD* pdwStubPhase); 3294 HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy( 3295 IMemInputPin* This, 3296 ALLOCATOR_PROPERTIES *pProps); 3297 void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub( 3298 IRpcStubBuffer* This, 3299 IRpcChannelBuffer* pRpcChannelBuffer, 3300 PRPC_MESSAGE pRpcMessage, 3301 DWORD* pdwStubPhase); 3302 HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy( 3303 IMemInputPin* This, 3304 IMediaSample *pSample); 3305 void __RPC_STUB IMemInputPin_Receive_Stub( 3306 IRpcStubBuffer* This, 3307 IRpcChannelBuffer* pRpcChannelBuffer, 3308 PRPC_MESSAGE pRpcMessage, 3309 DWORD* pdwStubPhase); 3310 HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy( 3311 IMemInputPin* This, 3312 IMediaSample **pSamples, 3313 LONG nSamples, 3314 LONG *nSamplesProcessed); 3315 void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub( 3316 IRpcStubBuffer* This, 3317 IRpcChannelBuffer* pRpcChannelBuffer, 3318 PRPC_MESSAGE pRpcMessage, 3319 DWORD* pdwStubPhase); 3320 HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy( 3321 IMemInputPin* This); 3322 void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub( 3323 IRpcStubBuffer* This, 3324 IRpcChannelBuffer* pRpcChannelBuffer, 3325 PRPC_MESSAGE pRpcMessage, 3326 DWORD* pdwStubPhase); 3327 3328 #endif /* __IMemInputPin_INTERFACE_DEFINED__ */ 3329 3330 typedef IMemInputPin *PMEMINPUTPIN; 3331 /***************************************************************************** 3332 * IAMovieSetup interface 3333 */ 3334 #ifndef __IAMovieSetup_INTERFACE_DEFINED__ 3335 #define __IAMovieSetup_INTERFACE_DEFINED__ 3336 3337 DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20); 3338 #if defined(__cplusplus) && !defined(CINTERFACE) 3339 MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20") 3340 IAMovieSetup : public IUnknown 3341 { 3342 virtual HRESULT STDMETHODCALLTYPE Register( 3343 ) = 0; 3344 3345 virtual HRESULT STDMETHODCALLTYPE Unregister( 3346 ) = 0; 3347 3348 }; 3349 #ifdef __CRT_UUID_DECL 3350 __CRT_UUID_DECL(IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20) 3351 #endif 3352 #else 3353 typedef struct IAMovieSetupVtbl { 3354 BEGIN_INTERFACE 3355 3356 /*** IUnknown methods ***/ 3357 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3358 IAMovieSetup* This, 3359 REFIID riid, 3360 void **ppvObject); 3361 3362 ULONG (STDMETHODCALLTYPE *AddRef)( 3363 IAMovieSetup* This); 3364 3365 ULONG (STDMETHODCALLTYPE *Release)( 3366 IAMovieSetup* This); 3367 3368 /*** IAMovieSetup methods ***/ 3369 HRESULT (STDMETHODCALLTYPE *Register)( 3370 IAMovieSetup* This); 3371 3372 HRESULT (STDMETHODCALLTYPE *Unregister)( 3373 IAMovieSetup* This); 3374 3375 END_INTERFACE 3376 } IAMovieSetupVtbl; 3377 interface IAMovieSetup { 3378 CONST_VTBL IAMovieSetupVtbl* lpVtbl; 3379 }; 3380 3381 #ifdef COBJMACROS 3382 #ifndef WIDL_C_INLINE_WRAPPERS 3383 /*** IUnknown methods ***/ 3384 #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3385 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This) 3386 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This) 3387 /*** IAMovieSetup methods ***/ 3388 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This) 3389 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This) 3390 #else 3391 /*** IUnknown methods ***/ 3392 static FORCEINLINE HRESULT IAMovieSetup_QueryInterface(IAMovieSetup* This,REFIID riid,void **ppvObject) { 3393 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3394 } 3395 static FORCEINLINE ULONG IAMovieSetup_AddRef(IAMovieSetup* This) { 3396 return This->lpVtbl->AddRef(This); 3397 } 3398 static FORCEINLINE ULONG IAMovieSetup_Release(IAMovieSetup* This) { 3399 return This->lpVtbl->Release(This); 3400 } 3401 /*** IAMovieSetup methods ***/ 3402 static FORCEINLINE HRESULT IAMovieSetup_Register(IAMovieSetup* This) { 3403 return This->lpVtbl->Register(This); 3404 } 3405 static FORCEINLINE HRESULT IAMovieSetup_Unregister(IAMovieSetup* This) { 3406 return This->lpVtbl->Unregister(This); 3407 } 3408 #endif 3409 #endif 3410 3411 #endif 3412 3413 HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy( 3414 IAMovieSetup* This); 3415 void __RPC_STUB IAMovieSetup_Register_Stub( 3416 IRpcStubBuffer* This, 3417 IRpcChannelBuffer* pRpcChannelBuffer, 3418 PRPC_MESSAGE pRpcMessage, 3419 DWORD* pdwStubPhase); 3420 HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy( 3421 IAMovieSetup* This); 3422 void __RPC_STUB IAMovieSetup_Unregister_Stub( 3423 IRpcStubBuffer* This, 3424 IRpcChannelBuffer* pRpcChannelBuffer, 3425 PRPC_MESSAGE pRpcMessage, 3426 DWORD* pdwStubPhase); 3427 3428 #endif /* __IAMovieSetup_INTERFACE_DEFINED__ */ 3429 3430 typedef IAMovieSetup *PAMOVIESETUP; 3431 typedef enum AM_SEEKING_SeekingFlags { 3432 AM_SEEKING_NoPositioning = 0x0, 3433 AM_SEEKING_AbsolutePositioning = 0x1, 3434 AM_SEEKING_RelativePositioning = 0x2, 3435 AM_SEEKING_IncrementalPositioning = 0x3, 3436 AM_SEEKING_PositioningBitsMask = 0x3, 3437 AM_SEEKING_SeekToKeyFrame = 0x4, 3438 AM_SEEKING_ReturnTime = 0x8, 3439 AM_SEEKING_Segment = 0x10, 3440 AM_SEEKING_NoFlush = 0x20 3441 } AM_SEEKING_SEEKING_FLAGS; 3442 typedef enum AM_SEEKING_SeekingCapabilities { 3443 AM_SEEKING_CanSeekAbsolute = 0x1, 3444 AM_SEEKING_CanSeekForwards = 0x2, 3445 AM_SEEKING_CanSeekBackwards = 0x4, 3446 AM_SEEKING_CanGetCurrentPos = 0x8, 3447 AM_SEEKING_CanGetStopPos = 0x10, 3448 AM_SEEKING_CanGetDuration = 0x20, 3449 AM_SEEKING_CanPlayBackwards = 0x40, 3450 AM_SEEKING_CanDoSegments = 0x80, 3451 AM_SEEKING_Source = 0x100 3452 } AM_SEEKING_SEEKING_CAPABILITIES; 3453 /***************************************************************************** 3454 * IMediaSeeking interface 3455 */ 3456 #ifndef __IMediaSeeking_INTERFACE_DEFINED__ 3457 #define __IMediaSeeking_INTERFACE_DEFINED__ 3458 3459 DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 3460 #if defined(__cplusplus) && !defined(CINTERFACE) 3461 MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60") 3462 IMediaSeeking : public IUnknown 3463 { 3464 virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 3465 DWORD *pCapabilities) = 0; 3466 3467 virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 3468 DWORD *pCapabilities) = 0; 3469 3470 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 3471 const GUID *pFormat) = 0; 3472 3473 virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 3474 GUID *pFormat) = 0; 3475 3476 virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 3477 GUID *pFormat) = 0; 3478 3479 virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 3480 const GUID *pFormat) = 0; 3481 3482 virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 3483 const GUID *pFormat) = 0; 3484 3485 virtual HRESULT STDMETHODCALLTYPE GetDuration( 3486 LONGLONG *pDuration) = 0; 3487 3488 virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 3489 LONGLONG *pStop) = 0; 3490 3491 virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 3492 LONGLONG *pCurrent) = 0; 3493 3494 virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 3495 LONGLONG *pTarget, 3496 const GUID *pTargetFormat, 3497 LONGLONG Source, 3498 const GUID *pSourceFormat) = 0; 3499 3500 virtual HRESULT STDMETHODCALLTYPE SetPositions( 3501 LONGLONG *pCurrent, 3502 DWORD dwCurrentFlags, 3503 LONGLONG *pStop, 3504 DWORD dwStopFlags) = 0; 3505 3506 virtual HRESULT STDMETHODCALLTYPE GetPositions( 3507 LONGLONG *pCurrent, 3508 LONGLONG *pStop) = 0; 3509 3510 virtual HRESULT STDMETHODCALLTYPE GetAvailable( 3511 LONGLONG *pEarliest, 3512 LONGLONG *pLatest) = 0; 3513 3514 virtual HRESULT STDMETHODCALLTYPE SetRate( 3515 double dRate) = 0; 3516 3517 virtual HRESULT STDMETHODCALLTYPE GetRate( 3518 double *pdRate) = 0; 3519 3520 virtual HRESULT STDMETHODCALLTYPE GetPreroll( 3521 LONGLONG *pllPreroll) = 0; 3522 3523 }; 3524 #ifdef __CRT_UUID_DECL 3525 __CRT_UUID_DECL(IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 3526 #endif 3527 #else 3528 typedef struct IMediaSeekingVtbl { 3529 BEGIN_INTERFACE 3530 3531 /*** IUnknown methods ***/ 3532 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3533 IMediaSeeking* This, 3534 REFIID riid, 3535 void **ppvObject); 3536 3537 ULONG (STDMETHODCALLTYPE *AddRef)( 3538 IMediaSeeking* This); 3539 3540 ULONG (STDMETHODCALLTYPE *Release)( 3541 IMediaSeeking* This); 3542 3543 /*** IMediaSeeking methods ***/ 3544 HRESULT (STDMETHODCALLTYPE *GetCapabilities)( 3545 IMediaSeeking* This, 3546 DWORD *pCapabilities); 3547 3548 HRESULT (STDMETHODCALLTYPE *CheckCapabilities)( 3549 IMediaSeeking* This, 3550 DWORD *pCapabilities); 3551 3552 HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( 3553 IMediaSeeking* This, 3554 const GUID *pFormat); 3555 3556 HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)( 3557 IMediaSeeking* This, 3558 GUID *pFormat); 3559 3560 HRESULT (STDMETHODCALLTYPE *GetTimeFormat)( 3561 IMediaSeeking* This, 3562 GUID *pFormat); 3563 3564 HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)( 3565 IMediaSeeking* This, 3566 const GUID *pFormat); 3567 3568 HRESULT (STDMETHODCALLTYPE *SetTimeFormat)( 3569 IMediaSeeking* This, 3570 const GUID *pFormat); 3571 3572 HRESULT (STDMETHODCALLTYPE *GetDuration)( 3573 IMediaSeeking* This, 3574 LONGLONG *pDuration); 3575 3576 HRESULT (STDMETHODCALLTYPE *GetStopPosition)( 3577 IMediaSeeking* This, 3578 LONGLONG *pStop); 3579 3580 HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( 3581 IMediaSeeking* This, 3582 LONGLONG *pCurrent); 3583 3584 HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)( 3585 IMediaSeeking* This, 3586 LONGLONG *pTarget, 3587 const GUID *pTargetFormat, 3588 LONGLONG Source, 3589 const GUID *pSourceFormat); 3590 3591 HRESULT (STDMETHODCALLTYPE *SetPositions)( 3592 IMediaSeeking* This, 3593 LONGLONG *pCurrent, 3594 DWORD dwCurrentFlags, 3595 LONGLONG *pStop, 3596 DWORD dwStopFlags); 3597 3598 HRESULT (STDMETHODCALLTYPE *GetPositions)( 3599 IMediaSeeking* This, 3600 LONGLONG *pCurrent, 3601 LONGLONG *pStop); 3602 3603 HRESULT (STDMETHODCALLTYPE *GetAvailable)( 3604 IMediaSeeking* This, 3605 LONGLONG *pEarliest, 3606 LONGLONG *pLatest); 3607 3608 HRESULT (STDMETHODCALLTYPE *SetRate)( 3609 IMediaSeeking* This, 3610 double dRate); 3611 3612 HRESULT (STDMETHODCALLTYPE *GetRate)( 3613 IMediaSeeking* This, 3614 double *pdRate); 3615 3616 HRESULT (STDMETHODCALLTYPE *GetPreroll)( 3617 IMediaSeeking* This, 3618 LONGLONG *pllPreroll); 3619 3620 END_INTERFACE 3621 } IMediaSeekingVtbl; 3622 interface IMediaSeeking { 3623 CONST_VTBL IMediaSeekingVtbl* lpVtbl; 3624 }; 3625 3626 #ifdef COBJMACROS 3627 #ifndef WIDL_C_INLINE_WRAPPERS 3628 /*** IUnknown methods ***/ 3629 #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3630 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This) 3631 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This) 3632 /*** IMediaSeeking methods ***/ 3633 #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities) 3634 #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities) 3635 #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat) 3636 #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat) 3637 #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat) 3638 #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat) 3639 #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat) 3640 #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) 3641 #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop) 3642 #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent) 3643 #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) 3644 #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) 3645 #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop) 3646 #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest) 3647 #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate) 3648 #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate) 3649 #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll) 3650 #else 3651 /*** IUnknown methods ***/ 3652 static FORCEINLINE HRESULT IMediaSeeking_QueryInterface(IMediaSeeking* This,REFIID riid,void **ppvObject) { 3653 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3654 } 3655 static FORCEINLINE ULONG IMediaSeeking_AddRef(IMediaSeeking* This) { 3656 return This->lpVtbl->AddRef(This); 3657 } 3658 static FORCEINLINE ULONG IMediaSeeking_Release(IMediaSeeking* This) { 3659 return This->lpVtbl->Release(This); 3660 } 3661 /*** IMediaSeeking methods ***/ 3662 static FORCEINLINE HRESULT IMediaSeeking_GetCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { 3663 return This->lpVtbl->GetCapabilities(This,pCapabilities); 3664 } 3665 static FORCEINLINE HRESULT IMediaSeeking_CheckCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { 3666 return This->lpVtbl->CheckCapabilities(This,pCapabilities); 3667 } 3668 static FORCEINLINE HRESULT IMediaSeeking_IsFormatSupported(IMediaSeeking* This,const GUID *pFormat) { 3669 return This->lpVtbl->IsFormatSupported(This,pFormat); 3670 } 3671 static FORCEINLINE HRESULT IMediaSeeking_QueryPreferredFormat(IMediaSeeking* This,GUID *pFormat) { 3672 return This->lpVtbl->QueryPreferredFormat(This,pFormat); 3673 } 3674 static FORCEINLINE HRESULT IMediaSeeking_GetTimeFormat(IMediaSeeking* This,GUID *pFormat) { 3675 return This->lpVtbl->GetTimeFormat(This,pFormat); 3676 } 3677 static FORCEINLINE HRESULT IMediaSeeking_IsUsingTimeFormat(IMediaSeeking* This,const GUID *pFormat) { 3678 return This->lpVtbl->IsUsingTimeFormat(This,pFormat); 3679 } 3680 static FORCEINLINE HRESULT IMediaSeeking_SetTimeFormat(IMediaSeeking* This,const GUID *pFormat) { 3681 return This->lpVtbl->SetTimeFormat(This,pFormat); 3682 } 3683 static FORCEINLINE HRESULT IMediaSeeking_GetDuration(IMediaSeeking* This,LONGLONG *pDuration) { 3684 return This->lpVtbl->GetDuration(This,pDuration); 3685 } 3686 static FORCEINLINE HRESULT IMediaSeeking_GetStopPosition(IMediaSeeking* This,LONGLONG *pStop) { 3687 return This->lpVtbl->GetStopPosition(This,pStop); 3688 } 3689 static FORCEINLINE HRESULT IMediaSeeking_GetCurrentPosition(IMediaSeeking* This,LONGLONG *pCurrent) { 3690 return This->lpVtbl->GetCurrentPosition(This,pCurrent); 3691 } 3692 static FORCEINLINE HRESULT IMediaSeeking_ConvertTimeFormat(IMediaSeeking* This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) { 3693 return This->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat); 3694 } 3695 static FORCEINLINE HRESULT IMediaSeeking_SetPositions(IMediaSeeking* This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) { 3696 return This->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags); 3697 } 3698 static FORCEINLINE HRESULT IMediaSeeking_GetPositions(IMediaSeeking* This,LONGLONG *pCurrent,LONGLONG *pStop) { 3699 return This->lpVtbl->GetPositions(This,pCurrent,pStop); 3700 } 3701 static FORCEINLINE HRESULT IMediaSeeking_GetAvailable(IMediaSeeking* This,LONGLONG *pEarliest,LONGLONG *pLatest) { 3702 return This->lpVtbl->GetAvailable(This,pEarliest,pLatest); 3703 } 3704 static FORCEINLINE HRESULT IMediaSeeking_SetRate(IMediaSeeking* This,double dRate) { 3705 return This->lpVtbl->SetRate(This,dRate); 3706 } 3707 static FORCEINLINE HRESULT IMediaSeeking_GetRate(IMediaSeeking* This,double *pdRate) { 3708 return This->lpVtbl->GetRate(This,pdRate); 3709 } 3710 static FORCEINLINE HRESULT IMediaSeeking_GetPreroll(IMediaSeeking* This,LONGLONG *pllPreroll) { 3711 return This->lpVtbl->GetPreroll(This,pllPreroll); 3712 } 3713 #endif 3714 #endif 3715 3716 #endif 3717 3718 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy( 3719 IMediaSeeking* This, 3720 DWORD *pCapabilities); 3721 void __RPC_STUB IMediaSeeking_GetCapabilities_Stub( 3722 IRpcStubBuffer* This, 3723 IRpcChannelBuffer* pRpcChannelBuffer, 3724 PRPC_MESSAGE pRpcMessage, 3725 DWORD* pdwStubPhase); 3726 HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy( 3727 IMediaSeeking* This, 3728 DWORD *pCapabilities); 3729 void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub( 3730 IRpcStubBuffer* This, 3731 IRpcChannelBuffer* pRpcChannelBuffer, 3732 PRPC_MESSAGE pRpcMessage, 3733 DWORD* pdwStubPhase); 3734 HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy( 3735 IMediaSeeking* This, 3736 const GUID *pFormat); 3737 void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub( 3738 IRpcStubBuffer* This, 3739 IRpcChannelBuffer* pRpcChannelBuffer, 3740 PRPC_MESSAGE pRpcMessage, 3741 DWORD* pdwStubPhase); 3742 HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy( 3743 IMediaSeeking* This, 3744 GUID *pFormat); 3745 void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub( 3746 IRpcStubBuffer* This, 3747 IRpcChannelBuffer* pRpcChannelBuffer, 3748 PRPC_MESSAGE pRpcMessage, 3749 DWORD* pdwStubPhase); 3750 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy( 3751 IMediaSeeking* This, 3752 GUID *pFormat); 3753 void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub( 3754 IRpcStubBuffer* This, 3755 IRpcChannelBuffer* pRpcChannelBuffer, 3756 PRPC_MESSAGE pRpcMessage, 3757 DWORD* pdwStubPhase); 3758 HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy( 3759 IMediaSeeking* This, 3760 const GUID *pFormat); 3761 void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub( 3762 IRpcStubBuffer* This, 3763 IRpcChannelBuffer* pRpcChannelBuffer, 3764 PRPC_MESSAGE pRpcMessage, 3765 DWORD* pdwStubPhase); 3766 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy( 3767 IMediaSeeking* This, 3768 const GUID *pFormat); 3769 void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub( 3770 IRpcStubBuffer* This, 3771 IRpcChannelBuffer* pRpcChannelBuffer, 3772 PRPC_MESSAGE pRpcMessage, 3773 DWORD* pdwStubPhase); 3774 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy( 3775 IMediaSeeking* This, 3776 LONGLONG *pDuration); 3777 void __RPC_STUB IMediaSeeking_GetDuration_Stub( 3778 IRpcStubBuffer* This, 3779 IRpcChannelBuffer* pRpcChannelBuffer, 3780 PRPC_MESSAGE pRpcMessage, 3781 DWORD* pdwStubPhase); 3782 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy( 3783 IMediaSeeking* This, 3784 LONGLONG *pStop); 3785 void __RPC_STUB IMediaSeeking_GetStopPosition_Stub( 3786 IRpcStubBuffer* This, 3787 IRpcChannelBuffer* pRpcChannelBuffer, 3788 PRPC_MESSAGE pRpcMessage, 3789 DWORD* pdwStubPhase); 3790 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy( 3791 IMediaSeeking* This, 3792 LONGLONG *pCurrent); 3793 void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub( 3794 IRpcStubBuffer* This, 3795 IRpcChannelBuffer* pRpcChannelBuffer, 3796 PRPC_MESSAGE pRpcMessage, 3797 DWORD* pdwStubPhase); 3798 HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy( 3799 IMediaSeeking* This, 3800 LONGLONG *pTarget, 3801 const GUID *pTargetFormat, 3802 LONGLONG Source, 3803 const GUID *pSourceFormat); 3804 void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub( 3805 IRpcStubBuffer* This, 3806 IRpcChannelBuffer* pRpcChannelBuffer, 3807 PRPC_MESSAGE pRpcMessage, 3808 DWORD* pdwStubPhase); 3809 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy( 3810 IMediaSeeking* This, 3811 LONGLONG *pCurrent, 3812 DWORD dwCurrentFlags, 3813 LONGLONG *pStop, 3814 DWORD dwStopFlags); 3815 void __RPC_STUB IMediaSeeking_SetPositions_Stub( 3816 IRpcStubBuffer* This, 3817 IRpcChannelBuffer* pRpcChannelBuffer, 3818 PRPC_MESSAGE pRpcMessage, 3819 DWORD* pdwStubPhase); 3820 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy( 3821 IMediaSeeking* This, 3822 LONGLONG *pCurrent, 3823 LONGLONG *pStop); 3824 void __RPC_STUB IMediaSeeking_GetPositions_Stub( 3825 IRpcStubBuffer* This, 3826 IRpcChannelBuffer* pRpcChannelBuffer, 3827 PRPC_MESSAGE pRpcMessage, 3828 DWORD* pdwStubPhase); 3829 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy( 3830 IMediaSeeking* This, 3831 LONGLONG *pEarliest, 3832 LONGLONG *pLatest); 3833 void __RPC_STUB IMediaSeeking_GetAvailable_Stub( 3834 IRpcStubBuffer* This, 3835 IRpcChannelBuffer* pRpcChannelBuffer, 3836 PRPC_MESSAGE pRpcMessage, 3837 DWORD* pdwStubPhase); 3838 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy( 3839 IMediaSeeking* This, 3840 double dRate); 3841 void __RPC_STUB IMediaSeeking_SetRate_Stub( 3842 IRpcStubBuffer* This, 3843 IRpcChannelBuffer* pRpcChannelBuffer, 3844 PRPC_MESSAGE pRpcMessage, 3845 DWORD* pdwStubPhase); 3846 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy( 3847 IMediaSeeking* This, 3848 double *pdRate); 3849 void __RPC_STUB IMediaSeeking_GetRate_Stub( 3850 IRpcStubBuffer* This, 3851 IRpcChannelBuffer* pRpcChannelBuffer, 3852 PRPC_MESSAGE pRpcMessage, 3853 DWORD* pdwStubPhase); 3854 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy( 3855 IMediaSeeking* This, 3856 LONGLONG *pllPreroll); 3857 void __RPC_STUB IMediaSeeking_GetPreroll_Stub( 3858 IRpcStubBuffer* This, 3859 IRpcChannelBuffer* pRpcChannelBuffer, 3860 PRPC_MESSAGE pRpcMessage, 3861 DWORD* pdwStubPhase); 3862 3863 #endif /* __IMediaSeeking_INTERFACE_DEFINED__ */ 3864 3865 typedef IMediaSeeking *PMEDIASEEKING; 3866 enum tagAM_MEDIAEVENT_FLAGS { 3867 AM_MEDIAEVENT_NONOTIFY = 0x1 3868 }; 3869 3870 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ 3871 #define __IAMAnalogVideoDecoder_FWD_DEFINED__ 3872 typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder; 3873 #endif 3874 3875 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ 3876 #define __IAMAnalogVideoEncoder_FWD_DEFINED__ 3877 typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder; 3878 #endif 3879 3880 #ifndef __IAMAudioInputMixer_FWD_DEFINED__ 3881 #define __IAMAudioInputMixer_FWD_DEFINED__ 3882 typedef interface IAMAudioInputMixer IAMAudioInputMixer; 3883 #endif 3884 3885 #ifndef __IAMAudioRendererStats_FWD_DEFINED__ 3886 #define __IAMAudioRendererStats_FWD_DEFINED__ 3887 typedef interface IAMAudioRendererStats IAMAudioRendererStats; 3888 #endif 3889 3890 #ifndef __IAMBufferNegotiation_FWD_DEFINED__ 3891 #define __IAMBufferNegotiation_FWD_DEFINED__ 3892 typedef interface IAMBufferNegotiation IAMBufferNegotiation; 3893 #endif 3894 3895 #ifndef __IAMCameraControl_FWD_DEFINED__ 3896 #define __IAMCameraControl_FWD_DEFINED__ 3897 typedef interface IAMCameraControl IAMCameraControl; 3898 #endif 3899 3900 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ 3901 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ 3902 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; 3903 #endif 3904 3905 #ifndef __IAMCrossbar_FWD_DEFINED__ 3906 #define __IAMCrossbar_FWD_DEFINED__ 3907 typedef interface IAMCrossbar IAMCrossbar; 3908 #endif 3909 3910 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ 3911 #define __IAMDevMemoryAllocator_FWD_DEFINED__ 3912 typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator; 3913 #endif 3914 3915 #ifndef __IAMDevMemoryControl_FWD_DEFINED__ 3916 #define __IAMDevMemoryControl_FWD_DEFINED__ 3917 typedef interface IAMDevMemoryControl IAMDevMemoryControl; 3918 #endif 3919 3920 #ifndef __IAMDroppedFrames_FWD_DEFINED__ 3921 #define __IAMDroppedFrames_FWD_DEFINED__ 3922 typedef interface IAMDroppedFrames IAMDroppedFrames; 3923 #endif 3924 3925 #ifndef __IAMExtDevice_FWD_DEFINED__ 3926 #define __IAMExtDevice_FWD_DEFINED__ 3927 typedef interface IAMExtDevice IAMExtDevice; 3928 #endif 3929 3930 #ifndef __IAMExtTransport_FWD_DEFINED__ 3931 #define __IAMExtTransport_FWD_DEFINED__ 3932 typedef interface IAMExtTransport IAMExtTransport; 3933 #endif 3934 3935 #ifndef __IAMGraphStreams_FWD_DEFINED__ 3936 #define __IAMGraphStreams_FWD_DEFINED__ 3937 typedef interface IAMGraphStreams IAMGraphStreams; 3938 #endif 3939 3940 #ifndef __IAMLatency_FWD_DEFINED__ 3941 #define __IAMLatency_FWD_DEFINED__ 3942 typedef interface IAMLatency IAMLatency; 3943 #endif 3944 3945 #ifndef __IAMOpenProgress_FWD_DEFINED__ 3946 #define __IAMOpenProgress_FWD_DEFINED__ 3947 typedef interface IAMOpenProgress IAMOpenProgress; 3948 #endif 3949 3950 #ifndef __IAMOverlayFX_FWD_DEFINED__ 3951 #define __IAMOverlayFX_FWD_DEFINED__ 3952 typedef interface IAMOverlayFX IAMOverlayFX; 3953 #endif 3954 3955 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ 3956 #define __IAMPhysicalPinInfo_FWD_DEFINED__ 3957 typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo; 3958 #endif 3959 3960 #ifndef __IAMPushSource_FWD_DEFINED__ 3961 #define __IAMPushSource_FWD_DEFINED__ 3962 typedef interface IAMPushSource IAMPushSource; 3963 #endif 3964 3965 #ifndef __IAMStreamConfig_FWD_DEFINED__ 3966 #define __IAMStreamConfig_FWD_DEFINED__ 3967 typedef interface IAMStreamConfig IAMStreamConfig; 3968 #endif 3969 3970 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ 3971 #define __IAMTimecodeDisplay_FWD_DEFINED__ 3972 typedef interface IAMTimecodeDisplay IAMTimecodeDisplay; 3973 #endif 3974 3975 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ 3976 #define __IAMTimecodeGenerator_FWD_DEFINED__ 3977 typedef interface IAMTimecodeGenerator IAMTimecodeGenerator; 3978 #endif 3979 3980 #ifndef __IAMTimecodeReader_FWD_DEFINED__ 3981 #define __IAMTimecodeReader_FWD_DEFINED__ 3982 typedef interface IAMTimecodeReader IAMTimecodeReader; 3983 #endif 3984 3985 #ifndef __IAMTVTuner_FWD_DEFINED__ 3986 #define __IAMTVTuner_FWD_DEFINED__ 3987 typedef interface IAMTVTuner IAMTVTuner; 3988 #endif 3989 3990 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ 3991 #define __IAMVfwCaptureDialogs_FWD_DEFINED__ 3992 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; 3993 #endif 3994 3995 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ 3996 #define __IAMVfwCompressDialogs_FWD_DEFINED__ 3997 typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs; 3998 #endif 3999 4000 #ifndef __IAMVideoCompression_FWD_DEFINED__ 4001 #define __IAMVideoCompression_FWD_DEFINED__ 4002 typedef interface IAMVideoCompression IAMVideoCompression; 4003 #endif 4004 4005 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ 4006 #define __IAMVideoDecimationProperties_FWD_DEFINED__ 4007 typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties; 4008 #endif 4009 4010 #ifndef __IAMVideoProcAmp_FWD_DEFINED__ 4011 #define __IAMVideoProcAmp_FWD_DEFINED__ 4012 typedef interface IAMVideoProcAmp IAMVideoProcAmp; 4013 #endif 4014 4015 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ 4016 #define __IAMGraphBuilderCallback_FWD_DEFINED__ 4017 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; 4018 #endif 4019 4020 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ 4021 #define __ICaptureGraphBuilder_FWD_DEFINED__ 4022 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; 4023 #endif 4024 4025 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ 4026 #define __ICaptureGraphBuilder2_FWD_DEFINED__ 4027 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; 4028 #endif 4029 4030 #ifndef __IConfigAviMux_FWD_DEFINED__ 4031 #define __IConfigAviMux_FWD_DEFINED__ 4032 typedef interface IConfigAviMux IConfigAviMux; 4033 #endif 4034 4035 #ifndef __IConfigInterleaving_FWD_DEFINED__ 4036 #define __IConfigInterleaving_FWD_DEFINED__ 4037 typedef interface IConfigInterleaving IConfigInterleaving; 4038 #endif 4039 4040 #ifndef __IDecimateVideoImage_FWD_DEFINED__ 4041 #define __IDecimateVideoImage_FWD_DEFINED__ 4042 typedef interface IDecimateVideoImage IDecimateVideoImage; 4043 #endif 4044 4045 #ifndef __IDrawVideoImage_FWD_DEFINED__ 4046 #define __IDrawVideoImage_FWD_DEFINED__ 4047 typedef interface IDrawVideoImage IDrawVideoImage; 4048 #endif 4049 4050 #ifndef __IEnumRegFilters_FWD_DEFINED__ 4051 #define __IEnumRegFilters_FWD_DEFINED__ 4052 typedef interface IEnumRegFilters IEnumRegFilters; 4053 #endif 4054 4055 #ifndef __IEnumStreamIdMap_FWD_DEFINED__ 4056 #define __IEnumStreamIdMap_FWD_DEFINED__ 4057 typedef interface IEnumStreamIdMap IEnumStreamIdMap; 4058 #endif 4059 4060 #ifndef __IFileSourceFilter_FWD_DEFINED__ 4061 #define __IFileSourceFilter_FWD_DEFINED__ 4062 typedef interface IFileSourceFilter IFileSourceFilter; 4063 #endif 4064 4065 #ifndef __IFileSinkFilter_FWD_DEFINED__ 4066 #define __IFileSinkFilter_FWD_DEFINED__ 4067 typedef interface IFileSinkFilter IFileSinkFilter; 4068 #endif 4069 4070 #ifndef __IFileSinkFilter2_FWD_DEFINED__ 4071 #define __IFileSinkFilter2_FWD_DEFINED__ 4072 typedef interface IFileSinkFilter2 IFileSinkFilter2; 4073 #endif 4074 4075 #ifndef __IFilterMapper_FWD_DEFINED__ 4076 #define __IFilterMapper_FWD_DEFINED__ 4077 typedef interface IFilterMapper IFilterMapper; 4078 #endif 4079 4080 #ifndef __IFilterMapper2_FWD_DEFINED__ 4081 #define __IFilterMapper2_FWD_DEFINED__ 4082 typedef interface IFilterMapper2 IFilterMapper2; 4083 #endif 4084 4085 #ifndef __IGraphBuilder_FWD_DEFINED__ 4086 #define __IGraphBuilder_FWD_DEFINED__ 4087 typedef interface IGraphBuilder IGraphBuilder; 4088 #endif 4089 4090 #ifndef __IKsPropertySet_FWD_DEFINED__ 4091 #define __IKsPropertySet_FWD_DEFINED__ 4092 typedef interface IKsPropertySet IKsPropertySet; 4093 #endif 4094 4095 #ifndef __IMediaEventSink_FWD_DEFINED__ 4096 #define __IMediaEventSink_FWD_DEFINED__ 4097 typedef interface IMediaEventSink IMediaEventSink; 4098 #endif 4099 4100 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ 4101 #define __IMpeg2Demultiplexer_FWD_DEFINED__ 4102 typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer; 4103 #endif 4104 4105 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ 4106 #define __IMPEG2StreamIdMap_FWD_DEFINED__ 4107 typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap; 4108 #endif 4109 4110 #ifndef __IOverlay_FWD_DEFINED__ 4111 #define __IOverlay_FWD_DEFINED__ 4112 typedef interface IOverlay IOverlay; 4113 #endif 4114 4115 #ifndef __IOverlayNotify_FWD_DEFINED__ 4116 #define __IOverlayNotify_FWD_DEFINED__ 4117 typedef interface IOverlayNotify IOverlayNotify; 4118 #endif 4119 4120 #ifndef __IOverlayNotify2_FWD_DEFINED__ 4121 #define __IOverlayNotify2_FWD_DEFINED__ 4122 typedef interface IOverlayNotify2 IOverlayNotify2; 4123 #endif 4124 4125 #ifndef __IQualityControl_FWD_DEFINED__ 4126 #define __IQualityControl_FWD_DEFINED__ 4127 typedef interface IQualityControl IQualityControl; 4128 #endif 4129 4130 #ifndef __ISeekingPassThru_FWD_DEFINED__ 4131 #define __ISeekingPassThru_FWD_DEFINED__ 4132 typedef interface ISeekingPassThru ISeekingPassThru; 4133 #endif 4134 4135 typedef struct __WIDL_axextend_generated_name_00000000 { 4136 CLSID Clsid; 4137 LPWSTR Name; 4138 } REGFILTER; 4139 /***************************************************************************** 4140 * IEnumRegFilters interface 4141 */ 4142 #ifndef __IEnumRegFilters_INTERFACE_DEFINED__ 4143 #define __IEnumRegFilters_INTERFACE_DEFINED__ 4144 4145 DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4146 #if defined(__cplusplus) && !defined(CINTERFACE) 4147 MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770") 4148 IEnumRegFilters : public IUnknown 4149 { 4150 virtual HRESULT STDMETHODCALLTYPE Next( 4151 ULONG cFilters, 4152 REGFILTER **apRegFilter, 4153 ULONG *pcFetched) = 0; 4154 4155 virtual HRESULT STDMETHODCALLTYPE Skip( 4156 ULONG cFilters) = 0; 4157 4158 virtual HRESULT STDMETHODCALLTYPE Reset( 4159 ) = 0; 4160 4161 virtual HRESULT STDMETHODCALLTYPE Clone( 4162 IEnumRegFilters **ppEnum) = 0; 4163 4164 }; 4165 #ifdef __CRT_UUID_DECL 4166 __CRT_UUID_DECL(IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4167 #endif 4168 #else 4169 typedef struct IEnumRegFiltersVtbl { 4170 BEGIN_INTERFACE 4171 4172 /*** IUnknown methods ***/ 4173 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4174 IEnumRegFilters* This, 4175 REFIID riid, 4176 void **ppvObject); 4177 4178 ULONG (STDMETHODCALLTYPE *AddRef)( 4179 IEnumRegFilters* This); 4180 4181 ULONG (STDMETHODCALLTYPE *Release)( 4182 IEnumRegFilters* This); 4183 4184 /*** IEnumRegFilters methods ***/ 4185 HRESULT (STDMETHODCALLTYPE *Next)( 4186 IEnumRegFilters* This, 4187 ULONG cFilters, 4188 REGFILTER **apRegFilter, 4189 ULONG *pcFetched); 4190 4191 HRESULT (STDMETHODCALLTYPE *Skip)( 4192 IEnumRegFilters* This, 4193 ULONG cFilters); 4194 4195 HRESULT (STDMETHODCALLTYPE *Reset)( 4196 IEnumRegFilters* This); 4197 4198 HRESULT (STDMETHODCALLTYPE *Clone)( 4199 IEnumRegFilters* This, 4200 IEnumRegFilters **ppEnum); 4201 4202 END_INTERFACE 4203 } IEnumRegFiltersVtbl; 4204 interface IEnumRegFilters { 4205 CONST_VTBL IEnumRegFiltersVtbl* lpVtbl; 4206 }; 4207 4208 #ifdef COBJMACROS 4209 #ifndef WIDL_C_INLINE_WRAPPERS 4210 /*** IUnknown methods ***/ 4211 #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4212 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This) 4213 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This) 4214 /*** IEnumRegFilters methods ***/ 4215 #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched) 4216 #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) 4217 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This) 4218 #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 4219 #else 4220 /*** IUnknown methods ***/ 4221 static FORCEINLINE HRESULT IEnumRegFilters_QueryInterface(IEnumRegFilters* This,REFIID riid,void **ppvObject) { 4222 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4223 } 4224 static FORCEINLINE ULONG IEnumRegFilters_AddRef(IEnumRegFilters* This) { 4225 return This->lpVtbl->AddRef(This); 4226 } 4227 static FORCEINLINE ULONG IEnumRegFilters_Release(IEnumRegFilters* This) { 4228 return This->lpVtbl->Release(This); 4229 } 4230 /*** IEnumRegFilters methods ***/ 4231 static FORCEINLINE HRESULT IEnumRegFilters_Next(IEnumRegFilters* This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) { 4232 return This->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched); 4233 } 4234 static FORCEINLINE HRESULT IEnumRegFilters_Skip(IEnumRegFilters* This,ULONG cFilters) { 4235 return This->lpVtbl->Skip(This,cFilters); 4236 } 4237 static FORCEINLINE HRESULT IEnumRegFilters_Reset(IEnumRegFilters* This) { 4238 return This->lpVtbl->Reset(This); 4239 } 4240 static FORCEINLINE HRESULT IEnumRegFilters_Clone(IEnumRegFilters* This,IEnumRegFilters **ppEnum) { 4241 return This->lpVtbl->Clone(This,ppEnum); 4242 } 4243 #endif 4244 #endif 4245 4246 #endif 4247 4248 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy( 4249 IEnumRegFilters* This, 4250 ULONG cFilters, 4251 REGFILTER **apRegFilter, 4252 ULONG *pcFetched); 4253 void __RPC_STUB IEnumRegFilters_Next_Stub( 4254 IRpcStubBuffer* This, 4255 IRpcChannelBuffer* pRpcChannelBuffer, 4256 PRPC_MESSAGE pRpcMessage, 4257 DWORD* pdwStubPhase); 4258 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy( 4259 IEnumRegFilters* This, 4260 ULONG cFilters); 4261 void __RPC_STUB IEnumRegFilters_Skip_Stub( 4262 IRpcStubBuffer* This, 4263 IRpcChannelBuffer* pRpcChannelBuffer, 4264 PRPC_MESSAGE pRpcMessage, 4265 DWORD* pdwStubPhase); 4266 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy( 4267 IEnumRegFilters* This); 4268 void __RPC_STUB IEnumRegFilters_Reset_Stub( 4269 IRpcStubBuffer* This, 4270 IRpcChannelBuffer* pRpcChannelBuffer, 4271 PRPC_MESSAGE pRpcMessage, 4272 DWORD* pdwStubPhase); 4273 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy( 4274 IEnumRegFilters* This, 4275 IEnumRegFilters **ppEnum); 4276 void __RPC_STUB IEnumRegFilters_Clone_Stub( 4277 IRpcStubBuffer* This, 4278 IRpcChannelBuffer* pRpcChannelBuffer, 4279 PRPC_MESSAGE pRpcMessage, 4280 DWORD* pdwStubPhase); 4281 4282 #endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */ 4283 4284 typedef IEnumRegFilters *PENUMREGFILTERS; 4285 /***************************************************************************** 4286 * IFilterMapper interface 4287 */ 4288 #ifndef __IFilterMapper_INTERFACE_DEFINED__ 4289 #define __IFilterMapper_INTERFACE_DEFINED__ 4290 4291 enum { 4292 MERIT_PREFERRED = 0x800000, 4293 MERIT_NORMAL = 0x600000, 4294 MERIT_UNLIKELY = 0x400000, 4295 MERIT_DO_NOT_USE = 0x200000, 4296 MERIT_SW_COMPRESSOR = 0x100000, 4297 MERIT_HW_COMPRESSOR = 0x100050 4298 }; 4299 4300 DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 4301 #if defined(__cplusplus) && !defined(CINTERFACE) 4302 MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770") 4303 IFilterMapper : public IUnknown 4304 { 4305 virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 4306 CLSID clsid, 4307 LPCWSTR Name, 4308 DWORD dwMerit) = 0; 4309 4310 virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 4311 CLSID clsid, 4312 LPCWSTR Name, 4313 CLSID *MRId) = 0; 4314 4315 virtual HRESULT STDMETHODCALLTYPE RegisterPin( 4316 CLSID Filter, 4317 LPCWSTR Name, 4318 WINBOOL bRendered, 4319 WINBOOL bOutput, 4320 WINBOOL bZero, 4321 WINBOOL bMany, 4322 CLSID ConnectsToFilter, 4323 LPCWSTR ConnectsToPin) = 0; 4324 4325 virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 4326 CLSID clsFilter, 4327 LPCWSTR strName, 4328 CLSID clsMajorType, 4329 CLSID clsSubType) = 0; 4330 4331 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 4332 CLSID Filter) = 0; 4333 4334 virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 4335 CLSID MRId) = 0; 4336 4337 virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 4338 CLSID Filter, 4339 LPCWSTR Name) = 0; 4340 4341 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 4342 IEnumRegFilters **ppEnum, 4343 DWORD dwMerit, 4344 WINBOOL bInputNeeded, 4345 CLSID clsInMaj, 4346 CLSID clsInSub, 4347 WINBOOL bRender, 4348 WINBOOL bOututNeeded, 4349 CLSID clsOutMaj, 4350 CLSID clsOutSub) = 0; 4351 4352 }; 4353 #ifdef __CRT_UUID_DECL 4354 __CRT_UUID_DECL(IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 4355 #endif 4356 #else 4357 typedef struct IFilterMapperVtbl { 4358 BEGIN_INTERFACE 4359 4360 /*** IUnknown methods ***/ 4361 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4362 IFilterMapper* This, 4363 REFIID riid, 4364 void **ppvObject); 4365 4366 ULONG (STDMETHODCALLTYPE *AddRef)( 4367 IFilterMapper* This); 4368 4369 ULONG (STDMETHODCALLTYPE *Release)( 4370 IFilterMapper* This); 4371 4372 /*** IFilterMapper methods ***/ 4373 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4374 IFilterMapper* This, 4375 CLSID clsid, 4376 LPCWSTR Name, 4377 DWORD dwMerit); 4378 4379 HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)( 4380 IFilterMapper* This, 4381 CLSID clsid, 4382 LPCWSTR Name, 4383 CLSID *MRId); 4384 4385 HRESULT (STDMETHODCALLTYPE *RegisterPin)( 4386 IFilterMapper* This, 4387 CLSID Filter, 4388 LPCWSTR Name, 4389 WINBOOL bRendered, 4390 WINBOOL bOutput, 4391 WINBOOL bZero, 4392 WINBOOL bMany, 4393 CLSID ConnectsToFilter, 4394 LPCWSTR ConnectsToPin); 4395 4396 HRESULT (STDMETHODCALLTYPE *RegisterPinType)( 4397 IFilterMapper* This, 4398 CLSID clsFilter, 4399 LPCWSTR strName, 4400 CLSID clsMajorType, 4401 CLSID clsSubType); 4402 4403 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4404 IFilterMapper* This, 4405 CLSID Filter); 4406 4407 HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)( 4408 IFilterMapper* This, 4409 CLSID MRId); 4410 4411 HRESULT (STDMETHODCALLTYPE *UnregisterPin)( 4412 IFilterMapper* This, 4413 CLSID Filter, 4414 LPCWSTR Name); 4415 4416 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4417 IFilterMapper* This, 4418 IEnumRegFilters **ppEnum, 4419 DWORD dwMerit, 4420 WINBOOL bInputNeeded, 4421 CLSID clsInMaj, 4422 CLSID clsInSub, 4423 WINBOOL bRender, 4424 WINBOOL bOututNeeded, 4425 CLSID clsOutMaj, 4426 CLSID clsOutSub); 4427 4428 END_INTERFACE 4429 } IFilterMapperVtbl; 4430 interface IFilterMapper { 4431 CONST_VTBL IFilterMapperVtbl* lpVtbl; 4432 }; 4433 4434 #ifdef COBJMACROS 4435 #ifndef WIDL_C_INLINE_WRAPPERS 4436 /*** IUnknown methods ***/ 4437 #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4438 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This) 4439 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This) 4440 /*** IFilterMapper methods ***/ 4441 #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit) 4442 #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId) 4443 #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) 4444 #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) 4445 #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter) 4446 #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId) 4447 #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name) 4448 #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) 4449 #else 4450 /*** IUnknown methods ***/ 4451 static FORCEINLINE HRESULT IFilterMapper_QueryInterface(IFilterMapper* This,REFIID riid,void **ppvObject) { 4452 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4453 } 4454 static FORCEINLINE ULONG IFilterMapper_AddRef(IFilterMapper* This) { 4455 return This->lpVtbl->AddRef(This); 4456 } 4457 static FORCEINLINE ULONG IFilterMapper_Release(IFilterMapper* This) { 4458 return This->lpVtbl->Release(This); 4459 } 4460 /*** IFilterMapper methods ***/ 4461 static FORCEINLINE HRESULT IFilterMapper_RegisterFilter(IFilterMapper* This,CLSID clsid,LPCWSTR Name,DWORD dwMerit) { 4462 return This->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit); 4463 } 4464 static FORCEINLINE HRESULT IFilterMapper_RegisterFilterInstance(IFilterMapper* This,CLSID clsid,LPCWSTR Name,CLSID *MRId) { 4465 return This->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId); 4466 } 4467 static FORCEINLINE HRESULT IFilterMapper_RegisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) { 4468 return This->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin); 4469 } 4470 static FORCEINLINE HRESULT IFilterMapper_RegisterPinType(IFilterMapper* This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) { 4471 return This->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType); 4472 } 4473 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilter(IFilterMapper* This,CLSID Filter) { 4474 return This->lpVtbl->UnregisterFilter(This,Filter); 4475 } 4476 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilterInstance(IFilterMapper* This,CLSID MRId) { 4477 return This->lpVtbl->UnregisterFilterInstance(This,MRId); 4478 } 4479 static FORCEINLINE HRESULT IFilterMapper_UnregisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name) { 4480 return This->lpVtbl->UnregisterPin(This,Filter,Name); 4481 } 4482 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) { 4483 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub); 4484 } 4485 #endif 4486 #endif 4487 4488 #endif 4489 4490 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy( 4491 IFilterMapper* This, 4492 CLSID clsid, 4493 LPCWSTR Name, 4494 DWORD dwMerit); 4495 void __RPC_STUB IFilterMapper_RegisterFilter_Stub( 4496 IRpcStubBuffer* This, 4497 IRpcChannelBuffer* pRpcChannelBuffer, 4498 PRPC_MESSAGE pRpcMessage, 4499 DWORD* pdwStubPhase); 4500 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy( 4501 IFilterMapper* This, 4502 CLSID clsid, 4503 LPCWSTR Name, 4504 CLSID *MRId); 4505 void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub( 4506 IRpcStubBuffer* This, 4507 IRpcChannelBuffer* pRpcChannelBuffer, 4508 PRPC_MESSAGE pRpcMessage, 4509 DWORD* pdwStubPhase); 4510 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy( 4511 IFilterMapper* This, 4512 CLSID Filter, 4513 LPCWSTR Name, 4514 WINBOOL bRendered, 4515 WINBOOL bOutput, 4516 WINBOOL bZero, 4517 WINBOOL bMany, 4518 CLSID ConnectsToFilter, 4519 LPCWSTR ConnectsToPin); 4520 void __RPC_STUB IFilterMapper_RegisterPin_Stub( 4521 IRpcStubBuffer* This, 4522 IRpcChannelBuffer* pRpcChannelBuffer, 4523 PRPC_MESSAGE pRpcMessage, 4524 DWORD* pdwStubPhase); 4525 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy( 4526 IFilterMapper* This, 4527 CLSID clsFilter, 4528 LPCWSTR strName, 4529 CLSID clsMajorType, 4530 CLSID clsSubType); 4531 void __RPC_STUB IFilterMapper_RegisterPinType_Stub( 4532 IRpcStubBuffer* This, 4533 IRpcChannelBuffer* pRpcChannelBuffer, 4534 PRPC_MESSAGE pRpcMessage, 4535 DWORD* pdwStubPhase); 4536 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy( 4537 IFilterMapper* This, 4538 CLSID Filter); 4539 void __RPC_STUB IFilterMapper_UnregisterFilter_Stub( 4540 IRpcStubBuffer* This, 4541 IRpcChannelBuffer* pRpcChannelBuffer, 4542 PRPC_MESSAGE pRpcMessage, 4543 DWORD* pdwStubPhase); 4544 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy( 4545 IFilterMapper* This, 4546 CLSID MRId); 4547 void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub( 4548 IRpcStubBuffer* This, 4549 IRpcChannelBuffer* pRpcChannelBuffer, 4550 PRPC_MESSAGE pRpcMessage, 4551 DWORD* pdwStubPhase); 4552 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy( 4553 IFilterMapper* This, 4554 CLSID Filter, 4555 LPCWSTR Name); 4556 void __RPC_STUB IFilterMapper_UnregisterPin_Stub( 4557 IRpcStubBuffer* This, 4558 IRpcChannelBuffer* pRpcChannelBuffer, 4559 PRPC_MESSAGE pRpcMessage, 4560 DWORD* pdwStubPhase); 4561 HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy( 4562 IFilterMapper* This, 4563 IEnumRegFilters **ppEnum, 4564 DWORD dwMerit, 4565 WINBOOL bInputNeeded, 4566 CLSID clsInMaj, 4567 CLSID clsInSub, 4568 WINBOOL bRender, 4569 WINBOOL bOututNeeded, 4570 CLSID clsOutMaj, 4571 CLSID clsOutSub); 4572 void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub( 4573 IRpcStubBuffer* This, 4574 IRpcChannelBuffer* pRpcChannelBuffer, 4575 PRPC_MESSAGE pRpcMessage, 4576 DWORD* pdwStubPhase); 4577 4578 #endif /* __IFilterMapper_INTERFACE_DEFINED__ */ 4579 4580 typedef struct __WIDL_axextend_generated_name_00000001 { 4581 const CLSID *clsMajorType; 4582 const CLSID *clsMinorType; 4583 } REGPINTYPES; 4584 typedef struct __WIDL_axextend_generated_name_00000002 { 4585 LPWSTR strName; 4586 WINBOOL bRendered; 4587 WINBOOL bOutput; 4588 WINBOOL bZero; 4589 WINBOOL bMany; 4590 const CLSID *clsConnectsToFilter; 4591 const WCHAR *strConnectsToPin; 4592 UINT nMediaTypes; 4593 const REGPINTYPES *lpMediaType; 4594 } REGFILTERPINS; 4595 typedef struct __WIDL_axextend_generated_name_00000003 { 4596 CLSID clsMedium; 4597 DWORD dw1; 4598 DWORD dw2; 4599 } REGPINMEDIUM; 4600 enum { 4601 REG_PINFLAG_B_ZERO = 0x1, 4602 REG_PINFLAG_B_RENDERER = 0x2, 4603 REG_PINFLAG_B_MANY = 0x4, 4604 REG_PINFLAG_B_OUTPUT = 0x8 4605 }; 4606 4607 typedef struct __WIDL_axextend_generated_name_00000004 { 4608 DWORD dwFlags; 4609 UINT cInstances; 4610 UINT nMediaTypes; 4611 const REGPINTYPES *lpMediaType; 4612 UINT nMediums; 4613 const REGPINMEDIUM *lpMedium; 4614 const CLSID *clsPinCategory; 4615 } REGFILTERPINS2; 4616 typedef struct __WIDL_axextend_generated_name_00000005 { 4617 DWORD dwVersion; 4618 DWORD dwMerit; 4619 __C89_NAMELESS union { 4620 __C89_NAMELESS struct { 4621 ULONG cPins; 4622 const REGFILTERPINS *rgPins; 4623 } __C89_NAMELESSSTRUCTNAME1; 4624 __C89_NAMELESS struct { 4625 ULONG cPins2; 4626 const REGFILTERPINS2 *rgPins2; 4627 } __C89_NAMELESSSTRUCTNAME2; 4628 } __C89_NAMELESSUNIONNAME; 4629 } REGFILTER2; 4630 /***************************************************************************** 4631 * IFilterMapper2 interface 4632 */ 4633 #ifndef __IFilterMapper2_INTERFACE_DEFINED__ 4634 #define __IFilterMapper2_INTERFACE_DEFINED__ 4635 4636 DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 4637 #if defined(__cplusplus) && !defined(CINTERFACE) 4638 MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375") 4639 IFilterMapper2 : public IUnknown 4640 { 4641 virtual HRESULT STDMETHODCALLTYPE CreateCategory( 4642 REFCLSID clsidCategory, 4643 DWORD dwCategoryMerit, 4644 LPCWSTR Description) = 0; 4645 4646 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 4647 const CLSID *pclsidCategory, 4648 LPCOLESTR szInstance, 4649 REFCLSID Filter) = 0; 4650 4651 virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 4652 REFCLSID clsidFilter, 4653 LPCWSTR Name, 4654 IMoniker **ppMoniker, 4655 const CLSID *pclsidCategory, 4656 LPCOLESTR szInstance, 4657 const REGFILTER2 *prf2) = 0; 4658 4659 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 4660 IEnumMoniker **ppEnum, 4661 DWORD dwFlags, 4662 WINBOOL bExactMatch, 4663 DWORD dwMerit, 4664 WINBOOL bInputNeeded, 4665 DWORD cInputTypes, 4666 const GUID *pInputTypes, 4667 const REGPINMEDIUM *pMedIn, 4668 const CLSID *pPinCategoryIn, 4669 WINBOOL bRender, 4670 WINBOOL bOutputNeeded, 4671 DWORD cOutputTypes, 4672 const GUID *pOutputTypes, 4673 const REGPINMEDIUM *pMedOut, 4674 const CLSID *pPinCategoryOut) = 0; 4675 4676 }; 4677 #ifdef __CRT_UUID_DECL 4678 __CRT_UUID_DECL(IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 4679 #endif 4680 #else 4681 typedef struct IFilterMapper2Vtbl { 4682 BEGIN_INTERFACE 4683 4684 /*** IUnknown methods ***/ 4685 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4686 IFilterMapper2* This, 4687 REFIID riid, 4688 void **ppvObject); 4689 4690 ULONG (STDMETHODCALLTYPE *AddRef)( 4691 IFilterMapper2* This); 4692 4693 ULONG (STDMETHODCALLTYPE *Release)( 4694 IFilterMapper2* This); 4695 4696 /*** IFilterMapper2 methods ***/ 4697 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 4698 IFilterMapper2* This, 4699 REFCLSID clsidCategory, 4700 DWORD dwCategoryMerit, 4701 LPCWSTR Description); 4702 4703 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4704 IFilterMapper2* This, 4705 const CLSID *pclsidCategory, 4706 LPCOLESTR szInstance, 4707 REFCLSID Filter); 4708 4709 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4710 IFilterMapper2* This, 4711 REFCLSID clsidFilter, 4712 LPCWSTR Name, 4713 IMoniker **ppMoniker, 4714 const CLSID *pclsidCategory, 4715 LPCOLESTR szInstance, 4716 const REGFILTER2 *prf2); 4717 4718 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4719 IFilterMapper2* This, 4720 IEnumMoniker **ppEnum, 4721 DWORD dwFlags, 4722 WINBOOL bExactMatch, 4723 DWORD dwMerit, 4724 WINBOOL bInputNeeded, 4725 DWORD cInputTypes, 4726 const GUID *pInputTypes, 4727 const REGPINMEDIUM *pMedIn, 4728 const CLSID *pPinCategoryIn, 4729 WINBOOL bRender, 4730 WINBOOL bOutputNeeded, 4731 DWORD cOutputTypes, 4732 const GUID *pOutputTypes, 4733 const REGPINMEDIUM *pMedOut, 4734 const CLSID *pPinCategoryOut); 4735 4736 END_INTERFACE 4737 } IFilterMapper2Vtbl; 4738 interface IFilterMapper2 { 4739 CONST_VTBL IFilterMapper2Vtbl* lpVtbl; 4740 }; 4741 4742 #ifdef COBJMACROS 4743 #ifndef WIDL_C_INLINE_WRAPPERS 4744 /*** IUnknown methods ***/ 4745 #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4746 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This) 4747 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This) 4748 /*** IFilterMapper2 methods ***/ 4749 #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) 4750 #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) 4751 #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) 4752 #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) 4753 #else 4754 /*** IUnknown methods ***/ 4755 static FORCEINLINE HRESULT IFilterMapper2_QueryInterface(IFilterMapper2* This,REFIID riid,void **ppvObject) { 4756 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4757 } 4758 static FORCEINLINE ULONG IFilterMapper2_AddRef(IFilterMapper2* This) { 4759 return This->lpVtbl->AddRef(This); 4760 } 4761 static FORCEINLINE ULONG IFilterMapper2_Release(IFilterMapper2* This) { 4762 return This->lpVtbl->Release(This); 4763 } 4764 /*** IFilterMapper2 methods ***/ 4765 static FORCEINLINE HRESULT IFilterMapper2_CreateCategory(IFilterMapper2* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { 4766 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); 4767 } 4768 static FORCEINLINE HRESULT IFilterMapper2_UnregisterFilter(IFilterMapper2* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { 4769 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); 4770 } 4771 static FORCEINLINE HRESULT IFilterMapper2_RegisterFilter(IFilterMapper2* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { 4772 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); 4773 } 4774 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) { 4775 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); 4776 } 4777 #endif 4778 #endif 4779 4780 #endif 4781 4782 HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy( 4783 IFilterMapper2* This, 4784 REFCLSID clsidCategory, 4785 DWORD dwCategoryMerit, 4786 LPCWSTR Description); 4787 void __RPC_STUB IFilterMapper2_CreateCategory_Stub( 4788 IRpcStubBuffer* This, 4789 IRpcChannelBuffer* pRpcChannelBuffer, 4790 PRPC_MESSAGE pRpcMessage, 4791 DWORD* pdwStubPhase); 4792 HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy( 4793 IFilterMapper2* This, 4794 const CLSID *pclsidCategory, 4795 LPCOLESTR szInstance, 4796 REFCLSID Filter); 4797 void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub( 4798 IRpcStubBuffer* This, 4799 IRpcChannelBuffer* pRpcChannelBuffer, 4800 PRPC_MESSAGE pRpcMessage, 4801 DWORD* pdwStubPhase); 4802 HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy( 4803 IFilterMapper2* This, 4804 REFCLSID clsidFilter, 4805 LPCWSTR Name, 4806 IMoniker **ppMoniker, 4807 const CLSID *pclsidCategory, 4808 LPCOLESTR szInstance, 4809 const REGFILTER2 *prf2); 4810 void __RPC_STUB IFilterMapper2_RegisterFilter_Stub( 4811 IRpcStubBuffer* This, 4812 IRpcChannelBuffer* pRpcChannelBuffer, 4813 PRPC_MESSAGE pRpcMessage, 4814 DWORD* pdwStubPhase); 4815 HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy( 4816 IFilterMapper2* This, 4817 IEnumMoniker **ppEnum, 4818 DWORD dwFlags, 4819 WINBOOL bExactMatch, 4820 DWORD dwMerit, 4821 WINBOOL bInputNeeded, 4822 DWORD cInputTypes, 4823 const GUID *pInputTypes, 4824 const REGPINMEDIUM *pMedIn, 4825 const CLSID *pPinCategoryIn, 4826 WINBOOL bRender, 4827 WINBOOL bOutputNeeded, 4828 DWORD cOutputTypes, 4829 const GUID *pOutputTypes, 4830 const REGPINMEDIUM *pMedOut, 4831 const CLSID *pPinCategoryOut); 4832 void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub( 4833 IRpcStubBuffer* This, 4834 IRpcChannelBuffer* pRpcChannelBuffer, 4835 PRPC_MESSAGE pRpcMessage, 4836 DWORD* pdwStubPhase); 4837 4838 #endif /* __IFilterMapper2_INTERFACE_DEFINED__ */ 4839 4840 /***************************************************************************** 4841 * IFilterMapper3 interface 4842 */ 4843 #ifndef __IFilterMapper3_INTERFACE_DEFINED__ 4844 #define __IFilterMapper3_INTERFACE_DEFINED__ 4845 4846 DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); 4847 #if defined(__cplusplus) && !defined(CINTERFACE) 4848 MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375") 4849 IFilterMapper3 : public IFilterMapper2 4850 { 4851 virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( 4852 ICreateDevEnum **ppEnum) = 0; 4853 4854 }; 4855 #ifdef __CRT_UUID_DECL 4856 __CRT_UUID_DECL(IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) 4857 #endif 4858 #else 4859 typedef struct IFilterMapper3Vtbl { 4860 BEGIN_INTERFACE 4861 4862 /*** IUnknown methods ***/ 4863 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4864 IFilterMapper3* This, 4865 REFIID riid, 4866 void **ppvObject); 4867 4868 ULONG (STDMETHODCALLTYPE *AddRef)( 4869 IFilterMapper3* This); 4870 4871 ULONG (STDMETHODCALLTYPE *Release)( 4872 IFilterMapper3* This); 4873 4874 /*** IFilterMapper2 methods ***/ 4875 HRESULT (STDMETHODCALLTYPE *CreateCategory)( 4876 IFilterMapper3* This, 4877 REFCLSID clsidCategory, 4878 DWORD dwCategoryMerit, 4879 LPCWSTR Description); 4880 4881 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( 4882 IFilterMapper3* This, 4883 const CLSID *pclsidCategory, 4884 LPCOLESTR szInstance, 4885 REFCLSID Filter); 4886 4887 HRESULT (STDMETHODCALLTYPE *RegisterFilter)( 4888 IFilterMapper3* This, 4889 REFCLSID clsidFilter, 4890 LPCWSTR Name, 4891 IMoniker **ppMoniker, 4892 const CLSID *pclsidCategory, 4893 LPCOLESTR szInstance, 4894 const REGFILTER2 *prf2); 4895 4896 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( 4897 IFilterMapper3* This, 4898 IEnumMoniker **ppEnum, 4899 DWORD dwFlags, 4900 WINBOOL bExactMatch, 4901 DWORD dwMerit, 4902 WINBOOL bInputNeeded, 4903 DWORD cInputTypes, 4904 const GUID *pInputTypes, 4905 const REGPINMEDIUM *pMedIn, 4906 const CLSID *pPinCategoryIn, 4907 WINBOOL bRender, 4908 WINBOOL bOutputNeeded, 4909 DWORD cOutputTypes, 4910 const GUID *pOutputTypes, 4911 const REGPINMEDIUM *pMedOut, 4912 const CLSID *pPinCategoryOut); 4913 4914 /*** IFilterMapper3 methods ***/ 4915 HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)( 4916 IFilterMapper3* This, 4917 ICreateDevEnum **ppEnum); 4918 4919 END_INTERFACE 4920 } IFilterMapper3Vtbl; 4921 interface IFilterMapper3 { 4922 CONST_VTBL IFilterMapper3Vtbl* lpVtbl; 4923 }; 4924 4925 #ifdef COBJMACROS 4926 #ifndef WIDL_C_INLINE_WRAPPERS 4927 /*** IUnknown methods ***/ 4928 #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4929 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This) 4930 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This) 4931 /*** IFilterMapper2 methods ***/ 4932 #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) 4933 #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) 4934 #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) 4935 #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) 4936 /*** IFilterMapper3 methods ***/ 4937 #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum) 4938 #else 4939 /*** IUnknown methods ***/ 4940 static FORCEINLINE HRESULT IFilterMapper3_QueryInterface(IFilterMapper3* This,REFIID riid,void **ppvObject) { 4941 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4942 } 4943 static FORCEINLINE ULONG IFilterMapper3_AddRef(IFilterMapper3* This) { 4944 return This->lpVtbl->AddRef(This); 4945 } 4946 static FORCEINLINE ULONG IFilterMapper3_Release(IFilterMapper3* This) { 4947 return This->lpVtbl->Release(This); 4948 } 4949 /*** IFilterMapper2 methods ***/ 4950 static FORCEINLINE HRESULT IFilterMapper3_CreateCategory(IFilterMapper3* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { 4951 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); 4952 } 4953 static FORCEINLINE HRESULT IFilterMapper3_UnregisterFilter(IFilterMapper3* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { 4954 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); 4955 } 4956 static FORCEINLINE HRESULT IFilterMapper3_RegisterFilter(IFilterMapper3* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { 4957 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); 4958 } 4959 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) { 4960 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); 4961 } 4962 /*** IFilterMapper3 methods ***/ 4963 static FORCEINLINE HRESULT IFilterMapper3_GetICreateDevEnum(IFilterMapper3* This,ICreateDevEnum **ppEnum) { 4964 return This->lpVtbl->GetICreateDevEnum(This,ppEnum); 4965 } 4966 #endif 4967 #endif 4968 4969 #endif 4970 4971 HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy( 4972 IFilterMapper3* This, 4973 ICreateDevEnum **ppEnum); 4974 void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub( 4975 IRpcStubBuffer* This, 4976 IRpcChannelBuffer* pRpcChannelBuffer, 4977 PRPC_MESSAGE pRpcMessage, 4978 DWORD* pdwStubPhase); 4979 4980 #endif /* __IFilterMapper3_INTERFACE_DEFINED__ */ 4981 4982 typedef enum tagQualityMessageType { 4983 Famine = 0, 4984 Flood = 1 4985 } QualityMessageType; 4986 typedef struct tagQuality { 4987 QualityMessageType Type; 4988 LONG Proportion; 4989 REFERENCE_TIME Late; 4990 REFERENCE_TIME TimeStamp; 4991 } Quality; 4992 typedef IQualityControl *PQUALITYCONTROL; 4993 /***************************************************************************** 4994 * IQualityControl interface 4995 */ 4996 #ifndef __IQualityControl_INTERFACE_DEFINED__ 4997 #define __IQualityControl_INTERFACE_DEFINED__ 4998 4999 DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5000 #if defined(__cplusplus) && !defined(CINTERFACE) 5001 MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770") 5002 IQualityControl : public IUnknown 5003 { 5004 virtual HRESULT STDMETHODCALLTYPE Notify( 5005 IBaseFilter *pSelf, 5006 Quality q) = 0; 5007 5008 virtual HRESULT STDMETHODCALLTYPE SetSink( 5009 IQualityControl *piqc) = 0; 5010 5011 }; 5012 #ifdef __CRT_UUID_DECL 5013 __CRT_UUID_DECL(IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5014 #endif 5015 #else 5016 typedef struct IQualityControlVtbl { 5017 BEGIN_INTERFACE 5018 5019 /*** IUnknown methods ***/ 5020 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5021 IQualityControl* This, 5022 REFIID riid, 5023 void **ppvObject); 5024 5025 ULONG (STDMETHODCALLTYPE *AddRef)( 5026 IQualityControl* This); 5027 5028 ULONG (STDMETHODCALLTYPE *Release)( 5029 IQualityControl* This); 5030 5031 /*** IQualityControl methods ***/ 5032 HRESULT (STDMETHODCALLTYPE *Notify)( 5033 IQualityControl* This, 5034 IBaseFilter *pSelf, 5035 Quality q); 5036 5037 HRESULT (STDMETHODCALLTYPE *SetSink)( 5038 IQualityControl* This, 5039 IQualityControl *piqc); 5040 5041 END_INTERFACE 5042 } IQualityControlVtbl; 5043 interface IQualityControl { 5044 CONST_VTBL IQualityControlVtbl* lpVtbl; 5045 }; 5046 5047 #ifdef COBJMACROS 5048 #ifndef WIDL_C_INLINE_WRAPPERS 5049 /*** IUnknown methods ***/ 5050 #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5051 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This) 5052 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This) 5053 /*** IQualityControl methods ***/ 5054 #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q) 5055 #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc) 5056 #else 5057 /*** IUnknown methods ***/ 5058 static FORCEINLINE HRESULT IQualityControl_QueryInterface(IQualityControl* This,REFIID riid,void **ppvObject) { 5059 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5060 } 5061 static FORCEINLINE ULONG IQualityControl_AddRef(IQualityControl* This) { 5062 return This->lpVtbl->AddRef(This); 5063 } 5064 static FORCEINLINE ULONG IQualityControl_Release(IQualityControl* This) { 5065 return This->lpVtbl->Release(This); 5066 } 5067 /*** IQualityControl methods ***/ 5068 static FORCEINLINE HRESULT IQualityControl_Notify(IQualityControl* This,IBaseFilter *pSelf,Quality q) { 5069 return This->lpVtbl->Notify(This,pSelf,q); 5070 } 5071 static FORCEINLINE HRESULT IQualityControl_SetSink(IQualityControl* This,IQualityControl *piqc) { 5072 return This->lpVtbl->SetSink(This,piqc); 5073 } 5074 #endif 5075 #endif 5076 5077 #endif 5078 5079 HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy( 5080 IQualityControl* This, 5081 IBaseFilter *pSelf, 5082 Quality q); 5083 void __RPC_STUB IQualityControl_Notify_Stub( 5084 IRpcStubBuffer* This, 5085 IRpcChannelBuffer* pRpcChannelBuffer, 5086 PRPC_MESSAGE pRpcMessage, 5087 DWORD* pdwStubPhase); 5088 HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy( 5089 IQualityControl* This, 5090 IQualityControl *piqc); 5091 void __RPC_STUB IQualityControl_SetSink_Stub( 5092 IRpcStubBuffer* This, 5093 IRpcChannelBuffer* pRpcChannelBuffer, 5094 PRPC_MESSAGE pRpcMessage, 5095 DWORD* pdwStubPhase); 5096 5097 #endif /* __IQualityControl_INTERFACE_DEFINED__ */ 5098 5099 enum { 5100 CK_NOCOLORKEY = 0x0, 5101 CK_INDEX = 0x1, 5102 CK_RGB = 0x2 5103 }; 5104 5105 typedef struct tagCOLORKEY { 5106 DWORD KeyType; 5107 DWORD PaletteIndex; 5108 COLORREF LowColorValue; 5109 COLORREF HighColorValue; 5110 } COLORKEY; 5111 enum { 5112 ADVISE_NONE = 0x0, 5113 ADVISE_CLIPPING = 0x1, 5114 ADVISE_PALETTE = 0x2, 5115 ADVISE_COLORKEY = 0x4, 5116 ADVISE_POSITION = 0x8, 5117 ADVISE_DISPLAY_CHANGE = 0x10 5118 }; 5119 5120 #define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION) 5121 5122 #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE) 5123 5124 #ifndef _WINGDI_ 5125 typedef struct _RGNDATAHEADER { 5126 DWORD dwSize; 5127 DWORD iType; 5128 DWORD nCount; 5129 DWORD nRgnSize; 5130 RECT rcBound; 5131 } RGNDATAHEADER; 5132 typedef struct _RGNDATA { 5133 RGNDATAHEADER rdh; 5134 char Buffer[1]; 5135 } RGNDATA; 5136 #endif /* _WINGDI_ */ 5137 /***************************************************************************** 5138 * IOverlayNotify interface 5139 */ 5140 #ifndef __IOverlayNotify_INTERFACE_DEFINED__ 5141 #define __IOverlayNotify_INTERFACE_DEFINED__ 5142 5143 DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5144 #if defined(__cplusplus) && !defined(CINTERFACE) 5145 MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770") 5146 IOverlayNotify : public IUnknown 5147 { 5148 virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 5149 DWORD dwColors, 5150 const PALETTEENTRY *pPalette) = 0; 5151 5152 virtual HRESULT STDMETHODCALLTYPE OnClipChange( 5153 const RECT *pSourceRect, 5154 const RECT *pDestinationRect, 5155 const RGNDATA *pRgnData) = 0; 5156 5157 virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 5158 const COLORKEY *pColorKey) = 0; 5159 5160 virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 5161 const RECT *pSourceRect, 5162 const RECT *pDestinationRect) = 0; 5163 5164 }; 5165 #ifdef __CRT_UUID_DECL 5166 __CRT_UUID_DECL(IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5167 #endif 5168 #else 5169 typedef struct IOverlayNotifyVtbl { 5170 BEGIN_INTERFACE 5171 5172 /*** IUnknown methods ***/ 5173 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5174 IOverlayNotify* This, 5175 REFIID riid, 5176 void **ppvObject); 5177 5178 ULONG (STDMETHODCALLTYPE *AddRef)( 5179 IOverlayNotify* This); 5180 5181 ULONG (STDMETHODCALLTYPE *Release)( 5182 IOverlayNotify* This); 5183 5184 /*** IOverlayNotify methods ***/ 5185 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( 5186 IOverlayNotify* This, 5187 DWORD dwColors, 5188 const PALETTEENTRY *pPalette); 5189 5190 HRESULT (STDMETHODCALLTYPE *OnClipChange)( 5191 IOverlayNotify* This, 5192 const RECT *pSourceRect, 5193 const RECT *pDestinationRect, 5194 const RGNDATA *pRgnData); 5195 5196 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( 5197 IOverlayNotify* This, 5198 const COLORKEY *pColorKey); 5199 5200 HRESULT (STDMETHODCALLTYPE *OnPositionChange)( 5201 IOverlayNotify* This, 5202 const RECT *pSourceRect, 5203 const RECT *pDestinationRect); 5204 5205 END_INTERFACE 5206 } IOverlayNotifyVtbl; 5207 interface IOverlayNotify { 5208 CONST_VTBL IOverlayNotifyVtbl* lpVtbl; 5209 }; 5210 5211 #ifdef COBJMACROS 5212 #ifndef WIDL_C_INLINE_WRAPPERS 5213 /*** IUnknown methods ***/ 5214 #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5215 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This) 5216 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This) 5217 /*** IOverlayNotify methods ***/ 5218 #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) 5219 #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) 5220 #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) 5221 #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) 5222 #else 5223 /*** IUnknown methods ***/ 5224 static FORCEINLINE HRESULT IOverlayNotify_QueryInterface(IOverlayNotify* This,REFIID riid,void **ppvObject) { 5225 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5226 } 5227 static FORCEINLINE ULONG IOverlayNotify_AddRef(IOverlayNotify* This) { 5228 return This->lpVtbl->AddRef(This); 5229 } 5230 static FORCEINLINE ULONG IOverlayNotify_Release(IOverlayNotify* This) { 5231 return This->lpVtbl->Release(This); 5232 } 5233 /*** IOverlayNotify methods ***/ 5234 static FORCEINLINE HRESULT IOverlayNotify_OnPaletteChange(IOverlayNotify* This,DWORD dwColors,const PALETTEENTRY *pPalette) { 5235 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); 5236 } 5237 static FORCEINLINE HRESULT IOverlayNotify_OnClipChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { 5238 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); 5239 } 5240 static FORCEINLINE HRESULT IOverlayNotify_OnColorKeyChange(IOverlayNotify* This,const COLORKEY *pColorKey) { 5241 return This->lpVtbl->OnColorKeyChange(This,pColorKey); 5242 } 5243 static FORCEINLINE HRESULT IOverlayNotify_OnPositionChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect) { 5244 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); 5245 } 5246 #endif 5247 #endif 5248 5249 #endif 5250 5251 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy( 5252 IOverlayNotify* This, 5253 DWORD dwColors, 5254 const PALETTEENTRY *pPalette); 5255 void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub( 5256 IRpcStubBuffer* This, 5257 IRpcChannelBuffer* pRpcChannelBuffer, 5258 PRPC_MESSAGE pRpcMessage, 5259 DWORD* pdwStubPhase); 5260 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy( 5261 IOverlayNotify* This, 5262 const RECT *pSourceRect, 5263 const RECT *pDestinationRect, 5264 const RGNDATA *pRgnData); 5265 void __RPC_STUB IOverlayNotify_OnClipChange_Stub( 5266 IRpcStubBuffer* This, 5267 IRpcChannelBuffer* pRpcChannelBuffer, 5268 PRPC_MESSAGE pRpcMessage, 5269 DWORD* pdwStubPhase); 5270 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy( 5271 IOverlayNotify* This, 5272 const COLORKEY *pColorKey); 5273 void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub( 5274 IRpcStubBuffer* This, 5275 IRpcChannelBuffer* pRpcChannelBuffer, 5276 PRPC_MESSAGE pRpcMessage, 5277 DWORD* pdwStubPhase); 5278 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy( 5279 IOverlayNotify* This, 5280 const RECT *pSourceRect, 5281 const RECT *pDestinationRect); 5282 void __RPC_STUB IOverlayNotify_OnPositionChange_Stub( 5283 IRpcStubBuffer* This, 5284 IRpcChannelBuffer* pRpcChannelBuffer, 5285 PRPC_MESSAGE pRpcMessage, 5286 DWORD* pdwStubPhase); 5287 5288 #endif /* __IOverlayNotify_INTERFACE_DEFINED__ */ 5289 5290 typedef IOverlayNotify *POVERLAYNOTIFY; 5291 #if 0 5292 typedef HANDLE HMONITOR; 5293 #endif /* 0 */ 5294 /***************************************************************************** 5295 * IOverlayNotify2 interface 5296 */ 5297 #ifndef __IOverlayNotify2_INTERFACE_DEFINED__ 5298 #define __IOverlayNotify2_INTERFACE_DEFINED__ 5299 5300 DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96); 5301 #if defined(__cplusplus) && !defined(CINTERFACE) 5302 MIDL_INTERFACE("680efa10-d535-11d1-87c8-00a0c9223196") 5303 IOverlayNotify2 : public IOverlayNotify 5304 { 5305 virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 5306 HMONITOR hMonitor) = 0; 5307 5308 }; 5309 #ifdef __CRT_UUID_DECL 5310 __CRT_UUID_DECL(IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96) 5311 #endif 5312 #else 5313 typedef struct IOverlayNotify2Vtbl { 5314 BEGIN_INTERFACE 5315 5316 /*** IUnknown methods ***/ 5317 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5318 IOverlayNotify2* This, 5319 REFIID riid, 5320 void **ppvObject); 5321 5322 ULONG (STDMETHODCALLTYPE *AddRef)( 5323 IOverlayNotify2* This); 5324 5325 ULONG (STDMETHODCALLTYPE *Release)( 5326 IOverlayNotify2* This); 5327 5328 /*** IOverlayNotify methods ***/ 5329 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( 5330 IOverlayNotify2* This, 5331 DWORD dwColors, 5332 const PALETTEENTRY *pPalette); 5333 5334 HRESULT (STDMETHODCALLTYPE *OnClipChange)( 5335 IOverlayNotify2* This, 5336 const RECT *pSourceRect, 5337 const RECT *pDestinationRect, 5338 const RGNDATA *pRgnData); 5339 5340 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( 5341 IOverlayNotify2* This, 5342 const COLORKEY *pColorKey); 5343 5344 HRESULT (STDMETHODCALLTYPE *OnPositionChange)( 5345 IOverlayNotify2* This, 5346 const RECT *pSourceRect, 5347 const RECT *pDestinationRect); 5348 5349 /*** IOverlayNotify2 methods ***/ 5350 HRESULT (STDMETHODCALLTYPE *OnDisplayChange)( 5351 IOverlayNotify2* This, 5352 HMONITOR hMonitor); 5353 5354 END_INTERFACE 5355 } IOverlayNotify2Vtbl; 5356 interface IOverlayNotify2 { 5357 CONST_VTBL IOverlayNotify2Vtbl* lpVtbl; 5358 }; 5359 5360 #ifdef COBJMACROS 5361 #ifndef WIDL_C_INLINE_WRAPPERS 5362 /*** IUnknown methods ***/ 5363 #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5364 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This) 5365 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This) 5366 /*** IOverlayNotify methods ***/ 5367 #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) 5368 #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) 5369 #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) 5370 #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) 5371 /*** IOverlayNotify2 methods ***/ 5372 #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor) 5373 #else 5374 /*** IUnknown methods ***/ 5375 static FORCEINLINE HRESULT IOverlayNotify2_QueryInterface(IOverlayNotify2* This,REFIID riid,void **ppvObject) { 5376 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5377 } 5378 static FORCEINLINE ULONG IOverlayNotify2_AddRef(IOverlayNotify2* This) { 5379 return This->lpVtbl->AddRef(This); 5380 } 5381 static FORCEINLINE ULONG IOverlayNotify2_Release(IOverlayNotify2* This) { 5382 return This->lpVtbl->Release(This); 5383 } 5384 /*** IOverlayNotify methods ***/ 5385 static FORCEINLINE HRESULT IOverlayNotify2_OnPaletteChange(IOverlayNotify2* This,DWORD dwColors,const PALETTEENTRY *pPalette) { 5386 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); 5387 } 5388 static FORCEINLINE HRESULT IOverlayNotify2_OnClipChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { 5389 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); 5390 } 5391 static FORCEINLINE HRESULT IOverlayNotify2_OnColorKeyChange(IOverlayNotify2* This,const COLORKEY *pColorKey) { 5392 return This->lpVtbl->OnColorKeyChange(This,pColorKey); 5393 } 5394 static FORCEINLINE HRESULT IOverlayNotify2_OnPositionChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect) { 5395 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); 5396 } 5397 /*** IOverlayNotify2 methods ***/ 5398 static FORCEINLINE HRESULT IOverlayNotify2_OnDisplayChange(IOverlayNotify2* This,HMONITOR hMonitor) { 5399 return This->lpVtbl->OnDisplayChange(This,hMonitor); 5400 } 5401 #endif 5402 #endif 5403 5404 #endif 5405 5406 HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy( 5407 IOverlayNotify2* This, 5408 HMONITOR hMonitor); 5409 void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub( 5410 IRpcStubBuffer* This, 5411 IRpcChannelBuffer* pRpcChannelBuffer, 5412 PRPC_MESSAGE pRpcMessage, 5413 DWORD* pdwStubPhase); 5414 5415 #endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */ 5416 5417 typedef IOverlayNotify2 *POVERLAYNOTIFY2; 5418 /***************************************************************************** 5419 * IOverlay interface 5420 */ 5421 #ifndef __IOverlay_INTERFACE_DEFINED__ 5422 #define __IOverlay_INTERFACE_DEFINED__ 5423 5424 DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5425 #if defined(__cplusplus) && !defined(CINTERFACE) 5426 MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770") 5427 IOverlay : public IUnknown 5428 { 5429 virtual HRESULT STDMETHODCALLTYPE GetPalette( 5430 DWORD *pdwColors, 5431 PALETTEENTRY **ppPalette) = 0; 5432 5433 virtual HRESULT STDMETHODCALLTYPE SetPalette( 5434 DWORD dwColors, 5435 PALETTEENTRY *pPalette) = 0; 5436 5437 virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 5438 COLORKEY *pColorKey) = 0; 5439 5440 virtual HRESULT STDMETHODCALLTYPE GetColorKey( 5441 COLORKEY *pColorKey) = 0; 5442 5443 virtual HRESULT STDMETHODCALLTYPE SetColorKey( 5444 COLORKEY *pColorKey) = 0; 5445 5446 virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 5447 HWND *pHwnd) = 0; 5448 5449 virtual HRESULT STDMETHODCALLTYPE GetClipList( 5450 RECT *pSourceRect, 5451 RECT *pDestinationRect, 5452 RGNDATA **ppRgnData) = 0; 5453 5454 virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 5455 RECT *pSourceRect, 5456 RECT *pDestinationRect) = 0; 5457 5458 virtual HRESULT STDMETHODCALLTYPE Advise( 5459 IOverlayNotify *pOverlayNotify, 5460 DWORD dwInterests) = 0; 5461 5462 virtual HRESULT STDMETHODCALLTYPE Unadvise( 5463 ) = 0; 5464 5465 }; 5466 #ifdef __CRT_UUID_DECL 5467 __CRT_UUID_DECL(IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5468 #endif 5469 #else 5470 typedef struct IOverlayVtbl { 5471 BEGIN_INTERFACE 5472 5473 /*** IUnknown methods ***/ 5474 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5475 IOverlay* This, 5476 REFIID riid, 5477 void **ppvObject); 5478 5479 ULONG (STDMETHODCALLTYPE *AddRef)( 5480 IOverlay* This); 5481 5482 ULONG (STDMETHODCALLTYPE *Release)( 5483 IOverlay* This); 5484 5485 /*** IOverlay methods ***/ 5486 HRESULT (STDMETHODCALLTYPE *GetPalette)( 5487 IOverlay* This, 5488 DWORD *pdwColors, 5489 PALETTEENTRY **ppPalette); 5490 5491 HRESULT (STDMETHODCALLTYPE *SetPalette)( 5492 IOverlay* This, 5493 DWORD dwColors, 5494 PALETTEENTRY *pPalette); 5495 5496 HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)( 5497 IOverlay* This, 5498 COLORKEY *pColorKey); 5499 5500 HRESULT (STDMETHODCALLTYPE *GetColorKey)( 5501 IOverlay* This, 5502 COLORKEY *pColorKey); 5503 5504 HRESULT (STDMETHODCALLTYPE *SetColorKey)( 5505 IOverlay* This, 5506 COLORKEY *pColorKey); 5507 5508 HRESULT (STDMETHODCALLTYPE *GetWindowHandle)( 5509 IOverlay* This, 5510 HWND *pHwnd); 5511 5512 HRESULT (STDMETHODCALLTYPE *GetClipList)( 5513 IOverlay* This, 5514 RECT *pSourceRect, 5515 RECT *pDestinationRect, 5516 RGNDATA **ppRgnData); 5517 5518 HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( 5519 IOverlay* This, 5520 RECT *pSourceRect, 5521 RECT *pDestinationRect); 5522 5523 HRESULT (STDMETHODCALLTYPE *Advise)( 5524 IOverlay* This, 5525 IOverlayNotify *pOverlayNotify, 5526 DWORD dwInterests); 5527 5528 HRESULT (STDMETHODCALLTYPE *Unadvise)( 5529 IOverlay* This); 5530 5531 END_INTERFACE 5532 } IOverlayVtbl; 5533 interface IOverlay { 5534 CONST_VTBL IOverlayVtbl* lpVtbl; 5535 }; 5536 5537 #ifdef COBJMACROS 5538 #ifndef WIDL_C_INLINE_WRAPPERS 5539 /*** IUnknown methods ***/ 5540 #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5541 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This) 5542 #define IOverlay_Release(This) (This)->lpVtbl->Release(This) 5543 /*** IOverlay methods ***/ 5544 #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette) 5545 #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette) 5546 #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey) 5547 #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey) 5548 #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey) 5549 #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd) 5550 #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) 5551 #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect) 5552 #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests) 5553 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This) 5554 #else 5555 /*** IUnknown methods ***/ 5556 static FORCEINLINE HRESULT IOverlay_QueryInterface(IOverlay* This,REFIID riid,void **ppvObject) { 5557 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5558 } 5559 static FORCEINLINE ULONG IOverlay_AddRef(IOverlay* This) { 5560 return This->lpVtbl->AddRef(This); 5561 } 5562 static FORCEINLINE ULONG IOverlay_Release(IOverlay* This) { 5563 return This->lpVtbl->Release(This); 5564 } 5565 /*** IOverlay methods ***/ 5566 static FORCEINLINE HRESULT IOverlay_GetPalette(IOverlay* This,DWORD *pdwColors,PALETTEENTRY **ppPalette) { 5567 return This->lpVtbl->GetPalette(This,pdwColors,ppPalette); 5568 } 5569 static FORCEINLINE HRESULT IOverlay_SetPalette(IOverlay* This,DWORD dwColors,PALETTEENTRY *pPalette) { 5570 return This->lpVtbl->SetPalette(This,dwColors,pPalette); 5571 } 5572 static FORCEINLINE HRESULT IOverlay_GetDefaultColorKey(IOverlay* This,COLORKEY *pColorKey) { 5573 return This->lpVtbl->GetDefaultColorKey(This,pColorKey); 5574 } 5575 static FORCEINLINE HRESULT IOverlay_GetColorKey(IOverlay* This,COLORKEY *pColorKey) { 5576 return This->lpVtbl->GetColorKey(This,pColorKey); 5577 } 5578 static FORCEINLINE HRESULT IOverlay_SetColorKey(IOverlay* This,COLORKEY *pColorKey) { 5579 return This->lpVtbl->SetColorKey(This,pColorKey); 5580 } 5581 static FORCEINLINE HRESULT IOverlay_GetWindowHandle(IOverlay* This,HWND *pHwnd) { 5582 return This->lpVtbl->GetWindowHandle(This,pHwnd); 5583 } 5584 static FORCEINLINE HRESULT IOverlay_GetClipList(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) { 5585 return This->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData); 5586 } 5587 static FORCEINLINE HRESULT IOverlay_GetVideoPosition(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect) { 5588 return This->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect); 5589 } 5590 static FORCEINLINE HRESULT IOverlay_Advise(IOverlay* This,IOverlayNotify *pOverlayNotify,DWORD dwInterests) { 5591 return This->lpVtbl->Advise(This,pOverlayNotify,dwInterests); 5592 } 5593 static FORCEINLINE HRESULT IOverlay_Unadvise(IOverlay* This) { 5594 return This->lpVtbl->Unadvise(This); 5595 } 5596 #endif 5597 #endif 5598 5599 #endif 5600 5601 HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy( 5602 IOverlay* This, 5603 DWORD *pdwColors, 5604 PALETTEENTRY **ppPalette); 5605 void __RPC_STUB IOverlay_GetPalette_Stub( 5606 IRpcStubBuffer* This, 5607 IRpcChannelBuffer* pRpcChannelBuffer, 5608 PRPC_MESSAGE pRpcMessage, 5609 DWORD* pdwStubPhase); 5610 HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy( 5611 IOverlay* This, 5612 DWORD dwColors, 5613 PALETTEENTRY *pPalette); 5614 void __RPC_STUB IOverlay_SetPalette_Stub( 5615 IRpcStubBuffer* This, 5616 IRpcChannelBuffer* pRpcChannelBuffer, 5617 PRPC_MESSAGE pRpcMessage, 5618 DWORD* pdwStubPhase); 5619 HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy( 5620 IOverlay* This, 5621 COLORKEY *pColorKey); 5622 void __RPC_STUB IOverlay_GetDefaultColorKey_Stub( 5623 IRpcStubBuffer* This, 5624 IRpcChannelBuffer* pRpcChannelBuffer, 5625 PRPC_MESSAGE pRpcMessage, 5626 DWORD* pdwStubPhase); 5627 HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy( 5628 IOverlay* This, 5629 COLORKEY *pColorKey); 5630 void __RPC_STUB IOverlay_GetColorKey_Stub( 5631 IRpcStubBuffer* This, 5632 IRpcChannelBuffer* pRpcChannelBuffer, 5633 PRPC_MESSAGE pRpcMessage, 5634 DWORD* pdwStubPhase); 5635 HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy( 5636 IOverlay* This, 5637 COLORKEY *pColorKey); 5638 void __RPC_STUB IOverlay_SetColorKey_Stub( 5639 IRpcStubBuffer* This, 5640 IRpcChannelBuffer* pRpcChannelBuffer, 5641 PRPC_MESSAGE pRpcMessage, 5642 DWORD* pdwStubPhase); 5643 HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy( 5644 IOverlay* This, 5645 HWND *pHwnd); 5646 void __RPC_STUB IOverlay_GetWindowHandle_Stub( 5647 IRpcStubBuffer* This, 5648 IRpcChannelBuffer* pRpcChannelBuffer, 5649 PRPC_MESSAGE pRpcMessage, 5650 DWORD* pdwStubPhase); 5651 HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy( 5652 IOverlay* This, 5653 RECT *pSourceRect, 5654 RECT *pDestinationRect, 5655 RGNDATA **ppRgnData); 5656 void __RPC_STUB IOverlay_GetClipList_Stub( 5657 IRpcStubBuffer* This, 5658 IRpcChannelBuffer* pRpcChannelBuffer, 5659 PRPC_MESSAGE pRpcMessage, 5660 DWORD* pdwStubPhase); 5661 HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy( 5662 IOverlay* This, 5663 RECT *pSourceRect, 5664 RECT *pDestinationRect); 5665 void __RPC_STUB IOverlay_GetVideoPosition_Stub( 5666 IRpcStubBuffer* This, 5667 IRpcChannelBuffer* pRpcChannelBuffer, 5668 PRPC_MESSAGE pRpcMessage, 5669 DWORD* pdwStubPhase); 5670 HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy( 5671 IOverlay* This, 5672 IOverlayNotify *pOverlayNotify, 5673 DWORD dwInterests); 5674 void __RPC_STUB IOverlay_Advise_Stub( 5675 IRpcStubBuffer* This, 5676 IRpcChannelBuffer* pRpcChannelBuffer, 5677 PRPC_MESSAGE pRpcMessage, 5678 DWORD* pdwStubPhase); 5679 HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy( 5680 IOverlay* This); 5681 void __RPC_STUB IOverlay_Unadvise_Stub( 5682 IRpcStubBuffer* This, 5683 IRpcChannelBuffer* pRpcChannelBuffer, 5684 PRPC_MESSAGE pRpcMessage, 5685 DWORD* pdwStubPhase); 5686 5687 #endif /* __IOverlay_INTERFACE_DEFINED__ */ 5688 5689 typedef IOverlay *POVERLAY; 5690 /***************************************************************************** 5691 * IMediaEventSink interface 5692 */ 5693 #ifndef __IMediaEventSink_INTERFACE_DEFINED__ 5694 #define __IMediaEventSink_INTERFACE_DEFINED__ 5695 5696 DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5697 #if defined(__cplusplus) && !defined(CINTERFACE) 5698 MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770") 5699 IMediaEventSink : public IUnknown 5700 { 5701 virtual HRESULT STDMETHODCALLTYPE Notify( 5702 LONG EventCode, 5703 LONG_PTR EventParam1, 5704 LONG_PTR EventParam2) = 0; 5705 5706 }; 5707 #ifdef __CRT_UUID_DECL 5708 __CRT_UUID_DECL(IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5709 #endif 5710 #else 5711 typedef struct IMediaEventSinkVtbl { 5712 BEGIN_INTERFACE 5713 5714 /*** IUnknown methods ***/ 5715 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5716 IMediaEventSink* This, 5717 REFIID riid, 5718 void **ppvObject); 5719 5720 ULONG (STDMETHODCALLTYPE *AddRef)( 5721 IMediaEventSink* This); 5722 5723 ULONG (STDMETHODCALLTYPE *Release)( 5724 IMediaEventSink* This); 5725 5726 /*** IMediaEventSink methods ***/ 5727 HRESULT (STDMETHODCALLTYPE *Notify)( 5728 IMediaEventSink* This, 5729 LONG EventCode, 5730 LONG_PTR EventParam1, 5731 LONG_PTR EventParam2); 5732 5733 END_INTERFACE 5734 } IMediaEventSinkVtbl; 5735 interface IMediaEventSink { 5736 CONST_VTBL IMediaEventSinkVtbl* lpVtbl; 5737 }; 5738 5739 #ifdef COBJMACROS 5740 #ifndef WIDL_C_INLINE_WRAPPERS 5741 /*** IUnknown methods ***/ 5742 #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5743 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) 5744 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This) 5745 /*** IMediaEventSink methods ***/ 5746 #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2) 5747 #else 5748 /*** IUnknown methods ***/ 5749 static FORCEINLINE HRESULT IMediaEventSink_QueryInterface(IMediaEventSink* This,REFIID riid,void **ppvObject) { 5750 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5751 } 5752 static FORCEINLINE ULONG IMediaEventSink_AddRef(IMediaEventSink* This) { 5753 return This->lpVtbl->AddRef(This); 5754 } 5755 static FORCEINLINE ULONG IMediaEventSink_Release(IMediaEventSink* This) { 5756 return This->lpVtbl->Release(This); 5757 } 5758 /*** IMediaEventSink methods ***/ 5759 static FORCEINLINE HRESULT IMediaEventSink_Notify(IMediaEventSink* This,LONG EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) { 5760 return This->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2); 5761 } 5762 #endif 5763 #endif 5764 5765 #endif 5766 5767 HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy( 5768 IMediaEventSink* This, 5769 LONG EventCode, 5770 LONG_PTR EventParam1, 5771 LONG_PTR EventParam2); 5772 void __RPC_STUB IMediaEventSink_Notify_Stub( 5773 IRpcStubBuffer* This, 5774 IRpcChannelBuffer* pRpcChannelBuffer, 5775 PRPC_MESSAGE pRpcMessage, 5776 DWORD* pdwStubPhase); 5777 5778 #endif /* __IMediaEventSink_INTERFACE_DEFINED__ */ 5779 5780 typedef IMediaEventSink *PMEDIAEVENTSINK; 5781 /***************************************************************************** 5782 * IFileSourceFilter interface 5783 */ 5784 #ifndef __IFileSourceFilter_INTERFACE_DEFINED__ 5785 #define __IFileSourceFilter_INTERFACE_DEFINED__ 5786 5787 DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 5788 #if defined(__cplusplus) && !defined(CINTERFACE) 5789 MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770") 5790 IFileSourceFilter : public IUnknown 5791 { 5792 virtual HRESULT STDMETHODCALLTYPE Load( 5793 LPCOLESTR pszFileName, 5794 const AM_MEDIA_TYPE *pmt) = 0; 5795 5796 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 5797 LPOLESTR *ppszFileName, 5798 AM_MEDIA_TYPE *pmt) = 0; 5799 5800 }; 5801 #ifdef __CRT_UUID_DECL 5802 __CRT_UUID_DECL(IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 5803 #endif 5804 #else 5805 typedef struct IFileSourceFilterVtbl { 5806 BEGIN_INTERFACE 5807 5808 /*** IUnknown methods ***/ 5809 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5810 IFileSourceFilter* This, 5811 REFIID riid, 5812 void **ppvObject); 5813 5814 ULONG (STDMETHODCALLTYPE *AddRef)( 5815 IFileSourceFilter* This); 5816 5817 ULONG (STDMETHODCALLTYPE *Release)( 5818 IFileSourceFilter* This); 5819 5820 /*** IFileSourceFilter methods ***/ 5821 HRESULT (STDMETHODCALLTYPE *Load)( 5822 IFileSourceFilter* This, 5823 LPCOLESTR pszFileName, 5824 const AM_MEDIA_TYPE *pmt); 5825 5826 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 5827 IFileSourceFilter* This, 5828 LPOLESTR *ppszFileName, 5829 AM_MEDIA_TYPE *pmt); 5830 5831 END_INTERFACE 5832 } IFileSourceFilterVtbl; 5833 interface IFileSourceFilter { 5834 CONST_VTBL IFileSourceFilterVtbl* lpVtbl; 5835 }; 5836 5837 #ifdef COBJMACROS 5838 #ifndef WIDL_C_INLINE_WRAPPERS 5839 /*** IUnknown methods ***/ 5840 #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5841 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 5842 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This) 5843 /*** IFileSourceFilter methods ***/ 5844 #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt) 5845 #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 5846 #else 5847 /*** IUnknown methods ***/ 5848 static FORCEINLINE HRESULT IFileSourceFilter_QueryInterface(IFileSourceFilter* This,REFIID riid,void **ppvObject) { 5849 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5850 } 5851 static FORCEINLINE ULONG IFileSourceFilter_AddRef(IFileSourceFilter* This) { 5852 return This->lpVtbl->AddRef(This); 5853 } 5854 static FORCEINLINE ULONG IFileSourceFilter_Release(IFileSourceFilter* This) { 5855 return This->lpVtbl->Release(This); 5856 } 5857 /*** IFileSourceFilter methods ***/ 5858 static FORCEINLINE HRESULT IFileSourceFilter_Load(IFileSourceFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 5859 return This->lpVtbl->Load(This,pszFileName,pmt); 5860 } 5861 static FORCEINLINE HRESULT IFileSourceFilter_GetCurFile(IFileSourceFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 5862 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 5863 } 5864 #endif 5865 #endif 5866 5867 #endif 5868 5869 HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy( 5870 IFileSourceFilter* This, 5871 LPCOLESTR pszFileName, 5872 const AM_MEDIA_TYPE *pmt); 5873 void __RPC_STUB IFileSourceFilter_Load_Stub( 5874 IRpcStubBuffer* This, 5875 IRpcChannelBuffer* pRpcChannelBuffer, 5876 PRPC_MESSAGE pRpcMessage, 5877 DWORD* pdwStubPhase); 5878 HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy( 5879 IFileSourceFilter* This, 5880 LPOLESTR *ppszFileName, 5881 AM_MEDIA_TYPE *pmt); 5882 void __RPC_STUB IFileSourceFilter_GetCurFile_Stub( 5883 IRpcStubBuffer* This, 5884 IRpcChannelBuffer* pRpcChannelBuffer, 5885 PRPC_MESSAGE pRpcMessage, 5886 DWORD* pdwStubPhase); 5887 5888 #endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */ 5889 5890 typedef IFileSourceFilter *PFILTERFILESOURCE; 5891 /***************************************************************************** 5892 * IFileSinkFilter interface 5893 */ 5894 #ifndef __IFileSinkFilter_INTERFACE_DEFINED__ 5895 #define __IFileSinkFilter_INTERFACE_DEFINED__ 5896 5897 DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); 5898 #if defined(__cplusplus) && !defined(CINTERFACE) 5899 MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6") 5900 IFileSinkFilter : public IUnknown 5901 { 5902 virtual HRESULT STDMETHODCALLTYPE SetFileName( 5903 LPCOLESTR pszFileName, 5904 const AM_MEDIA_TYPE *pmt) = 0; 5905 5906 virtual HRESULT STDMETHODCALLTYPE GetCurFile( 5907 LPOLESTR *ppszFileName, 5908 AM_MEDIA_TYPE *pmt) = 0; 5909 5910 }; 5911 #ifdef __CRT_UUID_DECL 5912 __CRT_UUID_DECL(IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) 5913 #endif 5914 #else 5915 typedef struct IFileSinkFilterVtbl { 5916 BEGIN_INTERFACE 5917 5918 /*** IUnknown methods ***/ 5919 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5920 IFileSinkFilter* This, 5921 REFIID riid, 5922 void **ppvObject); 5923 5924 ULONG (STDMETHODCALLTYPE *AddRef)( 5925 IFileSinkFilter* This); 5926 5927 ULONG (STDMETHODCALLTYPE *Release)( 5928 IFileSinkFilter* This); 5929 5930 /*** IFileSinkFilter methods ***/ 5931 HRESULT (STDMETHODCALLTYPE *SetFileName)( 5932 IFileSinkFilter* This, 5933 LPCOLESTR pszFileName, 5934 const AM_MEDIA_TYPE *pmt); 5935 5936 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 5937 IFileSinkFilter* This, 5938 LPOLESTR *ppszFileName, 5939 AM_MEDIA_TYPE *pmt); 5940 5941 END_INTERFACE 5942 } IFileSinkFilterVtbl; 5943 interface IFileSinkFilter { 5944 CONST_VTBL IFileSinkFilterVtbl* lpVtbl; 5945 }; 5946 5947 #ifdef COBJMACROS 5948 #ifndef WIDL_C_INLINE_WRAPPERS 5949 /*** IUnknown methods ***/ 5950 #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5951 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 5952 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This) 5953 /*** IFileSinkFilter methods ***/ 5954 #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) 5955 #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 5956 #else 5957 /*** IUnknown methods ***/ 5958 static FORCEINLINE HRESULT IFileSinkFilter_QueryInterface(IFileSinkFilter* This,REFIID riid,void **ppvObject) { 5959 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5960 } 5961 static FORCEINLINE ULONG IFileSinkFilter_AddRef(IFileSinkFilter* This) { 5962 return This->lpVtbl->AddRef(This); 5963 } 5964 static FORCEINLINE ULONG IFileSinkFilter_Release(IFileSinkFilter* This) { 5965 return This->lpVtbl->Release(This); 5966 } 5967 /*** IFileSinkFilter methods ***/ 5968 static FORCEINLINE HRESULT IFileSinkFilter_SetFileName(IFileSinkFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 5969 return This->lpVtbl->SetFileName(This,pszFileName,pmt); 5970 } 5971 static FORCEINLINE HRESULT IFileSinkFilter_GetCurFile(IFileSinkFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 5972 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 5973 } 5974 #endif 5975 #endif 5976 5977 #endif 5978 5979 HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy( 5980 IFileSinkFilter* This, 5981 LPCOLESTR pszFileName, 5982 const AM_MEDIA_TYPE *pmt); 5983 void __RPC_STUB IFileSinkFilter_SetFileName_Stub( 5984 IRpcStubBuffer* This, 5985 IRpcChannelBuffer* pRpcChannelBuffer, 5986 PRPC_MESSAGE pRpcMessage, 5987 DWORD* pdwStubPhase); 5988 HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy( 5989 IFileSinkFilter* This, 5990 LPOLESTR *ppszFileName, 5991 AM_MEDIA_TYPE *pmt); 5992 void __RPC_STUB IFileSinkFilter_GetCurFile_Stub( 5993 IRpcStubBuffer* This, 5994 IRpcChannelBuffer* pRpcChannelBuffer, 5995 PRPC_MESSAGE pRpcMessage, 5996 DWORD* pdwStubPhase); 5997 5998 #endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */ 5999 6000 typedef IFileSinkFilter *PFILTERFILESINK; 6001 /***************************************************************************** 6002 * IFileSinkFilter2 interface 6003 */ 6004 #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__ 6005 #define __IFileSinkFilter2_INTERFACE_DEFINED__ 6006 6007 DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86); 6008 #if defined(__cplusplus) && !defined(CINTERFACE) 6009 MIDL_INTERFACE("00855b90-ce1b-11d0-bd4f-00a0c911ce86") 6010 IFileSinkFilter2 : public IFileSinkFilter 6011 { 6012 virtual HRESULT STDMETHODCALLTYPE SetMode( 6013 DWORD dwFlags) = 0; 6014 6015 virtual HRESULT STDMETHODCALLTYPE GetMode( 6016 DWORD *pdwFlags) = 0; 6017 6018 }; 6019 #ifdef __CRT_UUID_DECL 6020 __CRT_UUID_DECL(IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86) 6021 #endif 6022 #else 6023 typedef struct IFileSinkFilter2Vtbl { 6024 BEGIN_INTERFACE 6025 6026 /*** IUnknown methods ***/ 6027 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6028 IFileSinkFilter2* This, 6029 REFIID riid, 6030 void **ppvObject); 6031 6032 ULONG (STDMETHODCALLTYPE *AddRef)( 6033 IFileSinkFilter2* This); 6034 6035 ULONG (STDMETHODCALLTYPE *Release)( 6036 IFileSinkFilter2* This); 6037 6038 /*** IFileSinkFilter methods ***/ 6039 HRESULT (STDMETHODCALLTYPE *SetFileName)( 6040 IFileSinkFilter2* This, 6041 LPCOLESTR pszFileName, 6042 const AM_MEDIA_TYPE *pmt); 6043 6044 HRESULT (STDMETHODCALLTYPE *GetCurFile)( 6045 IFileSinkFilter2* This, 6046 LPOLESTR *ppszFileName, 6047 AM_MEDIA_TYPE *pmt); 6048 6049 /*** IFileSinkFilter2 methods ***/ 6050 HRESULT (STDMETHODCALLTYPE *SetMode)( 6051 IFileSinkFilter2* This, 6052 DWORD dwFlags); 6053 6054 HRESULT (STDMETHODCALLTYPE *GetMode)( 6055 IFileSinkFilter2* This, 6056 DWORD *pdwFlags); 6057 6058 END_INTERFACE 6059 } IFileSinkFilter2Vtbl; 6060 interface IFileSinkFilter2 { 6061 CONST_VTBL IFileSinkFilter2Vtbl* lpVtbl; 6062 }; 6063 6064 #ifdef COBJMACROS 6065 #ifndef WIDL_C_INLINE_WRAPPERS 6066 /*** IUnknown methods ***/ 6067 #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6068 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This) 6069 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This) 6070 /*** IFileSinkFilter methods ***/ 6071 #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) 6072 #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) 6073 /*** IFileSinkFilter2 methods ***/ 6074 #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags) 6075 #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags) 6076 #else 6077 /*** IUnknown methods ***/ 6078 static FORCEINLINE HRESULT IFileSinkFilter2_QueryInterface(IFileSinkFilter2* This,REFIID riid,void **ppvObject) { 6079 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6080 } 6081 static FORCEINLINE ULONG IFileSinkFilter2_AddRef(IFileSinkFilter2* This) { 6082 return This->lpVtbl->AddRef(This); 6083 } 6084 static FORCEINLINE ULONG IFileSinkFilter2_Release(IFileSinkFilter2* This) { 6085 return This->lpVtbl->Release(This); 6086 } 6087 /*** IFileSinkFilter methods ***/ 6088 static FORCEINLINE HRESULT IFileSinkFilter2_SetFileName(IFileSinkFilter2* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { 6089 return This->lpVtbl->SetFileName(This,pszFileName,pmt); 6090 } 6091 static FORCEINLINE HRESULT IFileSinkFilter2_GetCurFile(IFileSinkFilter2* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { 6092 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); 6093 } 6094 /*** IFileSinkFilter2 methods ***/ 6095 static FORCEINLINE HRESULT IFileSinkFilter2_SetMode(IFileSinkFilter2* This,DWORD dwFlags) { 6096 return This->lpVtbl->SetMode(This,dwFlags); 6097 } 6098 static FORCEINLINE HRESULT IFileSinkFilter2_GetMode(IFileSinkFilter2* This,DWORD *pdwFlags) { 6099 return This->lpVtbl->GetMode(This,pdwFlags); 6100 } 6101 #endif 6102 #endif 6103 6104 #endif 6105 6106 HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy( 6107 IFileSinkFilter2* This, 6108 DWORD dwFlags); 6109 void __RPC_STUB IFileSinkFilter2_SetMode_Stub( 6110 IRpcStubBuffer* This, 6111 IRpcChannelBuffer* pRpcChannelBuffer, 6112 PRPC_MESSAGE pRpcMessage, 6113 DWORD* pdwStubPhase); 6114 HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy( 6115 IFileSinkFilter2* This, 6116 DWORD *pdwFlags); 6117 void __RPC_STUB IFileSinkFilter2_GetMode_Stub( 6118 IRpcStubBuffer* This, 6119 IRpcChannelBuffer* pRpcChannelBuffer, 6120 PRPC_MESSAGE pRpcMessage, 6121 DWORD* pdwStubPhase); 6122 6123 #endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */ 6124 6125 typedef IFileSinkFilter2 *PFILESINKFILTER2; 6126 typedef enum __WIDL_axextend_generated_name_00000006 { 6127 AM_FILE_OVERWRITE = 0x1 6128 } AM_FILESINK_FLAGS; 6129 /***************************************************************************** 6130 * IGraphBuilder interface 6131 */ 6132 #ifndef __IGraphBuilder_INTERFACE_DEFINED__ 6133 #define __IGraphBuilder_INTERFACE_DEFINED__ 6134 6135 DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); 6136 #if defined(__cplusplus) && !defined(CINTERFACE) 6137 MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770") 6138 IGraphBuilder : public IFilterGraph 6139 { 6140 virtual HRESULT STDMETHODCALLTYPE Connect( 6141 IPin *ppinOut, 6142 IPin *ppinIn) = 0; 6143 6144 virtual HRESULT STDMETHODCALLTYPE Render( 6145 IPin *ppinOut) = 0; 6146 6147 virtual HRESULT STDMETHODCALLTYPE RenderFile( 6148 LPCWSTR lpcwstrFile, 6149 LPCWSTR lpcwstrPlayList) = 0; 6150 6151 virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 6152 LPCWSTR lpcwstrFileName, 6153 LPCWSTR lpcwstrFilterName, 6154 IBaseFilter **ppFilter) = 0; 6155 6156 virtual HRESULT STDMETHODCALLTYPE SetLogFile( 6157 DWORD_PTR hFile) = 0; 6158 6159 virtual HRESULT STDMETHODCALLTYPE Abort( 6160 ) = 0; 6161 6162 virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( 6163 ) = 0; 6164 6165 }; 6166 #ifdef __CRT_UUID_DECL 6167 __CRT_UUID_DECL(IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) 6168 #endif 6169 #else 6170 typedef struct IGraphBuilderVtbl { 6171 BEGIN_INTERFACE 6172 6173 /*** IUnknown methods ***/ 6174 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6175 IGraphBuilder* This, 6176 REFIID riid, 6177 void **ppvObject); 6178 6179 ULONG (STDMETHODCALLTYPE *AddRef)( 6180 IGraphBuilder* This); 6181 6182 ULONG (STDMETHODCALLTYPE *Release)( 6183 IGraphBuilder* This); 6184 6185 /*** IFilterGraph methods ***/ 6186 HRESULT (STDMETHODCALLTYPE *AddFilter)( 6187 IGraphBuilder* This, 6188 IBaseFilter *pFilter, 6189 LPCWSTR pName); 6190 6191 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 6192 IGraphBuilder* This, 6193 IBaseFilter *pFilter); 6194 6195 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 6196 IGraphBuilder* This, 6197 IEnumFilters **ppEnum); 6198 6199 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 6200 IGraphBuilder* This, 6201 LPCWSTR pName, 6202 IBaseFilter **ppFilter); 6203 6204 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 6205 IGraphBuilder* This, 6206 IPin *ppinOut, 6207 IPin *ppinIn, 6208 const AM_MEDIA_TYPE *pmt); 6209 6210 HRESULT (STDMETHODCALLTYPE *Reconnect)( 6211 IGraphBuilder* This, 6212 IPin *ppin); 6213 6214 HRESULT (STDMETHODCALLTYPE *Disconnect)( 6215 IGraphBuilder* This, 6216 IPin *ppin); 6217 6218 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 6219 IGraphBuilder* This); 6220 6221 /*** IGraphBuilder methods ***/ 6222 HRESULT (STDMETHODCALLTYPE *Connect)( 6223 IGraphBuilder* This, 6224 IPin *ppinOut, 6225 IPin *ppinIn); 6226 6227 HRESULT (STDMETHODCALLTYPE *Render)( 6228 IGraphBuilder* This, 6229 IPin *ppinOut); 6230 6231 HRESULT (STDMETHODCALLTYPE *RenderFile)( 6232 IGraphBuilder* This, 6233 LPCWSTR lpcwstrFile, 6234 LPCWSTR lpcwstrPlayList); 6235 6236 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( 6237 IGraphBuilder* This, 6238 LPCWSTR lpcwstrFileName, 6239 LPCWSTR lpcwstrFilterName, 6240 IBaseFilter **ppFilter); 6241 6242 HRESULT (STDMETHODCALLTYPE *SetLogFile)( 6243 IGraphBuilder* This, 6244 DWORD_PTR hFile); 6245 6246 HRESULT (STDMETHODCALLTYPE *Abort)( 6247 IGraphBuilder* This); 6248 6249 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( 6250 IGraphBuilder* This); 6251 6252 END_INTERFACE 6253 } IGraphBuilderVtbl; 6254 interface IGraphBuilder { 6255 CONST_VTBL IGraphBuilderVtbl* lpVtbl; 6256 }; 6257 6258 #ifdef COBJMACROS 6259 #ifndef WIDL_C_INLINE_WRAPPERS 6260 /*** IUnknown methods ***/ 6261 #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6262 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 6263 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 6264 /*** IFilterGraph methods ***/ 6265 #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 6266 #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 6267 #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 6268 #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 6269 #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 6270 #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 6271 #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 6272 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 6273 /*** IGraphBuilder methods ***/ 6274 #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) 6275 #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) 6276 #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) 6277 #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) 6278 #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) 6279 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This) 6280 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) 6281 #else 6282 /*** IUnknown methods ***/ 6283 static FORCEINLINE HRESULT IGraphBuilder_QueryInterface(IGraphBuilder* This,REFIID riid,void **ppvObject) { 6284 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6285 } 6286 static FORCEINLINE ULONG IGraphBuilder_AddRef(IGraphBuilder* This) { 6287 return This->lpVtbl->AddRef(This); 6288 } 6289 static FORCEINLINE ULONG IGraphBuilder_Release(IGraphBuilder* This) { 6290 return This->lpVtbl->Release(This); 6291 } 6292 /*** IFilterGraph methods ***/ 6293 static FORCEINLINE HRESULT IGraphBuilder_AddFilter(IGraphBuilder* This,IBaseFilter *pFilter,LPCWSTR pName) { 6294 return This->lpVtbl->AddFilter(This,pFilter,pName); 6295 } 6296 static FORCEINLINE HRESULT IGraphBuilder_RemoveFilter(IGraphBuilder* This,IBaseFilter *pFilter) { 6297 return This->lpVtbl->RemoveFilter(This,pFilter); 6298 } 6299 static FORCEINLINE HRESULT IGraphBuilder_EnumFilters(IGraphBuilder* This,IEnumFilters **ppEnum) { 6300 return This->lpVtbl->EnumFilters(This,ppEnum); 6301 } 6302 static FORCEINLINE HRESULT IGraphBuilder_FindFilterByName(IGraphBuilder* This,LPCWSTR pName,IBaseFilter **ppFilter) { 6303 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 6304 } 6305 static FORCEINLINE HRESULT IGraphBuilder_ConnectDirect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 6306 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 6307 } 6308 static FORCEINLINE HRESULT IGraphBuilder_Reconnect(IGraphBuilder* This,IPin *ppin) { 6309 return This->lpVtbl->Reconnect(This,ppin); 6310 } 6311 static FORCEINLINE HRESULT IGraphBuilder_Disconnect(IGraphBuilder* This,IPin *ppin) { 6312 return This->lpVtbl->Disconnect(This,ppin); 6313 } 6314 static FORCEINLINE HRESULT IGraphBuilder_SetDefaultSyncSource(IGraphBuilder* This) { 6315 return This->lpVtbl->SetDefaultSyncSource(This); 6316 } 6317 /*** IGraphBuilder methods ***/ 6318 static FORCEINLINE HRESULT IGraphBuilder_Connect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn) { 6319 return This->lpVtbl->Connect(This,ppinOut,ppinIn); 6320 } 6321 static FORCEINLINE HRESULT IGraphBuilder_Render(IGraphBuilder* This,IPin *ppinOut) { 6322 return This->lpVtbl->Render(This,ppinOut); 6323 } 6324 static FORCEINLINE HRESULT IGraphBuilder_RenderFile(IGraphBuilder* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { 6325 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); 6326 } 6327 static FORCEINLINE HRESULT IGraphBuilder_AddSourceFilter(IGraphBuilder* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { 6328 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); 6329 } 6330 static FORCEINLINE HRESULT IGraphBuilder_SetLogFile(IGraphBuilder* This,DWORD_PTR hFile) { 6331 return This->lpVtbl->SetLogFile(This,hFile); 6332 } 6333 static FORCEINLINE HRESULT IGraphBuilder_Abort(IGraphBuilder* This) { 6334 return This->lpVtbl->Abort(This); 6335 } 6336 static FORCEINLINE HRESULT IGraphBuilder_ShouldOperationContinue(IGraphBuilder* This) { 6337 return This->lpVtbl->ShouldOperationContinue(This); 6338 } 6339 #endif 6340 #endif 6341 6342 #endif 6343 6344 HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy( 6345 IGraphBuilder* This, 6346 IPin *ppinOut, 6347 IPin *ppinIn); 6348 void __RPC_STUB IGraphBuilder_Connect_Stub( 6349 IRpcStubBuffer* This, 6350 IRpcChannelBuffer* pRpcChannelBuffer, 6351 PRPC_MESSAGE pRpcMessage, 6352 DWORD* pdwStubPhase); 6353 HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy( 6354 IGraphBuilder* This, 6355 IPin *ppinOut); 6356 void __RPC_STUB IGraphBuilder_Render_Stub( 6357 IRpcStubBuffer* This, 6358 IRpcChannelBuffer* pRpcChannelBuffer, 6359 PRPC_MESSAGE pRpcMessage, 6360 DWORD* pdwStubPhase); 6361 HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy( 6362 IGraphBuilder* This, 6363 LPCWSTR lpcwstrFile, 6364 LPCWSTR lpcwstrPlayList); 6365 void __RPC_STUB IGraphBuilder_RenderFile_Stub( 6366 IRpcStubBuffer* This, 6367 IRpcChannelBuffer* pRpcChannelBuffer, 6368 PRPC_MESSAGE pRpcMessage, 6369 DWORD* pdwStubPhase); 6370 HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy( 6371 IGraphBuilder* This, 6372 LPCWSTR lpcwstrFileName, 6373 LPCWSTR lpcwstrFilterName, 6374 IBaseFilter **ppFilter); 6375 void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub( 6376 IRpcStubBuffer* This, 6377 IRpcChannelBuffer* pRpcChannelBuffer, 6378 PRPC_MESSAGE pRpcMessage, 6379 DWORD* pdwStubPhase); 6380 HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy( 6381 IGraphBuilder* This, 6382 DWORD_PTR hFile); 6383 void __RPC_STUB IGraphBuilder_SetLogFile_Stub( 6384 IRpcStubBuffer* This, 6385 IRpcChannelBuffer* pRpcChannelBuffer, 6386 PRPC_MESSAGE pRpcMessage, 6387 DWORD* pdwStubPhase); 6388 HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy( 6389 IGraphBuilder* This); 6390 void __RPC_STUB IGraphBuilder_Abort_Stub( 6391 IRpcStubBuffer* This, 6392 IRpcChannelBuffer* pRpcChannelBuffer, 6393 PRPC_MESSAGE pRpcMessage, 6394 DWORD* pdwStubPhase); 6395 HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy( 6396 IGraphBuilder* This); 6397 void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub( 6398 IRpcStubBuffer* This, 6399 IRpcChannelBuffer* pRpcChannelBuffer, 6400 PRPC_MESSAGE pRpcMessage, 6401 DWORD* pdwStubPhase); 6402 6403 #endif /* __IGraphBuilder_INTERFACE_DEFINED__ */ 6404 6405 /***************************************************************************** 6406 * ICaptureGraphBuilder interface 6407 */ 6408 #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__ 6409 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__ 6410 6411 DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 6412 #if defined(__cplusplus) && !defined(CINTERFACE) 6413 MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5") 6414 ICaptureGraphBuilder : public IUnknown 6415 { 6416 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 6417 IGraphBuilder *pfg) = 0; 6418 6419 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 6420 IGraphBuilder **ppfg) = 0; 6421 6422 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 6423 const GUID *pType, 6424 LPCOLESTR lpstrFile, 6425 IBaseFilter **ppf, 6426 IFileSinkFilter **ppSink) = 0; 6427 6428 virtual HRESULT STDMETHODCALLTYPE FindInterface( 6429 const GUID *pCategory, 6430 IBaseFilter *pf, 6431 REFIID riid, 6432 void **ppint) = 0; 6433 6434 virtual HRESULT STDMETHODCALLTYPE RenderStream( 6435 const GUID *pCategory, 6436 IUnknown *pSource, 6437 IBaseFilter *pfCompressor, 6438 IBaseFilter *pfRenderer) = 0; 6439 6440 virtual HRESULT STDMETHODCALLTYPE ControlStream( 6441 const GUID *pCategory, 6442 IBaseFilter *pFilter, 6443 REFERENCE_TIME *pstart, 6444 REFERENCE_TIME *pstop, 6445 WORD wStartCookie, 6446 WORD wStopCookie) = 0; 6447 6448 virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 6449 LPCOLESTR lpstr, 6450 DWORDLONG dwlSize) = 0; 6451 6452 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 6453 LPOLESTR lpwstrOld, 6454 LPOLESTR lpwstrNew, 6455 int fAllowEscAbort, 6456 IAMCopyCaptureFileProgress *pCallback) = 0; 6457 6458 }; 6459 #ifdef __CRT_UUID_DECL 6460 __CRT_UUID_DECL(ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 6461 #endif 6462 #else 6463 typedef struct ICaptureGraphBuilderVtbl { 6464 BEGIN_INTERFACE 6465 6466 /*** IUnknown methods ***/ 6467 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6468 ICaptureGraphBuilder* This, 6469 REFIID riid, 6470 void **ppvObject); 6471 6472 ULONG (STDMETHODCALLTYPE *AddRef)( 6473 ICaptureGraphBuilder* This); 6474 6475 ULONG (STDMETHODCALLTYPE *Release)( 6476 ICaptureGraphBuilder* This); 6477 6478 /*** ICaptureGraphBuilder methods ***/ 6479 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( 6480 ICaptureGraphBuilder* This, 6481 IGraphBuilder *pfg); 6482 6483 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( 6484 ICaptureGraphBuilder* This, 6485 IGraphBuilder **ppfg); 6486 6487 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( 6488 ICaptureGraphBuilder* This, 6489 const GUID *pType, 6490 LPCOLESTR lpstrFile, 6491 IBaseFilter **ppf, 6492 IFileSinkFilter **ppSink); 6493 6494 HRESULT (STDMETHODCALLTYPE *FindInterface)( 6495 ICaptureGraphBuilder* This, 6496 const GUID *pCategory, 6497 IBaseFilter *pf, 6498 REFIID riid, 6499 void **ppint); 6500 6501 HRESULT (STDMETHODCALLTYPE *RenderStream)( 6502 ICaptureGraphBuilder* This, 6503 const GUID *pCategory, 6504 IUnknown *pSource, 6505 IBaseFilter *pfCompressor, 6506 IBaseFilter *pfRenderer); 6507 6508 HRESULT (STDMETHODCALLTYPE *ControlStream)( 6509 ICaptureGraphBuilder* This, 6510 const GUID *pCategory, 6511 IBaseFilter *pFilter, 6512 REFERENCE_TIME *pstart, 6513 REFERENCE_TIME *pstop, 6514 WORD wStartCookie, 6515 WORD wStopCookie); 6516 6517 HRESULT (STDMETHODCALLTYPE *AllocCapFile)( 6518 ICaptureGraphBuilder* This, 6519 LPCOLESTR lpstr, 6520 DWORDLONG dwlSize); 6521 6522 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( 6523 ICaptureGraphBuilder* This, 6524 LPOLESTR lpwstrOld, 6525 LPOLESTR lpwstrNew, 6526 int fAllowEscAbort, 6527 IAMCopyCaptureFileProgress *pCallback); 6528 6529 END_INTERFACE 6530 } ICaptureGraphBuilderVtbl; 6531 interface ICaptureGraphBuilder { 6532 CONST_VTBL ICaptureGraphBuilderVtbl* lpVtbl; 6533 }; 6534 6535 #ifdef COBJMACROS 6536 #ifndef WIDL_C_INLINE_WRAPPERS 6537 /*** IUnknown methods ***/ 6538 #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6539 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) 6540 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This) 6541 /*** ICaptureGraphBuilder methods ***/ 6542 #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) 6543 #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) 6544 #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) 6545 #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint) 6546 #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) 6547 #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) 6548 #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) 6549 #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) 6550 #else 6551 /*** IUnknown methods ***/ 6552 static FORCEINLINE HRESULT ICaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder* This,REFIID riid,void **ppvObject) { 6553 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6554 } 6555 static FORCEINLINE ULONG ICaptureGraphBuilder_AddRef(ICaptureGraphBuilder* This) { 6556 return This->lpVtbl->AddRef(This); 6557 } 6558 static FORCEINLINE ULONG ICaptureGraphBuilder_Release(ICaptureGraphBuilder* This) { 6559 return This->lpVtbl->Release(This); 6560 } 6561 /*** ICaptureGraphBuilder methods ***/ 6562 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder *pfg) { 6563 return This->lpVtbl->SetFiltergraph(This,pfg); 6564 } 6565 static FORCEINLINE HRESULT ICaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder **ppfg) { 6566 return This->lpVtbl->GetFiltergraph(This,ppfg); 6567 } 6568 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { 6569 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); 6570 } 6571 static FORCEINLINE HRESULT ICaptureGraphBuilder_FindInterface(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) { 6572 return This->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint); 6573 } 6574 static FORCEINLINE HRESULT ICaptureGraphBuilder_RenderStream(ICaptureGraphBuilder* This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { 6575 return This->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer); 6576 } 6577 static FORCEINLINE HRESULT ICaptureGraphBuilder_ControlStream(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) { 6578 return This->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie); 6579 } 6580 static FORCEINLINE HRESULT ICaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { 6581 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); 6582 } 6583 static FORCEINLINE HRESULT ICaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { 6584 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); 6585 } 6586 #endif 6587 #endif 6588 6589 #endif 6590 6591 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy( 6592 ICaptureGraphBuilder* This, 6593 IGraphBuilder *pfg); 6594 void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub( 6595 IRpcStubBuffer* This, 6596 IRpcChannelBuffer* pRpcChannelBuffer, 6597 PRPC_MESSAGE pRpcMessage, 6598 DWORD* pdwStubPhase); 6599 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy( 6600 ICaptureGraphBuilder* This, 6601 IGraphBuilder **ppfg); 6602 void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub( 6603 IRpcStubBuffer* This, 6604 IRpcChannelBuffer* pRpcChannelBuffer, 6605 PRPC_MESSAGE pRpcMessage, 6606 DWORD* pdwStubPhase); 6607 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy( 6608 ICaptureGraphBuilder* This, 6609 const GUID *pType, 6610 LPCOLESTR lpstrFile, 6611 IBaseFilter **ppf, 6612 IFileSinkFilter **ppSink); 6613 void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub( 6614 IRpcStubBuffer* This, 6615 IRpcChannelBuffer* pRpcChannelBuffer, 6616 PRPC_MESSAGE pRpcMessage, 6617 DWORD* pdwStubPhase); 6618 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( 6619 ICaptureGraphBuilder* This, 6620 const GUID *pCategory, 6621 IBaseFilter *pf, 6622 REFIID riid, 6623 IUnknown **ppint); 6624 void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub( 6625 IRpcStubBuffer* This, 6626 IRpcChannelBuffer* pRpcChannelBuffer, 6627 PRPC_MESSAGE pRpcMessage, 6628 DWORD* pdwStubPhase); 6629 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy( 6630 ICaptureGraphBuilder* This, 6631 const GUID *pCategory, 6632 IUnknown *pSource, 6633 IBaseFilter *pfCompressor, 6634 IBaseFilter *pfRenderer); 6635 void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub( 6636 IRpcStubBuffer* This, 6637 IRpcChannelBuffer* pRpcChannelBuffer, 6638 PRPC_MESSAGE pRpcMessage, 6639 DWORD* pdwStubPhase); 6640 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy( 6641 ICaptureGraphBuilder* This, 6642 const GUID *pCategory, 6643 IBaseFilter *pFilter, 6644 REFERENCE_TIME *pstart, 6645 REFERENCE_TIME *pstop, 6646 WORD wStartCookie, 6647 WORD wStopCookie); 6648 void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub( 6649 IRpcStubBuffer* This, 6650 IRpcChannelBuffer* pRpcChannelBuffer, 6651 PRPC_MESSAGE pRpcMessage, 6652 DWORD* pdwStubPhase); 6653 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy( 6654 ICaptureGraphBuilder* This, 6655 LPCOLESTR lpstr, 6656 DWORDLONG dwlSize); 6657 void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub( 6658 IRpcStubBuffer* This, 6659 IRpcChannelBuffer* pRpcChannelBuffer, 6660 PRPC_MESSAGE pRpcMessage, 6661 DWORD* pdwStubPhase); 6662 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy( 6663 ICaptureGraphBuilder* This, 6664 LPOLESTR lpwstrOld, 6665 LPOLESTR lpwstrNew, 6666 int fAllowEscAbort, 6667 IAMCopyCaptureFileProgress *pCallback); 6668 void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub( 6669 IRpcStubBuffer* This, 6670 IRpcChannelBuffer* pRpcChannelBuffer, 6671 PRPC_MESSAGE pRpcMessage, 6672 DWORD* pdwStubPhase); 6673 HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy( 6674 ICaptureGraphBuilder* This, 6675 const GUID *pCategory, 6676 IBaseFilter *pf, 6677 REFIID riid, 6678 void **ppint); 6679 HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub( 6680 ICaptureGraphBuilder* This, 6681 const GUID *pCategory, 6682 IBaseFilter *pf, 6683 REFIID riid, 6684 IUnknown **ppint); 6685 6686 #endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */ 6687 6688 /***************************************************************************** 6689 * IAMCopyCaptureFileProgress interface 6690 */ 6691 #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ 6692 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ 6693 6694 DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); 6695 #if defined(__cplusplus) && !defined(CINTERFACE) 6696 MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5") 6697 IAMCopyCaptureFileProgress : public IUnknown 6698 { 6699 virtual HRESULT STDMETHODCALLTYPE Progress( 6700 int iProgress) = 0; 6701 6702 }; 6703 #ifdef __CRT_UUID_DECL 6704 __CRT_UUID_DECL(IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) 6705 #endif 6706 #else 6707 typedef struct IAMCopyCaptureFileProgressVtbl { 6708 BEGIN_INTERFACE 6709 6710 /*** IUnknown methods ***/ 6711 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6712 IAMCopyCaptureFileProgress* This, 6713 REFIID riid, 6714 void **ppvObject); 6715 6716 ULONG (STDMETHODCALLTYPE *AddRef)( 6717 IAMCopyCaptureFileProgress* This); 6718 6719 ULONG (STDMETHODCALLTYPE *Release)( 6720 IAMCopyCaptureFileProgress* This); 6721 6722 /*** IAMCopyCaptureFileProgress methods ***/ 6723 HRESULT (STDMETHODCALLTYPE *Progress)( 6724 IAMCopyCaptureFileProgress* This, 6725 int iProgress); 6726 6727 END_INTERFACE 6728 } IAMCopyCaptureFileProgressVtbl; 6729 interface IAMCopyCaptureFileProgress { 6730 CONST_VTBL IAMCopyCaptureFileProgressVtbl* lpVtbl; 6731 }; 6732 6733 #ifdef COBJMACROS 6734 #ifndef WIDL_C_INLINE_WRAPPERS 6735 /*** IUnknown methods ***/ 6736 #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6737 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This) 6738 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This) 6739 /*** IAMCopyCaptureFileProgress methods ***/ 6740 #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress) 6741 #else 6742 /*** IUnknown methods ***/ 6743 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_QueryInterface(IAMCopyCaptureFileProgress* This,REFIID riid,void **ppvObject) { 6744 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6745 } 6746 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_AddRef(IAMCopyCaptureFileProgress* This) { 6747 return This->lpVtbl->AddRef(This); 6748 } 6749 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_Release(IAMCopyCaptureFileProgress* This) { 6750 return This->lpVtbl->Release(This); 6751 } 6752 /*** IAMCopyCaptureFileProgress methods ***/ 6753 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_Progress(IAMCopyCaptureFileProgress* This,int iProgress) { 6754 return This->lpVtbl->Progress(This,iProgress); 6755 } 6756 #endif 6757 #endif 6758 6759 #endif 6760 6761 HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy( 6762 IAMCopyCaptureFileProgress* This, 6763 int iProgress); 6764 void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub( 6765 IRpcStubBuffer* This, 6766 IRpcChannelBuffer* pRpcChannelBuffer, 6767 PRPC_MESSAGE pRpcMessage, 6768 DWORD* pdwStubPhase); 6769 6770 #endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */ 6771 6772 /***************************************************************************** 6773 * ICaptureGraphBuilder2 interface 6774 */ 6775 #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__ 6776 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__ 6777 6778 DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d); 6779 #if defined(__cplusplus) && !defined(CINTERFACE) 6780 MIDL_INTERFACE("93e5a4e0-2d50-11d2-abfa-00a0c9c6e38d") 6781 ICaptureGraphBuilder2 : public IUnknown 6782 { 6783 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 6784 IGraphBuilder *pfg) = 0; 6785 6786 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 6787 IGraphBuilder **ppfg) = 0; 6788 6789 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 6790 const GUID *pType, 6791 LPCOLESTR lpstrFile, 6792 IBaseFilter **ppf, 6793 IFileSinkFilter **ppSink) = 0; 6794 6795 virtual HRESULT STDMETHODCALLTYPE FindInterface( 6796 const GUID *pCategory, 6797 const GUID *pType, 6798 IBaseFilter *pf, 6799 REFIID riid, 6800 void **ppint) = 0; 6801 6802 virtual HRESULT STDMETHODCALLTYPE RenderStream( 6803 const GUID *pCategory, 6804 const GUID *pType, 6805 IUnknown *pSource, 6806 IBaseFilter *pfCompressor, 6807 IBaseFilter *pfRenderer) = 0; 6808 6809 virtual HRESULT STDMETHODCALLTYPE ControlStream( 6810 const GUID *pCategory, 6811 const GUID *pType, 6812 IBaseFilter *pFilter, 6813 REFERENCE_TIME *pstart, 6814 REFERENCE_TIME *pstop, 6815 WORD wStartCookie, 6816 WORD wStopCookie) = 0; 6817 6818 virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 6819 LPCOLESTR lpstr, 6820 DWORDLONG dwlSize) = 0; 6821 6822 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 6823 LPOLESTR lpwstrOld, 6824 LPOLESTR lpwstrNew, 6825 int fAllowEscAbort, 6826 IAMCopyCaptureFileProgress *pCallback) = 0; 6827 6828 virtual HRESULT STDMETHODCALLTYPE FindPin( 6829 IUnknown *pSource, 6830 PIN_DIRECTION pindir, 6831 const GUID *pCategory, 6832 const GUID *pType, 6833 WINBOOL fUnconnected, 6834 int num, 6835 IPin **ppPin) = 0; 6836 6837 }; 6838 #ifdef __CRT_UUID_DECL 6839 __CRT_UUID_DECL(ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d) 6840 #endif 6841 #else 6842 typedef struct ICaptureGraphBuilder2Vtbl { 6843 BEGIN_INTERFACE 6844 6845 /*** IUnknown methods ***/ 6846 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6847 ICaptureGraphBuilder2* This, 6848 REFIID riid, 6849 void **ppvObject); 6850 6851 ULONG (STDMETHODCALLTYPE *AddRef)( 6852 ICaptureGraphBuilder2* This); 6853 6854 ULONG (STDMETHODCALLTYPE *Release)( 6855 ICaptureGraphBuilder2* This); 6856 6857 /*** ICaptureGraphBuilder2 methods ***/ 6858 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( 6859 ICaptureGraphBuilder2* This, 6860 IGraphBuilder *pfg); 6861 6862 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( 6863 ICaptureGraphBuilder2* This, 6864 IGraphBuilder **ppfg); 6865 6866 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( 6867 ICaptureGraphBuilder2* This, 6868 const GUID *pType, 6869 LPCOLESTR lpstrFile, 6870 IBaseFilter **ppf, 6871 IFileSinkFilter **ppSink); 6872 6873 HRESULT (STDMETHODCALLTYPE *FindInterface)( 6874 ICaptureGraphBuilder2* This, 6875 const GUID *pCategory, 6876 const GUID *pType, 6877 IBaseFilter *pf, 6878 REFIID riid, 6879 void **ppint); 6880 6881 HRESULT (STDMETHODCALLTYPE *RenderStream)( 6882 ICaptureGraphBuilder2* This, 6883 const GUID *pCategory, 6884 const GUID *pType, 6885 IUnknown *pSource, 6886 IBaseFilter *pfCompressor, 6887 IBaseFilter *pfRenderer); 6888 6889 HRESULT (STDMETHODCALLTYPE *ControlStream)( 6890 ICaptureGraphBuilder2* This, 6891 const GUID *pCategory, 6892 const GUID *pType, 6893 IBaseFilter *pFilter, 6894 REFERENCE_TIME *pstart, 6895 REFERENCE_TIME *pstop, 6896 WORD wStartCookie, 6897 WORD wStopCookie); 6898 6899 HRESULT (STDMETHODCALLTYPE *AllocCapFile)( 6900 ICaptureGraphBuilder2* This, 6901 LPCOLESTR lpstr, 6902 DWORDLONG dwlSize); 6903 6904 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( 6905 ICaptureGraphBuilder2* This, 6906 LPOLESTR lpwstrOld, 6907 LPOLESTR lpwstrNew, 6908 int fAllowEscAbort, 6909 IAMCopyCaptureFileProgress *pCallback); 6910 6911 HRESULT (STDMETHODCALLTYPE *FindPin)( 6912 ICaptureGraphBuilder2* This, 6913 IUnknown *pSource, 6914 PIN_DIRECTION pindir, 6915 const GUID *pCategory, 6916 const GUID *pType, 6917 WINBOOL fUnconnected, 6918 int num, 6919 IPin **ppPin); 6920 6921 END_INTERFACE 6922 } ICaptureGraphBuilder2Vtbl; 6923 interface ICaptureGraphBuilder2 { 6924 CONST_VTBL ICaptureGraphBuilder2Vtbl* lpVtbl; 6925 }; 6926 6927 #ifdef COBJMACROS 6928 #ifndef WIDL_C_INLINE_WRAPPERS 6929 /*** IUnknown methods ***/ 6930 #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6931 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) 6932 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This) 6933 /*** ICaptureGraphBuilder2 methods ***/ 6934 #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) 6935 #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) 6936 #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) 6937 #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint) 6938 #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) 6939 #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) 6940 #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) 6941 #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) 6942 #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) 6943 #else 6944 /*** IUnknown methods ***/ 6945 static FORCEINLINE HRESULT ICaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2* This,REFIID riid,void **ppvObject) { 6946 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6947 } 6948 static FORCEINLINE ULONG ICaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2* This) { 6949 return This->lpVtbl->AddRef(This); 6950 } 6951 static FORCEINLINE ULONG ICaptureGraphBuilder2_Release(ICaptureGraphBuilder2* This) { 6952 return This->lpVtbl->Release(This); 6953 } 6954 /*** ICaptureGraphBuilder2 methods ***/ 6955 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder *pfg) { 6956 return This->lpVtbl->SetFiltergraph(This,pfg); 6957 } 6958 static FORCEINLINE HRESULT ICaptureGraphBuilder2_GetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder **ppfg) { 6959 return This->lpVtbl->GetFiltergraph(This,ppfg); 6960 } 6961 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { 6962 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); 6963 } 6964 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) { 6965 return This->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint); 6966 } 6967 static FORCEINLINE HRESULT ICaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { 6968 return This->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer); 6969 } 6970 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) { 6971 return This->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie); 6972 } 6973 static FORCEINLINE HRESULT ICaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { 6974 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); 6975 } 6976 static FORCEINLINE HRESULT ICaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { 6977 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); 6978 } 6979 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2* This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) { 6980 return This->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin); 6981 } 6982 #endif 6983 #endif 6984 6985 #endif 6986 6987 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy( 6988 ICaptureGraphBuilder2* This, 6989 IGraphBuilder *pfg); 6990 void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub( 6991 IRpcStubBuffer* This, 6992 IRpcChannelBuffer* pRpcChannelBuffer, 6993 PRPC_MESSAGE pRpcMessage, 6994 DWORD* pdwStubPhase); 6995 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy( 6996 ICaptureGraphBuilder2* This, 6997 IGraphBuilder **ppfg); 6998 void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub( 6999 IRpcStubBuffer* This, 7000 IRpcChannelBuffer* pRpcChannelBuffer, 7001 PRPC_MESSAGE pRpcMessage, 7002 DWORD* pdwStubPhase); 7003 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy( 7004 ICaptureGraphBuilder2* This, 7005 const GUID *pType, 7006 LPCOLESTR lpstrFile, 7007 IBaseFilter **ppf, 7008 IFileSinkFilter **ppSink); 7009 void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub( 7010 IRpcStubBuffer* This, 7011 IRpcChannelBuffer* pRpcChannelBuffer, 7012 PRPC_MESSAGE pRpcMessage, 7013 DWORD* pdwStubPhase); 7014 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( 7015 ICaptureGraphBuilder2* This, 7016 const GUID *pCategory, 7017 const GUID *pType, 7018 IBaseFilter *pf, 7019 REFIID riid, 7020 IUnknown **ppint); 7021 void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub( 7022 IRpcStubBuffer* This, 7023 IRpcChannelBuffer* pRpcChannelBuffer, 7024 PRPC_MESSAGE pRpcMessage, 7025 DWORD* pdwStubPhase); 7026 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy( 7027 ICaptureGraphBuilder2* This, 7028 const GUID *pCategory, 7029 const GUID *pType, 7030 IUnknown *pSource, 7031 IBaseFilter *pfCompressor, 7032 IBaseFilter *pfRenderer); 7033 void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub( 7034 IRpcStubBuffer* This, 7035 IRpcChannelBuffer* pRpcChannelBuffer, 7036 PRPC_MESSAGE pRpcMessage, 7037 DWORD* pdwStubPhase); 7038 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy( 7039 ICaptureGraphBuilder2* This, 7040 const GUID *pCategory, 7041 const GUID *pType, 7042 IBaseFilter *pFilter, 7043 REFERENCE_TIME *pstart, 7044 REFERENCE_TIME *pstop, 7045 WORD wStartCookie, 7046 WORD wStopCookie); 7047 void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub( 7048 IRpcStubBuffer* This, 7049 IRpcChannelBuffer* pRpcChannelBuffer, 7050 PRPC_MESSAGE pRpcMessage, 7051 DWORD* pdwStubPhase); 7052 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy( 7053 ICaptureGraphBuilder2* This, 7054 LPCOLESTR lpstr, 7055 DWORDLONG dwlSize); 7056 void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub( 7057 IRpcStubBuffer* This, 7058 IRpcChannelBuffer* pRpcChannelBuffer, 7059 PRPC_MESSAGE pRpcMessage, 7060 DWORD* pdwStubPhase); 7061 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy( 7062 ICaptureGraphBuilder2* This, 7063 LPOLESTR lpwstrOld, 7064 LPOLESTR lpwstrNew, 7065 int fAllowEscAbort, 7066 IAMCopyCaptureFileProgress *pCallback); 7067 void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub( 7068 IRpcStubBuffer* This, 7069 IRpcChannelBuffer* pRpcChannelBuffer, 7070 PRPC_MESSAGE pRpcMessage, 7071 DWORD* pdwStubPhase); 7072 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy( 7073 ICaptureGraphBuilder2* This, 7074 IUnknown *pSource, 7075 PIN_DIRECTION pindir, 7076 const GUID *pCategory, 7077 const GUID *pType, 7078 WINBOOL fUnconnected, 7079 int num, 7080 IPin **ppPin); 7081 void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub( 7082 IRpcStubBuffer* This, 7083 IRpcChannelBuffer* pRpcChannelBuffer, 7084 PRPC_MESSAGE pRpcMessage, 7085 DWORD* pdwStubPhase); 7086 HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy( 7087 ICaptureGraphBuilder2* This, 7088 const GUID *pCategory, 7089 const GUID *pType, 7090 IBaseFilter *pf, 7091 REFIID riid, 7092 void **ppint); 7093 HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub( 7094 ICaptureGraphBuilder2* This, 7095 const GUID *pCategory, 7096 const GUID *pType, 7097 IBaseFilter *pf, 7098 REFIID riid, 7099 IUnknown **ppint); 7100 7101 #endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */ 7102 7103 enum _AM_RENSDEREXFLAGS { 7104 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1 7105 }; 7106 7107 /***************************************************************************** 7108 * IFilterGraph2 interface 7109 */ 7110 #ifndef __IFilterGraph2_INTERFACE_DEFINED__ 7111 #define __IFilterGraph2_INTERFACE_DEFINED__ 7112 7113 DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); 7114 #if defined(__cplusplus) && !defined(CINTERFACE) 7115 MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60") 7116 IFilterGraph2 : public IGraphBuilder 7117 { 7118 virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 7119 IMoniker *pMoniker, 7120 IBindCtx *pCtx, 7121 LPCWSTR lpcwstrFilterName, 7122 IBaseFilter **ppFilter) = 0; 7123 7124 virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 7125 IPin *ppin, 7126 const AM_MEDIA_TYPE *pmt) = 0; 7127 7128 virtual HRESULT STDMETHODCALLTYPE RenderEx( 7129 IPin *pPinOut, 7130 DWORD dwFlags, 7131 DWORD *pvContext) = 0; 7132 7133 }; 7134 #ifdef __CRT_UUID_DECL 7135 __CRT_UUID_DECL(IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) 7136 #endif 7137 #else 7138 typedef struct IFilterGraph2Vtbl { 7139 BEGIN_INTERFACE 7140 7141 /*** IUnknown methods ***/ 7142 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 7143 IFilterGraph2* This, 7144 REFIID riid, 7145 void **ppvObject); 7146 7147 ULONG (STDMETHODCALLTYPE *AddRef)( 7148 IFilterGraph2* This); 7149 7150 ULONG (STDMETHODCALLTYPE *Release)( 7151 IFilterGraph2* This); 7152 7153 /*** IFilterGraph methods ***/ 7154 HRESULT (STDMETHODCALLTYPE *AddFilter)( 7155 IFilterGraph2* This, 7156 IBaseFilter *pFilter, 7157 LPCWSTR pName); 7158 7159 HRESULT (STDMETHODCALLTYPE *RemoveFilter)( 7160 IFilterGraph2* This, 7161 IBaseFilter *pFilter); 7162 7163 HRESULT (STDMETHODCALLTYPE *EnumFilters)( 7164 IFilterGraph2* This, 7165 IEnumFilters **ppEnum); 7166 7167 HRESULT (STDMETHODCALLTYPE *FindFilterByName)( 7168 IFilterGraph2* This, 7169 LPCWSTR pName, 7170 IBaseFilter **ppFilter); 7171 7172 HRESULT (STDMETHODCALLTYPE *ConnectDirect)( 7173 IFilterGraph2* This, 7174 IPin *ppinOut, 7175 IPin *ppinIn, 7176 const AM_MEDIA_TYPE *pmt); 7177 7178 HRESULT (STDMETHODCALLTYPE *Reconnect)( 7179 IFilterGraph2* This, 7180 IPin *ppin); 7181 7182 HRESULT (STDMETHODCALLTYPE *Disconnect)( 7183 IFilterGraph2* This, 7184 IPin *ppin); 7185 7186 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( 7187 IFilterGraph2* This); 7188 7189 /*** IGraphBuilder methods ***/ 7190 HRESULT (STDMETHODCALLTYPE *Connect)( 7191 IFilterGraph2* This, 7192 IPin *ppinOut, 7193 IPin *ppinIn); 7194 7195 HRESULT (STDMETHODCALLTYPE *Render)( 7196 IFilterGraph2* This, 7197 IPin *ppinOut); 7198 7199 HRESULT (STDMETHODCALLTYPE *RenderFile)( 7200 IFilterGraph2* This, 7201 LPCWSTR lpcwstrFile, 7202 LPCWSTR lpcwstrPlayList); 7203 7204 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( 7205 IFilterGraph2* This, 7206 LPCWSTR lpcwstrFileName, 7207 LPCWSTR lpcwstrFilterName, 7208 IBaseFilter **ppFilter); 7209 7210 HRESULT (STDMETHODCALLTYPE *SetLogFile)( 7211 IFilterGraph2* This, 7212 DWORD_PTR hFile); 7213 7214 HRESULT (STDMETHODCALLTYPE *Abort)( 7215 IFilterGraph2* This); 7216 7217 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( 7218 IFilterGraph2* This); 7219 7220 /*** IFilterGraph2 methods ***/ 7221 HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)( 7222 IFilterGraph2* This, 7223 IMoniker *pMoniker, 7224 IBindCtx *pCtx, 7225 LPCWSTR lpcwstrFilterName, 7226 IBaseFilter **ppFilter); 7227 7228 HRESULT (STDMETHODCALLTYPE *ReconnectEx)( 7229 IFilterGraph2* This, 7230 IPin *ppin, 7231 const AM_MEDIA_TYPE *pmt); 7232 7233 HRESULT (STDMETHODCALLTYPE *RenderEx)( 7234 IFilterGraph2* This, 7235 IPin *pPinOut, 7236 DWORD dwFlags, 7237 DWORD *pvContext); 7238 7239 END_INTERFACE 7240 } IFilterGraph2Vtbl; 7241 interface IFilterGraph2 { 7242 CONST_VTBL IFilterGraph2Vtbl* lpVtbl; 7243 }; 7244 7245 #ifdef COBJMACROS 7246 #ifndef WIDL_C_INLINE_WRAPPERS 7247 /*** IUnknown methods ***/ 7248 #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7249 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This) 7250 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This) 7251 /*** IFilterGraph methods ***/ 7252 #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) 7253 #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) 7254 #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) 7255 #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) 7256 #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) 7257 #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) 7258 #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) 7259 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) 7260 /*** IGraphBuilder methods ***/ 7261 #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) 7262 #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) 7263 #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) 7264 #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) 7265 #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) 7266 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This) 7267 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) 7268 /*** IFilterGraph2 methods ***/ 7269 #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) 7270 #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt) 7271 #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext) 7272 #else 7273 /*** IUnknown methods ***/ 7274 static FORCEINLINE HRESULT IFilterGraph2_QueryInterface(IFilterGraph2* This,REFIID riid,void **ppvObject) { 7275 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7276 } 7277 static FORCEINLINE ULONG IFilterGraph2_AddRef(IFilterGraph2* This) { 7278 return This->lpVtbl->AddRef(This); 7279 } 7280 static FORCEINLINE ULONG IFilterGraph2_Release(IFilterGraph2* This) { 7281 return This->lpVtbl->Release(This); 7282 } 7283 /*** IFilterGraph methods ***/ 7284 static FORCEINLINE HRESULT IFilterGraph2_AddFilter(IFilterGraph2* This,IBaseFilter *pFilter,LPCWSTR pName) { 7285 return This->lpVtbl->AddFilter(This,pFilter,pName); 7286 } 7287 static FORCEINLINE HRESULT IFilterGraph2_RemoveFilter(IFilterGraph2* This,IBaseFilter *pFilter) { 7288 return This->lpVtbl->RemoveFilter(This,pFilter); 7289 } 7290 static FORCEINLINE HRESULT IFilterGraph2_EnumFilters(IFilterGraph2* This,IEnumFilters **ppEnum) { 7291 return This->lpVtbl->EnumFilters(This,ppEnum); 7292 } 7293 static FORCEINLINE HRESULT IFilterGraph2_FindFilterByName(IFilterGraph2* This,LPCWSTR pName,IBaseFilter **ppFilter) { 7294 return This->lpVtbl->FindFilterByName(This,pName,ppFilter); 7295 } 7296 static FORCEINLINE HRESULT IFilterGraph2_ConnectDirect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { 7297 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); 7298 } 7299 static FORCEINLINE HRESULT IFilterGraph2_Reconnect(IFilterGraph2* This,IPin *ppin) { 7300 return This->lpVtbl->Reconnect(This,ppin); 7301 } 7302 static FORCEINLINE HRESULT IFilterGraph2_Disconnect(IFilterGraph2* This,IPin *ppin) { 7303 return This->lpVtbl->Disconnect(This,ppin); 7304 } 7305 static FORCEINLINE HRESULT IFilterGraph2_SetDefaultSyncSource(IFilterGraph2* This) { 7306 return This->lpVtbl->SetDefaultSyncSource(This); 7307 } 7308 /*** IGraphBuilder methods ***/ 7309 static FORCEINLINE HRESULT IFilterGrap