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