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__ 22 typedef interface IMediaBuffer IMediaBuffer; 23 #endif 24 25 #ifndef __IMediaObject_FWD_DEFINED__ 26 #define __IMediaObject_FWD_DEFINED__ 27 typedef interface IMediaObject IMediaObject; 28 #endif 29 30 #ifndef __IEnumDMO_FWD_DEFINED__ 31 #define __IEnumDMO_FWD_DEFINED__ 32 typedef interface IEnumDMO IEnumDMO; 33 #endif 34 35 #ifndef __IMediaObjectInPlace_FWD_DEFINED__ 36 #define __IMediaObjectInPlace_FWD_DEFINED__ 37 typedef interface IMediaObjectInPlace IMediaObjectInPlace; 38 #endif 39 40 #ifndef __IDMOQualityControl_FWD_DEFINED__ 41 #define __IDMOQualityControl_FWD_DEFINED__ 42 typedef interface IDMOQualityControl IDMOQualityControl; 43 #endif 44 45 #ifndef __IDMOVideoOutputOptimizations_FWD_DEFINED__ 46 #define __IDMOVideoOutputOptimizations_FWD_DEFINED__ 47 typedef interface IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations; 48 #endif 49 50 /* Headers for imported files */ 51 52 #include <unknwn.h> 53 #include <objidl.h> 54 55 #ifdef __cplusplus 56 extern "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__ 68 typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE; 69 #else 70 typedef 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 82 typedef LONGLONG REFERENCE_TIME; 83 #endif 84 85 enum _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 93 enum _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 102 enum _DMO_INPUT_STATUS_FLAGS { 103 DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1 104 }; 105 106 107 enum _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 115 enum _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 124 enum _DMO_SET_TYPE_FLAGS { 125 DMO_SET_TYPEF_TEST_ONLY = 0x1, 126 DMO_SET_TYPEF_CLEAR = 0x2 127 }; 128 129 130 enum _DMO_PROCESS_OUTPUT_FLAGS { 131 DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1 132 }; 133 134 135 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 136 enum _DMO_INPLACE_PROCESS_FLAGS { 137 DMO_INPLACE_NORMAL = 0x0, 138 DMO_INPLACE_ZERO = 0x1 139 }; 140 141 142 enum _DMO_QUALITY_STATUS_FLAGS { 143 DMO_QUALITY_STATUS_ENABLED = 0x1 144 }; 145 146 147 enum _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 158 DEFINE_GUID(IID_IMediaBuffer, 0x59eff8b9, 0x938c, 0x4a26, 0x82,0xf2, 0x95,0xcb,0x84,0xcd,0xc8,0x37); 159 #if defined(__cplusplus) && !defined(CINTERFACE) 160 MIDL_INTERFACE("59eff8b9-938c-4a26-82f2-95cb84cdc837") 161 IMediaBuffer : 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 178 typedef 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; 209 interface 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 ***/ 225 static FORCEINLINE HRESULT IMediaBuffer_QueryInterface(IMediaBuffer* This,REFIID riid,void **ppvObject) { 226 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 227 } 228 static FORCEINLINE ULONG IMediaBuffer_AddRef(IMediaBuffer* This) { 229 return This->lpVtbl->AddRef(This); 230 } 231 static FORCEINLINE ULONG IMediaBuffer_Release(IMediaBuffer* This) { 232 return This->lpVtbl->Release(This); 233 } 234 /*** IMediaBuffer methods ***/ 235 static FORCEINLINE HRESULT IMediaBuffer_SetLength(IMediaBuffer* This,DWORD cbLength) { 236 return This->lpVtbl->SetLength(This,cbLength); 237 } 238 static FORCEINLINE HRESULT IMediaBuffer_GetMaxLength(IMediaBuffer* This,DWORD *pcbMaxLength) { 239 return This->lpVtbl->GetMaxLength(This,pcbMaxLength); 240 } 241 static 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 249 HRESULT STDMETHODCALLTYPE IMediaBuffer_SetLength_Proxy( 250 IMediaBuffer* This, 251 DWORD cbLength); 252 void __RPC_STUB IMediaBuffer_SetLength_Stub( 253 IRpcStubBuffer* This, 254 IRpcChannelBuffer* pRpcChannelBuffer, 255 PRPC_MESSAGE pRpcMessage, 256 DWORD* pdwStubPhase); 257 HRESULT STDMETHODCALLTYPE IMediaBuffer_GetMaxLength_Proxy( 258 IMediaBuffer* This, 259 DWORD *pcbMaxLength); 260 void __RPC_STUB IMediaBuffer_GetMaxLength_Stub( 261 IRpcStubBuffer* This, 262 IRpcChannelBuffer* pRpcChannelBuffer, 263 PRPC_MESSAGE pRpcMessage, 264 DWORD* pdwStubPhase); 265 HRESULT STDMETHODCALLTYPE IMediaBuffer_GetBufferAndLength_Proxy( 266 IMediaBuffer* This, 267 BYTE **ppBuffer, 268 DWORD *pcbLength); 269 void __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 278 typedef struct _DMO_OUTPUT_DATA_BUFFER { 279 IMediaBuffer *pBuffer; 280 DWORD dwStatus; 281 REFERENCE_TIME rtTimestamp; 282 REFERENCE_TIME rtTimelength; 283 } DMO_OUTPUT_DATA_BUFFER; 284 typedef 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 292 DEFINE_GUID(IID_IMediaObject, 0xd8ad0f58, 0x5494, 0x4102, 0x97,0xc5, 0xec,0x79,0x8e,0x59,0xbc,0xf4); 293 #if defined(__cplusplus) && !defined(CINTERFACE) 294 MIDL_INTERFACE("d8ad0f58-5494-4102-97c5-ec798e59bcf4") 295 IMediaObject : 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 393 typedef 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; 520 interface 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 ***/ 554 static FORCEINLINE HRESULT IMediaObject_QueryInterface(IMediaObject* This,REFIID riid,void **ppvObject) { 555 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 556 } 557 static FORCEINLINE ULONG IMediaObject_AddRef(IMediaObject* This) { 558 return This->lpVtbl->AddRef(This); 559 } 560 static FORCEINLINE ULONG IMediaObject_Release(IMediaObject* This) { 561 return This->lpVtbl->Release(This); 562 } 563 /*** IMediaObject methods ***/ 564 static FORCEINLINE HRESULT IMediaObject_GetStreamCount(IMediaObject* This,DWORD *pcInputStreams,DWORD *pcOutputStreams) { 565 return This->lpVtbl->GetStreamCount(This,pcInputStreams,pcOutputStreams); 566 } 567 static FORCEINLINE HRESULT IMediaObject_GetInputStreamInfo(IMediaObject* This,DWORD dwInputStreamIndex,DWORD *pdwFlags) { 568 return This->lpVtbl->GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags); 569 } 570 static FORCEINLINE HRESULT IMediaObject_GetOutputStreamInfo(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD *pdwFlags) { 571 return This->lpVtbl->GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags); 572 } 573 static FORCEINLINE HRESULT IMediaObject_GetInputType(IMediaObject* This,DWORD dwInputStreamIndex,DWORD dwTypeIndex,DMO_MEDIA_TYPE *pmt) { 574 return This->lpVtbl->GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt); 575 } 576 static FORCEINLINE HRESULT IMediaObject_GetOutputType(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD dwTypeIndex,DMO_MEDIA_TYPE *pmt) { 577 return This->lpVtbl->GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt); 578 } 579 static 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 } 582 static 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 } 585 static FORCEINLINE HRESULT IMediaObject_GetInputCurrentType(IMediaObject* This,DWORD dwInputStreamIndex,DMO_MEDIA_TYPE *pmt) { 586 return This->lpVtbl->GetInputCurrentType(This,dwInputStreamIndex,pmt); 587 } 588 static FORCEINLINE HRESULT IMediaObject_GetOutputCurrentType(IMediaObject* This,DWORD dwOutputStreamIndex,DMO_MEDIA_TYPE *pmt) { 589 return This->lpVtbl->GetOutputCurrentType(This,dwOutputStreamIndex,pmt); 590 } 591 static 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 } 594 static FORCEINLINE HRESULT IMediaObject_GetOutputSizeInfo(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD *pcbSize,DWORD *pcbAlignment) { 595 return This->lpVtbl->GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment); 596 } 597 static FORCEINLINE HRESULT IMediaObject_GetInputMaxLatency(IMediaObject* This,DWORD dwInputStreamIndex,REFERENCE_TIME *prtMaxLatency) { 598 return This->lpVtbl->GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency); 599 } 600 static FORCEINLINE HRESULT IMediaObject_SetInputMaxLatency(IMediaObject* This,DWORD dwInputStreamIndex,REFERENCE_TIME rtMaxLatency) { 601 return This->lpVtbl->SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency); 602 } 603 static FORCEINLINE HRESULT IMediaObject_Flush(IMediaObject* This) { 604 return This->lpVtbl->Flush(This); 605 } 606 static FORCEINLINE HRESULT IMediaObject_Discontinuity(IMediaObject* This,DWORD dwInputStreamIndex) { 607 return This->lpVtbl->Discontinuity(This,dwInputStreamIndex); 608 } 609 static FORCEINLINE HRESULT IMediaObject_AllocateStreamingResources(IMediaObject* This) { 610 return This->lpVtbl->AllocateStreamingResources(This); 611 } 612 static FORCEINLINE HRESULT IMediaObject_FreeStreamingResources(IMediaObject* This) { 613 return This->lpVtbl->FreeStreamingResources(This); 614 } 615 static FORCEINLINE HRESULT IMediaObject_GetInputStatus(IMediaObject* This,DWORD dwInputStreamIndex,DWORD *dwFlags) { 616 return This->lpVtbl->GetInputStatus(This,dwInputStreamIndex,dwFlags); 617 } 618 static 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 } 621 static 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 } 624 static FORCEINLINE HRESULT IMediaObject_Lock(IMediaObject* This,LONG bLock) { 625 return This->lpVtbl->Lock(This,bLock); 626 } 627 #endif 628 #endif 629 630 #endif 631 632 HRESULT STDMETHODCALLTYPE IMediaObject_GetStreamCount_Proxy( 633 IMediaObject* This, 634 DWORD *pcInputStreams, 635 DWORD *pcOutputStreams); 636 void __RPC_STUB IMediaObject_GetStreamCount_Stub( 637 IRpcStubBuffer* This, 638 IRpcChannelBuffer* pRpcChannelBuffer, 639 PRPC_MESSAGE pRpcMessage, 640 DWORD* pdwStubPhase); 641 HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStreamInfo_Proxy( 642 IMediaObject* This, 643 DWORD dwInputStreamIndex, 644 DWORD *pdwFlags); 645 void __RPC_STUB IMediaObject_GetInputStreamInfo_Stub( 646 IRpcStubBuffer* This, 647 IRpcChannelBuffer* pRpcChannelBuffer, 648 PRPC_MESSAGE pRpcMessage, 649 DWORD* pdwStubPhase); 650 HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputStreamInfo_Proxy( 651 IMediaObject* This, 652 DWORD dwOutputStreamIndex, 653 DWORD *pdwFlags); 654 void __RPC_STUB IMediaObject_GetOutputStreamInfo_Stub( 655 IRpcStubBuffer* This, 656 IRpcChannelBuffer* pRpcChannelBuffer, 657 PRPC_MESSAGE pRpcMessage, 658 DWORD* pdwStubPhase); 659 HRESULT STDMETHODCALLTYPE IMediaObject_GetInputType_Proxy( 660 IMediaObject* This, 661 DWORD dwInputStreamIndex, 662 DWORD dwTypeIndex, 663 DMO_MEDIA_TYPE *pmt); 664 void __RPC_STUB IMediaObject_GetInputType_Stub( 665 IRpcStubBuffer* This, 666 IRpcChannelBuffer* pRpcChannelBuffer, 667 PRPC_MESSAGE pRpcMessage, 668 DWORD* pdwStubPhase); 669 HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputType_Proxy( 670 IMediaObject* This, 671 DWORD dwOutputStreamIndex, 672 DWORD dwTypeIndex, 673 DMO_MEDIA_TYPE *pmt); 674 void __RPC_STUB IMediaObject_GetOutputType_Stub( 675 IRpcStubBuffer* This, 676 IRpcChannelBuffer* pRpcChannelBuffer, 677 PRPC_MESSAGE pRpcMessage, 678 DWORD* pdwStubPhase); 679 HRESULT STDMETHODCALLTYPE IMediaObject_SetInputType_Proxy( 680 IMediaObject* This, 681 DWORD dwInputStreamIndex, 682 const DMO_MEDIA_TYPE *pmt, 683 DWORD dwFlags); 684 void __RPC_STUB IMediaObject_SetInputType_Stub( 685 IRpcStubBuffer* This, 686 IRpcChannelBuffer* pRpcChannelBuffer, 687 PRPC_MESSAGE pRpcMessage, 688 DWORD* pdwStubPhase); 689 HRESULT STDMETHODCALLTYPE IMediaObject_SetOutputType_Proxy( 690 IMediaObject* This, 691 DWORD dwOutputStreamIndex, 692 const DMO_MEDIA_TYPE *pmt, 693 DWORD dwFlags); 694 void __RPC_STUB IMediaObject_SetOutputType_Stub( 695 IRpcStubBuffer* This, 696 IRpcChannelBuffer* pRpcChannelBuffer, 697 PRPC_MESSAGE pRpcMessage, 698 DWORD* pdwStubPhase); 699 HRESULT STDMETHODCALLTYPE IMediaObject_GetInputCurrentType_Proxy( 700 IMediaObject* This, 701 DWORD dwInputStreamIndex, 702 DMO_MEDIA_TYPE *pmt); 703 void __RPC_STUB IMediaObject_GetInputCurrentType_Stub( 704 IRpcStubBuffer* This, 705 IRpcChannelBuffer* pRpcChannelBuffer, 706 PRPC_MESSAGE pRpcMessage, 707 DWORD* pdwStubPhase); 708 HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputCurrentType_Proxy( 709 IMediaObject* This, 710 DWORD dwOutputStreamIndex, 711 DMO_MEDIA_TYPE *pmt); 712 void __RPC_STUB IMediaObject_GetOutputCurrentType_Stub( 713 IRpcStubBuffer* This, 714 IRpcChannelBuffer* pRpcChannelBuffer, 715 PRPC_MESSAGE pRpcMessage, 716 DWORD* pdwStubPhase); 717 HRESULT STDMETHODCALLTYPE IMediaObject_GetInputSizeInfo_Proxy( 718 IMediaObject* This, 719 DWORD dwInputStreamIndex, 720 DWORD *pcbSize, 721 DWORD *pcbMaxLookahead, 722 DWORD *pcbAlignment); 723 void __RPC_STUB IMediaObject_GetInputSizeInfo_Stub( 724 IRpcStubBuffer* This, 725 IRpcChannelBuffer* pRpcChannelBuffer, 726 PRPC_MESSAGE pRpcMessage, 727 DWORD* pdwStubPhase); 728 HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputSizeInfo_Proxy( 729 IMediaObject* This, 730 DWORD dwOutputStreamIndex, 731 DWORD *pcbSize, 732 DWORD *pcbAlignment); 733 void __RPC_STUB IMediaObject_GetOutputSizeInfo_Stub( 734 IRpcStubBuffer* This, 735 IRpcChannelBuffer* pRpcChannelBuffer, 736 PRPC_MESSAGE pRpcMessage, 737 DWORD* pdwStubPhase); 738 HRESULT STDMETHODCALLTYPE IMediaObject_GetInputMaxLatency_Proxy( 739 IMediaObject* This, 740 DWORD dwInputStreamIndex, 741 REFERENCE_TIME *prtMaxLatency); 742 void __RPC_STUB IMediaObject_GetInputMaxLatency_Stub( 743 IRpcStubBuffer* This, 744 IRpcChannelBuffer* pRpcChannelBuffer, 745 PRPC_MESSAGE pRpcMessage, 746 DWORD* pdwStubPhase); 747 HRESULT STDMETHODCALLTYPE IMediaObject_SetInputMaxLatency_Proxy( 748 IMediaObject* This, 749 DWORD dwInputStreamIndex, 750 REFERENCE_TIME rtMaxLatency); 751 void __RPC_STUB IMediaObject_SetInputMaxLatency_Stub( 752 IRpcStubBuffer* This, 753 IRpcChannelBuffer* pRpcChannelBuffer, 754 PRPC_MESSAGE pRpcMessage, 755 DWORD* pdwStubPhase); 756 HRESULT STDMETHODCALLTYPE IMediaObject_Flush_Proxy( 757 IMediaObject* This); 758 void __RPC_STUB IMediaObject_Flush_Stub( 759 IRpcStubBuffer* This, 760 IRpcChannelBuffer* pRpcChannelBuffer, 761 PRPC_MESSAGE pRpcMessage, 762 DWORD* pdwStubPhase); 763 HRESULT STDMETHODCALLTYPE IMediaObject_Discontinuity_Proxy( 764 IMediaObject* This, 765 DWORD dwInputStreamIndex); 766 void __RPC_STUB IMediaObject_Discontinuity_Stub( 767 IRpcStubBuffer* This, 768 IRpcChannelBuffer* pRpcChannelBuffer, 769 PRPC_MESSAGE pRpcMessage, 770 DWORD* pdwStubPhase); 771 HRESULT STDMETHODCALLTYPE IMediaObject_AllocateStreamingResources_Proxy( 772 IMediaObject* This); 773 void __RPC_STUB IMediaObject_AllocateStreamingResources_Stub( 774 IRpcStubBuffer* This, 775 IRpcChannelBuffer* pRpcChannelBuffer, 776 PRPC_MESSAGE pRpcMessage, 777 DWORD* pdwStubPhase); 778 HRESULT STDMETHODCALLTYPE IMediaObject_FreeStreamingResources_Proxy( 779 IMediaObject* This); 780 void __RPC_STUB IMediaObject_FreeStreamingResources_Stub( 781 IRpcStubBuffer* This, 782 IRpcChannelBuffer* pRpcChannelBuffer, 783 PRPC_MESSAGE pRpcMessage, 784 DWORD* pdwStubPhase); 785 HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStatus_Proxy( 786 IMediaObject* This, 787 DWORD dwInputStreamIndex, 788 DWORD *dwFlags); 789 void __RPC_STUB IMediaObject_GetInputStatus_Stub( 790 IRpcStubBuffer* This, 791 IRpcChannelBuffer* pRpcChannelBuffer, 792 PRPC_MESSAGE pRpcMessage, 793 DWORD* pdwStubPhase); 794 HRESULT STDMETHODCALLTYPE IMediaObject_ProcessInput_Proxy( 795 IMediaObject* This, 796 DWORD dwInputStreamIndex, 797 IMediaBuffer *pBuffer, 798 DWORD dwFlags, 799 REFERENCE_TIME rtTimestamp, 800 REFERENCE_TIME rtTimelength); 801 void __RPC_STUB IMediaObject_ProcessInput_Stub( 802 IRpcStubBuffer* This, 803 IRpcChannelBuffer* pRpcChannelBuffer, 804 PRPC_MESSAGE pRpcMessage, 805 DWORD* pdwStubPhase); 806 HRESULT STDMETHODCALLTYPE IMediaObject_ProcessOutput_Proxy( 807 IMediaObject* This, 808 DWORD dwFlags, 809 DWORD cOutputBufferCount, 810 DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, 811 DWORD *pdwStatus); 812 void __RPC_STUB IMediaObject_ProcessOutput_Stub( 813 IRpcStubBuffer* This, 814 IRpcChannelBuffer* pRpcChannelBuffer, 815 PRPC_MESSAGE pRpcMessage, 816 DWORD* pdwStubPhase); 817 HRESULT STDMETHODCALLTYPE IMediaObject_Lock_Proxy( 818 IMediaObject* This, 819 LONG bLock); 820 void __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 835 DEFINE_GUID(IID_IEnumDMO, 0x2c3cd98a, 0x2bfa, 0x4a53, 0x9c,0x27, 0x52,0x49,0xba,0x64,0xba,0x0f); 836 #if defined(__cplusplus) && !defined(CINTERFACE) 837 MIDL_INTERFACE("2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f") 838 IEnumDMO : 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 860 typedef 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; 896 interface 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 ***/ 913 static FORCEINLINE HRESULT IEnumDMO_QueryInterface(IEnumDMO* This,REFIID riid,void **ppvObject) { 914 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 915 } 916 static FORCEINLINE ULONG IEnumDMO_AddRef(IEnumDMO* This) { 917 return This->lpVtbl->AddRef(This); 918 } 919 static FORCEINLINE ULONG IEnumDMO_Release(IEnumDMO* This) { 920 return This->lpVtbl->Release(This); 921 } 922 /*** IEnumDMO methods ***/ 923 static 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 } 926 static FORCEINLINE HRESULT IEnumDMO_Skip(IEnumDMO* This,DWORD cItemsToSkip) { 927 return This->lpVtbl->Skip(This,cItemsToSkip); 928 } 929 static FORCEINLINE HRESULT IEnumDMO_Reset(IEnumDMO* This) { 930 return This->lpVtbl->Reset(This); 931 } 932 static FORCEINLINE HRESULT IEnumDMO_Clone(IEnumDMO* This,IEnumDMO **ppEnum) { 933 return This->lpVtbl->Clone(This,ppEnum); 934 } 935 #endif 936 #endif 937 938 #endif 939 940 HRESULT STDMETHODCALLTYPE IEnumDMO_Next_Proxy( 941 IEnumDMO* This, 942 DWORD cItemsToFetch, 943 CLSID *pCLSID, 944 LPWSTR *Names, 945 DWORD *pcItemsFetched); 946 void __RPC_STUB IEnumDMO_Next_Stub( 947 IRpcStubBuffer* This, 948 IRpcChannelBuffer* pRpcChannelBuffer, 949 PRPC_MESSAGE pRpcMessage, 950 DWORD* pdwStubPhase); 951 HRESULT STDMETHODCALLTYPE IEnumDMO_Skip_Proxy( 952 IEnumDMO* This, 953 DWORD cItemsToSkip); 954 void __RPC_STUB IEnumDMO_Skip_Stub( 955 IRpcStubBuffer* This, 956 IRpcChannelBuffer* pRpcChannelBuffer, 957 PRPC_MESSAGE pRpcMessage, 958 DWORD* pdwStubPhase); 959 HRESULT STDMETHODCALLTYPE IEnumDMO_Reset_Proxy( 960 IEnumDMO* This); 961 void __RPC_STUB IEnumDMO_Reset_Stub( 962 IRpcStubBuffer* This, 963 IRpcChannelBuffer* pRpcChannelBuffer, 964 PRPC_MESSAGE pRpcMessage, 965 DWORD* pdwStubPhase); 966 HRESULT STDMETHODCALLTYPE IEnumDMO_Clone_Proxy( 967 IEnumDMO* This, 968 IEnumDMO **ppEnum); 969 void __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 984 DEFINE_GUID(IID_IMediaObjectInPlace, 0x651b9ad0, 0x0fc7, 0x4aa9, 0x95,0x38, 0xd8,0x99,0x31,0x01,0x07,0x41); 985 #if defined(__cplusplus) && !defined(CINTERFACE) 986 MIDL_INTERFACE("651b9ad0-0fc7-4aa9-9538-d89931010741") 987 IMediaObjectInPlace : 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 1006 typedef 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; 1039 interface 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 ***/ 1055 static FORCEINLINE HRESULT IMediaObjectInPlace_QueryInterface(IMediaObjectInPlace* This,REFIID riid,void **ppvObject) { 1056 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1057 } 1058 static FORCEINLINE ULONG IMediaObjectInPlace_AddRef(IMediaObjectInPlace* This) { 1059 return This->lpVtbl->AddRef(This); 1060 } 1061 static FORCEINLINE ULONG IMediaObjectInPlace_Release(IMediaObjectInPlace* This) { 1062 return This->lpVtbl->Release(This); 1063 } 1064 /*** IMediaObjectInPlace methods ***/ 1065 static 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 } 1068 static FORCEINLINE HRESULT IMediaObjectInPlace_Clone(IMediaObjectInPlace* This,IMediaObjectInPlace **ppMediaObject) { 1069 return This->lpVtbl->Clone(This,ppMediaObject); 1070 } 1071 static 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 1079 HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Process_Proxy( 1080 IMediaObjectInPlace* This, 1081 ULONG ulSize, 1082 BYTE *pData, 1083 REFERENCE_TIME refTimeStart, 1084 DWORD dwFlags); 1085 void __RPC_STUB IMediaObjectInPlace_Process_Stub( 1086 IRpcStubBuffer* This, 1087 IRpcChannelBuffer* pRpcChannelBuffer, 1088 PRPC_MESSAGE pRpcMessage, 1089 DWORD* pdwStubPhase); 1090 HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Clone_Proxy( 1091 IMediaObjectInPlace* This, 1092 IMediaObjectInPlace **ppMediaObject); 1093 void __RPC_STUB IMediaObjectInPlace_Clone_Stub( 1094 IRpcStubBuffer* This, 1095 IRpcChannelBuffer* pRpcChannelBuffer, 1096 PRPC_MESSAGE pRpcMessage, 1097 DWORD* pdwStubPhase); 1098 HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_GetLatency_Proxy( 1099 IMediaObjectInPlace* This, 1100 REFERENCE_TIME *pLatencyTime); 1101 void __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 1116 DEFINE_GUID(IID_IDMOQualityControl, 0x65abea96, 0xcf36, 0x453f, 0xaf,0x8a, 0x70,0x5e,0x98,0xf1,0x62,0x60); 1117 #if defined(__cplusplus) && !defined(CINTERFACE) 1118 MIDL_INTERFACE("65abea96-cf36-453f-af8a-705e98f16260") 1119 IDMOQualityControl : 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 1135 typedef 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; 1165 interface 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 ***/ 1181 static FORCEINLINE HRESULT IDMOQualityControl_QueryInterface(IDMOQualityControl* This,REFIID riid,void **ppvObject) { 1182 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1183 } 1184 static FORCEINLINE ULONG IDMOQualityControl_AddRef(IDMOQualityControl* This) { 1185 return This->lpVtbl->AddRef(This); 1186 } 1187 static FORCEINLINE ULONG IDMOQualityControl_Release(IDMOQualityControl* This) { 1188 return This->lpVtbl->Release(This); 1189 } 1190 /*** IDMOQualityControl methods ***/ 1191 static FORCEINLINE HRESULT IDMOQualityControl_SetNow(IDMOQualityControl* This,REFERENCE_TIME rtNow) { 1192 return This->lpVtbl->SetNow(This,rtNow); 1193 } 1194 static FORCEINLINE HRESULT IDMOQualityControl_SetStatus(IDMOQualityControl* This,DWORD dwFlags) { 1195 return This->lpVtbl->SetStatus(This,dwFlags); 1196 } 1197 static FORCEINLINE HRESULT IDMOQualityControl_GetStatus(IDMOQualityControl* This,DWORD *pdwFlags) { 1198 return This->lpVtbl->GetStatus(This,pdwFlags); 1199 } 1200 #endif 1201 #endif 1202 1203 #endif 1204 1205 HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetNow_Proxy( 1206 IDMOQualityControl* This, 1207 REFERENCE_TIME rtNow); 1208 void __RPC_STUB IDMOQualityControl_SetNow_Stub( 1209 IRpcStubBuffer* This, 1210 IRpcChannelBuffer* pRpcChannelBuffer, 1211 PRPC_MESSAGE pRpcMessage, 1212 DWORD* pdwStubPhase); 1213 HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetStatus_Proxy( 1214 IDMOQualityControl* This, 1215 DWORD dwFlags); 1216 void __RPC_STUB IDMOQualityControl_SetStatus_Stub( 1217 IRpcStubBuffer* This, 1218 IRpcChannelBuffer* pRpcChannelBuffer, 1219 PRPC_MESSAGE pRpcMessage, 1220 DWORD* pdwStubPhase); 1221 HRESULT STDMETHODCALLTYPE IDMOQualityControl_GetStatus_Proxy( 1222 IDMOQualityControl* This, 1223 DWORD *pdwFlags); 1224 void __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 1239 DEFINE_GUID(IID_IDMOVideoOutputOptimizations, 0xbe8f4f4e, 0x5b16, 0x4d29, 0xb3,0x50, 0x7f,0x6b,0x5d,0x92,0x98,0xac); 1240 #if defined(__cplusplus) && !defined(CINTERFACE) 1241 MIDL_INTERFACE("be8f4f4e-5b16-4d29-b350-7f6b5d9298ac") 1242 IDMOVideoOutputOptimizations : 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 1265 typedef 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; 1303 interface 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 ***/ 1320 static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_QueryInterface(IDMOVideoOutputOptimizations* This,REFIID riid,void **ppvObject) { 1321 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1322 } 1323 static FORCEINLINE ULONG IDMOVideoOutputOptimizations_AddRef(IDMOVideoOutputOptimizations* This) { 1324 return This->lpVtbl->AddRef(This); 1325 } 1326 static FORCEINLINE ULONG IDMOVideoOutputOptimizations_Release(IDMOVideoOutputOptimizations* This) { 1327 return This->lpVtbl->Release(This); 1328 } 1329 /*** IDMOVideoOutputOptimizations methods ***/ 1330 static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_QueryOperationModePreferences(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD *pdwRequestedCapabilities) { 1331 return This->lpVtbl->QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities); 1332 } 1333 static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_SetOperationMode(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD dwEnabledFeatures) { 1334 return This->lpVtbl->SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures); 1335 } 1336 static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_GetCurrentOperationMode(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD *pdwEnabledFeatures) { 1337 return This->lpVtbl->GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures); 1338 } 1339 static 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 1347 HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_QueryOperationModePreferences_Proxy( 1348 IDMOVideoOutputOptimizations* This, 1349 ULONG ulOutputStreamIndex, 1350 DWORD *pdwRequestedCapabilities); 1351 void __RPC_STUB IDMOVideoOutputOptimizations_QueryOperationModePreferences_Stub( 1352 IRpcStubBuffer* This, 1353 IRpcChannelBuffer* pRpcChannelBuffer, 1354 PRPC_MESSAGE pRpcMessage, 1355 DWORD* pdwStubPhase); 1356 HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_SetOperationMode_Proxy( 1357 IDMOVideoOutputOptimizations* This, 1358 ULONG ulOutputStreamIndex, 1359 DWORD dwEnabledFeatures); 1360 void __RPC_STUB IDMOVideoOutputOptimizations_SetOperationMode_Stub( 1361 IRpcStubBuffer* This, 1362 IRpcChannelBuffer* pRpcChannelBuffer, 1363 PRPC_MESSAGE pRpcMessage, 1364 DWORD* pdwStubPhase); 1365 HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentOperationMode_Proxy( 1366 IDMOVideoOutputOptimizations* This, 1367 ULONG ulOutputStreamIndex, 1368 DWORD *pdwEnabledFeatures); 1369 void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentOperationMode_Stub( 1370 IRpcStubBuffer* This, 1371 IRpcChannelBuffer* pRpcChannelBuffer, 1372 PRPC_MESSAGE pRpcMessage, 1373 DWORD* pdwStubPhase); 1374 HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Proxy( 1375 IDMOVideoOutputOptimizations* This, 1376 ULONG ulOutputStreamIndex, 1377 DWORD *pdwRequestedFeatures); 1378 void __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