evr.h (69340B) - Raw
1 /*** Autogenerated by WIDL 10.4 from include/evr.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __evr_h__ 17 #define __evr_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IMFVideoPositionMapper_FWD_DEFINED__ 22 #define __IMFVideoPositionMapper_FWD_DEFINED__ 23 typedef interface IMFVideoPositionMapper IMFVideoPositionMapper; 24 #ifdef __cplusplus 25 interface IMFVideoPositionMapper; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IMFVideoDeviceID_FWD_DEFINED__ 30 #define __IMFVideoDeviceID_FWD_DEFINED__ 31 typedef interface IMFVideoDeviceID IMFVideoDeviceID; 32 #ifdef __cplusplus 33 interface IMFVideoDeviceID; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IMFVideoDisplayControl_FWD_DEFINED__ 38 #define __IMFVideoDisplayControl_FWD_DEFINED__ 39 typedef interface IMFVideoDisplayControl IMFVideoDisplayControl; 40 #ifdef __cplusplus 41 interface IMFVideoDisplayControl; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IMFVideoPresenter_FWD_DEFINED__ 46 #define __IMFVideoPresenter_FWD_DEFINED__ 47 typedef interface IMFVideoPresenter IMFVideoPresenter; 48 #ifdef __cplusplus 49 interface IMFVideoPresenter; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IMFDesiredSample_FWD_DEFINED__ 54 #define __IMFDesiredSample_FWD_DEFINED__ 55 typedef interface IMFDesiredSample IMFDesiredSample; 56 #ifdef __cplusplus 57 interface IMFDesiredSample; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IMFTrackedSample_FWD_DEFINED__ 62 #define __IMFTrackedSample_FWD_DEFINED__ 63 typedef interface IMFTrackedSample IMFTrackedSample; 64 #ifdef __cplusplus 65 interface IMFTrackedSample; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IMFVideoMixerControl_FWD_DEFINED__ 70 #define __IMFVideoMixerControl_FWD_DEFINED__ 71 typedef interface IMFVideoMixerControl IMFVideoMixerControl; 72 #ifdef __cplusplus 73 interface IMFVideoMixerControl; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IMFVideoMixerControl2_FWD_DEFINED__ 78 #define __IMFVideoMixerControl2_FWD_DEFINED__ 79 typedef interface IMFVideoMixerControl2 IMFVideoMixerControl2; 80 #ifdef __cplusplus 81 interface IMFVideoMixerControl2; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IMFVideoRenderer_FWD_DEFINED__ 86 #define __IMFVideoRenderer_FWD_DEFINED__ 87 typedef interface IMFVideoRenderer IMFVideoRenderer; 88 #ifdef __cplusplus 89 interface IMFVideoRenderer; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __IEVRFilterConfig_FWD_DEFINED__ 94 #define __IEVRFilterConfig_FWD_DEFINED__ 95 typedef interface IEVRFilterConfig IEVRFilterConfig; 96 #ifdef __cplusplus 97 interface IEVRFilterConfig; 98 #endif /* __cplusplus */ 99 #endif 100 101 #ifndef __IEVRFilterConfigEx_FWD_DEFINED__ 102 #define __IEVRFilterConfigEx_FWD_DEFINED__ 103 typedef interface IEVRFilterConfigEx IEVRFilterConfigEx; 104 #ifdef __cplusplus 105 interface IEVRFilterConfigEx; 106 #endif /* __cplusplus */ 107 #endif 108 109 #ifndef __IMFTopologyServiceLookup_FWD_DEFINED__ 110 #define __IMFTopologyServiceLookup_FWD_DEFINED__ 111 typedef interface IMFTopologyServiceLookup IMFTopologyServiceLookup; 112 #ifdef __cplusplus 113 interface IMFTopologyServiceLookup; 114 #endif /* __cplusplus */ 115 #endif 116 117 #ifndef __IMFTopologyServiceLookupClient_FWD_DEFINED__ 118 #define __IMFTopologyServiceLookupClient_FWD_DEFINED__ 119 typedef interface IMFTopologyServiceLookupClient IMFTopologyServiceLookupClient; 120 #ifdef __cplusplus 121 interface IMFTopologyServiceLookupClient; 122 #endif /* __cplusplus */ 123 #endif 124 125 #ifndef __IEVRTrustedVideoPlugin_FWD_DEFINED__ 126 #define __IEVRTrustedVideoPlugin_FWD_DEFINED__ 127 typedef interface IEVRTrustedVideoPlugin IEVRTrustedVideoPlugin; 128 #ifdef __cplusplus 129 interface IEVRTrustedVideoPlugin; 130 #endif /* __cplusplus */ 131 #endif 132 133 /* Headers for imported files */ 134 135 #include <unknwn.h> 136 #include <propidl.h> 137 #include <mfidl.h> 138 #include <mftransform.h> 139 #include <mediaobj.h> 140 #include <strmif.h> 141 142 #ifdef __cplusplus 143 extern "C" { 144 #endif 145 146 /** 147 * This file is part of the mingw-w64 runtime package. 148 * No warranty is given; refer to the file DISCLAIMER within this package. 149 */ 150 151 #include <winapifamily.h> 152 153 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 154 #ifndef __IMFTrackedSample_FWD_DEFINED__ 155 #define __IMFTrackedSample_FWD_DEFINED__ 156 typedef interface IMFTrackedSample IMFTrackedSample; 157 #ifdef __cplusplus 158 interface IMFTrackedSample; 159 #endif /* __cplusplus */ 160 #endif 161 162 #ifndef __IMFVideoDisplayControl_FWD_DEFINED__ 163 #define __IMFVideoDisplayControl_FWD_DEFINED__ 164 typedef interface IMFVideoDisplayControl IMFVideoDisplayControl; 165 #ifdef __cplusplus 166 interface IMFVideoDisplayControl; 167 #endif /* __cplusplus */ 168 #endif 169 170 #ifndef __IMFVideoPresenter_FWD_DEFINED__ 171 #define __IMFVideoPresenter_FWD_DEFINED__ 172 typedef interface IMFVideoPresenter IMFVideoPresenter; 173 #ifdef __cplusplus 174 interface IMFVideoPresenter; 175 #endif /* __cplusplus */ 176 #endif 177 178 #ifndef __IMFVideoPositionMapper_FWD_DEFINED__ 179 #define __IMFVideoPositionMapper_FWD_DEFINED__ 180 typedef interface IMFVideoPositionMapper IMFVideoPositionMapper; 181 #ifdef __cplusplus 182 interface IMFVideoPositionMapper; 183 #endif /* __cplusplus */ 184 #endif 185 186 #ifndef __IMFDesiredSample_FWD_DEFINED__ 187 #define __IMFDesiredSample_FWD_DEFINED__ 188 typedef interface IMFDesiredSample IMFDesiredSample; 189 #ifdef __cplusplus 190 interface IMFDesiredSample; 191 #endif /* __cplusplus */ 192 #endif 193 194 #ifndef __IMFVideoMixerControl_FWD_DEFINED__ 195 #define __IMFVideoMixerControl_FWD_DEFINED__ 196 typedef interface IMFVideoMixerControl IMFVideoMixerControl; 197 #ifdef __cplusplus 198 interface IMFVideoMixerControl; 199 #endif /* __cplusplus */ 200 #endif 201 202 #ifndef __IMFVideoRenderer_FWD_DEFINED__ 203 #define __IMFVideoRenderer_FWD_DEFINED__ 204 typedef interface IMFVideoRenderer IMFVideoRenderer; 205 #ifdef __cplusplus 206 interface IMFVideoRenderer; 207 #endif /* __cplusplus */ 208 #endif 209 210 #ifndef __IMFVideoDeviceID_FWD_DEFINED__ 211 #define __IMFVideoDeviceID_FWD_DEFINED__ 212 typedef interface IMFVideoDeviceID IMFVideoDeviceID; 213 #ifdef __cplusplus 214 interface IMFVideoDeviceID; 215 #endif /* __cplusplus */ 216 #endif 217 218 #ifndef __IEVRFilterConfig_FWD_DEFINED__ 219 #define __IEVRFilterConfig_FWD_DEFINED__ 220 typedef interface IEVRFilterConfig IEVRFilterConfig; 221 #ifdef __cplusplus 222 interface IEVRFilterConfig; 223 #endif /* __cplusplus */ 224 #endif 225 226 #if defined(__midl) 227 228 typedef enum _D3DFORMAT { 229 D3DFMT_UNKNOWN = 0, 230 D3DFMT_R8G8B8 = 20, 231 D3DFMT_A8R8G8B8 = 21, 232 D3DFMT_X8R8G8B8 = 22, 233 D3DFMT_R5G6B5 = 23, 234 D3DFMT_X1R5G5B5 = 24, 235 D3DFMT_A1R5G5B5 = 25, 236 D3DFMT_A4R4G4B4 = 26, 237 D3DFMT_R3G3B2 = 27, 238 D3DFMT_A8 = 28, 239 D3DFMT_A8R3G3B2 = 29, 240 D3DFMT_X4R4G4B4 = 30, 241 D3DFMT_A2B10G10R10 = 31, 242 D3DFMT_G16R16 = 34, 243 D3DFMT_A8P8 = 40, 244 D3DFMT_P8 = 41, 245 D3DFMT_L8 = 50, 246 D3DFMT_A8L8 = 51, 247 D3DFMT_A4L4 = 52, 248 D3DFMT_V8U8 = 60, 249 D3DFMT_L6V5U5 = 61, 250 D3DFMT_X8L8V8U8 = 62, 251 D3DFMT_Q8W8V8U8 = 63, 252 D3DFMT_V16U16 = 64, 253 D3DFMT_W11V11U10 = 65, 254 D3DFMT_A2W10V10U10 = 67, 255 D3DFMT_D16_LOCKABLE = 70, 256 D3DFMT_D32 = 71, 257 D3DFMT_D15S1 = 73, 258 D3DFMT_D24S8 = 75, 259 D3DFMT_D16 = 80, 260 D3DFMT_D24X8 = 77, 261 D3DFMT_D24X4S4 = 79, 262 D3DFMT_VERTEXDATA = 100, 263 D3DFMT_INDEX16 = 101, 264 D3DFMT_INDEX32 = 102, 265 D3DFMT_FORCE_DWORD = 0x7fffffff 266 } D3DFORMAT; 267 #endif 268 269 typedef enum MFVideoAspectRatioMode { 270 MFVideoARMode_None = 0x0, 271 MFVideoARMode_PreservePicture = 0x1, 272 MFVideoARMode_PreservePixel = 0x2, 273 MFVideoARMode_NonLinearStretch = 0x4, 274 MFVideoARMode_Mask = 0x7 275 } MFVideoAspectRatioMode; 276 277 typedef enum MFVideoRenderPrefs { 278 MFVideoRenderPrefs_DoNotRenderBorder = 0x1, 279 MFVideoRenderPrefs_DoNotClipToDevice = 0x2, 280 MFVideoRenderPrefs_AllowOutputThrottling = 0x4, 281 MFVideoRenderPrefs_ForceOutputThrottling = 0x8, 282 MFVideoRenderPrefs_ForceBatching = 0x10, 283 MFVideoRenderPrefs_AllowBatching = 0x20, 284 MFVideoRenderPrefs_ForceScaling = 0x40, 285 MFVideoRenderPrefs_AllowScaling = 0x80, 286 MFVideoRenderPrefs_DoNotRepaintOnStop = 0x100, 287 MFVideoRenderPrefs_Mask = 0x1ff 288 } MFVideoRenderPrefs; 289 290 #ifndef _MFVideoNormalizedRect_ 291 #define _MFVideoNormalizedRect_ 292 typedef struct MFVideoNormalizedRect { 293 float left; 294 float top; 295 float right; 296 float bottom; 297 } MFVideoNormalizedRect; 298 #endif 299 300 typedef enum MFVP_MESSAGE_TYPE { 301 MFVP_MESSAGE_FLUSH = 0x0, 302 MFVP_MESSAGE_INVALIDATEMEDIATYPE = 0x1, 303 MFVP_MESSAGE_PROCESSINPUTNOTIFY = 0x2, 304 MFVP_MESSAGE_BEGINSTREAMING = 0x3, 305 MFVP_MESSAGE_ENDSTREAMING = 0x4, 306 MFVP_MESSAGE_ENDOFSTREAM = 0x5, 307 MFVP_MESSAGE_STEP = 0x6, 308 MFVP_MESSAGE_CANCELSTEP = 0x7 309 } MFVP_MESSAGE_TYPE; 310 311 typedef enum _MFVideoMixPrefs { 312 MFVideoMixPrefs_ForceHalfInterlace = 0x1, 313 MFVideoMixPrefs_AllowDropToHalfInterlace = 0x2, 314 MFVideoMixPrefs_AllowDropToBob = 0x4, 315 MFVideoMixPrefs_ForceBob = 0x8, 316 MFVideoMixPrefs_EnableRotation = 0x10, 317 MFVideoMixPrefs_Mask = 0x1f 318 } MFVideoMixPrefs; 319 320 typedef enum _EVRFilterConfig_Prefs { 321 EVRFilterConfigPrefs_EnableQoS = 0x1, 322 EVRFilterConfigPrefs_Mask = 0x1 323 } EVRFilterConfigPrefs; 324 325 typedef enum _MF_SERVICE_LOOKUP_TYPE { 326 MF_SERVICE_LOOKUP_UPSTREAM = 0, 327 MF_SERVICE_LOOKUP_UPSTREAM_DIRECT = 1, 328 MF_SERVICE_LOOKUP_DOWNSTREAM = 2, 329 MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT = 3, 330 MF_SERVICE_LOOKUP_ALL = 4, 331 MF_SERVICE_LOOKUP_GLOBAL = 5 332 } MF_SERVICE_LOOKUP_TYPE; 333 334 DEFINE_GUID(MR_VIDEO_RENDER_SERVICE, 0x1092a86c, 0xab1a, 0x459a, 0xa3, 0x36, 0x83, 0x1f, 0xbc, 0x4d, 0x11, 0xff); 335 DEFINE_GUID(MR_VIDEO_MIXER_SERVICE, 0x73cd2fc, 0x6cf4, 0x40b7, 0x88, 0x59, 0xe8, 0x95, 0x52, 0xc8, 0x41, 0xf8); 336 DEFINE_GUID(MR_VIDEO_ACCELERATION_SERVICE, 0xefef5175, 0x5c7d, 0x4ce2, 0xbb, 0xbd, 0x34, 0xff, 0x8b, 0xca, 0x65, 0x54); 337 DEFINE_GUID(MR_BUFFER_SERVICE, 0xa562248c, 0x9ac6, 0x4ffc, 0x9f, 0xba, 0x3a, 0xf8, 0xf8, 0xad, 0x1a, 0x4d); 338 DEFINE_GUID(VIDEO_ZOOM_RECT, 0x7aaa1638, 0x1b7f, 0x4c93, 0xbd, 0x89, 0x5b, 0x9c, 0x9f, 0xb6, 0xfc, 0xf0); 339 340 /***************************************************************************** 341 * IMFVideoPositionMapper interface 342 */ 343 #ifndef __IMFVideoPositionMapper_INTERFACE_DEFINED__ 344 #define __IMFVideoPositionMapper_INTERFACE_DEFINED__ 345 346 DEFINE_GUID(IID_IMFVideoPositionMapper, 0x1f6a9f17, 0xe70b, 0x4e24, 0x8a,0xe4, 0x0b,0x2c,0x3b,0xa7,0xa4,0xae); 347 #if defined(__cplusplus) && !defined(CINTERFACE) 348 MIDL_INTERFACE("1f6a9f17-e70b-4e24-8ae4-0b2c3ba7a4ae") 349 IMFVideoPositionMapper : public IUnknown 350 { 351 virtual HRESULT STDMETHODCALLTYPE MapOutputCoordinateToInputStream( 352 float xOut, 353 float yOut, 354 DWORD dwOutputStreamIndex, 355 DWORD dwInputStreamIndex, 356 float *pxIn, 357 float *pyIn) = 0; 358 359 }; 360 #ifdef __CRT_UUID_DECL 361 __CRT_UUID_DECL(IMFVideoPositionMapper, 0x1f6a9f17, 0xe70b, 0x4e24, 0x8a,0xe4, 0x0b,0x2c,0x3b,0xa7,0xa4,0xae) 362 #endif 363 #else 364 typedef struct IMFVideoPositionMapperVtbl { 365 BEGIN_INTERFACE 366 367 /*** IUnknown methods ***/ 368 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 369 IMFVideoPositionMapper *This, 370 REFIID riid, 371 void **ppvObject); 372 373 ULONG (STDMETHODCALLTYPE *AddRef)( 374 IMFVideoPositionMapper *This); 375 376 ULONG (STDMETHODCALLTYPE *Release)( 377 IMFVideoPositionMapper *This); 378 379 /*** IMFVideoPositionMapper methods ***/ 380 HRESULT (STDMETHODCALLTYPE *MapOutputCoordinateToInputStream)( 381 IMFVideoPositionMapper *This, 382 float xOut, 383 float yOut, 384 DWORD dwOutputStreamIndex, 385 DWORD dwInputStreamIndex, 386 float *pxIn, 387 float *pyIn); 388 389 END_INTERFACE 390 } IMFVideoPositionMapperVtbl; 391 392 interface IMFVideoPositionMapper { 393 CONST_VTBL IMFVideoPositionMapperVtbl* lpVtbl; 394 }; 395 396 #ifdef COBJMACROS 397 #ifndef WIDL_C_INLINE_WRAPPERS 398 /*** IUnknown methods ***/ 399 #define IMFVideoPositionMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 400 #define IMFVideoPositionMapper_AddRef(This) (This)->lpVtbl->AddRef(This) 401 #define IMFVideoPositionMapper_Release(This) (This)->lpVtbl->Release(This) 402 /*** IMFVideoPositionMapper methods ***/ 403 #define IMFVideoPositionMapper_MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn) (This)->lpVtbl->MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn) 404 #else 405 /*** IUnknown methods ***/ 406 static inline HRESULT IMFVideoPositionMapper_QueryInterface(IMFVideoPositionMapper* This,REFIID riid,void **ppvObject) { 407 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 408 } 409 static inline ULONG IMFVideoPositionMapper_AddRef(IMFVideoPositionMapper* This) { 410 return This->lpVtbl->AddRef(This); 411 } 412 static inline ULONG IMFVideoPositionMapper_Release(IMFVideoPositionMapper* This) { 413 return This->lpVtbl->Release(This); 414 } 415 /*** IMFVideoPositionMapper methods ***/ 416 static inline HRESULT IMFVideoPositionMapper_MapOutputCoordinateToInputStream(IMFVideoPositionMapper* This,float xOut,float yOut,DWORD dwOutputStreamIndex,DWORD dwInputStreamIndex,float *pxIn,float *pyIn) { 417 return This->lpVtbl->MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn); 418 } 419 #endif 420 #endif 421 422 #endif 423 424 425 #endif /* __IMFVideoPositionMapper_INTERFACE_DEFINED__ */ 426 427 428 /***************************************************************************** 429 * IMFVideoDeviceID interface 430 */ 431 #ifndef __IMFVideoDeviceID_INTERFACE_DEFINED__ 432 #define __IMFVideoDeviceID_INTERFACE_DEFINED__ 433 434 DEFINE_GUID(IID_IMFVideoDeviceID, 0xa38d9567, 0x5a9c, 0x4f3c, 0xb2,0x93, 0x8e,0xb4,0x15,0xb2,0x79,0xba); 435 #if defined(__cplusplus) && !defined(CINTERFACE) 436 MIDL_INTERFACE("a38d9567-5a9c-4f3c-b293-8eb415b279ba") 437 IMFVideoDeviceID : public IUnknown 438 { 439 virtual HRESULT STDMETHODCALLTYPE GetDeviceID( 440 IID *pDeviceID) = 0; 441 442 }; 443 #ifdef __CRT_UUID_DECL 444 __CRT_UUID_DECL(IMFVideoDeviceID, 0xa38d9567, 0x5a9c, 0x4f3c, 0xb2,0x93, 0x8e,0xb4,0x15,0xb2,0x79,0xba) 445 #endif 446 #else 447 typedef struct IMFVideoDeviceIDVtbl { 448 BEGIN_INTERFACE 449 450 /*** IUnknown methods ***/ 451 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 452 IMFVideoDeviceID *This, 453 REFIID riid, 454 void **ppvObject); 455 456 ULONG (STDMETHODCALLTYPE *AddRef)( 457 IMFVideoDeviceID *This); 458 459 ULONG (STDMETHODCALLTYPE *Release)( 460 IMFVideoDeviceID *This); 461 462 /*** IMFVideoDeviceID methods ***/ 463 HRESULT (STDMETHODCALLTYPE *GetDeviceID)( 464 IMFVideoDeviceID *This, 465 IID *pDeviceID); 466 467 END_INTERFACE 468 } IMFVideoDeviceIDVtbl; 469 470 interface IMFVideoDeviceID { 471 CONST_VTBL IMFVideoDeviceIDVtbl* lpVtbl; 472 }; 473 474 #ifdef COBJMACROS 475 #ifndef WIDL_C_INLINE_WRAPPERS 476 /*** IUnknown methods ***/ 477 #define IMFVideoDeviceID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 478 #define IMFVideoDeviceID_AddRef(This) (This)->lpVtbl->AddRef(This) 479 #define IMFVideoDeviceID_Release(This) (This)->lpVtbl->Release(This) 480 /*** IMFVideoDeviceID methods ***/ 481 #define IMFVideoDeviceID_GetDeviceID(This,pDeviceID) (This)->lpVtbl->GetDeviceID(This,pDeviceID) 482 #else 483 /*** IUnknown methods ***/ 484 static inline HRESULT IMFVideoDeviceID_QueryInterface(IMFVideoDeviceID* This,REFIID riid,void **ppvObject) { 485 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 486 } 487 static inline ULONG IMFVideoDeviceID_AddRef(IMFVideoDeviceID* This) { 488 return This->lpVtbl->AddRef(This); 489 } 490 static inline ULONG IMFVideoDeviceID_Release(IMFVideoDeviceID* This) { 491 return This->lpVtbl->Release(This); 492 } 493 /*** IMFVideoDeviceID methods ***/ 494 static inline HRESULT IMFVideoDeviceID_GetDeviceID(IMFVideoDeviceID* This,IID *pDeviceID) { 495 return This->lpVtbl->GetDeviceID(This,pDeviceID); 496 } 497 #endif 498 #endif 499 500 #endif 501 502 503 #endif /* __IMFVideoDeviceID_INTERFACE_DEFINED__ */ 504 505 506 /***************************************************************************** 507 * IMFVideoDisplayControl interface 508 */ 509 #ifndef __IMFVideoDisplayControl_INTERFACE_DEFINED__ 510 #define __IMFVideoDisplayControl_INTERFACE_DEFINED__ 511 512 DEFINE_GUID(IID_IMFVideoDisplayControl, 0xa490b1e4, 0xab84, 0x4d31, 0xa1,0xb2, 0x18,0x1e,0x03,0xb1,0x07,0x7a); 513 #if defined(__cplusplus) && !defined(CINTERFACE) 514 MIDL_INTERFACE("a490b1e4-ab84-4d31-a1b2-181e03b1077a") 515 IMFVideoDisplayControl : public IUnknown 516 { 517 virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( 518 SIZE *pszVideo, 519 SIZE *pszARVideo) = 0; 520 521 virtual HRESULT STDMETHODCALLTYPE GetIdealVideoSize( 522 SIZE *pszMin, 523 SIZE *pszMax) = 0; 524 525 virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( 526 const MFVideoNormalizedRect *pnrcSource, 527 const LPRECT prcDest) = 0; 528 529 virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 530 MFVideoNormalizedRect *pnrcSource, 531 LPRECT prcDest) = 0; 532 533 virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 534 DWORD dwAspectRatioMode) = 0; 535 536 virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 537 DWORD *pdwAspectRatioMode) = 0; 538 539 virtual HRESULT STDMETHODCALLTYPE SetVideoWindow( 540 HWND hwndVideo) = 0; 541 542 virtual HRESULT STDMETHODCALLTYPE GetVideoWindow( 543 HWND *phwndVideo) = 0; 544 545 virtual HRESULT STDMETHODCALLTYPE RepaintVideo( 546 ) = 0; 547 548 virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( 549 BITMAPINFOHEADER *pBih, 550 BYTE **pDib, 551 DWORD *pcbDib, 552 LONGLONG *pTimeStamp) = 0; 553 554 virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 555 COLORREF Clr) = 0; 556 557 virtual HRESULT STDMETHODCALLTYPE GetBorderColor( 558 COLORREF *pClr) = 0; 559 560 virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 561 DWORD dwRenderFlags) = 0; 562 563 virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 564 DWORD *pdwRenderFlags) = 0; 565 566 virtual HRESULT STDMETHODCALLTYPE SetFullscreen( 567 WINBOOL fFullscreen) = 0; 568 569 virtual HRESULT STDMETHODCALLTYPE GetFullscreen( 570 WINBOOL *pfFullscreen) = 0; 571 572 }; 573 #ifdef __CRT_UUID_DECL 574 __CRT_UUID_DECL(IMFVideoDisplayControl, 0xa490b1e4, 0xab84, 0x4d31, 0xa1,0xb2, 0x18,0x1e,0x03,0xb1,0x07,0x7a) 575 #endif 576 #else 577 typedef struct IMFVideoDisplayControlVtbl { 578 BEGIN_INTERFACE 579 580 /*** IUnknown methods ***/ 581 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 582 IMFVideoDisplayControl *This, 583 REFIID riid, 584 void **ppvObject); 585 586 ULONG (STDMETHODCALLTYPE *AddRef)( 587 IMFVideoDisplayControl *This); 588 589 ULONG (STDMETHODCALLTYPE *Release)( 590 IMFVideoDisplayControl *This); 591 592 /*** IMFVideoDisplayControl methods ***/ 593 HRESULT (STDMETHODCALLTYPE *GetNativeVideoSize)( 594 IMFVideoDisplayControl *This, 595 SIZE *pszVideo, 596 SIZE *pszARVideo); 597 598 HRESULT (STDMETHODCALLTYPE *GetIdealVideoSize)( 599 IMFVideoDisplayControl *This, 600 SIZE *pszMin, 601 SIZE *pszMax); 602 603 HRESULT (STDMETHODCALLTYPE *SetVideoPosition)( 604 IMFVideoDisplayControl *This, 605 const MFVideoNormalizedRect *pnrcSource, 606 const LPRECT prcDest); 607 608 HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( 609 IMFVideoDisplayControl *This, 610 MFVideoNormalizedRect *pnrcSource, 611 LPRECT prcDest); 612 613 HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)( 614 IMFVideoDisplayControl *This, 615 DWORD dwAspectRatioMode); 616 617 HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)( 618 IMFVideoDisplayControl *This, 619 DWORD *pdwAspectRatioMode); 620 621 HRESULT (STDMETHODCALLTYPE *SetVideoWindow)( 622 IMFVideoDisplayControl *This, 623 HWND hwndVideo); 624 625 HRESULT (STDMETHODCALLTYPE *GetVideoWindow)( 626 IMFVideoDisplayControl *This, 627 HWND *phwndVideo); 628 629 HRESULT (STDMETHODCALLTYPE *RepaintVideo)( 630 IMFVideoDisplayControl *This); 631 632 HRESULT (STDMETHODCALLTYPE *GetCurrentImage)( 633 IMFVideoDisplayControl *This, 634 BITMAPINFOHEADER *pBih, 635 BYTE **pDib, 636 DWORD *pcbDib, 637 LONGLONG *pTimeStamp); 638 639 HRESULT (STDMETHODCALLTYPE *SetBorderColor)( 640 IMFVideoDisplayControl *This, 641 COLORREF Clr); 642 643 HRESULT (STDMETHODCALLTYPE *GetBorderColor)( 644 IMFVideoDisplayControl *This, 645 COLORREF *pClr); 646 647 HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)( 648 IMFVideoDisplayControl *This, 649 DWORD dwRenderFlags); 650 651 HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)( 652 IMFVideoDisplayControl *This, 653 DWORD *pdwRenderFlags); 654 655 HRESULT (STDMETHODCALLTYPE *SetFullscreen)( 656 IMFVideoDisplayControl *This, 657 WINBOOL fFullscreen); 658 659 HRESULT (STDMETHODCALLTYPE *GetFullscreen)( 660 IMFVideoDisplayControl *This, 661 WINBOOL *pfFullscreen); 662 663 END_INTERFACE 664 } IMFVideoDisplayControlVtbl; 665 666 interface IMFVideoDisplayControl { 667 CONST_VTBL IMFVideoDisplayControlVtbl* lpVtbl; 668 }; 669 670 #ifdef COBJMACROS 671 #ifndef WIDL_C_INLINE_WRAPPERS 672 /*** IUnknown methods ***/ 673 #define IMFVideoDisplayControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 674 #define IMFVideoDisplayControl_AddRef(This) (This)->lpVtbl->AddRef(This) 675 #define IMFVideoDisplayControl_Release(This) (This)->lpVtbl->Release(This) 676 /*** IMFVideoDisplayControl methods ***/ 677 #define IMFVideoDisplayControl_GetNativeVideoSize(This,pszVideo,pszARVideo) (This)->lpVtbl->GetNativeVideoSize(This,pszVideo,pszARVideo) 678 #define IMFVideoDisplayControl_GetIdealVideoSize(This,pszMin,pszMax) (This)->lpVtbl->GetIdealVideoSize(This,pszMin,pszMax) 679 #define IMFVideoDisplayControl_SetVideoPosition(This,pnrcSource,prcDest) (This)->lpVtbl->SetVideoPosition(This,pnrcSource,prcDest) 680 #define IMFVideoDisplayControl_GetVideoPosition(This,pnrcSource,prcDest) (This)->lpVtbl->GetVideoPosition(This,pnrcSource,prcDest) 681 #define IMFVideoDisplayControl_SetAspectRatioMode(This,dwAspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,dwAspectRatioMode) 682 #define IMFVideoDisplayControl_GetAspectRatioMode(This,pdwAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,pdwAspectRatioMode) 683 #define IMFVideoDisplayControl_SetVideoWindow(This,hwndVideo) (This)->lpVtbl->SetVideoWindow(This,hwndVideo) 684 #define IMFVideoDisplayControl_GetVideoWindow(This,phwndVideo) (This)->lpVtbl->GetVideoWindow(This,phwndVideo) 685 #define IMFVideoDisplayControl_RepaintVideo(This) (This)->lpVtbl->RepaintVideo(This) 686 #define IMFVideoDisplayControl_GetCurrentImage(This,pBih,pDib,pcbDib,pTimeStamp) (This)->lpVtbl->GetCurrentImage(This,pBih,pDib,pcbDib,pTimeStamp) 687 #define IMFVideoDisplayControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr) 688 #define IMFVideoDisplayControl_GetBorderColor(This,pClr) (This)->lpVtbl->GetBorderColor(This,pClr) 689 #define IMFVideoDisplayControl_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) 690 #define IMFVideoDisplayControl_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags) 691 #define IMFVideoDisplayControl_SetFullscreen(This,fFullscreen) (This)->lpVtbl->SetFullscreen(This,fFullscreen) 692 #define IMFVideoDisplayControl_GetFullscreen(This,pfFullscreen) (This)->lpVtbl->GetFullscreen(This,pfFullscreen) 693 #else 694 /*** IUnknown methods ***/ 695 static inline HRESULT IMFVideoDisplayControl_QueryInterface(IMFVideoDisplayControl* This,REFIID riid,void **ppvObject) { 696 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 697 } 698 static inline ULONG IMFVideoDisplayControl_AddRef(IMFVideoDisplayControl* This) { 699 return This->lpVtbl->AddRef(This); 700 } 701 static inline ULONG IMFVideoDisplayControl_Release(IMFVideoDisplayControl* This) { 702 return This->lpVtbl->Release(This); 703 } 704 /*** IMFVideoDisplayControl methods ***/ 705 static inline HRESULT IMFVideoDisplayControl_GetNativeVideoSize(IMFVideoDisplayControl* This,SIZE *pszVideo,SIZE *pszARVideo) { 706 return This->lpVtbl->GetNativeVideoSize(This,pszVideo,pszARVideo); 707 } 708 static inline HRESULT IMFVideoDisplayControl_GetIdealVideoSize(IMFVideoDisplayControl* This,SIZE *pszMin,SIZE *pszMax) { 709 return This->lpVtbl->GetIdealVideoSize(This,pszMin,pszMax); 710 } 711 static inline HRESULT IMFVideoDisplayControl_SetVideoPosition(IMFVideoDisplayControl* This,const MFVideoNormalizedRect *pnrcSource,const LPRECT prcDest) { 712 return This->lpVtbl->SetVideoPosition(This,pnrcSource,prcDest); 713 } 714 static inline HRESULT IMFVideoDisplayControl_GetVideoPosition(IMFVideoDisplayControl* This,MFVideoNormalizedRect *pnrcSource,LPRECT prcDest) { 715 return This->lpVtbl->GetVideoPosition(This,pnrcSource,prcDest); 716 } 717 static inline HRESULT IMFVideoDisplayControl_SetAspectRatioMode(IMFVideoDisplayControl* This,DWORD dwAspectRatioMode) { 718 return This->lpVtbl->SetAspectRatioMode(This,dwAspectRatioMode); 719 } 720 static inline HRESULT IMFVideoDisplayControl_GetAspectRatioMode(IMFVideoDisplayControl* This,DWORD *pdwAspectRatioMode) { 721 return This->lpVtbl->GetAspectRatioMode(This,pdwAspectRatioMode); 722 } 723 static inline HRESULT IMFVideoDisplayControl_SetVideoWindow(IMFVideoDisplayControl* This,HWND hwndVideo) { 724 return This->lpVtbl->SetVideoWindow(This,hwndVideo); 725 } 726 static inline HRESULT IMFVideoDisplayControl_GetVideoWindow(IMFVideoDisplayControl* This,HWND *phwndVideo) { 727 return This->lpVtbl->GetVideoWindow(This,phwndVideo); 728 } 729 static inline HRESULT IMFVideoDisplayControl_RepaintVideo(IMFVideoDisplayControl* This) { 730 return This->lpVtbl->RepaintVideo(This); 731 } 732 static inline HRESULT IMFVideoDisplayControl_GetCurrentImage(IMFVideoDisplayControl* This,BITMAPINFOHEADER *pBih,BYTE **pDib,DWORD *pcbDib,LONGLONG *pTimeStamp) { 733 return This->lpVtbl->GetCurrentImage(This,pBih,pDib,pcbDib,pTimeStamp); 734 } 735 static inline HRESULT IMFVideoDisplayControl_SetBorderColor(IMFVideoDisplayControl* This,COLORREF Clr) { 736 return This->lpVtbl->SetBorderColor(This,Clr); 737 } 738 static inline HRESULT IMFVideoDisplayControl_GetBorderColor(IMFVideoDisplayControl* This,COLORREF *pClr) { 739 return This->lpVtbl->GetBorderColor(This,pClr); 740 } 741 static inline HRESULT IMFVideoDisplayControl_SetRenderingPrefs(IMFVideoDisplayControl* This,DWORD dwRenderFlags) { 742 return This->lpVtbl->SetRenderingPrefs(This,dwRenderFlags); 743 } 744 static inline HRESULT IMFVideoDisplayControl_GetRenderingPrefs(IMFVideoDisplayControl* This,DWORD *pdwRenderFlags) { 745 return This->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags); 746 } 747 static inline HRESULT IMFVideoDisplayControl_SetFullscreen(IMFVideoDisplayControl* This,WINBOOL fFullscreen) { 748 return This->lpVtbl->SetFullscreen(This,fFullscreen); 749 } 750 static inline HRESULT IMFVideoDisplayControl_GetFullscreen(IMFVideoDisplayControl* This,WINBOOL *pfFullscreen) { 751 return This->lpVtbl->GetFullscreen(This,pfFullscreen); 752 } 753 #endif 754 #endif 755 756 #endif 757 758 759 #endif /* __IMFVideoDisplayControl_INTERFACE_DEFINED__ */ 760 761 762 /***************************************************************************** 763 * IMFVideoPresenter interface 764 */ 765 #ifndef __IMFVideoPresenter_INTERFACE_DEFINED__ 766 #define __IMFVideoPresenter_INTERFACE_DEFINED__ 767 768 DEFINE_GUID(IID_IMFVideoPresenter, 0x29aff080, 0x182a, 0x4a5d, 0xaf,0x3b, 0x44,0x8f,0x3a,0x63,0x46,0xcb); 769 #if defined(__cplusplus) && !defined(CINTERFACE) 770 MIDL_INTERFACE("29aff080-182a-4a5d-af3b-448f3a6346cb") 771 IMFVideoPresenter : public IMFClockStateSink 772 { 773 virtual HRESULT STDMETHODCALLTYPE ProcessMessage( 774 MFVP_MESSAGE_TYPE eMessage, 775 ULONG_PTR ulParam) = 0; 776 777 virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType( 778 IMFVideoMediaType **ppMediaType) = 0; 779 780 }; 781 #ifdef __CRT_UUID_DECL 782 __CRT_UUID_DECL(IMFVideoPresenter, 0x29aff080, 0x182a, 0x4a5d, 0xaf,0x3b, 0x44,0x8f,0x3a,0x63,0x46,0xcb) 783 #endif 784 #else 785 typedef struct IMFVideoPresenterVtbl { 786 BEGIN_INTERFACE 787 788 /*** IUnknown methods ***/ 789 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 790 IMFVideoPresenter *This, 791 REFIID riid, 792 void **ppvObject); 793 794 ULONG (STDMETHODCALLTYPE *AddRef)( 795 IMFVideoPresenter *This); 796 797 ULONG (STDMETHODCALLTYPE *Release)( 798 IMFVideoPresenter *This); 799 800 /*** IMFClockStateSink methods ***/ 801 HRESULT (STDMETHODCALLTYPE *OnClockStart)( 802 IMFVideoPresenter *This, 803 MFTIME hnsSystemTime, 804 LONGLONG llClockStartOffset); 805 806 HRESULT (STDMETHODCALLTYPE *OnClockStop)( 807 IMFVideoPresenter *This, 808 MFTIME hnsSystemTime); 809 810 HRESULT (STDMETHODCALLTYPE *OnClockPause)( 811 IMFVideoPresenter *This, 812 MFTIME hnsSystemTime); 813 814 HRESULT (STDMETHODCALLTYPE *OnClockRestart)( 815 IMFVideoPresenter *This, 816 MFTIME hnsSystemTime); 817 818 HRESULT (STDMETHODCALLTYPE *OnClockSetRate)( 819 IMFVideoPresenter *This, 820 MFTIME hnsSystemTime, 821 float flRate); 822 823 /*** IMFVideoPresenter methods ***/ 824 HRESULT (STDMETHODCALLTYPE *ProcessMessage)( 825 IMFVideoPresenter *This, 826 MFVP_MESSAGE_TYPE eMessage, 827 ULONG_PTR ulParam); 828 829 HRESULT (STDMETHODCALLTYPE *GetCurrentMediaType)( 830 IMFVideoPresenter *This, 831 IMFVideoMediaType **ppMediaType); 832 833 END_INTERFACE 834 } IMFVideoPresenterVtbl; 835 836 interface IMFVideoPresenter { 837 CONST_VTBL IMFVideoPresenterVtbl* lpVtbl; 838 }; 839 840 #ifdef COBJMACROS 841 #ifndef WIDL_C_INLINE_WRAPPERS 842 /*** IUnknown methods ***/ 843 #define IMFVideoPresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 844 #define IMFVideoPresenter_AddRef(This) (This)->lpVtbl->AddRef(This) 845 #define IMFVideoPresenter_Release(This) (This)->lpVtbl->Release(This) 846 /*** IMFClockStateSink methods ***/ 847 #define IMFVideoPresenter_OnClockStart(This,hnsSystemTime,llClockStartOffset) (This)->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset) 848 #define IMFVideoPresenter_OnClockStop(This,hnsSystemTime) (This)->lpVtbl->OnClockStop(This,hnsSystemTime) 849 #define IMFVideoPresenter_OnClockPause(This,hnsSystemTime) (This)->lpVtbl->OnClockPause(This,hnsSystemTime) 850 #define IMFVideoPresenter_OnClockRestart(This,hnsSystemTime) (This)->lpVtbl->OnClockRestart(This,hnsSystemTime) 851 #define IMFVideoPresenter_OnClockSetRate(This,hnsSystemTime,flRate) (This)->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate) 852 /*** IMFVideoPresenter methods ***/ 853 #define IMFVideoPresenter_ProcessMessage(This,eMessage,ulParam) (This)->lpVtbl->ProcessMessage(This,eMessage,ulParam) 854 #define IMFVideoPresenter_GetCurrentMediaType(This,ppMediaType) (This)->lpVtbl->GetCurrentMediaType(This,ppMediaType) 855 #else 856 /*** IUnknown methods ***/ 857 static inline HRESULT IMFVideoPresenter_QueryInterface(IMFVideoPresenter* This,REFIID riid,void **ppvObject) { 858 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 859 } 860 static inline ULONG IMFVideoPresenter_AddRef(IMFVideoPresenter* This) { 861 return This->lpVtbl->AddRef(This); 862 } 863 static inline ULONG IMFVideoPresenter_Release(IMFVideoPresenter* This) { 864 return This->lpVtbl->Release(This); 865 } 866 /*** IMFClockStateSink methods ***/ 867 static inline HRESULT IMFVideoPresenter_OnClockStart(IMFVideoPresenter* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) { 868 return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset); 869 } 870 static inline HRESULT IMFVideoPresenter_OnClockStop(IMFVideoPresenter* This,MFTIME hnsSystemTime) { 871 return This->lpVtbl->OnClockStop(This,hnsSystemTime); 872 } 873 static inline HRESULT IMFVideoPresenter_OnClockPause(IMFVideoPresenter* This,MFTIME hnsSystemTime) { 874 return This->lpVtbl->OnClockPause(This,hnsSystemTime); 875 } 876 static inline HRESULT IMFVideoPresenter_OnClockRestart(IMFVideoPresenter* This,MFTIME hnsSystemTime) { 877 return This->lpVtbl->OnClockRestart(This,hnsSystemTime); 878 } 879 static inline HRESULT IMFVideoPresenter_OnClockSetRate(IMFVideoPresenter* This,MFTIME hnsSystemTime,float flRate) { 880 return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate); 881 } 882 /*** IMFVideoPresenter methods ***/ 883 static inline HRESULT IMFVideoPresenter_ProcessMessage(IMFVideoPresenter* This,MFVP_MESSAGE_TYPE eMessage,ULONG_PTR ulParam) { 884 return This->lpVtbl->ProcessMessage(This,eMessage,ulParam); 885 } 886 static inline HRESULT IMFVideoPresenter_GetCurrentMediaType(IMFVideoPresenter* This,IMFVideoMediaType **ppMediaType) { 887 return This->lpVtbl->GetCurrentMediaType(This,ppMediaType); 888 } 889 #endif 890 #endif 891 892 #endif 893 894 895 #endif /* __IMFVideoPresenter_INTERFACE_DEFINED__ */ 896 897 898 /***************************************************************************** 899 * IMFDesiredSample interface 900 */ 901 #ifndef __IMFDesiredSample_INTERFACE_DEFINED__ 902 #define __IMFDesiredSample_INTERFACE_DEFINED__ 903 904 DEFINE_GUID(IID_IMFDesiredSample, 0x56c294d0, 0x753e, 0x4260, 0x8d,0x61, 0xa3,0xd8,0x82,0x0b,0x1d,0x54); 905 #if defined(__cplusplus) && !defined(CINTERFACE) 906 MIDL_INTERFACE("56c294d0-753e-4260-8d61-a3d8820b1d54") 907 IMFDesiredSample : public IUnknown 908 { 909 virtual HRESULT STDMETHODCALLTYPE GetDesiredSampleTimeAndDuration( 910 LONGLONG *phnsSampleTime, 911 LONGLONG *phnsSampleDuration) = 0; 912 913 virtual void STDMETHODCALLTYPE SetDesiredSampleTimeAndDuration( 914 LONGLONG hnsSampleTime, 915 LONGLONG hnsSampleDuration) = 0; 916 917 virtual void STDMETHODCALLTYPE Clear( 918 ) = 0; 919 920 }; 921 #ifdef __CRT_UUID_DECL 922 __CRT_UUID_DECL(IMFDesiredSample, 0x56c294d0, 0x753e, 0x4260, 0x8d,0x61, 0xa3,0xd8,0x82,0x0b,0x1d,0x54) 923 #endif 924 #else 925 typedef struct IMFDesiredSampleVtbl { 926 BEGIN_INTERFACE 927 928 /*** IUnknown methods ***/ 929 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 930 IMFDesiredSample *This, 931 REFIID riid, 932 void **ppvObject); 933 934 ULONG (STDMETHODCALLTYPE *AddRef)( 935 IMFDesiredSample *This); 936 937 ULONG (STDMETHODCALLTYPE *Release)( 938 IMFDesiredSample *This); 939 940 /*** IMFDesiredSample methods ***/ 941 HRESULT (STDMETHODCALLTYPE *GetDesiredSampleTimeAndDuration)( 942 IMFDesiredSample *This, 943 LONGLONG *phnsSampleTime, 944 LONGLONG *phnsSampleDuration); 945 946 void (STDMETHODCALLTYPE *SetDesiredSampleTimeAndDuration)( 947 IMFDesiredSample *This, 948 LONGLONG hnsSampleTime, 949 LONGLONG hnsSampleDuration); 950 951 void (STDMETHODCALLTYPE *Clear)( 952 IMFDesiredSample *This); 953 954 END_INTERFACE 955 } IMFDesiredSampleVtbl; 956 957 interface IMFDesiredSample { 958 CONST_VTBL IMFDesiredSampleVtbl* lpVtbl; 959 }; 960 961 #ifdef COBJMACROS 962 #ifndef WIDL_C_INLINE_WRAPPERS 963 /*** IUnknown methods ***/ 964 #define IMFDesiredSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 965 #define IMFDesiredSample_AddRef(This) (This)->lpVtbl->AddRef(This) 966 #define IMFDesiredSample_Release(This) (This)->lpVtbl->Release(This) 967 /*** IMFDesiredSample methods ***/ 968 #define IMFDesiredSample_GetDesiredSampleTimeAndDuration(This,phnsSampleTime,phnsSampleDuration) (This)->lpVtbl->GetDesiredSampleTimeAndDuration(This,phnsSampleTime,phnsSampleDuration) 969 #define IMFDesiredSample_SetDesiredSampleTimeAndDuration(This,hnsSampleTime,hnsSampleDuration) (This)->lpVtbl->SetDesiredSampleTimeAndDuration(This,hnsSampleTime,hnsSampleDuration) 970 #define IMFDesiredSample_Clear(This) (This)->lpVtbl->Clear(This) 971 #else 972 /*** IUnknown methods ***/ 973 static inline HRESULT IMFDesiredSample_QueryInterface(IMFDesiredSample* This,REFIID riid,void **ppvObject) { 974 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 975 } 976 static inline ULONG IMFDesiredSample_AddRef(IMFDesiredSample* This) { 977 return This->lpVtbl->AddRef(This); 978 } 979 static inline ULONG IMFDesiredSample_Release(IMFDesiredSample* This) { 980 return This->lpVtbl->Release(This); 981 } 982 /*** IMFDesiredSample methods ***/ 983 static inline HRESULT IMFDesiredSample_GetDesiredSampleTimeAndDuration(IMFDesiredSample* This,LONGLONG *phnsSampleTime,LONGLONG *phnsSampleDuration) { 984 return This->lpVtbl->GetDesiredSampleTimeAndDuration(This,phnsSampleTime,phnsSampleDuration); 985 } 986 static inline void IMFDesiredSample_SetDesiredSampleTimeAndDuration(IMFDesiredSample* This,LONGLONG hnsSampleTime,LONGLONG hnsSampleDuration) { 987 This->lpVtbl->SetDesiredSampleTimeAndDuration(This,hnsSampleTime,hnsSampleDuration); 988 } 989 static inline void IMFDesiredSample_Clear(IMFDesiredSample* This) { 990 This->lpVtbl->Clear(This); 991 } 992 #endif 993 #endif 994 995 #endif 996 997 998 #endif /* __IMFDesiredSample_INTERFACE_DEFINED__ */ 999 1000 1001 /***************************************************************************** 1002 * IMFTrackedSample interface 1003 */ 1004 #ifndef __IMFTrackedSample_INTERFACE_DEFINED__ 1005 #define __IMFTrackedSample_INTERFACE_DEFINED__ 1006 1007 DEFINE_GUID(IID_IMFTrackedSample, 0x245bf8e9, 0x0755, 0x40f7, 0x88,0xa5, 0xae,0x0f,0x18,0xd5,0x5e,0x17); 1008 #if defined(__cplusplus) && !defined(CINTERFACE) 1009 MIDL_INTERFACE("245bf8e9-0755-40f7-88a5-ae0f18d55e17") 1010 IMFTrackedSample : public IUnknown 1011 { 1012 virtual HRESULT STDMETHODCALLTYPE SetAllocator( 1013 IMFAsyncCallback *pSampleAllocator, 1014 IUnknown *pUnkState) = 0; 1015 1016 }; 1017 #ifdef __CRT_UUID_DECL 1018 __CRT_UUID_DECL(IMFTrackedSample, 0x245bf8e9, 0x0755, 0x40f7, 0x88,0xa5, 0xae,0x0f,0x18,0xd5,0x5e,0x17) 1019 #endif 1020 #else 1021 typedef struct IMFTrackedSampleVtbl { 1022 BEGIN_INTERFACE 1023 1024 /*** IUnknown methods ***/ 1025 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1026 IMFTrackedSample *This, 1027 REFIID riid, 1028 void **ppvObject); 1029 1030 ULONG (STDMETHODCALLTYPE *AddRef)( 1031 IMFTrackedSample *This); 1032 1033 ULONG (STDMETHODCALLTYPE *Release)( 1034 IMFTrackedSample *This); 1035 1036 /*** IMFTrackedSample methods ***/ 1037 HRESULT (STDMETHODCALLTYPE *SetAllocator)( 1038 IMFTrackedSample *This, 1039 IMFAsyncCallback *pSampleAllocator, 1040 IUnknown *pUnkState); 1041 1042 END_INTERFACE 1043 } IMFTrackedSampleVtbl; 1044 1045 interface IMFTrackedSample { 1046 CONST_VTBL IMFTrackedSampleVtbl* lpVtbl; 1047 }; 1048 1049 #ifdef COBJMACROS 1050 #ifndef WIDL_C_INLINE_WRAPPERS 1051 /*** IUnknown methods ***/ 1052 #define IMFTrackedSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1053 #define IMFTrackedSample_AddRef(This) (This)->lpVtbl->AddRef(This) 1054 #define IMFTrackedSample_Release(This) (This)->lpVtbl->Release(This) 1055 /*** IMFTrackedSample methods ***/ 1056 #define IMFTrackedSample_SetAllocator(This,pSampleAllocator,pUnkState) (This)->lpVtbl->SetAllocator(This,pSampleAllocator,pUnkState) 1057 #else 1058 /*** IUnknown methods ***/ 1059 static inline HRESULT IMFTrackedSample_QueryInterface(IMFTrackedSample* This,REFIID riid,void **ppvObject) { 1060 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1061 } 1062 static inline ULONG IMFTrackedSample_AddRef(IMFTrackedSample* This) { 1063 return This->lpVtbl->AddRef(This); 1064 } 1065 static inline ULONG IMFTrackedSample_Release(IMFTrackedSample* This) { 1066 return This->lpVtbl->Release(This); 1067 } 1068 /*** IMFTrackedSample methods ***/ 1069 static inline HRESULT IMFTrackedSample_SetAllocator(IMFTrackedSample* This,IMFAsyncCallback *pSampleAllocator,IUnknown *pUnkState) { 1070 return This->lpVtbl->SetAllocator(This,pSampleAllocator,pUnkState); 1071 } 1072 #endif 1073 #endif 1074 1075 #endif 1076 1077 1078 #endif /* __IMFTrackedSample_INTERFACE_DEFINED__ */ 1079 1080 1081 /***************************************************************************** 1082 * IMFVideoMixerControl interface 1083 */ 1084 #ifndef __IMFVideoMixerControl_INTERFACE_DEFINED__ 1085 #define __IMFVideoMixerControl_INTERFACE_DEFINED__ 1086 1087 DEFINE_GUID(IID_IMFVideoMixerControl, 0xa5c6c53f, 0xc202, 0x4aa5, 0x96,0x95, 0x17,0x5b,0xa8,0xc5,0x08,0xa5); 1088 #if defined(__cplusplus) && !defined(CINTERFACE) 1089 MIDL_INTERFACE("a5c6c53f-c202-4aa5-9695-175ba8c508a5") 1090 IMFVideoMixerControl : public IUnknown 1091 { 1092 virtual HRESULT STDMETHODCALLTYPE SetStreamZOrder( 1093 DWORD dwStreamID, 1094 DWORD dwZ) = 0; 1095 1096 virtual HRESULT STDMETHODCALLTYPE GetStreamZOrder( 1097 DWORD dwStreamID, 1098 DWORD *pdwZ) = 0; 1099 1100 virtual HRESULT STDMETHODCALLTYPE SetStreamOutputRect( 1101 DWORD dwStreamID, 1102 const MFVideoNormalizedRect *pnrcOutput) = 0; 1103 1104 virtual HRESULT STDMETHODCALLTYPE GetStreamOutputRect( 1105 DWORD dwStreamID, 1106 MFVideoNormalizedRect *pnrcOutput) = 0; 1107 1108 }; 1109 #ifdef __CRT_UUID_DECL 1110 __CRT_UUID_DECL(IMFVideoMixerControl, 0xa5c6c53f, 0xc202, 0x4aa5, 0x96,0x95, 0x17,0x5b,0xa8,0xc5,0x08,0xa5) 1111 #endif 1112 #else 1113 typedef struct IMFVideoMixerControlVtbl { 1114 BEGIN_INTERFACE 1115 1116 /*** IUnknown methods ***/ 1117 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1118 IMFVideoMixerControl *This, 1119 REFIID riid, 1120 void **ppvObject); 1121 1122 ULONG (STDMETHODCALLTYPE *AddRef)( 1123 IMFVideoMixerControl *This); 1124 1125 ULONG (STDMETHODCALLTYPE *Release)( 1126 IMFVideoMixerControl *This); 1127 1128 /*** IMFVideoMixerControl methods ***/ 1129 HRESULT (STDMETHODCALLTYPE *SetStreamZOrder)( 1130 IMFVideoMixerControl *This, 1131 DWORD dwStreamID, 1132 DWORD dwZ); 1133 1134 HRESULT (STDMETHODCALLTYPE *GetStreamZOrder)( 1135 IMFVideoMixerControl *This, 1136 DWORD dwStreamID, 1137 DWORD *pdwZ); 1138 1139 HRESULT (STDMETHODCALLTYPE *SetStreamOutputRect)( 1140 IMFVideoMixerControl *This, 1141 DWORD dwStreamID, 1142 const MFVideoNormalizedRect *pnrcOutput); 1143 1144 HRESULT (STDMETHODCALLTYPE *GetStreamOutputRect)( 1145 IMFVideoMixerControl *This, 1146 DWORD dwStreamID, 1147 MFVideoNormalizedRect *pnrcOutput); 1148 1149 END_INTERFACE 1150 } IMFVideoMixerControlVtbl; 1151 1152 interface IMFVideoMixerControl { 1153 CONST_VTBL IMFVideoMixerControlVtbl* lpVtbl; 1154 }; 1155 1156 #ifdef COBJMACROS 1157 #ifndef WIDL_C_INLINE_WRAPPERS 1158 /*** IUnknown methods ***/ 1159 #define IMFVideoMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1160 #define IMFVideoMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This) 1161 #define IMFVideoMixerControl_Release(This) (This)->lpVtbl->Release(This) 1162 /*** IMFVideoMixerControl methods ***/ 1163 #define IMFVideoMixerControl_SetStreamZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetStreamZOrder(This,dwStreamID,dwZ) 1164 #define IMFVideoMixerControl_GetStreamZOrder(This,dwStreamID,pdwZ) (This)->lpVtbl->GetStreamZOrder(This,dwStreamID,pdwZ) 1165 #define IMFVideoMixerControl_SetStreamOutputRect(This,dwStreamID,pnrcOutput) (This)->lpVtbl->SetStreamOutputRect(This,dwStreamID,pnrcOutput) 1166 #define IMFVideoMixerControl_GetStreamOutputRect(This,dwStreamID,pnrcOutput) (This)->lpVtbl->GetStreamOutputRect(This,dwStreamID,pnrcOutput) 1167 #else 1168 /*** IUnknown methods ***/ 1169 static inline HRESULT IMFVideoMixerControl_QueryInterface(IMFVideoMixerControl* This,REFIID riid,void **ppvObject) { 1170 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1171 } 1172 static inline ULONG IMFVideoMixerControl_AddRef(IMFVideoMixerControl* This) { 1173 return This->lpVtbl->AddRef(This); 1174 } 1175 static inline ULONG IMFVideoMixerControl_Release(IMFVideoMixerControl* This) { 1176 return This->lpVtbl->Release(This); 1177 } 1178 /*** IMFVideoMixerControl methods ***/ 1179 static inline HRESULT IMFVideoMixerControl_SetStreamZOrder(IMFVideoMixerControl* This,DWORD dwStreamID,DWORD dwZ) { 1180 return This->lpVtbl->SetStreamZOrder(This,dwStreamID,dwZ); 1181 } 1182 static inline HRESULT IMFVideoMixerControl_GetStreamZOrder(IMFVideoMixerControl* This,DWORD dwStreamID,DWORD *pdwZ) { 1183 return This->lpVtbl->GetStreamZOrder(This,dwStreamID,pdwZ); 1184 } 1185 static inline HRESULT IMFVideoMixerControl_SetStreamOutputRect(IMFVideoMixerControl* This,DWORD dwStreamID,const MFVideoNormalizedRect *pnrcOutput) { 1186 return This->lpVtbl->SetStreamOutputRect(This,dwStreamID,pnrcOutput); 1187 } 1188 static inline HRESULT IMFVideoMixerControl_GetStreamOutputRect(IMFVideoMixerControl* This,DWORD dwStreamID,MFVideoNormalizedRect *pnrcOutput) { 1189 return This->lpVtbl->GetStreamOutputRect(This,dwStreamID,pnrcOutput); 1190 } 1191 #endif 1192 #endif 1193 1194 #endif 1195 1196 1197 #endif /* __IMFVideoMixerControl_INTERFACE_DEFINED__ */ 1198 1199 1200 /***************************************************************************** 1201 * IMFVideoMixerControl2 interface 1202 */ 1203 #ifndef __IMFVideoMixerControl2_INTERFACE_DEFINED__ 1204 #define __IMFVideoMixerControl2_INTERFACE_DEFINED__ 1205 1206 DEFINE_GUID(IID_IMFVideoMixerControl2, 0x8459616d, 0x966e, 0x4930, 0xb6,0x58, 0x54,0xfa,0x7e,0x5a,0x16,0xd3); 1207 #if defined(__cplusplus) && !defined(CINTERFACE) 1208 MIDL_INTERFACE("8459616d-966e-4930-b658-54fa7e5a16d3") 1209 IMFVideoMixerControl2 : public IMFVideoMixerControl 1210 { 1211 virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( 1212 DWORD dwMixFlags) = 0; 1213 1214 virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( 1215 DWORD *pdwMixFlags) = 0; 1216 1217 }; 1218 #ifdef __CRT_UUID_DECL 1219 __CRT_UUID_DECL(IMFVideoMixerControl2, 0x8459616d, 0x966e, 0x4930, 0xb6,0x58, 0x54,0xfa,0x7e,0x5a,0x16,0xd3) 1220 #endif 1221 #else 1222 typedef struct IMFVideoMixerControl2Vtbl { 1223 BEGIN_INTERFACE 1224 1225 /*** IUnknown methods ***/ 1226 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1227 IMFVideoMixerControl2 *This, 1228 REFIID riid, 1229 void **ppvObject); 1230 1231 ULONG (STDMETHODCALLTYPE *AddRef)( 1232 IMFVideoMixerControl2 *This); 1233 1234 ULONG (STDMETHODCALLTYPE *Release)( 1235 IMFVideoMixerControl2 *This); 1236 1237 /*** IMFVideoMixerControl methods ***/ 1238 HRESULT (STDMETHODCALLTYPE *SetStreamZOrder)( 1239 IMFVideoMixerControl2 *This, 1240 DWORD dwStreamID, 1241 DWORD dwZ); 1242 1243 HRESULT (STDMETHODCALLTYPE *GetStreamZOrder)( 1244 IMFVideoMixerControl2 *This, 1245 DWORD dwStreamID, 1246 DWORD *pdwZ); 1247 1248 HRESULT (STDMETHODCALLTYPE *SetStreamOutputRect)( 1249 IMFVideoMixerControl2 *This, 1250 DWORD dwStreamID, 1251 const MFVideoNormalizedRect *pnrcOutput); 1252 1253 HRESULT (STDMETHODCALLTYPE *GetStreamOutputRect)( 1254 IMFVideoMixerControl2 *This, 1255 DWORD dwStreamID, 1256 MFVideoNormalizedRect *pnrcOutput); 1257 1258 /*** IMFVideoMixerControl2 methods ***/ 1259 HRESULT (STDMETHODCALLTYPE *SetMixingPrefs)( 1260 IMFVideoMixerControl2 *This, 1261 DWORD dwMixFlags); 1262 1263 HRESULT (STDMETHODCALLTYPE *GetMixingPrefs)( 1264 IMFVideoMixerControl2 *This, 1265 DWORD *pdwMixFlags); 1266 1267 END_INTERFACE 1268 } IMFVideoMixerControl2Vtbl; 1269 1270 interface IMFVideoMixerControl2 { 1271 CONST_VTBL IMFVideoMixerControl2Vtbl* lpVtbl; 1272 }; 1273 1274 #ifdef COBJMACROS 1275 #ifndef WIDL_C_INLINE_WRAPPERS 1276 /*** IUnknown methods ***/ 1277 #define IMFVideoMixerControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1278 #define IMFVideoMixerControl2_AddRef(This) (This)->lpVtbl->AddRef(This) 1279 #define IMFVideoMixerControl2_Release(This) (This)->lpVtbl->Release(This) 1280 /*** IMFVideoMixerControl methods ***/ 1281 #define IMFVideoMixerControl2_SetStreamZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetStreamZOrder(This,dwStreamID,dwZ) 1282 #define IMFVideoMixerControl2_GetStreamZOrder(This,dwStreamID,pdwZ) (This)->lpVtbl->GetStreamZOrder(This,dwStreamID,pdwZ) 1283 #define IMFVideoMixerControl2_SetStreamOutputRect(This,dwStreamID,pnrcOutput) (This)->lpVtbl->SetStreamOutputRect(This,dwStreamID,pnrcOutput) 1284 #define IMFVideoMixerControl2_GetStreamOutputRect(This,dwStreamID,pnrcOutput) (This)->lpVtbl->GetStreamOutputRect(This,dwStreamID,pnrcOutput) 1285 /*** IMFVideoMixerControl2 methods ***/ 1286 #define IMFVideoMixerControl2_SetMixingPrefs(This,dwMixFlags) (This)->lpVtbl->SetMixingPrefs(This,dwMixFlags) 1287 #define IMFVideoMixerControl2_GetMixingPrefs(This,pdwMixFlags) (This)->lpVtbl->GetMixingPrefs(This,pdwMixFlags) 1288 #else 1289 /*** IUnknown methods ***/ 1290 static inline HRESULT IMFVideoMixerControl2_QueryInterface(IMFVideoMixerControl2* This,REFIID riid,void **ppvObject) { 1291 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1292 } 1293 static inline ULONG IMFVideoMixerControl2_AddRef(IMFVideoMixerControl2* This) { 1294 return This->lpVtbl->AddRef(This); 1295 } 1296 static inline ULONG IMFVideoMixerControl2_Release(IMFVideoMixerControl2* This) { 1297 return This->lpVtbl->Release(This); 1298 } 1299 /*** IMFVideoMixerControl methods ***/ 1300 static inline HRESULT IMFVideoMixerControl2_SetStreamZOrder(IMFVideoMixerControl2* This,DWORD dwStreamID,DWORD dwZ) { 1301 return This->lpVtbl->SetStreamZOrder(This,dwStreamID,dwZ); 1302 } 1303 static inline HRESULT IMFVideoMixerControl2_GetStreamZOrder(IMFVideoMixerControl2* This,DWORD dwStreamID,DWORD *pdwZ) { 1304 return This->lpVtbl->GetStreamZOrder(This,dwStreamID,pdwZ); 1305 } 1306 static inline HRESULT IMFVideoMixerControl2_SetStreamOutputRect(IMFVideoMixerControl2* This,DWORD dwStreamID,const MFVideoNormalizedRect *pnrcOutput) { 1307 return This->lpVtbl->SetStreamOutputRect(This,dwStreamID,pnrcOutput); 1308 } 1309 static inline HRESULT IMFVideoMixerControl2_GetStreamOutputRect(IMFVideoMixerControl2* This,DWORD dwStreamID,MFVideoNormalizedRect *pnrcOutput) { 1310 return This->lpVtbl->GetStreamOutputRect(This,dwStreamID,pnrcOutput); 1311 } 1312 /*** IMFVideoMixerControl2 methods ***/ 1313 static inline HRESULT IMFVideoMixerControl2_SetMixingPrefs(IMFVideoMixerControl2* This,DWORD dwMixFlags) { 1314 return This->lpVtbl->SetMixingPrefs(This,dwMixFlags); 1315 } 1316 static inline HRESULT IMFVideoMixerControl2_GetMixingPrefs(IMFVideoMixerControl2* This,DWORD *pdwMixFlags) { 1317 return This->lpVtbl->GetMixingPrefs(This,pdwMixFlags); 1318 } 1319 #endif 1320 #endif 1321 1322 #endif 1323 1324 1325 #endif /* __IMFVideoMixerControl2_INTERFACE_DEFINED__ */ 1326 1327 1328 /***************************************************************************** 1329 * IMFVideoRenderer interface 1330 */ 1331 #ifndef __IMFVideoRenderer_INTERFACE_DEFINED__ 1332 #define __IMFVideoRenderer_INTERFACE_DEFINED__ 1333 1334 DEFINE_GUID(IID_IMFVideoRenderer, 0xdfdfd197, 0xa9ca, 0x43d8, 0xb3,0x41, 0x6a,0xf3,0x50,0x37,0x92,0xcd); 1335 #if defined(__cplusplus) && !defined(CINTERFACE) 1336 MIDL_INTERFACE("dfdfd197-a9ca-43d8-b341-6af3503792cd") 1337 IMFVideoRenderer : public IUnknown 1338 { 1339 virtual HRESULT STDMETHODCALLTYPE InitializeRenderer( 1340 IMFTransform *pVideoMixer, 1341 IMFVideoPresenter *pVideoPresenter) = 0; 1342 1343 }; 1344 #ifdef __CRT_UUID_DECL 1345 __CRT_UUID_DECL(IMFVideoRenderer, 0xdfdfd197, 0xa9ca, 0x43d8, 0xb3,0x41, 0x6a,0xf3,0x50,0x37,0x92,0xcd) 1346 #endif 1347 #else 1348 typedef struct IMFVideoRendererVtbl { 1349 BEGIN_INTERFACE 1350 1351 /*** IUnknown methods ***/ 1352 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1353 IMFVideoRenderer *This, 1354 REFIID riid, 1355 void **ppvObject); 1356 1357 ULONG (STDMETHODCALLTYPE *AddRef)( 1358 IMFVideoRenderer *This); 1359 1360 ULONG (STDMETHODCALLTYPE *Release)( 1361 IMFVideoRenderer *This); 1362 1363 /*** IMFVideoRenderer methods ***/ 1364 HRESULT (STDMETHODCALLTYPE *InitializeRenderer)( 1365 IMFVideoRenderer *This, 1366 IMFTransform *pVideoMixer, 1367 IMFVideoPresenter *pVideoPresenter); 1368 1369 END_INTERFACE 1370 } IMFVideoRendererVtbl; 1371 1372 interface IMFVideoRenderer { 1373 CONST_VTBL IMFVideoRendererVtbl* lpVtbl; 1374 }; 1375 1376 #ifdef COBJMACROS 1377 #ifndef WIDL_C_INLINE_WRAPPERS 1378 /*** IUnknown methods ***/ 1379 #define IMFVideoRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1380 #define IMFVideoRenderer_AddRef(This) (This)->lpVtbl->AddRef(This) 1381 #define IMFVideoRenderer_Release(This) (This)->lpVtbl->Release(This) 1382 /*** IMFVideoRenderer methods ***/ 1383 #define IMFVideoRenderer_InitializeRenderer(This,pVideoMixer,pVideoPresenter) (This)->lpVtbl->InitializeRenderer(This,pVideoMixer,pVideoPresenter) 1384 #else 1385 /*** IUnknown methods ***/ 1386 static inline HRESULT IMFVideoRenderer_QueryInterface(IMFVideoRenderer* This,REFIID riid,void **ppvObject) { 1387 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1388 } 1389 static inline ULONG IMFVideoRenderer_AddRef(IMFVideoRenderer* This) { 1390 return This->lpVtbl->AddRef(This); 1391 } 1392 static inline ULONG IMFVideoRenderer_Release(IMFVideoRenderer* This) { 1393 return This->lpVtbl->Release(This); 1394 } 1395 /*** IMFVideoRenderer methods ***/ 1396 static inline HRESULT IMFVideoRenderer_InitializeRenderer(IMFVideoRenderer* This,IMFTransform *pVideoMixer,IMFVideoPresenter *pVideoPresenter) { 1397 return This->lpVtbl->InitializeRenderer(This,pVideoMixer,pVideoPresenter); 1398 } 1399 #endif 1400 #endif 1401 1402 #endif 1403 1404 1405 #endif /* __IMFVideoRenderer_INTERFACE_DEFINED__ */ 1406 1407 1408 /***************************************************************************** 1409 * IEVRFilterConfig interface 1410 */ 1411 #ifndef __IEVRFilterConfig_INTERFACE_DEFINED__ 1412 #define __IEVRFilterConfig_INTERFACE_DEFINED__ 1413 1414 DEFINE_GUID(IID_IEVRFilterConfig, 0x83e91e85, 0x82c1, 0x4ea7, 0x80,0x1d, 0x85,0xdc,0x50,0xb7,0x50,0x86); 1415 #if defined(__cplusplus) && !defined(CINTERFACE) 1416 MIDL_INTERFACE("83e91e85-82c1-4ea7-801d-85dc50b75086") 1417 IEVRFilterConfig : public IUnknown 1418 { 1419 virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( 1420 DWORD dwMaxStreams) = 0; 1421 1422 virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( 1423 DWORD *pdwMaxStreams) = 0; 1424 1425 }; 1426 #ifdef __CRT_UUID_DECL 1427 __CRT_UUID_DECL(IEVRFilterConfig, 0x83e91e85, 0x82c1, 0x4ea7, 0x80,0x1d, 0x85,0xdc,0x50,0xb7,0x50,0x86) 1428 #endif 1429 #else 1430 typedef struct IEVRFilterConfigVtbl { 1431 BEGIN_INTERFACE 1432 1433 /*** IUnknown methods ***/ 1434 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1435 IEVRFilterConfig *This, 1436 REFIID riid, 1437 void **ppvObject); 1438 1439 ULONG (STDMETHODCALLTYPE *AddRef)( 1440 IEVRFilterConfig *This); 1441 1442 ULONG (STDMETHODCALLTYPE *Release)( 1443 IEVRFilterConfig *This); 1444 1445 /*** IEVRFilterConfig methods ***/ 1446 HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)( 1447 IEVRFilterConfig *This, 1448 DWORD dwMaxStreams); 1449 1450 HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)( 1451 IEVRFilterConfig *This, 1452 DWORD *pdwMaxStreams); 1453 1454 END_INTERFACE 1455 } IEVRFilterConfigVtbl; 1456 1457 interface IEVRFilterConfig { 1458 CONST_VTBL IEVRFilterConfigVtbl* lpVtbl; 1459 }; 1460 1461 #ifdef COBJMACROS 1462 #ifndef WIDL_C_INLINE_WRAPPERS 1463 /*** IUnknown methods ***/ 1464 #define IEVRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1465 #define IEVRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This) 1466 #define IEVRFilterConfig_Release(This) (This)->lpVtbl->Release(This) 1467 /*** IEVRFilterConfig methods ***/ 1468 #define IEVRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams) 1469 #define IEVRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams) 1470 #else 1471 /*** IUnknown methods ***/ 1472 static inline HRESULT IEVRFilterConfig_QueryInterface(IEVRFilterConfig* This,REFIID riid,void **ppvObject) { 1473 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1474 } 1475 static inline ULONG IEVRFilterConfig_AddRef(IEVRFilterConfig* This) { 1476 return This->lpVtbl->AddRef(This); 1477 } 1478 static inline ULONG IEVRFilterConfig_Release(IEVRFilterConfig* This) { 1479 return This->lpVtbl->Release(This); 1480 } 1481 /*** IEVRFilterConfig methods ***/ 1482 static inline HRESULT IEVRFilterConfig_SetNumberOfStreams(IEVRFilterConfig* This,DWORD dwMaxStreams) { 1483 return This->lpVtbl->SetNumberOfStreams(This,dwMaxStreams); 1484 } 1485 static inline HRESULT IEVRFilterConfig_GetNumberOfStreams(IEVRFilterConfig* This,DWORD *pdwMaxStreams) { 1486 return This->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams); 1487 } 1488 #endif 1489 #endif 1490 1491 #endif 1492 1493 1494 #endif /* __IEVRFilterConfig_INTERFACE_DEFINED__ */ 1495 1496 1497 /***************************************************************************** 1498 * IEVRFilterConfigEx interface 1499 */ 1500 #ifndef __IEVRFilterConfigEx_INTERFACE_DEFINED__ 1501 #define __IEVRFilterConfigEx_INTERFACE_DEFINED__ 1502 1503 DEFINE_GUID(IID_IEVRFilterConfigEx, 0xaea36028, 0x796d, 0x454f, 0xbe,0xee, 0xb4,0x80,0x71,0xe2,0x43,0x04); 1504 #if defined(__cplusplus) && !defined(CINTERFACE) 1505 MIDL_INTERFACE("aea36028-796d-454f-beee-b48071e24304") 1506 IEVRFilterConfigEx : public IEVRFilterConfig 1507 { 1508 virtual HRESULT STDMETHODCALLTYPE SetConfigPrefs( 1509 DWORD dwConfigFlags) = 0; 1510 1511 virtual HRESULT STDMETHODCALLTYPE GetConfigPrefs( 1512 DWORD *pdwConfigFlags) = 0; 1513 1514 }; 1515 #ifdef __CRT_UUID_DECL 1516 __CRT_UUID_DECL(IEVRFilterConfigEx, 0xaea36028, 0x796d, 0x454f, 0xbe,0xee, 0xb4,0x80,0x71,0xe2,0x43,0x04) 1517 #endif 1518 #else 1519 typedef struct IEVRFilterConfigExVtbl { 1520 BEGIN_INTERFACE 1521 1522 /*** IUnknown methods ***/ 1523 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1524 IEVRFilterConfigEx *This, 1525 REFIID riid, 1526 void **ppvObject); 1527 1528 ULONG (STDMETHODCALLTYPE *AddRef)( 1529 IEVRFilterConfigEx *This); 1530 1531 ULONG (STDMETHODCALLTYPE *Release)( 1532 IEVRFilterConfigEx *This); 1533 1534 /*** IEVRFilterConfig methods ***/ 1535 HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)( 1536 IEVRFilterConfigEx *This, 1537 DWORD dwMaxStreams); 1538 1539 HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)( 1540 IEVRFilterConfigEx *This, 1541 DWORD *pdwMaxStreams); 1542 1543 /*** IEVRFilterConfigEx methods ***/ 1544 HRESULT (STDMETHODCALLTYPE *SetConfigPrefs)( 1545 IEVRFilterConfigEx *This, 1546 DWORD dwConfigFlags); 1547 1548 HRESULT (STDMETHODCALLTYPE *GetConfigPrefs)( 1549 IEVRFilterConfigEx *This, 1550 DWORD *pdwConfigFlags); 1551 1552 END_INTERFACE 1553 } IEVRFilterConfigExVtbl; 1554 1555 interface IEVRFilterConfigEx { 1556 CONST_VTBL IEVRFilterConfigExVtbl* lpVtbl; 1557 }; 1558 1559 #ifdef COBJMACROS 1560 #ifndef WIDL_C_INLINE_WRAPPERS 1561 /*** IUnknown methods ***/ 1562 #define IEVRFilterConfigEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1563 #define IEVRFilterConfigEx_AddRef(This) (This)->lpVtbl->AddRef(This) 1564 #define IEVRFilterConfigEx_Release(This) (This)->lpVtbl->Release(This) 1565 /*** IEVRFilterConfig methods ***/ 1566 #define IEVRFilterConfigEx_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams) 1567 #define IEVRFilterConfigEx_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams) 1568 /*** IEVRFilterConfigEx methods ***/ 1569 #define IEVRFilterConfigEx_SetConfigPrefs(This,dwConfigFlags) (This)->lpVtbl->SetConfigPrefs(This,dwConfigFlags) 1570 #define IEVRFilterConfigEx_GetConfigPrefs(This,pdwConfigFlags) (This)->lpVtbl->GetConfigPrefs(This,pdwConfigFlags) 1571 #else 1572 /*** IUnknown methods ***/ 1573 static inline HRESULT IEVRFilterConfigEx_QueryInterface(IEVRFilterConfigEx* This,REFIID riid,void **ppvObject) { 1574 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1575 } 1576 static inline ULONG IEVRFilterConfigEx_AddRef(IEVRFilterConfigEx* This) { 1577 return This->lpVtbl->AddRef(This); 1578 } 1579 static inline ULONG IEVRFilterConfigEx_Release(IEVRFilterConfigEx* This) { 1580 return This->lpVtbl->Release(This); 1581 } 1582 /*** IEVRFilterConfig methods ***/ 1583 static inline HRESULT IEVRFilterConfigEx_SetNumberOfStreams(IEVRFilterConfigEx* This,DWORD dwMaxStreams) { 1584 return This->lpVtbl->SetNumberOfStreams(This,dwMaxStreams); 1585 } 1586 static inline HRESULT IEVRFilterConfigEx_GetNumberOfStreams(IEVRFilterConfigEx* This,DWORD *pdwMaxStreams) { 1587 return This->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams); 1588 } 1589 /*** IEVRFilterConfigEx methods ***/ 1590 static inline HRESULT IEVRFilterConfigEx_SetConfigPrefs(IEVRFilterConfigEx* This,DWORD dwConfigFlags) { 1591 return This->lpVtbl->SetConfigPrefs(This,dwConfigFlags); 1592 } 1593 static inline HRESULT IEVRFilterConfigEx_GetConfigPrefs(IEVRFilterConfigEx* This,DWORD *pdwConfigFlags) { 1594 return This->lpVtbl->GetConfigPrefs(This,pdwConfigFlags); 1595 } 1596 #endif 1597 #endif 1598 1599 #endif 1600 1601 1602 #endif /* __IEVRFilterConfigEx_INTERFACE_DEFINED__ */ 1603 1604 1605 /***************************************************************************** 1606 * IMFTopologyServiceLookup interface 1607 */ 1608 #ifndef __IMFTopologyServiceLookup_INTERFACE_DEFINED__ 1609 #define __IMFTopologyServiceLookup_INTERFACE_DEFINED__ 1610 1611 DEFINE_GUID(IID_IMFTopologyServiceLookup, 0xfa993889, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7); 1612 #if defined(__cplusplus) && !defined(CINTERFACE) 1613 MIDL_INTERFACE("fa993889-4383-415a-a930-dd472a8cf6f7") 1614 IMFTopologyServiceLookup : public IUnknown 1615 { 1616 virtual HRESULT STDMETHODCALLTYPE LookupService( 1617 MF_SERVICE_LOOKUP_TYPE Type, 1618 DWORD dwIndex, 1619 REFGUID guidService, 1620 REFIID riid, 1621 LPVOID *ppvObjects, 1622 DWORD *pnObjects) = 0; 1623 1624 }; 1625 #ifdef __CRT_UUID_DECL 1626 __CRT_UUID_DECL(IMFTopologyServiceLookup, 0xfa993889, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7) 1627 #endif 1628 #else 1629 typedef struct IMFTopologyServiceLookupVtbl { 1630 BEGIN_INTERFACE 1631 1632 /*** IUnknown methods ***/ 1633 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1634 IMFTopologyServiceLookup *This, 1635 REFIID riid, 1636 void **ppvObject); 1637 1638 ULONG (STDMETHODCALLTYPE *AddRef)( 1639 IMFTopologyServiceLookup *This); 1640 1641 ULONG (STDMETHODCALLTYPE *Release)( 1642 IMFTopologyServiceLookup *This); 1643 1644 /*** IMFTopologyServiceLookup methods ***/ 1645 HRESULT (STDMETHODCALLTYPE *LookupService)( 1646 IMFTopologyServiceLookup *This, 1647 MF_SERVICE_LOOKUP_TYPE Type, 1648 DWORD dwIndex, 1649 REFGUID guidService, 1650 REFIID riid, 1651 LPVOID *ppvObjects, 1652 DWORD *pnObjects); 1653 1654 END_INTERFACE 1655 } IMFTopologyServiceLookupVtbl; 1656 1657 interface IMFTopologyServiceLookup { 1658 CONST_VTBL IMFTopologyServiceLookupVtbl* lpVtbl; 1659 }; 1660 1661 #ifdef COBJMACROS 1662 #ifndef WIDL_C_INLINE_WRAPPERS 1663 /*** IUnknown methods ***/ 1664 #define IMFTopologyServiceLookup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1665 #define IMFTopologyServiceLookup_AddRef(This) (This)->lpVtbl->AddRef(This) 1666 #define IMFTopologyServiceLookup_Release(This) (This)->lpVtbl->Release(This) 1667 /*** IMFTopologyServiceLookup methods ***/ 1668 #define IMFTopologyServiceLookup_LookupService(This,Type,dwIndex,guidService,riid,ppvObjects,pnObjects) (This)->lpVtbl->LookupService(This,Type,dwIndex,guidService,riid,ppvObjects,pnObjects) 1669 #else 1670 /*** IUnknown methods ***/ 1671 static inline HRESULT IMFTopologyServiceLookup_QueryInterface(IMFTopologyServiceLookup* This,REFIID riid,void **ppvObject) { 1672 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1673 } 1674 static inline ULONG IMFTopologyServiceLookup_AddRef(IMFTopologyServiceLookup* This) { 1675 return This->lpVtbl->AddRef(This); 1676 } 1677 static inline ULONG IMFTopologyServiceLookup_Release(IMFTopologyServiceLookup* This) { 1678 return This->lpVtbl->Release(This); 1679 } 1680 /*** IMFTopologyServiceLookup methods ***/ 1681 static inline HRESULT IMFTopologyServiceLookup_LookupService(IMFTopologyServiceLookup* This,MF_SERVICE_LOOKUP_TYPE Type,DWORD dwIndex,REFGUID guidService,REFIID riid,LPVOID *ppvObjects,DWORD *pnObjects) { 1682 return This->lpVtbl->LookupService(This,Type,dwIndex,guidService,riid,ppvObjects,pnObjects); 1683 } 1684 #endif 1685 #endif 1686 1687 #endif 1688 1689 1690 #endif /* __IMFTopologyServiceLookup_INTERFACE_DEFINED__ */ 1691 1692 1693 /***************************************************************************** 1694 * IMFTopologyServiceLookupClient interface 1695 */ 1696 #ifndef __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ 1697 #define __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ 1698 1699 DEFINE_GUID(IID_IMFTopologyServiceLookupClient, 0xfa99388a, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7); 1700 #if defined(__cplusplus) && !defined(CINTERFACE) 1701 MIDL_INTERFACE("fa99388a-4383-415a-a930-dd472a8cf6f7") 1702 IMFTopologyServiceLookupClient : public IUnknown 1703 { 1704 virtual HRESULT STDMETHODCALLTYPE InitServicePointers( 1705 IMFTopologyServiceLookup *pLookup) = 0; 1706 1707 virtual HRESULT STDMETHODCALLTYPE ReleaseServicePointers( 1708 ) = 0; 1709 1710 }; 1711 #ifdef __CRT_UUID_DECL 1712 __CRT_UUID_DECL(IMFTopologyServiceLookupClient, 0xfa99388a, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7) 1713 #endif 1714 #else 1715 typedef struct IMFTopologyServiceLookupClientVtbl { 1716 BEGIN_INTERFACE 1717 1718 /*** IUnknown methods ***/ 1719 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1720 IMFTopologyServiceLookupClient *This, 1721 REFIID riid, 1722 void **ppvObject); 1723 1724 ULONG (STDMETHODCALLTYPE *AddRef)( 1725 IMFTopologyServiceLookupClient *This); 1726 1727 ULONG (STDMETHODCALLTYPE *Release)( 1728 IMFTopologyServiceLookupClient *This); 1729 1730 /*** IMFTopologyServiceLookupClient methods ***/ 1731 HRESULT (STDMETHODCALLTYPE *InitServicePointers)( 1732 IMFTopologyServiceLookupClient *This, 1733 IMFTopologyServiceLookup *pLookup); 1734 1735 HRESULT (STDMETHODCALLTYPE *ReleaseServicePointers)( 1736 IMFTopologyServiceLookupClient *This); 1737 1738 END_INTERFACE 1739 } IMFTopologyServiceLookupClientVtbl; 1740 1741 interface IMFTopologyServiceLookupClient { 1742 CONST_VTBL IMFTopologyServiceLookupClientVtbl* lpVtbl; 1743 }; 1744 1745 #ifdef COBJMACROS 1746 #ifndef WIDL_C_INLINE_WRAPPERS 1747 /*** IUnknown methods ***/ 1748 #define IMFTopologyServiceLookupClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1749 #define IMFTopologyServiceLookupClient_AddRef(This) (This)->lpVtbl->AddRef(This) 1750 #define IMFTopologyServiceLookupClient_Release(This) (This)->lpVtbl->Release(This) 1751 /*** IMFTopologyServiceLookupClient methods ***/ 1752 #define IMFTopologyServiceLookupClient_InitServicePointers(This,pLookup) (This)->lpVtbl->InitServicePointers(This,pLookup) 1753 #define IMFTopologyServiceLookupClient_ReleaseServicePointers(This) (This)->lpVtbl->ReleaseServicePointers(This) 1754 #else 1755 /*** IUnknown methods ***/ 1756 static inline HRESULT IMFTopologyServiceLookupClient_QueryInterface(IMFTopologyServiceLookupClient* This,REFIID riid,void **ppvObject) { 1757 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1758 } 1759 static inline ULONG IMFTopologyServiceLookupClient_AddRef(IMFTopologyServiceLookupClient* This) { 1760 return This->lpVtbl->AddRef(This); 1761 } 1762 static inline ULONG IMFTopologyServiceLookupClient_Release(IMFTopologyServiceLookupClient* This) { 1763 return This->lpVtbl->Release(This); 1764 } 1765 /*** IMFTopologyServiceLookupClient methods ***/ 1766 static inline HRESULT IMFTopologyServiceLookupClient_InitServicePointers(IMFTopologyServiceLookupClient* This,IMFTopologyServiceLookup *pLookup) { 1767 return This->lpVtbl->InitServicePointers(This,pLookup); 1768 } 1769 static inline HRESULT IMFTopologyServiceLookupClient_ReleaseServicePointers(IMFTopologyServiceLookupClient* This) { 1770 return This->lpVtbl->ReleaseServicePointers(This); 1771 } 1772 #endif 1773 #endif 1774 1775 #endif 1776 1777 1778 #endif /* __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ */ 1779 1780 1781 /***************************************************************************** 1782 * IEVRTrustedVideoPlugin interface 1783 */ 1784 #ifndef __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ 1785 #define __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ 1786 1787 DEFINE_GUID(IID_IEVRTrustedVideoPlugin, 0x83a4ce40, 0x7710, 0x494b, 0xa8,0x93, 0xa4,0x72,0x04,0x9a,0xf6,0x30); 1788 #if defined(__cplusplus) && !defined(CINTERFACE) 1789 MIDL_INTERFACE("83a4ce40-7710-494b-a893-a472049af630") 1790 IEVRTrustedVideoPlugin : public IUnknown 1791 { 1792 virtual HRESULT STDMETHODCALLTYPE IsInTrustedVideoMode( 1793 WINBOOL *pYes) = 0; 1794 1795 virtual HRESULT STDMETHODCALLTYPE CanConstrict( 1796 WINBOOL *pYes) = 0; 1797 1798 virtual HRESULT STDMETHODCALLTYPE SetConstriction( 1799 DWORD dwKPix) = 0; 1800 1801 virtual HRESULT STDMETHODCALLTYPE DisableImageExport( 1802 WINBOOL bDisable) = 0; 1803 1804 }; 1805 #ifdef __CRT_UUID_DECL 1806 __CRT_UUID_DECL(IEVRTrustedVideoPlugin, 0x83a4ce40, 0x7710, 0x494b, 0xa8,0x93, 0xa4,0x72,0x04,0x9a,0xf6,0x30) 1807 #endif 1808 #else 1809 typedef struct IEVRTrustedVideoPluginVtbl { 1810 BEGIN_INTERFACE 1811 1812 /*** IUnknown methods ***/ 1813 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1814 IEVRTrustedVideoPlugin *This, 1815 REFIID riid, 1816 void **ppvObject); 1817 1818 ULONG (STDMETHODCALLTYPE *AddRef)( 1819 IEVRTrustedVideoPlugin *This); 1820 1821 ULONG (STDMETHODCALLTYPE *Release)( 1822 IEVRTrustedVideoPlugin *This); 1823 1824 /*** IEVRTrustedVideoPlugin methods ***/ 1825 HRESULT (STDMETHODCALLTYPE *IsInTrustedVideoMode)( 1826 IEVRTrustedVideoPlugin *This, 1827 WINBOOL *pYes); 1828 1829 HRESULT (STDMETHODCALLTYPE *CanConstrict)( 1830 IEVRTrustedVideoPlugin *This, 1831 WINBOOL *pYes); 1832 1833 HRESULT (STDMETHODCALLTYPE *SetConstriction)( 1834 IEVRTrustedVideoPlugin *This, 1835 DWORD dwKPix); 1836 1837 HRESULT (STDMETHODCALLTYPE *DisableImageExport)( 1838 IEVRTrustedVideoPlugin *This, 1839 WINBOOL bDisable); 1840 1841 END_INTERFACE 1842 } IEVRTrustedVideoPluginVtbl; 1843 1844 interface IEVRTrustedVideoPlugin { 1845 CONST_VTBL IEVRTrustedVideoPluginVtbl* lpVtbl; 1846 }; 1847 1848 #ifdef COBJMACROS 1849 #ifndef WIDL_C_INLINE_WRAPPERS 1850 /*** IUnknown methods ***/ 1851 #define IEVRTrustedVideoPlugin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1852 #define IEVRTrustedVideoPlugin_AddRef(This) (This)->lpVtbl->AddRef(This) 1853 #define IEVRTrustedVideoPlugin_Release(This) (This)->lpVtbl->Release(This) 1854 /*** IEVRTrustedVideoPlugin methods ***/ 1855 #define IEVRTrustedVideoPlugin_IsInTrustedVideoMode(This,pYes) (This)->lpVtbl->IsInTrustedVideoMode(This,pYes) 1856 #define IEVRTrustedVideoPlugin_CanConstrict(This,pYes) (This)->lpVtbl->CanConstrict(This,pYes) 1857 #define IEVRTrustedVideoPlugin_SetConstriction(This,dwKPix) (This)->lpVtbl->SetConstriction(This,dwKPix) 1858 #define IEVRTrustedVideoPlugin_DisableImageExport(This,bDisable) (This)->lpVtbl->DisableImageExport(This,bDisable) 1859 #else 1860 /*** IUnknown methods ***/ 1861 static inline HRESULT IEVRTrustedVideoPlugin_QueryInterface(IEVRTrustedVideoPlugin* This,REFIID riid,void **ppvObject) { 1862 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1863 } 1864 static inline ULONG IEVRTrustedVideoPlugin_AddRef(IEVRTrustedVideoPlugin* This) { 1865 return This->lpVtbl->AddRef(This); 1866 } 1867 static inline ULONG IEVRTrustedVideoPlugin_Release(IEVRTrustedVideoPlugin* This) { 1868 return This->lpVtbl->Release(This); 1869 } 1870 /*** IEVRTrustedVideoPlugin methods ***/ 1871 static inline HRESULT IEVRTrustedVideoPlugin_IsInTrustedVideoMode(IEVRTrustedVideoPlugin* This,WINBOOL *pYes) { 1872 return This->lpVtbl->IsInTrustedVideoMode(This,pYes); 1873 } 1874 static inline HRESULT IEVRTrustedVideoPlugin_CanConstrict(IEVRTrustedVideoPlugin* This,WINBOOL *pYes) { 1875 return This->lpVtbl->CanConstrict(This,pYes); 1876 } 1877 static inline HRESULT IEVRTrustedVideoPlugin_SetConstriction(IEVRTrustedVideoPlugin* This,DWORD dwKPix) { 1878 return This->lpVtbl->SetConstriction(This,dwKPix); 1879 } 1880 static inline HRESULT IEVRTrustedVideoPlugin_DisableImageExport(IEVRTrustedVideoPlugin* This,WINBOOL bDisable) { 1881 return This->lpVtbl->DisableImageExport(This,bDisable); 1882 } 1883 #endif 1884 #endif 1885 1886 #endif 1887 1888 1889 #endif /* __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ */ 1890 1891 1892 HRESULT WINAPI MFCreateVideoPresenter(IUnknown *pOwner, REFIID riidDevice, REFIID riid, void **ppVideoPresenter); 1893 HRESULT WINAPI MFCreateVideoMixer(IUnknown *pOwner, REFIID riidDevice, REFIID riid, void **ppv); 1894 HRESULT WINAPI MFCreateVideoMixerAndPresenter(IUnknown *pMixerOwner, IUnknown *pPresenterOwner, REFIID riidMixer, void **ppvVideoMixer, REFIID riidPresenter, void **ppvVideoPresenter); 1895 HRESULT WINAPI MFCreateVideoRenderer( REFIID riidRenderer, void **ppVideoRenderer ); 1896 HRESULT WINAPI MFCreateVideoSampleFromSurface(IUnknown *pUnkSurface, IMFSample **ppSample); 1897 HRESULT WINAPI MFCreateVideoSampleAllocator(REFIID riid, void **ppSampleAllocator); 1898 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ 1899 1900 /* Begin additional prototypes for all interfaces */ 1901 1902 ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); 1903 unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); 1904 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); 1905 void __RPC_USER HWND_UserFree (ULONG *, HWND *); 1906 1907 /* End additional prototypes */ 1908 1909 #ifdef __cplusplus 1910 } 1911 #endif 1912 1913 #endif /* __evr_h__ */