1/*** Autogenerated by WIDL 1.6 from include/mediaobj.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 __mediaobj_h__ 16#define __mediaobj_h__ 17 18/* Forward declarations */ 19 20#ifndef __IMediaBuffer_FWD_DEFINED__ 21#define __IMediaBuffer_FWD_DEFINED__ 22typedef interface IMediaBuffer IMediaBuffer; 23#endif 24 25#ifndef __IMediaObject_FWD_DEFINED__ 26#define __IMediaObject_FWD_DEFINED__ 27typedef interface IMediaObject IMediaObject; 28#endif 29 30#ifndef __IEnumDMO_FWD_DEFINED__ 31#define __IEnumDMO_FWD_DEFINED__ 32typedef interface IEnumDMO IEnumDMO; 33#endif 34 35#ifndef __IMediaObjectInPlace_FWD_DEFINED__ 36#define __IMediaObjectInPlace_FWD_DEFINED__ 37typedef interface IMediaObjectInPlace IMediaObjectInPlace; 38#endif 39 40#ifndef __IDMOQualityControl_FWD_DEFINED__ 41#define __IDMOQualityControl_FWD_DEFINED__ 42typedef interface IDMOQualityControl IDMOQualityControl; 43#endif 44 45#ifndef __IDMOVideoOutputOptimizations_FWD_DEFINED__ 46#define __IDMOVideoOutputOptimizations_FWD_DEFINED__ 47typedef interface IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations; 48#endif 49 50/* Headers for imported files */ 51 52#include <unknwn.h> 53#include <objidl.h> 54 55#ifdef __cplusplus 56extern "C" { 57#endif 58 59/** 60 * This file is part of the mingw-w64 runtime package. 61 * No warranty is given; refer to the file DISCLAIMER within this package. 62 */ 63 64#include <winapifamily.h> 65 66 67#ifdef __strmif_h__ 68typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE; 69#else 70typedef struct _DMOMediaType { 71 GUID majortype; 72 GUID subtype; 73 WINBOOL bFixedSizeSamples; 74 WINBOOL bTemporalCompression; 75 ULONG lSampleSize; 76 GUID formattype; 77 IUnknown *pUnk; 78 ULONG cbFormat; 79 BYTE *pbFormat; 80} DMO_MEDIA_TYPE; 81 82typedef LONGLONG REFERENCE_TIME; 83#endif 84 85enum _DMO_INPUT_DATA_BUFFER_FLAGS { 86 DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1, 87 DMO_INPUT_DATA_BUFFERF_TIME = 0x2, 88 DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4, 89 DMO_INPUT_DATA_BUFFERF_DISCONTINUITY = 0x8 90}; 91 92 93enum _DMO_OUTPUT_DATA_BUFFER_FLAGS { 94 DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1, 95 DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2, 96 DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4, 97 DMO_OUTPUT_DATA_BUFFERF_DISCONTINUITY = 0x8, 98 DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000 99}; 100 101 102enum _DMO_INPUT_STATUS_FLAGS { 103 DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1 104}; 105 106 107enum _DMO_INPUT_STREAM_INFO_FLAGS { 108 DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1, 109 DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2, 110 DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4, 111 DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8 112}; 113 114 115enum _DMO_OUTPUT_STREAM_INFO_FLAGS { 116 DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1, 117 DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2, 118 DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4, 119 DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8, 120 DMO_OUTPUT_STREAMF_OPTIONAL = 0x10 121}; 122 123 124enum _DMO_SET_TYPE_FLAGS { 125 DMO_SET_TYPEF_TEST_ONLY = 0x1, 126 DMO_SET_TYPEF_CLEAR = 0x2 127}; 128 129 130enum _DMO_PROCESS_OUTPUT_FLAGS { 131 DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1 132}; 133 134 135#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 136enum _DMO_INPLACE_PROCESS_FLAGS { 137 DMO_INPLACE_NORMAL = 0x0, 138 DMO_INPLACE_ZERO = 0x1 139}; 140 141 142enum _DMO_QUALITY_STATUS_FLAGS { 143 DMO_QUALITY_STATUS_ENABLED = 0x1 144}; 145 146 147enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS { 148 DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x1 149}; 150 151 152/***************************************************************************** 153 * IMediaBuffer interface 154 */ 155#ifndef __IMediaBuffer_INTERFACE_DEFINED__ 156#define __IMediaBuffer_INTERFACE_DEFINED__ 157 158DEFINE_GUID(IID_IMediaBuffer, 0x59eff8b9, 0x938c, 0x4a26, 0x82,0xf2, 0x95,0xcb,0x84,0xcd,0xc8,0x37); 159#if defined(__cplusplus) && !defined(CINTERFACE) 160MIDL_INTERFACE("59eff8b9-938c-4a26-82f2-95cb84cdc837") 161IMediaBuffer : public IUnknown 162{ 163 virtual HRESULT STDMETHODCALLTYPE SetLength( 164 DWORD cbLength) = 0; 165 166 virtual HRESULT STDMETHODCALLTYPE GetMaxLength( 167 DWORD *pcbMaxLength) = 0; 168 169 virtual HRESULT STDMETHODCALLTYPE GetBufferAndLength( 170 BYTE **ppBuffer, 171 DWORD *pcbLength) = 0; 172 173}; 174#ifdef __CRT_UUID_DECL 175__CRT_UUID_DECL(IMediaBuffer, 0x59eff8b9, 0x938c, 0x4a26, 0x82,0xf2, 0x95,0xcb,0x84,0xcd,0xc8,0x37) 176#endif 177#else 178typedef struct IMediaBufferVtbl { 179 BEGIN_INTERFACE 180 181 /*** IUnknown methods ***/ 182 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 183 IMediaBuffer* This, 184 REFIID riid, 185 void **ppvObject); 186 187 ULONG (STDMETHODCALLTYPE *AddRef)( 188 IMediaBuffer* This); 189 190 ULONG (STDMETHODCALLTYPE *Release)( 191 IMediaBuffer* This); 192 193 /*** IMediaBuffer methods ***/ 194 HRESULT (STDMETHODCALLTYPE *SetLength)( 195 IMediaBuffer* This, 196 DWORD cbLength); 197 198 HRESULT (STDMETHODCALLTYPE *GetMaxLength)( 199 IMediaBuffer* This, 200 DWORD *pcbMaxLength); 201 202 HRESULT (STDMETHODCALLTYPE *GetBufferAndLength)( 203 IMediaBuffer* This, 204 BYTE **ppBuffer, 205 DWORD *pcbLength); 206 207 END_INTERFACE 208} IMediaBufferVtbl; 209interface IMediaBuffer { 210 CONST_VTBL IMediaBufferVtbl* lpVtbl; 211}; 212 213#ifdef COBJMACROS 214#ifndef WIDL_C_INLINE_WRAPPERS 215/*** IUnknown methods ***/ 216#define IMediaBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 217#define IMediaBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 218#define IMediaBuffer_Release(This) (This)->lpVtbl->Release(This) 219/*** IMediaBuffer methods ***/ 220#define IMediaBuffer_SetLength(This,cbLength) (This)->lpVtbl->SetLength(This,cbLength) 221#define IMediaBuffer_GetMaxLength(This,pcbMaxLength) (This)->lpVtbl->GetMaxLength(This,pcbMaxLength) 222#define IMediaBuffer_GetBufferAndLength(This,ppBuffer,pcbLength) (This)->lpVtbl->GetBufferAndLength(This,ppBuffer,pcbLength) 223#else 224/*** IUnknown methods ***/ 225static FORCEINLINE HRESULT IMediaBuffer_QueryInterface(IMediaBuffer* This,REFIID riid,void **ppvObject) { 226 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 227} 228static FORCEINLINE ULONG IMediaBuffer_AddRef(IMediaBuffer* This) { 229 return This->lpVtbl->AddRef(This); 230} 231static FORCEINLINE ULONG IMediaBuffer_Release(IMediaBuffer* This) { 232 return This->lpVtbl->Release(This); 233} 234/*** IMediaBuffer methods ***/ 235static FORCEINLINE HRESULT IMediaBuffer_SetLength(IMediaBuffer* This,DWORD cbLength) { 236 return This->lpVtbl->SetLength(This,cbLength); 237} 238static FORCEINLINE HRESULT IMediaBuffer_GetMaxLength(IMediaBuffer* This,DWORD *pcbMaxLength) { 239 return This->lpVtbl->GetMaxLength(This,pcbMaxLength); 240} 241static FORCEINLINE HRESULT IMediaBuffer_GetBufferAndLength(IMediaBuffer* This,BYTE **ppBuffer,DWORD *pcbLength) { 242 return This->lpVtbl->GetBufferAndLength(This,ppBuffer,pcbLength); 243} 244#endif 245#endif 246 247#endif 248 249HRESULT STDMETHODCALLTYPE IMediaBuffer_SetLength_Proxy( 250 IMediaBuffer* This, 251 DWORD cbLength); 252void __RPC_STUB IMediaBuffer_SetLength_Stub( 253 IRpcStubBuffer* This, 254 IRpcChannelBuffer* pRpcChannelBuffer, 255 PRPC_MESSAGE pRpcMessage, 256 DWORD* pdwStubPhase); 257HRESULT STDMETHODCALLTYPE IMediaBuffer_GetMaxLength_Proxy( 258 IMediaBuffer* This, 259 DWORD *pcbMaxLength); 260void __RPC_STUB IMediaBuffer_GetMaxLength_Stub( 261 IRpcStubBuffer* This, 262 IRpcChannelBuffer* pRpcChannelBuffer, 263 PRPC_MESSAGE pRpcMessage, 264 DWORD* pdwStubPhase); 265HRESULT STDMETHODCALLTYPE IMediaBuffer_GetBufferAndLength_Proxy( 266 IMediaBuffer* This, 267 BYTE **ppBuffer, 268 DWORD *pcbLength); 269void __RPC_STUB IMediaBuffer_GetBufferAndLength_Stub( 270 IRpcStubBuffer* This, 271 IRpcChannelBuffer* pRpcChannelBuffer, 272 PRPC_MESSAGE pRpcMessage, 273 DWORD* pdwStubPhase); 274 275#endif /* __IMediaBuffer_INTERFACE_DEFINED__ */ 276 277 278typedef struct _DMO_OUTPUT_DATA_BUFFER { 279 IMediaBuffer *pBuffer; 280 DWORD dwStatus; 281 REFERENCE_TIME rtTimestamp; 282 REFERENCE_TIME rtTimelength; 283} DMO_OUTPUT_DATA_BUFFER; 284typedef struct _DMO_OUTPUT_DATA_BUFFER *PDMO_OUTPUT_DATA_BUFFER; 285 286/***************************************************************************** 287 * IMediaObject interface 288 */ 289#ifndef __IMediaObject_INTERFACE_DEFINED__ 290#define __IMediaObject_INTERFACE_DEFINED__ 291 292DEFINE_GUID(IID_IMediaObject, 0xd8ad0f58, 0x5494, 0x4102, 0x97,0xc5, 0xec,0x79,0x8e,0x59,0xbc,0xf4); 293#if defined(__cplusplus) && !defined(CINTERFACE) 294MIDL_INTERFACE("d8ad0f58-5494-4102-97c5-ec798e59bcf4") 295IMediaObject : public IUnknown 296{ 297 virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 298 DWORD *pcInputStreams, 299 DWORD *pcOutputStreams) = 0; 300 301 virtual HRESULT STDMETHODCALLTYPE GetInputStreamInfo( 302 DWORD dwInputStreamIndex, 303 DWORD *pdwFlags) = 0; 304 305 virtual HRESULT STDMETHODCALLTYPE GetOutputStreamInfo( 306 DWORD dwOutputStreamIndex, 307 DWORD *pdwFlags) = 0; 308 309 virtual HRESULT STDMETHODCALLTYPE GetInputType( 310 DWORD dwInputStreamIndex, 311 DWORD dwTypeIndex, 312 DMO_MEDIA_TYPE *pmt) = 0; 313 314 virtual HRESULT STDMETHODCALLTYPE GetOutputType( 315 DWORD dwOutputStreamIndex, 316 DWORD dwTypeIndex, 317 DMO_MEDIA_TYPE *pmt) = 0; 318 319 virtual HRESULT STDMETHODCALLTYPE SetInputType( 320 DWORD dwInputStreamIndex, 321 const DMO_MEDIA_TYPE *pmt, 322 DWORD dwFlags) = 0; 323 324 virtual HRESULT STDMETHODCALLTYPE SetOutputType( 325 DWORD dwOutputStreamIndex, 326 const DMO_MEDIA_TYPE *pmt, 327 DWORD dwFlags) = 0; 328 329 virtual HRESULT STDMETHODCALLTYPE GetInputCurrentType( 330 DWORD dwInputStreamIndex, 331 DMO_MEDIA_TYPE *pmt) = 0; 332 333 virtual HRESULT STDMETHODCALLTYPE GetOutputCurrentType( 334 DWORD dwOutputStreamIndex, 335 DMO_MEDIA_TYPE *pmt) = 0; 336 337 virtual HRESULT STDMETHODCALLTYPE GetInputSizeInfo( 338 DWORD dwInputStreamIndex, 339 DWORD *pcbSize, 340 DWORD *pcbMaxLookahead, 341 DWORD *pcbAlignment) = 0; 342 343 virtual HRESULT STDMETHODCALLTYPE GetOutputSizeInfo( 344 DWORD dwOutputStreamIndex, 345 DWORD *pcbSize, 346 DWORD *pcbAlignment) = 0; 347 348 virtual HRESULT STDMETHODCALLTYPE GetInputMaxLatency( 349 DWORD dwInputStreamIndex, 350 REFERENCE_TIME *prtMaxLatency) = 0; 351 352 virtual HRESULT STDMETHODCALLTYPE SetInputMaxLatency( 353 DWORD dwInputStreamIndex, 354 REFERENCE_TIME rtMaxLatency) = 0; 355 356 virtual HRESULT STDMETHODCALLTYPE Flush( 357 ) = 0; 358 359 virtual HRESULT STDMETHODCALLTYPE Discontinuity( 360 DWORD dwInputStreamIndex) = 0; 361 362 virtual HRESULT STDMETHODCALLTYPE AllocateStreamingResources( 363 ) = 0; 364 365 virtual HRESULT STDMETHODCALLTYPE FreeStreamingResources( 366 ) = 0; 367 368 virtual HRESULT STDMETHODCALLTYPE GetInputStatus( 369 DWORD dwInputStreamIndex, 370 DWORD *dwFlags) = 0; 371 372 virtual HRESULT STDMETHODCALLTYPE ProcessInput( 373 DWORD dwInputStreamIndex, 374 IMediaBuffer *pBuffer, 375 DWORD dwFlags, 376 REFERENCE_TIME rtTimestamp, 377 REFERENCE_TIME rtTimelength) = 0; 378 379 virtual HRESULT STDMETHODCALLTYPE ProcessOutput( 380 DWORD dwFlags, 381 DWORD cOutputBufferCount, 382 DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, 383 DWORD *pdwStatus) = 0; 384 385 virtual HRESULT STDMETHODCALLTYPE Lock( 386 LONG bLock) = 0; 387 388}; 389#ifdef __CRT_UUID_DECL 390__CRT_UUID_DECL(IMediaObject, 0xd8ad0f58, 0x5494, 0x4102, 0x97,0xc5, 0xec,0x79,0x8e,0x59,0xbc,0xf4) 391#endif 392#else 393typedef struct IMediaObjectVtbl { 394 BEGIN_INTERFACE 395 396 /*** IUnknown methods ***/ 397 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 398 IMediaObject* This, 399 REFIID riid, 400 void **ppvObject); 401 402 ULONG (STDMETHODCALLTYPE *AddRef)( 403 IMediaObject* This); 404 405 ULONG (STDMETHODCALLTYPE *Release)( 406 IMediaObject* This); 407 408 /*** IMediaObject methods ***/ 409 HRESULT (STDMETHODCALLTYPE *GetStreamCount)( 410 IMediaObject* This, 411 DWORD *pcInputStreams, 412 DWORD *pcOutputStreams); 413 414 HRESULT (STDMETHODCALLTYPE *GetInputStreamInfo)( 415 IMediaObject* This, 416 DWORD dwInputStreamIndex, 417 DWORD *pdwFlags); 418 419 HRESULT (STDMETHODCALLTYPE *GetOutputStreamInfo)( 420 IMediaObject* This, 421 DWORD dwOutputStreamIndex, 422 DWORD *pdwFlags); 423 424 HRESULT (STDMETHODCALLTYPE *GetInputType)( 425 IMediaObject* This, 426 DWORD dwInputStreamIndex, 427 DWORD dwTypeIndex, 428 DMO_MEDIA_TYPE *pmt); 429 430 HRESULT (STDMETHODCALLTYPE *GetOutputType)( 431 IMediaObject* This, 432 DWORD dwOutputStreamIndex, 433 DWORD dwTypeIndex, 434 DMO_MEDIA_TYPE *pmt); 435 436 HRESULT (STDMETHODCALLTYPE *SetInputType)( 437 IMediaObject* This, 438 DWORD dwInputStreamIndex, 439 const DMO_MEDIA_TYPE *pmt, 440 DWORD dwFlags); 441 442 HRESULT (STDMETHODCALLTYPE *SetOutputType)( 443 IMediaObject* This, 444 DWORD dwOutputStreamIndex, 445 const DMO_MEDIA_TYPE *pmt, 446 DWORD dwFlags); 447 448 HRESULT (STDMETHODCALLTYPE *GetInputCurrentType)( 449 IMediaObject* This, 450 DWORD dwInputStreamIndex, 451 DMO_MEDIA_TYPE *pmt); 452 453 HRESULT (STDMETHODCALLTYPE *GetOutputCurrentType)( 454 IMediaObject* This, 455 DWORD dwOutputStreamIndex, 456 DMO_MEDIA_TYPE *pmt); 457 458 HRESULT (STDMETHODCALLTYPE *GetInputSizeInfo)( 459 IMediaObject* This, 460 DWORD dwInputStreamIndex, 461 DWORD *pcbSize, 462 DWORD *pcbMaxLookahead, 463 DWORD *pcbAlignment); 464 465 HRESULT (STDMETHODCALLTYPE *GetOutputSizeInfo)( 466 IMediaObject* This, 467 DWORD dwOutputStreamIndex, 468 DWORD *pcbSize, 469 DWORD *pcbAlignment); 470 471 HRESULT (STDMETHODCALLTYPE *GetInputMaxLatency)( 472 IMediaObject* This, 473 DWORD dwInputStreamIndex, 474 REFERENCE_TIME *prtMaxLatency); 475 476 HRESULT (STDMETHODCALLTYPE *SetInputMaxLatency)( 477 IMediaObject* This, 478 DWORD dwInputStreamIndex, 479 REFERENCE_TIME rtMaxLatency); 480 481 HRESULT (STDMETHODCALLTYPE *Flush)( 482 IMediaObject* This); 483 484 HRESULT (STDMETHODCALLTYPE *Discontinuity)( 485 IMediaObject* This, 486 DWORD dwInputStreamIndex); 487 488 HRESULT (STDMETHODCALLTYPE *AllocateStreamingResources)( 489 IMediaObject* This); 490 491 HRESULT (STDMETHODCALLTYPE *FreeStreamingResources)( 492 IMediaObject* This); 493 494 HRESULT (STDMETHODCALLTYPE *GetInputStatus)( 495 IMediaObject* This, 496 DWORD dwInputStreamIndex, 497 DWORD *dwFlags); 498 499 HRESULT (STDMETHODCALLTYPE *ProcessInput)( 500 IMediaObject* This, 501 DWORD dwInputStreamIndex, 502 IMediaBuffer *pBuffer, 503 DWORD dwFlags, 504 REFERENCE_TIME rtTimestamp, 505 REFERENCE_TIME rtTimelength); 506 507 HRESULT (STDMETHODCALLTYPE *ProcessOutput)( 508 IMediaObject* This, 509 DWORD dwFlags, 510 DWORD cOutputBufferCount, 511 DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, 512 DWORD *pdwStatus); 513 514 HRESULT (STDMETHODCALLTYPE *Lock)( 515 IMediaObject* This, 516 LONG bLock); 517 518 END_INTERFACE 519} IMediaObjectVtbl; 520interface IMediaObject { 521 CONST_VTBL IMediaObjectVtbl* lpVtbl; 522}; 523 524#ifdef COBJMACROS 525#ifndef WIDL_C_INLINE_WRAPPERS 526/*** IUnknown methods ***/ 527#define IMediaObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 528#define IMediaObject_AddRef(This) (This)->lpVtbl->AddRef(This) 529#define IMediaObject_Release(This) (This)->lpVtbl->Release(This) 530/*** IMediaObject methods ***/ 531#define IMediaObject_GetStreamCount(This,pcInputStreams,pcOutputStreams) (This)->lpVtbl->GetStreamCount(This,pcInputStreams,pcOutputStreams) 532#define IMediaObject_GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags) (This)->lpVtbl->GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags) 533#define IMediaObject_GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags) (This)->lpVtbl->GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags) 534#define IMediaObject_GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt) (This)->lpVtbl->GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt) 535#define IMediaObject_GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt) (This)->lpVtbl->GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt) 536#define IMediaObject_SetInputType(This,dwInputStreamIndex,pmt,dwFlags) (This)->lpVtbl->SetInputType(This,dwInputStreamIndex,pmt,dwFlags) 537#define IMediaObject_SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags) (This)->lpVtbl->SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags) 538#define IMediaObject_GetInputCurrentType(This,dwInputStreamIndex,pmt) (This)->lpVtbl->GetInputCurrentType(This,dwInputStreamIndex,pmt) 539#define IMediaObject_GetOutputCurrentType(This,dwOutputStreamIndex,pmt) (This)->lpVtbl->GetOutputCurrentType(This,dwOutputStreamIndex,pmt) 540#define IMediaObject_GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment) (This)->lpVtbl->GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment) 541#define IMediaObject_GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment) (This)->lpVtbl->GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment) 542#define IMediaObject_GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency) (This)->lpVtbl->GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency) 543#define IMediaObject_SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency) (This)->lpVtbl->SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency) 544#define IMediaObject_Flush(This) (This)->lpVtbl->Flush(This) 545#define IMediaObject_Discontinuity(This,dwInputStreamIndex) (This)->lpVtbl->Discontinuity(This,dwInputStreamIndex) 546#define IMediaObject_AllocateStreamingResources(This) (This)->lpVtbl->AllocateStreamingResources(This) 547#define IMediaObject_FreeStreamingResources(This) (This)->lpVtbl->FreeStreamingResources(This) 548#define IMediaObject_GetInputStatus(This,dwInputStreamIndex,dwFlags) (This)->lpVtbl->GetInputStatus(This,dwInputStreamIndex,dwFlags) 549#define IMediaObject_ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength) (This)->lpVtbl->ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength) 550#define IMediaObject_ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus) (This)->lpVtbl->ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus) 551#define IMediaObject_Lock(This,bLock) (This)->lpVtbl->Lock(This,bLock) 552#else 553/*** IUnknown methods ***/ 554static FORCEINLINE HRESULT IMediaObject_QueryInterface(IMediaObject* This,REFIID riid,void **ppvObject) { 555 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 556} 557static FORCEINLINE ULONG IMediaObject_AddRef(IMediaObject* This) { 558 return This->lpVtbl->AddRef(This); 559} 560static FORCEINLINE ULONG IMediaObject_Release(IMediaObject* This) { 561 return This->lpVtbl->Release(This); 562} 563/*** IMediaObject methods ***/ 564static FORCEINLINE HRESULT IMediaObject_GetStreamCount(IMediaObject* This,DWORD *pcInputStreams,DWORD *pcOutputStreams) { 565 return This->lpVtbl->GetStreamCount(This,pcInputStreams,pcOutputStreams); 566} 567static FORCEINLINE HRESULT IMediaObject_GetInputStreamInfo(IMediaObject* This,DWORD dwInputStreamIndex,DWORD *pdwFlags) { 568 return This->lpVtbl->GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags); 569} 570static FORCEINLINE HRESULT IMediaObject_GetOutputStreamInfo(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD *pdwFlags) { 571 return This->lpVtbl->GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags); 572} 573static FORCEINLINE HRESULT IMediaObject_GetInputType(IMediaObject* This,DWORD dwInputStreamIndex,DWORD dwTypeIndex,DMO_MEDIA_TYPE *pmt) { 574 return This->lpVtbl->GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt); 575} 576static FORCEINLINE HRESULT IMediaObject_GetOutputType(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD dwTypeIndex,DMO_MEDIA_TYPE *pmt) { 577 return This->lpVtbl->GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt); 578} 579static FORCEINLINE HRESULT IMediaObject_SetInputType(IMediaObject* This,DWORD dwInputStreamIndex,const DMO_MEDIA_TYPE *pmt,DWORD dwFlags) { 580 return This->lpVtbl->SetInputType(This,dwInputStreamIndex,pmt,dwFlags); 581} 582static FORCEINLINE HRESULT IMediaObject_SetOutputType(IMediaObject* This,DWORD dwOutputStreamIndex,const DMO_MEDIA_TYPE *pmt,DWORD dwFlags) { 583 return This->lpVtbl->SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags); 584} 585static FORCEINLINE HRESULT IMediaObject_GetInputCurrentType(IMediaObject* This,DWORD dwInputStreamIndex,DMO_MEDIA_TYPE *pmt) { 586 return This->lpVtbl->GetInputCurrentType(This,dwInputStreamIndex,pmt); 587} 588static FORCEINLINE HRESULT IMediaObject_GetOutputCurrentType(IMediaObject* This,DWORD dwOutputStreamIndex,DMO_MEDIA_TYPE *pmt) { 589 return This->lpVtbl->GetOutputCurrentType(This,dwOutputStreamIndex,pmt); 590} 591static FORCEINLINE HRESULT IMediaObject_GetInputSizeInfo(IMediaObject* This,DWORD dwInputStreamIndex,DWORD *pcbSize,DWORD *pcbMaxLookahead,DWORD *pcbAlignment) { 592 return This->lpVtbl->GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment); 593} 594static FORCEINLINE HRESULT IMediaObject_GetOutputSizeInfo(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD *pcbSize,DWORD *pcbAlignment) { 595 return This->lpVtbl->GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment); 596} 597static FORCEINLINE HRESULT IMediaObject_GetInputMaxLatency(IMediaObject* This,DWORD dwInputStreamIndex,REFERENCE_TIME *prtMaxLatency) { 598 return This->lpVtbl->GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency); 599} 600static FORCEINLINE HRESULT IMediaObject_SetInputMaxLatency(IMediaObject* This,DWORD dwInputStreamIndex,REFERENCE_TIME rtMaxLatency) { 601 return This->lpVtbl->SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency); 602} 603static FORCEINLINE HRESULT IMediaObject_Flush(IMediaObject* This) { 604 return This->lpVtbl->Flush(This); 605} 606static FORCEINLINE HRESULT IMediaObject_Discontinuity(IMediaObject* This,DWORD dwInputStreamIndex) { 607 return This->lpVtbl->Discontinuity(This,dwInputStreamIndex); 608} 609static FORCEINLINE HRESULT IMediaObject_AllocateStreamingResources(IMediaObject* This) { 610 return This->lpVtbl->AllocateStreamingResources(This); 611} 612static FORCEINLINE HRESULT IMediaObject_FreeStreamingResources(IMediaObject* This) { 613 return This->lpVtbl->FreeStreamingResources(This); 614} 615static FORCEINLINE HRESULT IMediaObject_GetInputStatus(IMediaObject* This,DWORD dwInputStreamIndex,DWORD *dwFlags) { 616 return This->lpVtbl->GetInputStatus(This,dwInputStreamIndex,dwFlags); 617} 618static FORCEINLINE HRESULT IMediaObject_ProcessInput(IMediaObject* This,DWORD dwInputStreamIndex,IMediaBuffer *pBuffer,DWORD dwFlags,REFERENCE_TIME rtTimestamp,REFERENCE_TIME rtTimelength) { 619 return This->lpVtbl->ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength); 620} 621static FORCEINLINE HRESULT IMediaObject_ProcessOutput(IMediaObject* This,DWORD dwFlags,DWORD cOutputBufferCount,DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,DWORD *pdwStatus) { 622 return This->lpVtbl->ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus); 623} 624static FORCEINLINE HRESULT IMediaObject_Lock(IMediaObject* This,LONG bLock) { 625 return This->lpVtbl->Lock(This,bLock); 626} 627#endif 628#endif 629 630#endif 631 632HRESULT STDMETHODCALLTYPE IMediaObject_GetStreamCount_Proxy( 633 IMediaObject* This, 634 DWORD *pcInputStreams, 635 DWORD *pcOutputStreams); 636void __RPC_STUB IMediaObject_GetStreamCount_Stub( 637 IRpcStubBuffer* This, 638 IRpcChannelBuffer* pRpcChannelBuffer, 639 PRPC_MESSAGE pRpcMessage, 640 DWORD* pdwStubPhase); 641HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStreamInfo_Proxy( 642 IMediaObject* This, 643 DWORD dwInputStreamIndex, 644 DWORD *pdwFlags); 645void __RPC_STUB IMediaObject_GetInputStreamInfo_Stub( 646 IRpcStubBuffer* This, 647 IRpcChannelBuffer* pRpcChannelBuffer, 648 PRPC_MESSAGE pRpcMessage, 649 DWORD* pdwStubPhase); 650HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputStreamInfo_Proxy( 651 IMediaObject* This, 652 DWORD dwOutputStreamIndex, 653 DWORD *pdwFlags); 654void __RPC_STUB IMediaObject_GetOutputStreamInfo_Stub( 655 IRpcStubBuffer* This, 656 IRpcChannelBuffer* pRpcChannelBuffer, 657 PRPC_MESSAGE pRpcMessage, 658 DWORD* pdwStubPhase); 659HRESULT STDMETHODCALLTYPE IMediaObject_GetInputType_Proxy( 660 IMediaObject* This, 661 DWORD dwInputStreamIndex, 662 DWORD dwTypeIndex, 663 DMO_MEDIA_TYPE *pmt); 664void __RPC_STUB IMediaObject_GetInputType_Stub( 665 IRpcStubBuffer* This, 666 IRpcChannelBuffer* pRpcChannelBuffer, 667 PRPC_MESSAGE pRpcMessage, 668 DWORD* pdwStubPhase); 669HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputType_Proxy( 670 IMediaObject* This, 671 DWORD dwOutputStreamIndex, 672 DWORD dwTypeIndex, 673 DMO_MEDIA_TYPE *pmt); 674void __RPC_STUB IMediaObject_GetOutputType_Stub( 675 IRpcStubBuffer* This, 676 IRpcChannelBuffer* pRpcChannelBuffer, 677 PRPC_MESSAGE pRpcMessage, 678 DWORD* pdwStubPhase); 679HRESULT STDMETHODCALLTYPE IMediaObject_SetInputType_Proxy( 680 IMediaObject* This, 681 DWORD dwInputStreamIndex, 682 const DMO_MEDIA_TYPE *pmt, 683 DWORD dwFlags); 684void __RPC_STUB IMediaObject_SetInputType_Stub( 685 IRpcStubBuffer* This, 686 IRpcChannelBuffer* pRpcChannelBuffer, 687 PRPC_MESSAGE pRpcMessage, 688 DWORD* pdwStubPhase); 689HRESULT STDMETHODCALLTYPE IMediaObject_SetOutputType_Proxy( 690 IMediaObject* This, 691 DWORD dwOutputStreamIndex, 692 const DMO_MEDIA_TYPE *pmt, 693 DWORD dwFlags); 694void __RPC_STUB IMediaObject_SetOutputType_Stub( 695 IRpcStubBuffer* This, 696 IRpcChannelBuffer* pRpcChannelBuffer, 697 PRPC_MESSAGE pRpcMessage, 698 DWORD* pdwStubPhase); 699HRESULT STDMETHODCALLTYPE IMediaObject_GetInputCurrentType_Proxy( 700 IMediaObject* This, 701 DWORD dwInputStreamIndex, 702 DMO_MEDIA_TYPE *pmt); 703void __RPC_STUB IMediaObject_GetInputCurrentType_Stub( 704 IRpcStubBuffer* This, 705 IRpcChannelBuffer* pRpcChannelBuffer, 706 PRPC_MESSAGE pRpcMessage, 707 DWORD* pdwStubPhase); 708HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputCurrentType_Proxy( 709 IMediaObject* This, 710 DWORD dwOutputStreamIndex, 711 DMO_MEDIA_TYPE *pmt); 712void __RPC_STUB IMediaObject_GetOutputCurrentType_Stub( 713 IRpcStubBuffer* This, 714 IRpcChannelBuffer* pRpcChannelBuffer, 715 PRPC_MESSAGE pRpcMessage, 716 DWORD* pdwStubPhase); 717HRESULT STDMETHODCALLTYPE IMediaObject_GetInputSizeInfo_Proxy( 718 IMediaObject* This, 719 DWORD dwInputStreamIndex, 720 DWORD *pcbSize, 721 DWORD *pcbMaxLookahead, 722 DWORD *pcbAlignment); 723void __RPC_STUB IMediaObject_GetInputSizeInfo_Stub( 724 IRpcStubBuffer* This, 725 IRpcChannelBuffer* pRpcChannelBuffer, 726 PRPC_MESSAGE pRpcMessage, 727 DWORD* pdwStubPhase); 728HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputSizeInfo_Proxy( 729 IMediaObject* This, 730 DWORD dwOutputStreamIndex, 731 DWORD *pcbSize, 732 DWORD *pcbAlignment); 733void __RPC_STUB IMediaObject_GetOutputSizeInfo_Stub( 734 IRpcStubBuffer* This, 735 IRpcChannelBuffer* pRpcChannelBuffer, 736 PRPC_MESSAGE pRpcMessage, 737 DWORD* pdwStubPhase); 738HRESULT STDMETHODCALLTYPE IMediaObject_GetInputMaxLatency_Proxy( 739 IMediaObject* This, 740 DWORD dwInputStreamIndex, 741 REFERENCE_TIME *prtMaxLatency); 742void __RPC_STUB IMediaObject_GetInputMaxLatency_Stub( 743 IRpcStubBuffer* This, 744 IRpcChannelBuffer* pRpcChannelBuffer, 745 PRPC_MESSAGE pRpcMessage, 746 DWORD* pdwStubPhase); 747HRESULT STDMETHODCALLTYPE IMediaObject_SetInputMaxLatency_Proxy( 748 IMediaObject* This, 749 DWORD dwInputStreamIndex, 750 REFERENCE_TIME rtMaxLatency); 751void __RPC_STUB IMediaObject_SetInputMaxLatency_Stub( 752 IRpcStubBuffer* This, 753 IRpcChannelBuffer* pRpcChannelBuffer, 754 PRPC_MESSAGE pRpcMessage, 755 DWORD* pdwStubPhase); 756HRESULT STDMETHODCALLTYPE IMediaObject_Flush_Proxy( 757 IMediaObject* This); 758void __RPC_STUB IMediaObject_Flush_Stub( 759 IRpcStubBuffer* This, 760 IRpcChannelBuffer* pRpcChannelBuffer, 761 PRPC_MESSAGE pRpcMessage, 762 DWORD* pdwStubPhase); 763HRESULT STDMETHODCALLTYPE IMediaObject_Discontinuity_Proxy( 764 IMediaObject* This, 765 DWORD dwInputStreamIndex); 766void __RPC_STUB IMediaObject_Discontinuity_Stub( 767 IRpcStubBuffer* This, 768 IRpcChannelBuffer* pRpcChannelBuffer, 769 PRPC_MESSAGE pRpcMessage, 770 DWORD* pdwStubPhase); 771HRESULT STDMETHODCALLTYPE IMediaObject_AllocateStreamingResources_Proxy( 772 IMediaObject* This); 773void __RPC_STUB IMediaObject_AllocateStreamingResources_Stub( 774 IRpcStubBuffer* This, 775 IRpcChannelBuffer* pRpcChannelBuffer, 776 PRPC_MESSAGE pRpcMessage, 777 DWORD* pdwStubPhase); 778HRESULT STDMETHODCALLTYPE IMediaObject_FreeStreamingResources_Proxy( 779 IMediaObject* This); 780void __RPC_STUB IMediaObject_FreeStreamingResources_Stub( 781 IRpcStubBuffer* This, 782 IRpcChannelBuffer* pRpcChannelBuffer, 783 PRPC_MESSAGE pRpcMessage, 784 DWORD* pdwStubPhase); 785HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStatus_Proxy( 786 IMediaObject* This, 787 DWORD dwInputStreamIndex, 788 DWORD *dwFlags); 789void __RPC_STUB IMediaObject_GetInputStatus_Stub( 790 IRpcStubBuffer* This, 791 IRpcChannelBuffer* pRpcChannelBuffer, 792 PRPC_MESSAGE pRpcMessage, 793 DWORD* pdwStubPhase); 794HRESULT STDMETHODCALLTYPE IMediaObject_ProcessInput_Proxy( 795 IMediaObject* This, 796 DWORD dwInputStreamIndex, 797 IMediaBuffer *pBuffer, 798 DWORD dwFlags, 799 REFERENCE_TIME rtTimestamp, 800 REFERENCE_TIME rtTimelength); 801void __RPC_STUB IMediaObject_ProcessInput_Stub( 802 IRpcStubBuffer* This, 803 IRpcChannelBuffer* pRpcChannelBuffer, 804 PRPC_MESSAGE pRpcMessage, 805 DWORD* pdwStubPhase); 806HRESULT STDMETHODCALLTYPE IMediaObject_ProcessOutput_Proxy( 807 IMediaObject* This, 808 DWORD dwFlags, 809 DWORD cOutputBufferCount, 810 DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, 811 DWORD *pdwStatus); 812void __RPC_STUB IMediaObject_ProcessOutput_Stub( 813 IRpcStubBuffer* This, 814 IRpcChannelBuffer* pRpcChannelBuffer, 815 PRPC_MESSAGE pRpcMessage, 816 DWORD* pdwStubPhase); 817HRESULT STDMETHODCALLTYPE IMediaObject_Lock_Proxy( 818 IMediaObject* This, 819 LONG bLock); 820void __RPC_STUB IMediaObject_Lock_Stub( 821 IRpcStubBuffer* This, 822 IRpcChannelBuffer* pRpcChannelBuffer, 823 PRPC_MESSAGE pRpcMessage, 824 DWORD* pdwStubPhase); 825 826#endif /* __IMediaObject_INTERFACE_DEFINED__ */ 827 828 829/***************************************************************************** 830 * IEnumDMO interface 831 */ 832#ifndef __IEnumDMO_INTERFACE_DEFINED__ 833#define __IEnumDMO_INTERFACE_DEFINED__ 834 835DEFINE_GUID(IID_IEnumDMO, 0x2c3cd98a, 0x2bfa, 0x4a53, 0x9c,0x27, 0x52,0x49,0xba,0x64,0xba,0x0f); 836#if defined(__cplusplus) && !defined(CINTERFACE) 837MIDL_INTERFACE("2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f") 838IEnumDMO : public IUnknown 839{ 840 virtual HRESULT STDMETHODCALLTYPE Next( 841 DWORD cItemsToFetch, 842 CLSID *pCLSID, 843 LPWSTR *Names, 844 DWORD *pcItemsFetched) = 0; 845 846 virtual HRESULT STDMETHODCALLTYPE Skip( 847 DWORD cItemsToSkip) = 0; 848 849 virtual HRESULT STDMETHODCALLTYPE Reset( 850 ) = 0; 851 852 virtual HRESULT STDMETHODCALLTYPE Clone( 853 IEnumDMO **ppEnum) = 0; 854 855}; 856#ifdef __CRT_UUID_DECL 857__CRT_UUID_DECL(IEnumDMO, 0x2c3cd98a, 0x2bfa, 0x4a53, 0x9c,0x27, 0x52,0x49,0xba,0x64,0xba,0x0f) 858#endif 859#else 860typedef struct IEnumDMOVtbl { 861 BEGIN_INTERFACE 862 863 /*** IUnknown methods ***/ 864 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 865 IEnumDMO* This, 866 REFIID riid, 867 void **ppvObject); 868 869 ULONG (STDMETHODCALLTYPE *AddRef)( 870 IEnumDMO* This); 871 872 ULONG (STDMETHODCALLTYPE *Release)( 873 IEnumDMO* This); 874 875 /*** IEnumDMO methods ***/ 876 HRESULT (STDMETHODCALLTYPE *Next)( 877 IEnumDMO* This, 878 DWORD cItemsToFetch, 879 CLSID *pCLSID, 880 LPWSTR *Names, 881 DWORD *pcItemsFetched); 882 883 HRESULT (STDMETHODCALLTYPE *Skip)( 884 IEnumDMO* This, 885 DWORD cItemsToSkip); 886 887 HRESULT (STDMETHODCALLTYPE *Reset)( 888 IEnumDMO* This); 889 890 HRESULT (STDMETHODCALLTYPE *Clone)( 891 IEnumDMO* This, 892 IEnumDMO **ppEnum); 893 894 END_INTERFACE 895} IEnumDMOVtbl; 896interface IEnumDMO { 897 CONST_VTBL IEnumDMOVtbl* lpVtbl; 898}; 899 900#ifdef COBJMACROS 901#ifndef WIDL_C_INLINE_WRAPPERS 902/*** IUnknown methods ***/ 903#define IEnumDMO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 904#define IEnumDMO_AddRef(This) (This)->lpVtbl->AddRef(This) 905#define IEnumDMO_Release(This) (This)->lpVtbl->Release(This) 906/*** IEnumDMO methods ***/ 907#define IEnumDMO_Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched) (This)->lpVtbl->Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched) 908#define IEnumDMO_Skip(This,cItemsToSkip) (This)->lpVtbl->Skip(This,cItemsToSkip) 909#define IEnumDMO_Reset(This) (This)->lpVtbl->Reset(This) 910#define IEnumDMO_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 911#else 912/*** IUnknown methods ***/ 913static FORCEINLINE HRESULT IEnumDMO_QueryInterface(IEnumDMO* This,REFIID riid,void **ppvObject) { 914 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 915} 916static FORCEINLINE ULONG IEnumDMO_AddRef(IEnumDMO* This) { 917 return This->lpVtbl->AddRef(This); 918} 919static FORCEINLINE ULONG IEnumDMO_Release(IEnumDMO* This) { 920 return This->lpVtbl->Release(This); 921} 922/*** IEnumDMO methods ***/ 923static FORCEINLINE HRESULT IEnumDMO_Next(IEnumDMO* This,DWORD cItemsToFetch,CLSID *pCLSID,LPWSTR *Names,DWORD *pcItemsFetched) { 924 return This->lpVtbl->Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched); 925} 926static FORCEINLINE HRESULT IEnumDMO_Skip(IEnumDMO* This,DWORD cItemsToSkip) { 927 return This->lpVtbl->Skip(This,cItemsToSkip); 928} 929static FORCEINLINE HRESULT IEnumDMO_Reset(IEnumDMO* This) { 930 return This->lpVtbl->Reset(This); 931} 932static FORCEINLINE HRESULT IEnumDMO_Clone(IEnumDMO* This,IEnumDMO **ppEnum) { 933 return This->lpVtbl->Clone(This,ppEnum); 934} 935#endif 936#endif 937 938#endif 939 940HRESULT STDMETHODCALLTYPE IEnumDMO_Next_Proxy( 941 IEnumDMO* This, 942 DWORD cItemsToFetch, 943 CLSID *pCLSID, 944 LPWSTR *Names, 945 DWORD *pcItemsFetched); 946void __RPC_STUB IEnumDMO_Next_Stub( 947 IRpcStubBuffer* This, 948 IRpcChannelBuffer* pRpcChannelBuffer, 949 PRPC_MESSAGE pRpcMessage, 950 DWORD* pdwStubPhase); 951HRESULT STDMETHODCALLTYPE IEnumDMO_Skip_Proxy( 952 IEnumDMO* This, 953 DWORD cItemsToSkip); 954void __RPC_STUB IEnumDMO_Skip_Stub( 955 IRpcStubBuffer* This, 956 IRpcChannelBuffer* pRpcChannelBuffer, 957 PRPC_MESSAGE pRpcMessage, 958 DWORD* pdwStubPhase); 959HRESULT STDMETHODCALLTYPE IEnumDMO_Reset_Proxy( 960 IEnumDMO* This); 961void __RPC_STUB IEnumDMO_Reset_Stub( 962 IRpcStubBuffer* This, 963 IRpcChannelBuffer* pRpcChannelBuffer, 964 PRPC_MESSAGE pRpcMessage, 965 DWORD* pdwStubPhase); 966HRESULT STDMETHODCALLTYPE IEnumDMO_Clone_Proxy( 967 IEnumDMO* This, 968 IEnumDMO **ppEnum); 969void __RPC_STUB IEnumDMO_Clone_Stub( 970 IRpcStubBuffer* This, 971 IRpcChannelBuffer* pRpcChannelBuffer, 972 PRPC_MESSAGE pRpcMessage, 973 DWORD* pdwStubPhase); 974 975#endif /* __IEnumDMO_INTERFACE_DEFINED__ */ 976 977 978/***************************************************************************** 979 * IMediaObjectInPlace interface 980 */ 981#ifndef __IMediaObjectInPlace_INTERFACE_DEFINED__ 982#define __IMediaObjectInPlace_INTERFACE_DEFINED__ 983 984DEFINE_GUID(IID_IMediaObjectInPlace, 0x651b9ad0, 0x0fc7, 0x4aa9, 0x95,0x38, 0xd8,0x99,0x31,0x01,0x07,0x41); 985#if defined(__cplusplus) && !defined(CINTERFACE) 986MIDL_INTERFACE("651b9ad0-0fc7-4aa9-9538-d89931010741") 987IMediaObjectInPlace : public IUnknown 988{ 989 virtual HRESULT STDMETHODCALLTYPE Process( 990 ULONG ulSize, 991 BYTE *pData, 992 REFERENCE_TIME refTimeStart, 993 DWORD dwFlags) = 0; 994 995 virtual HRESULT STDMETHODCALLTYPE Clone( 996 IMediaObjectInPlace **ppMediaObject) = 0; 997 998 virtual HRESULT STDMETHODCALLTYPE GetLatency( 999 REFERENCE_TIME *pLatencyTime) = 0; 1000 1001}; 1002#ifdef __CRT_UUID_DECL 1003__CRT_UUID_DECL(IMediaObjectInPlace, 0x651b9ad0, 0x0fc7, 0x4aa9, 0x95,0x38, 0xd8,0x99,0x31,0x01,0x07,0x41) 1004#endif 1005#else 1006typedef struct IMediaObjectInPlaceVtbl { 1007 BEGIN_INTERFACE 1008 1009 /*** IUnknown methods ***/ 1010 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1011 IMediaObjectInPlace* This, 1012 REFIID riid, 1013 void **ppvObject); 1014 1015 ULONG (STDMETHODCALLTYPE *AddRef)( 1016 IMediaObjectInPlace* This); 1017 1018 ULONG (STDMETHODCALLTYPE *Release)( 1019 IMediaObjectInPlace* This); 1020 1021 /*** IMediaObjectInPlace methods ***/ 1022 HRESULT (STDMETHODCALLTYPE *Process)( 1023 IMediaObjectInPlace* This, 1024 ULONG ulSize, 1025 BYTE *pData, 1026 REFERENCE_TIME refTimeStart, 1027 DWORD dwFlags); 1028 1029 HRESULT (STDMETHODCALLTYPE *Clone)( 1030 IMediaObjectInPlace* This, 1031 IMediaObjectInPlace **ppMediaObject); 1032 1033 HRESULT (STDMETHODCALLTYPE *GetLatency)( 1034 IMediaObjectInPlace* This, 1035 REFERENCE_TIME *pLatencyTime); 1036 1037 END_INTERFACE 1038} IMediaObjectInPlaceVtbl; 1039interface IMediaObjectInPlace { 1040 CONST_VTBL IMediaObjectInPlaceVtbl* lpVtbl; 1041}; 1042 1043#ifdef COBJMACROS 1044#ifndef WIDL_C_INLINE_WRAPPERS 1045/*** IUnknown methods ***/ 1046#define IMediaObjectInPlace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1047#define IMediaObjectInPlace_AddRef(This) (This)->lpVtbl->AddRef(This) 1048#define IMediaObjectInPlace_Release(This) (This)->lpVtbl->Release(This) 1049/*** IMediaObjectInPlace methods ***/ 1050#define IMediaObjectInPlace_Process(This,ulSize,pData,refTimeStart,dwFlags) (This)->lpVtbl->Process(This,ulSize,pData,refTimeStart,dwFlags) 1051#define IMediaObjectInPlace_Clone(This,ppMediaObject) (This)->lpVtbl->Clone(This,ppMediaObject) 1052#define IMediaObjectInPlace_GetLatency(This,pLatencyTime) (This)->lpVtbl->GetLatency(This,pLatencyTime) 1053#else 1054/*** IUnknown methods ***/ 1055static FORCEINLINE HRESULT IMediaObjectInPlace_QueryInterface(IMediaObjectInPlace* This,REFIID riid,void **ppvObject) { 1056 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1057} 1058static FORCEINLINE ULONG IMediaObjectInPlace_AddRef(IMediaObjectInPlace* This) { 1059 return This->lpVtbl->AddRef(This); 1060} 1061static FORCEINLINE ULONG IMediaObjectInPlace_Release(IMediaObjectInPlace* This) { 1062 return This->lpVtbl->Release(This); 1063} 1064/*** IMediaObjectInPlace methods ***/ 1065static FORCEINLINE HRESULT IMediaObjectInPlace_Process(IMediaObjectInPlace* This,ULONG ulSize,BYTE *pData,REFERENCE_TIME refTimeStart,DWORD dwFlags) { 1066 return This->lpVtbl->Process(This,ulSize,pData,refTimeStart,dwFlags); 1067} 1068static FORCEINLINE HRESULT IMediaObjectInPlace_Clone(IMediaObjectInPlace* This,IMediaObjectInPlace **ppMediaObject) { 1069 return This->lpVtbl->Clone(This,ppMediaObject); 1070} 1071static FORCEINLINE HRESULT IMediaObjectInPlace_GetLatency(IMediaObjectInPlace* This,REFERENCE_TIME *pLatencyTime) { 1072 return This->lpVtbl->GetLatency(This,pLatencyTime); 1073} 1074#endif 1075#endif 1076 1077#endif 1078 1079HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Process_Proxy( 1080 IMediaObjectInPlace* This, 1081 ULONG ulSize, 1082 BYTE *pData, 1083 REFERENCE_TIME refTimeStart, 1084 DWORD dwFlags); 1085void __RPC_STUB IMediaObjectInPlace_Process_Stub( 1086 IRpcStubBuffer* This, 1087 IRpcChannelBuffer* pRpcChannelBuffer, 1088 PRPC_MESSAGE pRpcMessage, 1089 DWORD* pdwStubPhase); 1090HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Clone_Proxy( 1091 IMediaObjectInPlace* This, 1092 IMediaObjectInPlace **ppMediaObject); 1093void __RPC_STUB IMediaObjectInPlace_Clone_Stub( 1094 IRpcStubBuffer* This, 1095 IRpcChannelBuffer* pRpcChannelBuffer, 1096 PRPC_MESSAGE pRpcMessage, 1097 DWORD* pdwStubPhase); 1098HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_GetLatency_Proxy( 1099 IMediaObjectInPlace* This, 1100 REFERENCE_TIME *pLatencyTime); 1101void __RPC_STUB IMediaObjectInPlace_GetLatency_Stub( 1102 IRpcStubBuffer* This, 1103 IRpcChannelBuffer* pRpcChannelBuffer, 1104 PRPC_MESSAGE pRpcMessage, 1105 DWORD* pdwStubPhase); 1106 1107#endif /* __IMediaObjectInPlace_INTERFACE_DEFINED__ */ 1108 1109 1110/***************************************************************************** 1111 * IDMOQualityControl interface 1112 */ 1113#ifndef __IDMOQualityControl_INTERFACE_DEFINED__ 1114#define __IDMOQualityControl_INTERFACE_DEFINED__ 1115 1116DEFINE_GUID(IID_IDMOQualityControl, 0x65abea96, 0xcf36, 0x453f, 0xaf,0x8a, 0x70,0x5e,0x98,0xf1,0x62,0x60); 1117#if defined(__cplusplus) && !defined(CINTERFACE) 1118MIDL_INTERFACE("65abea96-cf36-453f-af8a-705e98f16260") 1119IDMOQualityControl : public IUnknown 1120{ 1121 virtual HRESULT STDMETHODCALLTYPE SetNow( 1122 REFERENCE_TIME rtNow) = 0; 1123 1124 virtual HRESULT STDMETHODCALLTYPE SetStatus( 1125 DWORD dwFlags) = 0; 1126 1127 virtual HRESULT STDMETHODCALLTYPE GetStatus( 1128 DWORD *pdwFlags) = 0; 1129 1130}; 1131#ifdef __CRT_UUID_DECL 1132__CRT_UUID_DECL(IDMOQualityControl, 0x65abea96, 0xcf36, 0x453f, 0xaf,0x8a, 0x70,0x5e,0x98,0xf1,0x62,0x60) 1133#endif 1134#else 1135typedef struct IDMOQualityControlVtbl { 1136 BEGIN_INTERFACE 1137 1138 /*** IUnknown methods ***/ 1139 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1140 IDMOQualityControl* This, 1141 REFIID riid, 1142 void **ppvObject); 1143 1144 ULONG (STDMETHODCALLTYPE *AddRef)( 1145 IDMOQualityControl* This); 1146 1147 ULONG (STDMETHODCALLTYPE *Release)( 1148 IDMOQualityControl* This); 1149 1150 /*** IDMOQualityControl methods ***/ 1151 HRESULT (STDMETHODCALLTYPE *SetNow)( 1152 IDMOQualityControl* This, 1153 REFERENCE_TIME rtNow); 1154 1155 HRESULT (STDMETHODCALLTYPE *SetStatus)( 1156 IDMOQualityControl* This, 1157 DWORD dwFlags); 1158 1159 HRESULT (STDMETHODCALLTYPE *GetStatus)( 1160 IDMOQualityControl* This, 1161 DWORD *pdwFlags); 1162 1163 END_INTERFACE 1164} IDMOQualityControlVtbl; 1165interface IDMOQualityControl { 1166 CONST_VTBL IDMOQualityControlVtbl* lpVtbl; 1167}; 1168 1169#ifdef COBJMACROS 1170#ifndef WIDL_C_INLINE_WRAPPERS 1171/*** IUnknown methods ***/ 1172#define IDMOQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1173#define IDMOQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This) 1174#define IDMOQualityControl_Release(This) (This)->lpVtbl->Release(This) 1175/*** IDMOQualityControl methods ***/ 1176#define IDMOQualityControl_SetNow(This,rtNow) (This)->lpVtbl->SetNow(This,rtNow) 1177#define IDMOQualityControl_SetStatus(This,dwFlags) (This)->lpVtbl->SetStatus(This,dwFlags) 1178#define IDMOQualityControl_GetStatus(This,pdwFlags) (This)->lpVtbl->GetStatus(This,pdwFlags) 1179#else 1180/*** IUnknown methods ***/ 1181static FORCEINLINE HRESULT IDMOQualityControl_QueryInterface(IDMOQualityControl* This,REFIID riid,void **ppvObject) { 1182 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1183} 1184static FORCEINLINE ULONG IDMOQualityControl_AddRef(IDMOQualityControl* This) { 1185 return This->lpVtbl->AddRef(This); 1186} 1187static FORCEINLINE ULONG IDMOQualityControl_Release(IDMOQualityControl* This) { 1188 return This->lpVtbl->Release(This); 1189} 1190/*** IDMOQualityControl methods ***/ 1191static FORCEINLINE HRESULT IDMOQualityControl_SetNow(IDMOQualityControl* This,REFERENCE_TIME rtNow) { 1192 return This->lpVtbl->SetNow(This,rtNow); 1193} 1194static FORCEINLINE HRESULT IDMOQualityControl_SetStatus(IDMOQualityControl* This,DWORD dwFlags) { 1195 return This->lpVtbl->SetStatus(This,dwFlags); 1196} 1197static FORCEINLINE HRESULT IDMOQualityControl_GetStatus(IDMOQualityControl* This,DWORD *pdwFlags) { 1198 return This->lpVtbl->GetStatus(This,pdwFlags); 1199} 1200#endif 1201#endif 1202 1203#endif 1204 1205HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetNow_Proxy( 1206 IDMOQualityControl* This, 1207 REFERENCE_TIME rtNow); 1208void __RPC_STUB IDMOQualityControl_SetNow_Stub( 1209 IRpcStubBuffer* This, 1210 IRpcChannelBuffer* pRpcChannelBuffer, 1211 PRPC_MESSAGE pRpcMessage, 1212 DWORD* pdwStubPhase); 1213HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetStatus_Proxy( 1214 IDMOQualityControl* This, 1215 DWORD dwFlags); 1216void __RPC_STUB IDMOQualityControl_SetStatus_Stub( 1217 IRpcStubBuffer* This, 1218 IRpcChannelBuffer* pRpcChannelBuffer, 1219 PRPC_MESSAGE pRpcMessage, 1220 DWORD* pdwStubPhase); 1221HRESULT STDMETHODCALLTYPE IDMOQualityControl_GetStatus_Proxy( 1222 IDMOQualityControl* This, 1223 DWORD *pdwFlags); 1224void __RPC_STUB IDMOQualityControl_GetStatus_Stub( 1225 IRpcStubBuffer* This, 1226 IRpcChannelBuffer* pRpcChannelBuffer, 1227 PRPC_MESSAGE pRpcMessage, 1228 DWORD* pdwStubPhase); 1229 1230#endif /* __IDMOQualityControl_INTERFACE_DEFINED__ */ 1231 1232 1233/***************************************************************************** 1234 * IDMOVideoOutputOptimizations interface 1235 */ 1236#ifndef __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__ 1237#define __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__ 1238 1239DEFINE_GUID(IID_IDMOVideoOutputOptimizations, 0xbe8f4f4e, 0x5b16, 0x4d29, 0xb3,0x50, 0x7f,0x6b,0x5d,0x92,0x98,0xac); 1240#if defined(__cplusplus) && !defined(CINTERFACE) 1241MIDL_INTERFACE("be8f4f4e-5b16-4d29-b350-7f6b5d9298ac") 1242IDMOVideoOutputOptimizations : public IUnknown 1243{ 1244 virtual HRESULT STDMETHODCALLTYPE QueryOperationModePreferences( 1245 ULONG ulOutputStreamIndex, 1246 DWORD *pdwRequestedCapabilities) = 0; 1247 1248 virtual HRESULT STDMETHODCALLTYPE SetOperationMode( 1249 ULONG ulOutputStreamIndex, 1250 DWORD dwEnabledFeatures) = 0; 1251 1252 virtual HRESULT STDMETHODCALLTYPE GetCurrentOperationMode( 1253 ULONG ulOutputStreamIndex, 1254 DWORD *pdwEnabledFeatures) = 0; 1255 1256 virtual HRESULT STDMETHODCALLTYPE GetCurrentSampleRequirements( 1257 ULONG ulOutputStreamIndex, 1258 DWORD *pdwRequestedFeatures) = 0; 1259 1260}; 1261#ifdef __CRT_UUID_DECL 1262__CRT_UUID_DECL(IDMOVideoOutputOptimizations, 0xbe8f4f4e, 0x5b16, 0x4d29, 0xb3,0x50, 0x7f,0x6b,0x5d,0x92,0x98,0xac) 1263#endif 1264#else 1265typedef struct IDMOVideoOutputOptimizationsVtbl { 1266 BEGIN_INTERFACE 1267 1268 /*** IUnknown methods ***/ 1269 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1270 IDMOVideoOutputOptimizations* This, 1271 REFIID riid, 1272 void **ppvObject); 1273 1274 ULONG (STDMETHODCALLTYPE *AddRef)( 1275 IDMOVideoOutputOptimizations* This); 1276 1277 ULONG (STDMETHODCALLTYPE *Release)( 1278 IDMOVideoOutputOptimizations* This); 1279 1280 /*** IDMOVideoOutputOptimizations methods ***/ 1281 HRESULT (STDMETHODCALLTYPE *QueryOperationModePreferences)( 1282 IDMOVideoOutputOptimizations* This, 1283 ULONG ulOutputStreamIndex, 1284 DWORD *pdwRequestedCapabilities); 1285 1286 HRESULT (STDMETHODCALLTYPE *SetOperationMode)( 1287 IDMOVideoOutputOptimizations* This, 1288 ULONG ulOutputStreamIndex, 1289 DWORD dwEnabledFeatures); 1290 1291 HRESULT (STDMETHODCALLTYPE *GetCurrentOperationMode)( 1292 IDMOVideoOutputOptimizations* This, 1293 ULONG ulOutputStreamIndex, 1294 DWORD *pdwEnabledFeatures); 1295 1296 HRESULT (STDMETHODCALLTYPE *GetCurrentSampleRequirements)( 1297 IDMOVideoOutputOptimizations* This, 1298 ULONG ulOutputStreamIndex, 1299 DWORD *pdwRequestedFeatures); 1300 1301 END_INTERFACE 1302} IDMOVideoOutputOptimizationsVtbl; 1303interface IDMOVideoOutputOptimizations { 1304 CONST_VTBL IDMOVideoOutputOptimizationsVtbl* lpVtbl; 1305}; 1306 1307#ifdef COBJMACROS 1308#ifndef WIDL_C_INLINE_WRAPPERS 1309/*** IUnknown methods ***/ 1310#define IDMOVideoOutputOptimizations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1311#define IDMOVideoOutputOptimizations_AddRef(This) (This)->lpVtbl->AddRef(This) 1312#define IDMOVideoOutputOptimizations_Release(This) (This)->lpVtbl->Release(This) 1313/*** IDMOVideoOutputOptimizations methods ***/ 1314#define IDMOVideoOutputOptimizations_QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities) (This)->lpVtbl->QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities) 1315#define IDMOVideoOutputOptimizations_SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures) (This)->lpVtbl->SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures) 1316#define IDMOVideoOutputOptimizations_GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures) (This)->lpVtbl->GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures) 1317#define IDMOVideoOutputOptimizations_GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures) (This)->lpVtbl->GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures) 1318#else 1319/*** IUnknown methods ***/ 1320static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_QueryInterface(IDMOVideoOutputOptimizations* This,REFIID riid,void **ppvObject) { 1321 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1322} 1323static FORCEINLINE ULONG IDMOVideoOutputOptimizations_AddRef(IDMOVideoOutputOptimizations* This) { 1324 return This->lpVtbl->AddRef(This); 1325} 1326static FORCEINLINE ULONG IDMOVideoOutputOptimizations_Release(IDMOVideoOutputOptimizations* This) { 1327 return This->lpVtbl->Release(This); 1328} 1329/*** IDMOVideoOutputOptimizations methods ***/ 1330static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_QueryOperationModePreferences(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD *pdwRequestedCapabilities) { 1331 return This->lpVtbl->QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities); 1332} 1333static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_SetOperationMode(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD dwEnabledFeatures) { 1334 return This->lpVtbl->SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures); 1335} 1336static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_GetCurrentOperationMode(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD *pdwEnabledFeatures) { 1337 return This->lpVtbl->GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures); 1338} 1339static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_GetCurrentSampleRequirements(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD *pdwRequestedFeatures) { 1340 return This->lpVtbl->GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures); 1341} 1342#endif 1343#endif 1344 1345#endif 1346 1347HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_QueryOperationModePreferences_Proxy( 1348 IDMOVideoOutputOptimizations* This, 1349 ULONG ulOutputStreamIndex, 1350 DWORD *pdwRequestedCapabilities); 1351void __RPC_STUB IDMOVideoOutputOptimizations_QueryOperationModePreferences_Stub( 1352 IRpcStubBuffer* This, 1353 IRpcChannelBuffer* pRpcChannelBuffer, 1354 PRPC_MESSAGE pRpcMessage, 1355 DWORD* pdwStubPhase); 1356HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_SetOperationMode_Proxy( 1357 IDMOVideoOutputOptimizations* This, 1358 ULONG ulOutputStreamIndex, 1359 DWORD dwEnabledFeatures); 1360void __RPC_STUB IDMOVideoOutputOptimizations_SetOperationMode_Stub( 1361 IRpcStubBuffer* This, 1362 IRpcChannelBuffer* pRpcChannelBuffer, 1363 PRPC_MESSAGE pRpcMessage, 1364 DWORD* pdwStubPhase); 1365HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentOperationMode_Proxy( 1366 IDMOVideoOutputOptimizations* This, 1367 ULONG ulOutputStreamIndex, 1368 DWORD *pdwEnabledFeatures); 1369void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentOperationMode_Stub( 1370 IRpcStubBuffer* This, 1371 IRpcChannelBuffer* pRpcChannelBuffer, 1372 PRPC_MESSAGE pRpcMessage, 1373 DWORD* pdwStubPhase); 1374HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Proxy( 1375 IDMOVideoOutputOptimizations* This, 1376 ULONG ulOutputStreamIndex, 1377 DWORD *pdwRequestedFeatures); 1378void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Stub( 1379 IRpcStubBuffer* This, 1380 IRpcChannelBuffer* pRpcChannelBuffer, 1381 PRPC_MESSAGE pRpcMessage, 1382 DWORD* pdwStubPhase); 1383 1384#endif /* __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__ */ 1385 1386#endif 1387/* Begin additional prototypes for all interfaces */ 1388 1389 1390/* End additional prototypes */ 1391 1392#ifdef __cplusplus 1393} 1394#endif 1395 1396#endif /* __mediaobj_h__ */ 1397