1/*** Autogenerated by WIDL 1.6 from direct-x/include/vmr9.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 __vmr9_h__ 16#define __vmr9_h__ 17 18/* Forward declarations */ 19 20#ifndef __IVMRImagePresenter9_FWD_DEFINED__ 21#define __IVMRImagePresenter9_FWD_DEFINED__ 22typedef interface IVMRImagePresenter9 IVMRImagePresenter9; 23#endif 24 25#ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ 26#define __IVMRSurfaceAllocator9_FWD_DEFINED__ 27typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; 28#endif 29 30#ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ 31#define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ 32typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9; 33#endif 34 35#ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ 36#define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ 37typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; 38#endif 39 40#ifndef __IVMRWindowlessControl9_FWD_DEFINED__ 41#define __IVMRWindowlessControl9_FWD_DEFINED__ 42typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; 43#endif 44 45#ifndef __IVMRMixerControl9_FWD_DEFINED__ 46#define __IVMRMixerControl9_FWD_DEFINED__ 47typedef interface IVMRMixerControl9 IVMRMixerControl9; 48#endif 49 50#ifndef __IVMRMixerBitmap9_FWD_DEFINED__ 51#define __IVMRMixerBitmap9_FWD_DEFINED__ 52typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; 53#endif 54 55#ifndef __IVMRSurface9_FWD_DEFINED__ 56#define __IVMRSurface9_FWD_DEFINED__ 57typedef interface IVMRSurface9 IVMRSurface9; 58#endif 59 60#ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ 61#define __IVMRImagePresenterConfig9_FWD_DEFINED__ 62typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; 63#endif 64 65#ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ 66#define __IVMRVideoStreamControl9_FWD_DEFINED__ 67typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; 68#endif 69 70#ifndef __IVMRFilterConfig9_FWD_DEFINED__ 71#define __IVMRFilterConfig9_FWD_DEFINED__ 72typedef interface IVMRFilterConfig9 IVMRFilterConfig9; 73#endif 74 75#ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ 76#define __IVMRAspectRatioControl9_FWD_DEFINED__ 77typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; 78#endif 79 80#ifndef __IVMRMonitorConfig9_FWD_DEFINED__ 81#define __IVMRMonitorConfig9_FWD_DEFINED__ 82typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; 83#endif 84 85#ifndef __IVMRDeinterlaceControl9_FWD_DEFINED__ 86#define __IVMRDeinterlaceControl9_FWD_DEFINED__ 87typedef interface IVMRDeinterlaceControl9 IVMRDeinterlaceControl9; 88#endif 89 90#ifndef __IVMRImageCompositor9_FWD_DEFINED__ 91#define __IVMRImageCompositor9_FWD_DEFINED__ 92typedef interface IVMRImageCompositor9 IVMRImageCompositor9; 93#endif 94 95/* Headers for imported files */ 96 97#include <unknwn.h> 98 99#ifdef __cplusplus 100extern "C" { 101#endif 102 103#if 0 104#ifndef __IDirect3DSurface9_FWD_DEFINED__ 105#define __IDirect3DSurface9_FWD_DEFINED__ 106typedef interface IDirect3DSurface9 IDirect3DSurface9; 107#endif 108 109#ifndef __IDirect3DDevice9_FWD_DEFINED__ 110#define __IDirect3DDevice9_FWD_DEFINED__ 111typedef interface IDirect3DDevice9 IDirect3DDevice9; 112#endif 113 114typedef LONGLONG REFERENCE_TIME; 115typedef DWORD D3DFORMAT; 116typedef DWORD D3DPOOL; 117typedef HANDLE HMONITOR; 118typedef struct __WIDL_vmr9_generated_name_00000002 { 119 char dummy; 120} AM_MEDIA_TYPE; 121typedef struct __WIDL_vmr9_generated_name_00000003 { 122 char dummy; 123} D3DCOLOR; 124#endif 125#ifndef __IVMRSurface9_FWD_DEFINED__ 126#define __IVMRSurface9_FWD_DEFINED__ 127typedef interface IVMRSurface9 IVMRSurface9; 128#endif 129 130#ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ 131#define __IVMRSurfaceAllocator9_FWD_DEFINED__ 132typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; 133#endif 134 135#ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ 136#define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ 137typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9; 138#endif 139 140#ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ 141#define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ 142typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; 143#endif 144 145#ifndef __IVMRImagePresenter9_FWD_DEFINED__ 146#define __IVMRImagePresenter9_FWD_DEFINED__ 147typedef interface IVMRImagePresenter9 IVMRImagePresenter9; 148#endif 149 150#ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ 151#define __IVMRImagePresenterConfig9_FWD_DEFINED__ 152typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; 153#endif 154 155#ifndef __IVMRMonitorConfig9_FWD_DEFINED__ 156#define __IVMRMonitorConfig9_FWD_DEFINED__ 157typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; 158#endif 159 160#ifndef __IVMRWindowlessControl9_FWD_DEFINED__ 161#define __IVMRWindowlessControl9_FWD_DEFINED__ 162typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; 163#endif 164 165#ifndef __IVMRMixerControl9_FWD_DEFINED__ 166#define __IVMRMixerControl9_FWD_DEFINED__ 167typedef interface IVMRMixerControl9 IVMRMixerControl9; 168#endif 169 170#ifndef __IVMRImageCompositor9_FWD_DEFINED__ 171#define __IVMRImageCompositor9_FWD_DEFINED__ 172typedef interface IVMRImageCompositor9 IVMRImageCompositor9; 173#endif 174 175#ifndef __IVMRMixerBitmap9_FWD_DEFINED__ 176#define __IVMRMixerBitmap9_FWD_DEFINED__ 177typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; 178#endif 179 180#ifndef __IVMRFilterConfig9_FWD_DEFINED__ 181#define __IVMRFilterConfig9_FWD_DEFINED__ 182typedef interface IVMRFilterConfig9 IVMRFilterConfig9; 183#endif 184 185#ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ 186#define __IVMRAspectRatioControl9_FWD_DEFINED__ 187typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; 188#endif 189 190#ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ 191#define __IVMRVideoStreamControl9_FWD_DEFINED__ 192typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; 193#endif 194 195typedef enum _VMR9PresentationFlags { 196 VMR9Sample_SyncPoint = 0x1, 197 VMR9Sample_Preroll = 0x2, 198 VMR9Sample_Discontinuity = 0x4, 199 VMR9Sample_TimeValid = 0x8, 200 VMR9Sample_SrcDstRectsValid = 0x10 201} VMR9PresentationFlags; 202typedef struct _VMR9PresentationInfo { 203 DWORD dwFlags; 204 IDirect3DSurface9 *lpSurf; 205 REFERENCE_TIME rtStart; 206 REFERENCE_TIME rtEnd; 207 SIZE szAspectRatio; 208 RECT rcSrc; 209 RECT rcDst; 210 DWORD dwReserved1; 211 DWORD dwReserved2; 212} VMR9PresentationInfo; 213/***************************************************************************** 214 * IVMRImagePresenter9 interface 215 */ 216#ifndef __IVMRImagePresenter9_INTERFACE_DEFINED__ 217#define __IVMRImagePresenter9_INTERFACE_DEFINED__ 218 219DEFINE_GUID(IID_IVMRImagePresenter9, 0x69188c61, 0x12a3, 0x40f0, 0x8f,0xfc, 0x34,0x2e,0x7b,0x43,0x3f,0xd7); 220#if defined(__cplusplus) && !defined(CINTERFACE) 221MIDL_INTERFACE("69188c61-12a3-40f0-8ffc-342e7b433fd7") 222IVMRImagePresenter9 : public IUnknown 223{ 224 virtual HRESULT STDMETHODCALLTYPE StartPresenting( 225 DWORD_PTR id) = 0; 226 227 virtual HRESULT STDMETHODCALLTYPE StopPresenting( 228 DWORD_PTR id) = 0; 229 230 virtual HRESULT STDMETHODCALLTYPE PresentImage( 231 DWORD_PTR id, 232 VMR9PresentationInfo *info) = 0; 233 234}; 235#ifdef __CRT_UUID_DECL 236__CRT_UUID_DECL(IVMRImagePresenter9, 0x69188c61, 0x12a3, 0x40f0, 0x8f,0xfc, 0x34,0x2e,0x7b,0x43,0x3f,0xd7) 237#endif 238#else 239typedef struct IVMRImagePresenter9Vtbl { 240 BEGIN_INTERFACE 241 242 /*** IUnknown methods ***/ 243 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 244 IVMRImagePresenter9* This, 245 REFIID riid, 246 void **ppvObject); 247 248 ULONG (STDMETHODCALLTYPE *AddRef)( 249 IVMRImagePresenter9* This); 250 251 ULONG (STDMETHODCALLTYPE *Release)( 252 IVMRImagePresenter9* This); 253 254 /*** IVMRImagePresenter9 methods ***/ 255 HRESULT (STDMETHODCALLTYPE *StartPresenting)( 256 IVMRImagePresenter9* This, 257 DWORD_PTR id); 258 259 HRESULT (STDMETHODCALLTYPE *StopPresenting)( 260 IVMRImagePresenter9* This, 261 DWORD_PTR id); 262 263 HRESULT (STDMETHODCALLTYPE *PresentImage)( 264 IVMRImagePresenter9* This, 265 DWORD_PTR id, 266 VMR9PresentationInfo *info); 267 268 END_INTERFACE 269} IVMRImagePresenter9Vtbl; 270interface IVMRImagePresenter9 { 271 CONST_VTBL IVMRImagePresenter9Vtbl* lpVtbl; 272}; 273 274#ifdef COBJMACROS 275#ifndef WIDL_C_INLINE_WRAPPERS 276/*** IUnknown methods ***/ 277#define IVMRImagePresenter9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 278#define IVMRImagePresenter9_AddRef(This) (This)->lpVtbl->AddRef(This) 279#define IVMRImagePresenter9_Release(This) (This)->lpVtbl->Release(This) 280/*** IVMRImagePresenter9 methods ***/ 281#define IVMRImagePresenter9_StartPresenting(This,id) (This)->lpVtbl->StartPresenting(This,id) 282#define IVMRImagePresenter9_StopPresenting(This,id) (This)->lpVtbl->StopPresenting(This,id) 283#define IVMRImagePresenter9_PresentImage(This,id,info) (This)->lpVtbl->PresentImage(This,id,info) 284#else 285/*** IUnknown methods ***/ 286static FORCEINLINE HRESULT IVMRImagePresenter9_QueryInterface(IVMRImagePresenter9* This,REFIID riid,void **ppvObject) { 287 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 288} 289static FORCEINLINE ULONG IVMRImagePresenter9_AddRef(IVMRImagePresenter9* This) { 290 return This->lpVtbl->AddRef(This); 291} 292static FORCEINLINE ULONG IVMRImagePresenter9_Release(IVMRImagePresenter9* This) { 293 return This->lpVtbl->Release(This); 294} 295/*** IVMRImagePresenter9 methods ***/ 296static FORCEINLINE HRESULT IVMRImagePresenter9_StartPresenting(IVMRImagePresenter9* This,DWORD_PTR id) { 297 return This->lpVtbl->StartPresenting(This,id); 298} 299static FORCEINLINE HRESULT IVMRImagePresenter9_StopPresenting(IVMRImagePresenter9* This,DWORD_PTR id) { 300 return This->lpVtbl->StopPresenting(This,id); 301} 302static FORCEINLINE HRESULT IVMRImagePresenter9_PresentImage(IVMRImagePresenter9* This,DWORD_PTR id,VMR9PresentationInfo *info) { 303 return This->lpVtbl->PresentImage(This,id,info); 304} 305#endif 306#endif 307 308#endif 309 310HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StartPresenting_Proxy( 311 IVMRImagePresenter9* This, 312 DWORD_PTR id); 313void __RPC_STUB IVMRImagePresenter9_StartPresenting_Stub( 314 IRpcStubBuffer* This, 315 IRpcChannelBuffer* pRpcChannelBuffer, 316 PRPC_MESSAGE pRpcMessage, 317 DWORD* pdwStubPhase); 318HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StopPresenting_Proxy( 319 IVMRImagePresenter9* This, 320 DWORD_PTR id); 321void __RPC_STUB IVMRImagePresenter9_StopPresenting_Stub( 322 IRpcStubBuffer* This, 323 IRpcChannelBuffer* pRpcChannelBuffer, 324 PRPC_MESSAGE pRpcMessage, 325 DWORD* pdwStubPhase); 326HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_PresentImage_Proxy( 327 IVMRImagePresenter9* This, 328 DWORD_PTR id, 329 VMR9PresentationInfo *info); 330void __RPC_STUB IVMRImagePresenter9_PresentImage_Stub( 331 IRpcStubBuffer* This, 332 IRpcChannelBuffer* pRpcChannelBuffer, 333 PRPC_MESSAGE pRpcMessage, 334 DWORD* pdwStubPhase); 335 336#endif /* __IVMRImagePresenter9_INTERFACE_DEFINED__ */ 337 338typedef enum _VMR9SurfaceAllocationFlags { 339 VMR9AllocFlag_3DRenderTarget = 0x1, 340 VMR9AllocFlag_DXVATarget = 0x2, 341 VMR9AllocFlag_TextureSurface = 0x4, 342 VMR9AllocFlag_OffscreenSurface = 0x8, 343 VMR9AllocFlag_RGBDynamicSwitch = 0x10, 344 VMR9AllocFlag_UsageReserved = 0xe0, 345 VMR9AllocFlag_UsageMask = 0xff 346} VMR9SurfaceAllocationFlags; 347typedef struct _VMR9AllocationInfo { 348 DWORD dwFlags; 349 DWORD dwWidth; 350 DWORD dwHeight; 351 D3DFORMAT Format; 352 D3DPOOL Pool; 353 DWORD MinBuffers; 354 SIZE szAspectRatio; 355 SIZE szNativeSize; 356} VMR9AllocationInfo; 357/***************************************************************************** 358 * IVMRSurfaceAllocator9 interface 359 */ 360#ifndef __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ 361#define __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ 362 363DEFINE_GUID(IID_IVMRSurfaceAllocator9, 0x8d5148ea, 0x3f5d, 0x46cf, 0x9d,0xf1, 0xd1,0xb8,0x96,0xee,0xdb,0x1f); 364#if defined(__cplusplus) && !defined(CINTERFACE) 365MIDL_INTERFACE("8d5148ea-3f5d-46cf-9df1-d1b896eedb1f") 366IVMRSurfaceAllocator9 : public IUnknown 367{ 368 virtual HRESULT STDMETHODCALLTYPE InitializeDevice( 369 DWORD_PTR id, 370 VMR9AllocationInfo *allocinfo, 371 DWORD *numbuffers) = 0; 372 373 virtual HRESULT STDMETHODCALLTYPE TerminateDevice( 374 DWORD_PTR id) = 0; 375 376 virtual HRESULT STDMETHODCALLTYPE GetSurface( 377 DWORD_PTR id, 378 DWORD surfaceindex, 379 DWORD flags, 380 IDirect3DSurface9 **surface) = 0; 381 382 virtual HRESULT STDMETHODCALLTYPE AdviseNotify( 383 IVMRSurfaceAllocatorNotify9 *allocnotify) = 0; 384 385}; 386#ifdef __CRT_UUID_DECL 387__CRT_UUID_DECL(IVMRSurfaceAllocator9, 0x8d5148ea, 0x3f5d, 0x46cf, 0x9d,0xf1, 0xd1,0xb8,0x96,0xee,0xdb,0x1f) 388#endif 389#else 390typedef struct IVMRSurfaceAllocator9Vtbl { 391 BEGIN_INTERFACE 392 393 /*** IUnknown methods ***/ 394 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 395 IVMRSurfaceAllocator9* This, 396 REFIID riid, 397 void **ppvObject); 398 399 ULONG (STDMETHODCALLTYPE *AddRef)( 400 IVMRSurfaceAllocator9* This); 401 402 ULONG (STDMETHODCALLTYPE *Release)( 403 IVMRSurfaceAllocator9* This); 404 405 /*** IVMRSurfaceAllocator9 methods ***/ 406 HRESULT (STDMETHODCALLTYPE *InitializeDevice)( 407 IVMRSurfaceAllocator9* This, 408 DWORD_PTR id, 409 VMR9AllocationInfo *allocinfo, 410 DWORD *numbuffers); 411 412 HRESULT (STDMETHODCALLTYPE *TerminateDevice)( 413 IVMRSurfaceAllocator9* This, 414 DWORD_PTR id); 415 416 HRESULT (STDMETHODCALLTYPE *GetSurface)( 417 IVMRSurfaceAllocator9* This, 418 DWORD_PTR id, 419 DWORD surfaceindex, 420 DWORD flags, 421 IDirect3DSurface9 **surface); 422 423 HRESULT (STDMETHODCALLTYPE *AdviseNotify)( 424 IVMRSurfaceAllocator9* This, 425 IVMRSurfaceAllocatorNotify9 *allocnotify); 426 427 END_INTERFACE 428} IVMRSurfaceAllocator9Vtbl; 429interface IVMRSurfaceAllocator9 { 430 CONST_VTBL IVMRSurfaceAllocator9Vtbl* lpVtbl; 431}; 432 433#ifdef COBJMACROS 434#ifndef WIDL_C_INLINE_WRAPPERS 435/*** IUnknown methods ***/ 436#define IVMRSurfaceAllocator9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 437#define IVMRSurfaceAllocator9_AddRef(This) (This)->lpVtbl->AddRef(This) 438#define IVMRSurfaceAllocator9_Release(This) (This)->lpVtbl->Release(This) 439/*** IVMRSurfaceAllocator9 methods ***/ 440#define IVMRSurfaceAllocator9_InitializeDevice(This,id,allocinfo,numbuffers) (This)->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers) 441#define IVMRSurfaceAllocator9_TerminateDevice(This,id) (This)->lpVtbl->TerminateDevice(This,id) 442#define IVMRSurfaceAllocator9_GetSurface(This,id,surfaceindex,flags,surface) (This)->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface) 443#define IVMRSurfaceAllocator9_AdviseNotify(This,allocnotify) (This)->lpVtbl->AdviseNotify(This,allocnotify) 444#else 445/*** IUnknown methods ***/ 446static FORCEINLINE HRESULT IVMRSurfaceAllocator9_QueryInterface(IVMRSurfaceAllocator9* This,REFIID riid,void **ppvObject) { 447 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 448} 449static FORCEINLINE ULONG IVMRSurfaceAllocator9_AddRef(IVMRSurfaceAllocator9* This) { 450 return This->lpVtbl->AddRef(This); 451} 452static FORCEINLINE ULONG IVMRSurfaceAllocator9_Release(IVMRSurfaceAllocator9* This) { 453 return This->lpVtbl->Release(This); 454} 455/*** IVMRSurfaceAllocator9 methods ***/ 456static FORCEINLINE HRESULT IVMRSurfaceAllocator9_InitializeDevice(IVMRSurfaceAllocator9* This,DWORD_PTR id,VMR9AllocationInfo *allocinfo,DWORD *numbuffers) { 457 return This->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers); 458} 459static FORCEINLINE HRESULT IVMRSurfaceAllocator9_TerminateDevice(IVMRSurfaceAllocator9* This,DWORD_PTR id) { 460 return This->lpVtbl->TerminateDevice(This,id); 461} 462static FORCEINLINE HRESULT IVMRSurfaceAllocator9_GetSurface(IVMRSurfaceAllocator9* This,DWORD_PTR id,DWORD surfaceindex,DWORD flags,IDirect3DSurface9 **surface) { 463 return This->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface); 464} 465static FORCEINLINE HRESULT IVMRSurfaceAllocator9_AdviseNotify(IVMRSurfaceAllocator9* This,IVMRSurfaceAllocatorNotify9 *allocnotify) { 466 return This->lpVtbl->AdviseNotify(This,allocnotify); 467} 468#endif 469#endif 470 471#endif 472 473HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_InitializeDevice_Proxy( 474 IVMRSurfaceAllocator9* This, 475 DWORD_PTR id, 476 VMR9AllocationInfo *allocinfo, 477 DWORD *numbuffers); 478void __RPC_STUB IVMRSurfaceAllocator9_InitializeDevice_Stub( 479 IRpcStubBuffer* This, 480 IRpcChannelBuffer* pRpcChannelBuffer, 481 PRPC_MESSAGE pRpcMessage, 482 DWORD* pdwStubPhase); 483HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_TerminateDevice_Proxy( 484 IVMRSurfaceAllocator9* This, 485 DWORD_PTR id); 486void __RPC_STUB IVMRSurfaceAllocator9_TerminateDevice_Stub( 487 IRpcStubBuffer* This, 488 IRpcChannelBuffer* pRpcChannelBuffer, 489 PRPC_MESSAGE pRpcMessage, 490 DWORD* pdwStubPhase); 491HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_GetSurface_Proxy( 492 IVMRSurfaceAllocator9* This, 493 DWORD_PTR id, 494 DWORD surfaceindex, 495 DWORD flags, 496 IDirect3DSurface9 **surface); 497void __RPC_STUB IVMRSurfaceAllocator9_GetSurface_Stub( 498 IRpcStubBuffer* This, 499 IRpcChannelBuffer* pRpcChannelBuffer, 500 PRPC_MESSAGE pRpcMessage, 501 DWORD* pdwStubPhase); 502HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_AdviseNotify_Proxy( 503 IVMRSurfaceAllocator9* This, 504 IVMRSurfaceAllocatorNotify9 *allocnotify); 505void __RPC_STUB IVMRSurfaceAllocator9_AdviseNotify_Stub( 506 IRpcStubBuffer* This, 507 IRpcChannelBuffer* pRpcChannelBuffer, 508 PRPC_MESSAGE pRpcMessage, 509 DWORD* pdwStubPhase); 510 511#endif /* __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ */ 512 513/***************************************************************************** 514 * IVMRSurfaceAllocatorEx9 interface 515 */ 516#ifndef __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ 517#define __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ 518 519DEFINE_GUID(IID_IVMRSurfaceAllocatorEx9, 0x6de9a68a, 0xa928, 0x4522, 0xbf,0x57, 0x65,0x5a,0xe3,0x86,0x64,0x56); 520#if defined(__cplusplus) && !defined(CINTERFACE) 521MIDL_INTERFACE("6de9a68a-a928-4522-bf57-655ae3866456") 522IVMRSurfaceAllocatorEx9 : public IVMRSurfaceAllocator9 523{ 524 virtual HRESULT STDMETHODCALLTYPE GetSurfaceEx( 525 DWORD_PTR id, 526 DWORD surfaceindex, 527 DWORD flags, 528 IDirect3DSurface9 **surface, 529 RECT *dest) = 0; 530 531}; 532#ifdef __CRT_UUID_DECL 533__CRT_UUID_DECL(IVMRSurfaceAllocatorEx9, 0x6de9a68a, 0xa928, 0x4522, 0xbf,0x57, 0x65,0x5a,0xe3,0x86,0x64,0x56) 534#endif 535#else 536typedef struct IVMRSurfaceAllocatorEx9Vtbl { 537 BEGIN_INTERFACE 538 539 /*** IUnknown methods ***/ 540 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 541 IVMRSurfaceAllocatorEx9* This, 542 REFIID riid, 543 void **ppvObject); 544 545 ULONG (STDMETHODCALLTYPE *AddRef)( 546 IVMRSurfaceAllocatorEx9* This); 547 548 ULONG (STDMETHODCALLTYPE *Release)( 549 IVMRSurfaceAllocatorEx9* This); 550 551 /*** IVMRSurfaceAllocator9 methods ***/ 552 HRESULT (STDMETHODCALLTYPE *InitializeDevice)( 553 IVMRSurfaceAllocatorEx9* This, 554 DWORD_PTR id, 555 VMR9AllocationInfo *allocinfo, 556 DWORD *numbuffers); 557 558 HRESULT (STDMETHODCALLTYPE *TerminateDevice)( 559 IVMRSurfaceAllocatorEx9* This, 560 DWORD_PTR id); 561 562 HRESULT (STDMETHODCALLTYPE *GetSurface)( 563 IVMRSurfaceAllocatorEx9* This, 564 DWORD_PTR id, 565 DWORD surfaceindex, 566 DWORD flags, 567 IDirect3DSurface9 **surface); 568 569 HRESULT (STDMETHODCALLTYPE *AdviseNotify)( 570 IVMRSurfaceAllocatorEx9* This, 571 IVMRSurfaceAllocatorNotify9 *allocnotify); 572 573 /*** IVMRSurfaceAllocatorEx9 methods ***/ 574 HRESULT (STDMETHODCALLTYPE *GetSurfaceEx)( 575 IVMRSurfaceAllocatorEx9* This, 576 DWORD_PTR id, 577 DWORD surfaceindex, 578 DWORD flags, 579 IDirect3DSurface9 **surface, 580 RECT *dest); 581 582 END_INTERFACE 583} IVMRSurfaceAllocatorEx9Vtbl; 584interface IVMRSurfaceAllocatorEx9 { 585 CONST_VTBL IVMRSurfaceAllocatorEx9Vtbl* lpVtbl; 586}; 587 588#ifdef COBJMACROS 589#ifndef WIDL_C_INLINE_WRAPPERS 590/*** IUnknown methods ***/ 591#define IVMRSurfaceAllocatorEx9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 592#define IVMRSurfaceAllocatorEx9_AddRef(This) (This)->lpVtbl->AddRef(This) 593#define IVMRSurfaceAllocatorEx9_Release(This) (This)->lpVtbl->Release(This) 594/*** IVMRSurfaceAllocator9 methods ***/ 595#define IVMRSurfaceAllocatorEx9_InitializeDevice(This,id,allocinfo,numbuffers) (This)->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers) 596#define IVMRSurfaceAllocatorEx9_TerminateDevice(This,id) (This)->lpVtbl->TerminateDevice(This,id) 597#define IVMRSurfaceAllocatorEx9_GetSurface(This,id,surfaceindex,flags,surface) (This)->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface) 598#define IVMRSurfaceAllocatorEx9_AdviseNotify(This,allocnotify) (This)->lpVtbl->AdviseNotify(This,allocnotify) 599/*** IVMRSurfaceAllocatorEx9 methods ***/ 600#define IVMRSurfaceAllocatorEx9_GetSurfaceEx(This,id,surfaceindex,flags,surface,dest) (This)->lpVtbl->GetSurfaceEx(This,id,surfaceindex,flags,surface,dest) 601#else 602/*** IUnknown methods ***/ 603static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_QueryInterface(IVMRSurfaceAllocatorEx9* This,REFIID riid,void **ppvObject) { 604 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 605} 606static FORCEINLINE ULONG IVMRSurfaceAllocatorEx9_AddRef(IVMRSurfaceAllocatorEx9* This) { 607 return This->lpVtbl->AddRef(This); 608} 609static FORCEINLINE ULONG IVMRSurfaceAllocatorEx9_Release(IVMRSurfaceAllocatorEx9* This) { 610 return This->lpVtbl->Release(This); 611} 612/*** IVMRSurfaceAllocator9 methods ***/ 613static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_InitializeDevice(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id,VMR9AllocationInfo *allocinfo,DWORD *numbuffers) { 614 return This->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers); 615} 616static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_TerminateDevice(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id) { 617 return This->lpVtbl->TerminateDevice(This,id); 618} 619static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_GetSurface(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id,DWORD surfaceindex,DWORD flags,IDirect3DSurface9 **surface) { 620 return This->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface); 621} 622static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_AdviseNotify(IVMRSurfaceAllocatorEx9* This,IVMRSurfaceAllocatorNotify9 *allocnotify) { 623 return This->lpVtbl->AdviseNotify(This,allocnotify); 624} 625/*** IVMRSurfaceAllocatorEx9 methods ***/ 626static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_GetSurfaceEx(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id,DWORD surfaceindex,DWORD flags,IDirect3DSurface9 **surface,RECT *dest) { 627 return This->lpVtbl->GetSurfaceEx(This,id,surfaceindex,flags,surface,dest); 628} 629#endif 630#endif 631 632#endif 633 634HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorEx9_GetSurfaceEx_Proxy( 635 IVMRSurfaceAllocatorEx9* This, 636 DWORD_PTR id, 637 DWORD surfaceindex, 638 DWORD flags, 639 IDirect3DSurface9 **surface, 640 RECT *dest); 641void __RPC_STUB IVMRSurfaceAllocatorEx9_GetSurfaceEx_Stub( 642 IRpcStubBuffer* This, 643 IRpcChannelBuffer* pRpcChannelBuffer, 644 PRPC_MESSAGE pRpcMessage, 645 DWORD* pdwStubPhase); 646 647#endif /* __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ */ 648 649/***************************************************************************** 650 * IVMRSurfaceAllocatorNotify9 interface 651 */ 652#ifndef __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ 653#define __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ 654 655DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify9, 0xdca3f5df, 0xbb3a, 0x4d03, 0xbd,0x81, 0x84,0x61,0x4b,0xfb,0xfa,0x0c); 656#if defined(__cplusplus) && !defined(CINTERFACE) 657MIDL_INTERFACE("dca3f5df-bb3a-4d03-bd81-84614bfbfa0c") 658IVMRSurfaceAllocatorNotify9 : public IUnknown 659{ 660 virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator( 661 DWORD_PTR id, 662 IVMRSurfaceAllocator9 *alloc) = 0; 663 664 virtual HRESULT STDMETHODCALLTYPE SetD3DDevice( 665 IDirect3DDevice9 *device, 666 HMONITOR monitor) = 0; 667 668 virtual HRESULT STDMETHODCALLTYPE ChangeD3DDevice( 669 IDirect3DDevice9 *device, 670 HMONITOR monitor) = 0; 671 672 virtual HRESULT STDMETHODCALLTYPE AllocateSurfaceHelper( 673 VMR9AllocationInfo *allocinfo, 674 DWORD *numbuffers, 675 IDirect3DSurface9 **surface) = 0; 676 677 virtual HRESULT STDMETHODCALLTYPE NotifyEvent( 678 LONG code, 679 LONG_PTR param1, 680 LONG_PTR param2) = 0; 681 682}; 683#ifdef __CRT_UUID_DECL 684__CRT_UUID_DECL(IVMRSurfaceAllocatorNotify9, 0xdca3f5df, 0xbb3a, 0x4d03, 0xbd,0x81, 0x84,0x61,0x4b,0xfb,0xfa,0x0c) 685#endif 686#else 687typedef struct IVMRSurfaceAllocatorNotify9Vtbl { 688 BEGIN_INTERFACE 689 690 /*** IUnknown methods ***/ 691 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 692 IVMRSurfaceAllocatorNotify9* This, 693 REFIID riid, 694 void **ppvObject); 695 696 ULONG (STDMETHODCALLTYPE *AddRef)( 697 IVMRSurfaceAllocatorNotify9* This); 698 699 ULONG (STDMETHODCALLTYPE *Release)( 700 IVMRSurfaceAllocatorNotify9* This); 701 702 /*** IVMRSurfaceAllocatorNotify9 methods ***/ 703 HRESULT (STDMETHODCALLTYPE *AdviseSurfaceAllocator)( 704 IVMRSurfaceAllocatorNotify9* This, 705 DWORD_PTR id, 706 IVMRSurfaceAllocator9 *alloc); 707 708 HRESULT (STDMETHODCALLTYPE *SetD3DDevice)( 709 IVMRSurfaceAllocatorNotify9* This, 710 IDirect3DDevice9 *device, 711 HMONITOR monitor); 712 713 HRESULT (STDMETHODCALLTYPE *ChangeD3DDevice)( 714 IVMRSurfaceAllocatorNotify9* This, 715 IDirect3DDevice9 *device, 716 HMONITOR monitor); 717 718 HRESULT (STDMETHODCALLTYPE *AllocateSurfaceHelper)( 719 IVMRSurfaceAllocatorNotify9* This, 720 VMR9AllocationInfo *allocinfo, 721 DWORD *numbuffers, 722 IDirect3DSurface9 **surface); 723 724 HRESULT (STDMETHODCALLTYPE *NotifyEvent)( 725 IVMRSurfaceAllocatorNotify9* This, 726 LONG code, 727 LONG_PTR param1, 728 LONG_PTR param2); 729 730 END_INTERFACE 731} IVMRSurfaceAllocatorNotify9Vtbl; 732interface IVMRSurfaceAllocatorNotify9 { 733 CONST_VTBL IVMRSurfaceAllocatorNotify9Vtbl* lpVtbl; 734}; 735 736#ifdef COBJMACROS 737#ifndef WIDL_C_INLINE_WRAPPERS 738/*** IUnknown methods ***/ 739#define IVMRSurfaceAllocatorNotify9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 740#define IVMRSurfaceAllocatorNotify9_AddRef(This) (This)->lpVtbl->AddRef(This) 741#define IVMRSurfaceAllocatorNotify9_Release(This) (This)->lpVtbl->Release(This) 742/*** IVMRSurfaceAllocatorNotify9 methods ***/ 743#define IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(This,id,alloc) (This)->lpVtbl->AdviseSurfaceAllocator(This,id,alloc) 744#define IVMRSurfaceAllocatorNotify9_SetD3DDevice(This,device,monitor) (This)->lpVtbl->SetD3DDevice(This,device,monitor) 745#define IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(This,device,monitor) (This)->lpVtbl->ChangeD3DDevice(This,device,monitor) 746#define IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(This,allocinfo,numbuffers,surface) (This)->lpVtbl->AllocateSurfaceHelper(This,allocinfo,numbuffers,surface) 747#define IVMRSurfaceAllocatorNotify9_NotifyEvent(This,code,param1,param2) (This)->lpVtbl->NotifyEvent(This,code,param1,param2) 748#else 749/*** IUnknown methods ***/ 750static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_QueryInterface(IVMRSurfaceAllocatorNotify9* This,REFIID riid,void **ppvObject) { 751 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 752} 753static FORCEINLINE ULONG IVMRSurfaceAllocatorNotify9_AddRef(IVMRSurfaceAllocatorNotify9* This) { 754 return This->lpVtbl->AddRef(This); 755} 756static FORCEINLINE ULONG IVMRSurfaceAllocatorNotify9_Release(IVMRSurfaceAllocatorNotify9* This) { 757 return This->lpVtbl->Release(This); 758} 759/*** IVMRSurfaceAllocatorNotify9 methods ***/ 760static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(IVMRSurfaceAllocatorNotify9* This,DWORD_PTR id,IVMRSurfaceAllocator9 *alloc) { 761 return This->lpVtbl->AdviseSurfaceAllocator(This,id,alloc); 762} 763static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_SetD3DDevice(IVMRSurfaceAllocatorNotify9* This,IDirect3DDevice9 *device,HMONITOR monitor) { 764 return This->lpVtbl->SetD3DDevice(This,device,monitor); 765} 766static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(IVMRSurfaceAllocatorNotify9* This,IDirect3DDevice9 *device,HMONITOR monitor) { 767 return This->lpVtbl->ChangeD3DDevice(This,device,monitor); 768} 769static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(IVMRSurfaceAllocatorNotify9* This,VMR9AllocationInfo *allocinfo,DWORD *numbuffers,IDirect3DSurface9 **surface) { 770 return This->lpVtbl->AllocateSurfaceHelper(This,allocinfo,numbuffers,surface); 771} 772static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_NotifyEvent(IVMRSurfaceAllocatorNotify9* This,LONG code,LONG_PTR param1,LONG_PTR param2) { 773 return This->lpVtbl->NotifyEvent(This,code,param1,param2); 774} 775#endif 776#endif 777 778#endif 779 780HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Proxy( 781 IVMRSurfaceAllocatorNotify9* This, 782 DWORD_PTR id, 783 IVMRSurfaceAllocator9 *alloc); 784void __RPC_STUB IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Stub( 785 IRpcStubBuffer* This, 786 IRpcChannelBuffer* pRpcChannelBuffer, 787 PRPC_MESSAGE pRpcMessage, 788 DWORD* pdwStubPhase); 789HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_SetD3DDevice_Proxy( 790 IVMRSurfaceAllocatorNotify9* This, 791 IDirect3DDevice9 *device, 792 HMONITOR monitor); 793void __RPC_STUB IVMRSurfaceAllocatorNotify9_SetD3DDevice_Stub( 794 IRpcStubBuffer* This, 795 IRpcChannelBuffer* pRpcChannelBuffer, 796 PRPC_MESSAGE pRpcMessage, 797 DWORD* pdwStubPhase); 798HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Proxy( 799 IVMRSurfaceAllocatorNotify9* This, 800 IDirect3DDevice9 *device, 801 HMONITOR monitor); 802void __RPC_STUB IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Stub( 803 IRpcStubBuffer* This, 804 IRpcChannelBuffer* pRpcChannelBuffer, 805 PRPC_MESSAGE pRpcMessage, 806 DWORD* pdwStubPhase); 807HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Proxy( 808 IVMRSurfaceAllocatorNotify9* This, 809 VMR9AllocationInfo *allocinfo, 810 DWORD *numbuffers, 811 IDirect3DSurface9 **surface); 812void __RPC_STUB IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Stub( 813 IRpcStubBuffer* This, 814 IRpcChannelBuffer* pRpcChannelBuffer, 815 PRPC_MESSAGE pRpcMessage, 816 DWORD* pdwStubPhase); 817HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_NotifyEvent_Proxy( 818 IVMRSurfaceAllocatorNotify9* This, 819 LONG code, 820 LONG_PTR param1, 821 LONG_PTR param2); 822void __RPC_STUB IVMRSurfaceAllocatorNotify9_NotifyEvent_Stub( 823 IRpcStubBuffer* This, 824 IRpcChannelBuffer* pRpcChannelBuffer, 825 PRPC_MESSAGE pRpcMessage, 826 DWORD* pdwStubPhase); 827 828#endif /* __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ */ 829 830typedef enum _VMR9AspectRatioMode { 831 VMR9ARMode_None = 0, 832 VMR9ARMode_LetterBox = 1 833} VMR9AspectRatioMode; 834/***************************************************************************** 835 * IVMRWindowlessControl9 interface 836 */ 837#ifndef __IVMRWindowlessControl9_INTERFACE_DEFINED__ 838#define __IVMRWindowlessControl9_INTERFACE_DEFINED__ 839 840DEFINE_GUID(IID_IVMRWindowlessControl9, 0x8f537d09, 0xf85e, 0x4414, 0xb2,0x3b, 0x50,0x2e,0x54,0xc7,0x99,0x27); 841#if defined(__cplusplus) && !defined(CINTERFACE) 842MIDL_INTERFACE("8f537d09-f85e-4414-b23b-502e54c79927") 843IVMRWindowlessControl9 : public IUnknown 844{ 845 virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( 846 LONG *width, 847 LONG *height, 848 LONG *arwidth, 849 LONG *arheight) = 0; 850 851 virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize( 852 LONG *width, 853 LONG *height) = 0; 854 855 virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize( 856 LONG *width, 857 LONG *height) = 0; 858 859 virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( 860 const RECT *source, 861 const RECT *dest) = 0; 862 863 virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 864 RECT *source, 865 RECT *dest) = 0; 866 867 virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 868 DWORD *mode) = 0; 869 870 virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 871 DWORD mode) = 0; 872 873 virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow( 874 HWND hwnd) = 0; 875 876 virtual HRESULT STDMETHODCALLTYPE RepaintVideo( 877 HWND hwnd, 878 HDC hdc) = 0; 879 880 virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( 881 ) = 0; 882 883 virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( 884 BYTE **dib) = 0; 885 886 virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 887 COLORREF color) = 0; 888 889 virtual HRESULT STDMETHODCALLTYPE GetBorderColor( 890 COLORREF *color) = 0; 891 892}; 893#ifdef __CRT_UUID_DECL 894__CRT_UUID_DECL(IVMRWindowlessControl9, 0x8f537d09, 0xf85e, 0x4414, 0xb2,0x3b, 0x50,0x2e,0x54,0xc7,0x99,0x27) 895#endif 896#else 897typedef struct IVMRWindowlessControl9Vtbl { 898 BEGIN_INTERFACE 899 900 /*** IUnknown methods ***/ 901 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 902 IVMRWindowlessControl9* This, 903 REFIID riid, 904 void **ppvObject); 905 906 ULONG (STDMETHODCALLTYPE *AddRef)( 907 IVMRWindowlessControl9* This); 908 909 ULONG (STDMETHODCALLTYPE *Release)( 910 IVMRWindowlessControl9* This); 911 912 /*** IVMRWindowlessControl9 methods ***/ 913 HRESULT (STDMETHODCALLTYPE *GetNativeVideoSize)( 914 IVMRWindowlessControl9* This, 915 LONG *width, 916 LONG *height, 917 LONG *arwidth, 918 LONG *arheight); 919 920 HRESULT (STDMETHODCALLTYPE *GetMinIdealVideoSize)( 921 IVMRWindowlessControl9* This, 922 LONG *width, 923 LONG *height); 924 925 HRESULT (STDMETHODCALLTYPE *GetMaxIdealVideoSize)( 926 IVMRWindowlessControl9* This, 927 LONG *width, 928 LONG *height); 929 930 HRESULT (STDMETHODCALLTYPE *SetVideoPosition)( 931 IVMRWindowlessControl9* This, 932 const RECT *source, 933 const RECT *dest); 934 935 HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( 936 IVMRWindowlessControl9* This, 937 RECT *source, 938 RECT *dest); 939 940 HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)( 941 IVMRWindowlessControl9* This, 942 DWORD *mode); 943 944 HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)( 945 IVMRWindowlessControl9* This, 946 DWORD mode); 947 948 HRESULT (STDMETHODCALLTYPE *SetVideoClippingWindow)( 949 IVMRWindowlessControl9* This, 950 HWND hwnd); 951 952 HRESULT (STDMETHODCALLTYPE *RepaintVideo)( 953 IVMRWindowlessControl9* This, 954 HWND hwnd, 955 HDC hdc); 956 957 HRESULT (STDMETHODCALLTYPE *DisplayModeChanged)( 958 IVMRWindowlessControl9* This); 959 960 HRESULT (STDMETHODCALLTYPE *GetCurrentImage)( 961 IVMRWindowlessControl9* This, 962 BYTE **dib); 963 964 HRESULT (STDMETHODCALLTYPE *SetBorderColor)( 965 IVMRWindowlessControl9* This, 966 COLORREF color); 967 968 HRESULT (STDMETHODCALLTYPE *GetBorderColor)( 969 IVMRWindowlessControl9* This, 970 COLORREF *color); 971 972 END_INTERFACE 973} IVMRWindowlessControl9Vtbl; 974interface IVMRWindowlessControl9 { 975 CONST_VTBL IVMRWindowlessControl9Vtbl* lpVtbl; 976}; 977 978#ifdef COBJMACROS 979#ifndef WIDL_C_INLINE_WRAPPERS 980/*** IUnknown methods ***/ 981#define IVMRWindowlessControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 982#define IVMRWindowlessControl9_AddRef(This) (This)->lpVtbl->AddRef(This) 983#define IVMRWindowlessControl9_Release(This) (This)->lpVtbl->Release(This) 984/*** IVMRWindowlessControl9 methods ***/ 985#define IVMRWindowlessControl9_GetNativeVideoSize(This,width,height,arwidth,arheight) (This)->lpVtbl->GetNativeVideoSize(This,width,height,arwidth,arheight) 986#define IVMRWindowlessControl9_GetMinIdealVideoSize(This,width,height) (This)->lpVtbl->GetMinIdealVideoSize(This,width,height) 987#define IVMRWindowlessControl9_GetMaxIdealVideoSize(This,width,height) (This)->lpVtbl->GetMaxIdealVideoSize(This,width,height) 988#define IVMRWindowlessControl9_SetVideoPosition(This,source,dest) (This)->lpVtbl->SetVideoPosition(This,source,dest) 989#define IVMRWindowlessControl9_GetVideoPosition(This,source,dest) (This)->lpVtbl->GetVideoPosition(This,source,dest) 990#define IVMRWindowlessControl9_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode) 991#define IVMRWindowlessControl9_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode) 992#define IVMRWindowlessControl9_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd) 993#define IVMRWindowlessControl9_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc) 994#define IVMRWindowlessControl9_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This) 995#define IVMRWindowlessControl9_GetCurrentImage(This,dib) (This)->lpVtbl->GetCurrentImage(This,dib) 996#define IVMRWindowlessControl9_SetBorderColor(This,color) (This)->lpVtbl->SetBorderColor(This,color) 997#define IVMRWindowlessControl9_GetBorderColor(This,color) (This)->lpVtbl->GetBorderColor(This,color) 998#else 999/*** IUnknown methods ***/ 1000static FORCEINLINE HRESULT IVMRWindowlessControl9_QueryInterface(IVMRWindowlessControl9* This,REFIID riid,void **ppvObject) { 1001 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1002} 1003static FORCEINLINE ULONG IVMRWindowlessControl9_AddRef(IVMRWindowlessControl9* This) { 1004 return This->lpVtbl->AddRef(This); 1005} 1006static FORCEINLINE ULONG IVMRWindowlessControl9_Release(IVMRWindowlessControl9* This) { 1007 return This->lpVtbl->Release(This); 1008} 1009/*** IVMRWindowlessControl9 methods ***/ 1010static FORCEINLINE HRESULT IVMRWindowlessControl9_GetNativeVideoSize(IVMRWindowlessControl9* This,LONG *width,LONG *height,LONG *arwidth,LONG *arheight) { 1011 return This->lpVtbl->GetNativeVideoSize(This,width,height,arwidth,arheight); 1012} 1013static FORCEINLINE HRESULT IVMRWindowlessControl9_GetMinIdealVideoSize(IVMRWindowlessControl9* This,LONG *width,LONG *height) { 1014 return This->lpVtbl->GetMinIdealVideoSize(This,width,height); 1015} 1016static FORCEINLINE HRESULT IVMRWindowlessControl9_GetMaxIdealVideoSize(IVMRWindowlessControl9* This,LONG *width,LONG *height) { 1017 return This->lpVtbl->GetMaxIdealVideoSize(This,width,height); 1018} 1019static FORCEINLINE HRESULT IVMRWindowlessControl9_SetVideoPosition(IVMRWindowlessControl9* This,const RECT *source,const RECT *dest) { 1020 return This->lpVtbl->SetVideoPosition(This,source,dest); 1021} 1022static FORCEINLINE HRESULT IVMRWindowlessControl9_GetVideoPosition(IVMRWindowlessControl9* This,RECT *source,RECT *dest) { 1023 return This->lpVtbl->GetVideoPosition(This,source,dest); 1024} 1025static FORCEINLINE HRESULT IVMRWindowlessControl9_GetAspectRatioMode(IVMRWindowlessControl9* This,DWORD *mode) { 1026 return This->lpVtbl->GetAspectRatioMode(This,mode); 1027} 1028static FORCEINLINE HRESULT IVMRWindowlessControl9_SetAspectRatioMode(IVMRWindowlessControl9* This,DWORD mode) { 1029 return This->lpVtbl->SetAspectRatioMode(This,mode); 1030} 1031static FORCEINLINE HRESULT IVMRWindowlessControl9_SetVideoClippingWindow(IVMRWindowlessControl9* This,HWND hwnd) { 1032 return This->lpVtbl->SetVideoClippingWindow(This,hwnd); 1033} 1034static FORCEINLINE HRESULT IVMRWindowlessControl9_RepaintVideo(IVMRWindowlessControl9* This,HWND hwnd,HDC hdc) { 1035 return This->lpVtbl->RepaintVideo(This,hwnd,hdc); 1036} 1037static FORCEINLINE HRESULT IVMRWindowlessControl9_DisplayModeChanged(IVMRWindowlessControl9* This) { 1038 return This->lpVtbl->DisplayModeChanged(This); 1039} 1040static FORCEINLINE HRESULT IVMRWindowlessControl9_GetCurrentImage(IVMRWindowlessControl9* This,BYTE **dib) { 1041 return This->lpVtbl->GetCurrentImage(This,dib); 1042} 1043static FORCEINLINE HRESULT IVMRWindowlessControl9_SetBorderColor(IVMRWindowlessControl9* This,COLORREF color) { 1044 return This->lpVtbl->SetBorderColor(This,color); 1045} 1046static FORCEINLINE HRESULT IVMRWindowlessControl9_GetBorderColor(IVMRWindowlessControl9* This,COLORREF *color) { 1047 return This->lpVtbl->GetBorderColor(This,color); 1048} 1049#endif 1050#endif 1051 1052#endif 1053 1054HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetNativeVideoSize_Proxy( 1055 IVMRWindowlessControl9* This, 1056 LONG *width, 1057 LONG *height, 1058 LONG *arwidth, 1059 LONG *arheight); 1060void __RPC_STUB IVMRWindowlessControl9_GetNativeVideoSize_Stub( 1061 IRpcStubBuffer* This, 1062 IRpcChannelBuffer* pRpcChannelBuffer, 1063 PRPC_MESSAGE pRpcMessage, 1064 DWORD* pdwStubPhase); 1065HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMinIdealVideoSize_Proxy( 1066 IVMRWindowlessControl9* This, 1067 LONG *width, 1068 LONG *height); 1069void __RPC_STUB IVMRWindowlessControl9_GetMinIdealVideoSize_Stub( 1070 IRpcStubBuffer* This, 1071 IRpcChannelBuffer* pRpcChannelBuffer, 1072 PRPC_MESSAGE pRpcMessage, 1073 DWORD* pdwStubPhase); 1074HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMaxIdealVideoSize_Proxy( 1075 IVMRWindowlessControl9* This, 1076 LONG *width, 1077 LONG *height); 1078void __RPC_STUB IVMRWindowlessControl9_GetMaxIdealVideoSize_Stub( 1079 IRpcStubBuffer* This, 1080 IRpcChannelBuffer* pRpcChannelBuffer, 1081 PRPC_MESSAGE pRpcMessage, 1082 DWORD* pdwStubPhase); 1083HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoPosition_Proxy( 1084 IVMRWindowlessControl9* This, 1085 const RECT *source, 1086 const RECT *dest); 1087void __RPC_STUB IVMRWindowlessControl9_SetVideoPosition_Stub( 1088 IRpcStubBuffer* This, 1089 IRpcChannelBuffer* pRpcChannelBuffer, 1090 PRPC_MESSAGE pRpcMessage, 1091 DWORD* pdwStubPhase); 1092HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetVideoPosition_Proxy( 1093 IVMRWindowlessControl9* This, 1094 RECT *source, 1095 RECT *dest); 1096void __RPC_STUB IVMRWindowlessControl9_GetVideoPosition_Stub( 1097 IRpcStubBuffer* This, 1098 IRpcChannelBuffer* pRpcChannelBuffer, 1099 PRPC_MESSAGE pRpcMessage, 1100 DWORD* pdwStubPhase); 1101HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetAspectRatioMode_Proxy( 1102 IVMRWindowlessControl9* This, 1103 DWORD *mode); 1104void __RPC_STUB IVMRWindowlessControl9_GetAspectRatioMode_Stub( 1105 IRpcStubBuffer* This, 1106 IRpcChannelBuffer* pRpcChannelBuffer, 1107 PRPC_MESSAGE pRpcMessage, 1108 DWORD* pdwStubPhase); 1109HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetAspectRatioMode_Proxy( 1110 IVMRWindowlessControl9* This, 1111 DWORD mode); 1112void __RPC_STUB IVMRWindowlessControl9_SetAspectRatioMode_Stub( 1113 IRpcStubBuffer* This, 1114 IRpcChannelBuffer* pRpcChannelBuffer, 1115 PRPC_MESSAGE pRpcMessage, 1116 DWORD* pdwStubPhase); 1117HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoClippingWindow_Proxy( 1118 IVMRWindowlessControl9* This, 1119 HWND hwnd); 1120void __RPC_STUB IVMRWindowlessControl9_SetVideoClippingWindow_Stub( 1121 IRpcStubBuffer* This, 1122 IRpcChannelBuffer* pRpcChannelBuffer, 1123 PRPC_MESSAGE pRpcMessage, 1124 DWORD* pdwStubPhase); 1125HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_RepaintVideo_Proxy( 1126 IVMRWindowlessControl9* This, 1127 HWND hwnd, 1128 HDC hdc); 1129void __RPC_STUB IVMRWindowlessControl9_RepaintVideo_Stub( 1130 IRpcStubBuffer* This, 1131 IRpcChannelBuffer* pRpcChannelBuffer, 1132 PRPC_MESSAGE pRpcMessage, 1133 DWORD* pdwStubPhase); 1134HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_DisplayModeChanged_Proxy( 1135 IVMRWindowlessControl9* This); 1136void __RPC_STUB IVMRWindowlessControl9_DisplayModeChanged_Stub( 1137 IRpcStubBuffer* This, 1138 IRpcChannelBuffer* pRpcChannelBuffer, 1139 PRPC_MESSAGE pRpcMessage, 1140 DWORD* pdwStubPhase); 1141HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetCurrentImage_Proxy( 1142 IVMRWindowlessControl9* This, 1143 BYTE **dib); 1144void __RPC_STUB IVMRWindowlessControl9_GetCurrentImage_Stub( 1145 IRpcStubBuffer* This, 1146 IRpcChannelBuffer* pRpcChannelBuffer, 1147 PRPC_MESSAGE pRpcMessage, 1148 DWORD* pdwStubPhase); 1149HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetBorderColor_Proxy( 1150 IVMRWindowlessControl9* This, 1151 COLORREF color); 1152void __RPC_STUB IVMRWindowlessControl9_SetBorderColor_Stub( 1153 IRpcStubBuffer* This, 1154 IRpcChannelBuffer* pRpcChannelBuffer, 1155 PRPC_MESSAGE pRpcMessage, 1156 DWORD* pdwStubPhase); 1157HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetBorderColor_Proxy( 1158 IVMRWindowlessControl9* This, 1159 COLORREF *color); 1160void __RPC_STUB IVMRWindowlessControl9_GetBorderColor_Stub( 1161 IRpcStubBuffer* This, 1162 IRpcChannelBuffer* pRpcChannelBuffer, 1163 PRPC_MESSAGE pRpcMessage, 1164 DWORD* pdwStubPhase); 1165 1166#endif /* __IVMRWindowlessControl9_INTERFACE_DEFINED__ */ 1167 1168typedef enum _VMR9MixerPrefs { 1169 MixerPref9_NoDecimation = 0x1, 1170 MixerPref9_DecimateOutput = 0x2, 1171 MixerPref9_ARAdjustXorY = 0x4, 1172 MixerPref9_NonSquareMixing = 0x8, 1173 MixerPref9_DecimateMask = 0xf, 1174 MixerPref9_BiLinearFiltering = 0x10, 1175 MixerPref9_PointFiltering = 0x20, 1176 MixerPref9_AnisotropicFiltering = 0x40, 1177 MixerPref9_PyramidalQuadFiltering = 0x80, 1178 MixerPref9_GaussianQuadFiltering = 0x100, 1179 MixerPref9_FilteringReserved = 0xe00, 1180 MixerPref9_FilteringMask = 0xff0, 1181 MixerPref9_RenderTargetRGB = 0x1000, 1182 MixerPref9_RenderTargetYUV = 0x2000, 1183 MixerPref9_RenderTargetReserved = 0xfc000, 1184 MixerPref9_DynamicSwitchToBOB = 0x100000, 1185 MixerPref9_DynamicDecimateBy2 = 0x200000, 1186 MixerPref9_DynamicReserved = 0xc00000, 1187 MixerPref9_DynamicMask = 0xf00000 1188} VMR9MixerPrefs; 1189typedef struct _VMR9NormalizedRect { 1190 FLOAT left; 1191 FLOAT top; 1192 FLOAT right; 1193 FLOAT bottom; 1194} VMR9NormalizedRect; 1195typedef enum _VMR9ProcAmpControlFlags { 1196 ProcAmpControl9_Brightness = 0x1, 1197 ProcAmpControl9_Contrast = 0x2, 1198 ProcAmpControl9_Hue = 0x4, 1199 ProcAmpControl9_Saturation = 0x8, 1200 ProcAmpControl9_Mask = 0xf 1201} VMR9ProcAmpControlFlags; 1202typedef struct _VMR9ProcAmpControl { 1203 DWORD dwSize; 1204 DWORD dwFlags; 1205 FLOAT Brightness; 1206 FLOAT Contrast; 1207 FLOAT Hue; 1208 FLOAT Saturation; 1209} VMR9ProcAmpControl; 1210typedef struct _VMR9ProcAmpControlRange { 1211 DWORD dwSize; 1212 VMR9ProcAmpControlFlags dwProperty; 1213 FLOAT MinValue; 1214 FLOAT MaxValue; 1215 FLOAT DefaultValue; 1216 FLOAT StepSize; 1217} VMR9ProcAmpControlRange; 1218/***************************************************************************** 1219 * IVMRMixerControl9 interface 1220 */ 1221#ifndef __IVMRMixerControl9_INTERFACE_DEFINED__ 1222#define __IVMRMixerControl9_INTERFACE_DEFINED__ 1223 1224DEFINE_GUID(IID_IVMRMixerControl9, 0x1a777eaa, 0x47c8, 0x4930, 0xb2,0xc9, 0x8f,0xee,0x1c,0x1b,0x0f,0x3b); 1225#if defined(__cplusplus) && !defined(CINTERFACE) 1226MIDL_INTERFACE("1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b") 1227IVMRMixerControl9 : public IUnknown 1228{ 1229 virtual HRESULT STDMETHODCALLTYPE SetAlpha( 1230 DWORD streamid, 1231 FLOAT alpha) = 0; 1232 1233 virtual HRESULT STDMETHODCALLTYPE GetAlpha( 1234 DWORD streamid, 1235 FLOAT *alpha) = 0; 1236 1237 virtual HRESULT STDMETHODCALLTYPE SetZOrder( 1238 DWORD streamid, 1239 DWORD zorder) = 0; 1240 1241 virtual HRESULT STDMETHODCALLTYPE GetZOrder( 1242 DWORD streamid, 1243 DWORD *zorder) = 0; 1244 1245 virtual HRESULT STDMETHODCALLTYPE SetOutputRect( 1246 DWORD streamid, 1247 const VMR9NormalizedRect *rect) = 0; 1248 1249 virtual HRESULT STDMETHODCALLTYPE GetOutputRect( 1250 DWORD streamid, 1251 VMR9NormalizedRect *rect) = 0; 1252 1253 virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr( 1254 COLORREF back) = 0; 1255 1256 virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr( 1257 COLORREF *back) = 0; 1258 1259 virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( 1260 DWORD mixingprefs) = 0; 1261 1262 virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( 1263 DWORD *mixingprefs) = 0; 1264 1265 virtual HRESULT STDMETHODCALLTYPE SetProcAmpControl( 1266 DWORD streamid, 1267 VMR9ProcAmpControl *control) = 0; 1268 1269 virtual HRESULT STDMETHODCALLTYPE GetProcAmpControl( 1270 DWORD streamid, 1271 VMR9ProcAmpControl *control) = 0; 1272 1273 virtual HRESULT STDMETHODCALLTYPE GetProcAmpControlRange( 1274 DWORD streamid, 1275 VMR9ProcAmpControlRange *controlrange) = 0; 1276 1277}; 1278#ifdef __CRT_UUID_DECL 1279__CRT_UUID_DECL(IVMRMixerControl9, 0x1a777eaa, 0x47c8, 0x4930, 0xb2,0xc9, 0x8f,0xee,0x1c,0x1b,0x0f,0x3b) 1280#endif 1281#else 1282typedef struct IVMRMixerControl9Vtbl { 1283 BEGIN_INTERFACE 1284 1285 /*** IUnknown methods ***/ 1286 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1287 IVMRMixerControl9* This, 1288 REFIID riid, 1289 void **ppvObject); 1290 1291 ULONG (STDMETHODCALLTYPE *AddRef)( 1292 IVMRMixerControl9* This); 1293 1294 ULONG (STDMETHODCALLTYPE *Release)( 1295 IVMRMixerControl9* This); 1296 1297 /*** IVMRMixerControl9 methods ***/ 1298 HRESULT (STDMETHODCALLTYPE *SetAlpha)( 1299 IVMRMixerControl9* This, 1300 DWORD streamid, 1301 FLOAT alpha); 1302 1303 HRESULT (STDMETHODCALLTYPE *GetAlpha)( 1304 IVMRMixerControl9* This, 1305 DWORD streamid, 1306 FLOAT *alpha); 1307 1308 HRESULT (STDMETHODCALLTYPE *SetZOrder)( 1309 IVMRMixerControl9* This, 1310 DWORD streamid, 1311 DWORD zorder); 1312 1313 HRESULT (STDMETHODCALLTYPE *GetZOrder)( 1314 IVMRMixerControl9* This, 1315 DWORD streamid, 1316 DWORD *zorder); 1317 1318 HRESULT (STDMETHODCALLTYPE *SetOutputRect)( 1319 IVMRMixerControl9* This, 1320 DWORD streamid, 1321 const VMR9NormalizedRect *rect); 1322 1323 HRESULT (STDMETHODCALLTYPE *GetOutputRect)( 1324 IVMRMixerControl9* This, 1325 DWORD streamid, 1326 VMR9NormalizedRect *rect); 1327 1328 HRESULT (STDMETHODCALLTYPE *SetBackgroundClr)( 1329 IVMRMixerControl9* This, 1330 COLORREF back); 1331 1332 HRESULT (STDMETHODCALLTYPE *GetBackgroundClr)( 1333 IVMRMixerControl9* This, 1334 COLORREF *back); 1335 1336 HRESULT (STDMETHODCALLTYPE *SetMixingPrefs)( 1337 IVMRMixerControl9* This, 1338 DWORD mixingprefs); 1339 1340 HRESULT (STDMETHODCALLTYPE *GetMixingPrefs)( 1341 IVMRMixerControl9* This, 1342 DWORD *mixingprefs); 1343 1344 HRESULT (STDMETHODCALLTYPE *SetProcAmpControl)( 1345 IVMRMixerControl9* This, 1346 DWORD streamid, 1347 VMR9ProcAmpControl *control); 1348 1349 HRESULT (STDMETHODCALLTYPE *GetProcAmpControl)( 1350 IVMRMixerControl9* This, 1351 DWORD streamid, 1352 VMR9ProcAmpControl *control); 1353 1354 HRESULT (STDMETHODCALLTYPE *GetProcAmpControlRange)( 1355 IVMRMixerControl9* This, 1356 DWORD streamid, 1357 VMR9ProcAmpControlRange *controlrange); 1358 1359 END_INTERFACE 1360} IVMRMixerControl9Vtbl; 1361interface IVMRMixerControl9 { 1362 CONST_VTBL IVMRMixerControl9Vtbl* lpVtbl; 1363}; 1364 1365#ifdef COBJMACROS 1366#ifndef WIDL_C_INLINE_WRAPPERS 1367/*** IUnknown methods ***/ 1368#define IVMRMixerControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1369#define IVMRMixerControl9_AddRef(This) (This)->lpVtbl->AddRef(This) 1370#define IVMRMixerControl9_Release(This) (This)->lpVtbl->Release(This) 1371/*** IVMRMixerControl9 methods ***/ 1372#define IVMRMixerControl9_SetAlpha(This,streamid,alpha) (This)->lpVtbl->SetAlpha(This,streamid,alpha) 1373#define IVMRMixerControl9_GetAlpha(This,streamid,alpha) (This)->lpVtbl->GetAlpha(This,streamid,alpha) 1374#define IVMRMixerControl9_SetZOrder(This,streamid,zorder) (This)->lpVtbl->SetZOrder(This,streamid,zorder) 1375#define IVMRMixerControl9_GetZOrder(This,streamid,zorder) (This)->lpVtbl->GetZOrder(This,streamid,zorder) 1376#define IVMRMixerControl9_SetOutputRect(This,streamid,rect) (This)->lpVtbl->SetOutputRect(This,streamid,rect) 1377#define IVMRMixerControl9_GetOutputRect(This,streamid,rect) (This)->lpVtbl->GetOutputRect(This,streamid,rect) 1378#define IVMRMixerControl9_SetBackgroundClr(This,back) (This)->lpVtbl->SetBackgroundClr(This,back) 1379#define IVMRMixerControl9_GetBackgroundClr(This,back) (This)->lpVtbl->GetBackgroundClr(This,back) 1380#define IVMRMixerControl9_SetMixingPrefs(This,mixingprefs) (This)->lpVtbl->SetMixingPrefs(This,mixingprefs) 1381#define IVMRMixerControl9_GetMixingPrefs(This,mixingprefs) (This)->lpVtbl->GetMixingPrefs(This,mixingprefs) 1382#define IVMRMixerControl9_SetProcAmpControl(This,streamid,control) (This)->lpVtbl->SetProcAmpControl(This,streamid,control) 1383#define IVMRMixerControl9_GetProcAmpControl(This,streamid,control) (This)->lpVtbl->GetProcAmpControl(This,streamid,control) 1384#define IVMRMixerControl9_GetProcAmpControlRange(This,streamid,controlrange) (This)->lpVtbl->GetProcAmpControlRange(This,streamid,controlrange) 1385#else 1386/*** IUnknown methods ***/ 1387static FORCEINLINE HRESULT IVMRMixerControl9_QueryInterface(IVMRMixerControl9* This,REFIID riid,void **ppvObject) { 1388 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1389} 1390static FORCEINLINE ULONG IVMRMixerControl9_AddRef(IVMRMixerControl9* This) { 1391 return This->lpVtbl->AddRef(This); 1392} 1393static FORCEINLINE ULONG IVMRMixerControl9_Release(IVMRMixerControl9* This) { 1394 return This->lpVtbl->Release(This); 1395} 1396/*** IVMRMixerControl9 methods ***/ 1397static FORCEINLINE HRESULT IVMRMixerControl9_SetAlpha(IVMRMixerControl9* This,DWORD streamid,FLOAT alpha) { 1398 return This->lpVtbl->SetAlpha(This,streamid,alpha); 1399} 1400static FORCEINLINE HRESULT IVMRMixerControl9_GetAlpha(IVMRMixerControl9* This,DWORD streamid,FLOAT *alpha) { 1401 return This->lpVtbl->GetAlpha(This,streamid,alpha); 1402} 1403static FORCEINLINE HRESULT IVMRMixerControl9_SetZOrder(IVMRMixerControl9* This,DWORD streamid,DWORD zorder) { 1404 return This->lpVtbl->SetZOrder(This,streamid,zorder); 1405} 1406static FORCEINLINE HRESULT IVMRMixerControl9_GetZOrder(IVMRMixerControl9* This,DWORD streamid,DWORD *zorder) { 1407 return This->lpVtbl->GetZOrder(This,streamid,zorder); 1408} 1409static FORCEINLINE HRESULT IVMRMixerControl9_SetOutputRect(IVMRMixerControl9* This,DWORD streamid,const VMR9NormalizedRect *rect) { 1410 return This->lpVtbl->SetOutputRect(This,streamid,rect); 1411} 1412static FORCEINLINE HRESULT IVMRMixerControl9_GetOutputRect(IVMRMixerControl9* This,DWORD streamid,VMR9NormalizedRect *rect) { 1413 return This->lpVtbl->GetOutputRect(This,streamid,rect); 1414} 1415static FORCEINLINE HRESULT IVMRMixerControl9_SetBackgroundClr(IVMRMixerControl9* This,COLORREF back) { 1416 return This->lpVtbl->SetBackgroundClr(This,back); 1417} 1418static FORCEINLINE HRESULT IVMRMixerControl9_GetBackgroundClr(IVMRMixerControl9* This,COLORREF *back) { 1419 return This->lpVtbl->GetBackgroundClr(This,back); 1420} 1421static FORCEINLINE HRESULT IVMRMixerControl9_SetMixingPrefs(IVMRMixerControl9* This,DWORD mixingprefs) { 1422 return This->lpVtbl->SetMixingPrefs(This,mixingprefs); 1423} 1424static FORCEINLINE HRESULT IVMRMixerControl9_GetMixingPrefs(IVMRMixerControl9* This,DWORD *mixingprefs) { 1425 return This->lpVtbl->GetMixingPrefs(This,mixingprefs); 1426} 1427static FORCEINLINE HRESULT IVMRMixerControl9_SetProcAmpControl(IVMRMixerControl9* This,DWORD streamid,VMR9ProcAmpControl *control) { 1428 return This->lpVtbl->SetProcAmpControl(This,streamid,control); 1429} 1430static FORCEINLINE HRESULT IVMRMixerControl9_GetProcAmpControl(IVMRMixerControl9* This,DWORD streamid,VMR9ProcAmpControl *control) { 1431 return This->lpVtbl->GetProcAmpControl(This,streamid,control); 1432} 1433static FORCEINLINE HRESULT IVMRMixerControl9_GetProcAmpControlRange(IVMRMixerControl9* This,DWORD streamid,VMR9ProcAmpControlRange *controlrange) { 1434 return This->lpVtbl->GetProcAmpControlRange(This,streamid,controlrange); 1435} 1436#endif 1437#endif 1438 1439#endif 1440 1441HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetAlpha_Proxy( 1442 IVMRMixerControl9* This, 1443 DWORD streamid, 1444 FLOAT alpha); 1445void __RPC_STUB IVMRMixerControl9_SetAlpha_Stub( 1446 IRpcStubBuffer* This, 1447 IRpcChannelBuffer* pRpcChannelBuffer, 1448 PRPC_MESSAGE pRpcMessage, 1449 DWORD* pdwStubPhase); 1450HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetAlpha_Proxy( 1451 IVMRMixerControl9* This, 1452 DWORD streamid, 1453 FLOAT *alpha); 1454void __RPC_STUB IVMRMixerControl9_GetAlpha_Stub( 1455 IRpcStubBuffer* This, 1456 IRpcChannelBuffer* pRpcChannelBuffer, 1457 PRPC_MESSAGE pRpcMessage, 1458 DWORD* pdwStubPhase); 1459HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetZOrder_Proxy( 1460 IVMRMixerControl9* This, 1461 DWORD streamid, 1462 DWORD zorder); 1463void __RPC_STUB IVMRMixerControl9_SetZOrder_Stub( 1464 IRpcStubBuffer* This, 1465 IRpcChannelBuffer* pRpcChannelBuffer, 1466 PRPC_MESSAGE pRpcMessage, 1467 DWORD* pdwStubPhase); 1468HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetZOrder_Proxy( 1469 IVMRMixerControl9* This, 1470 DWORD streamid, 1471 DWORD *zorder); 1472void __RPC_STUB IVMRMixerControl9_GetZOrder_Stub( 1473 IRpcStubBuffer* This, 1474 IRpcChannelBuffer* pRpcChannelBuffer, 1475 PRPC_MESSAGE pRpcMessage, 1476 DWORD* pdwStubPhase); 1477HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetOutputRect_Proxy( 1478 IVMRMixerControl9* This, 1479 DWORD streamid, 1480 const VMR9NormalizedRect *rect); 1481void __RPC_STUB IVMRMixerControl9_SetOutputRect_Stub( 1482 IRpcStubBuffer* This, 1483 IRpcChannelBuffer* pRpcChannelBuffer, 1484 PRPC_MESSAGE pRpcMessage, 1485 DWORD* pdwStubPhase); 1486HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetOutputRect_Proxy( 1487 IVMRMixerControl9* This, 1488 DWORD streamid, 1489 VMR9NormalizedRect *rect); 1490void __RPC_STUB IVMRMixerControl9_GetOutputRect_Stub( 1491 IRpcStubBuffer* This, 1492 IRpcChannelBuffer* pRpcChannelBuffer, 1493 PRPC_MESSAGE pRpcMessage, 1494 DWORD* pdwStubPhase); 1495HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetBackgroundClr_Proxy( 1496 IVMRMixerControl9* This, 1497 COLORREF back); 1498void __RPC_STUB IVMRMixerControl9_SetBackgroundClr_Stub( 1499 IRpcStubBuffer* This, 1500 IRpcChannelBuffer* pRpcChannelBuffer, 1501 PRPC_MESSAGE pRpcMessage, 1502 DWORD* pdwStubPhase); 1503HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetBackgroundClr_Proxy( 1504 IVMRMixerControl9* This, 1505 COLORREF *back); 1506void __RPC_STUB IVMRMixerControl9_GetBackgroundClr_Stub( 1507 IRpcStubBuffer* This, 1508 IRpcChannelBuffer* pRpcChannelBuffer, 1509 PRPC_MESSAGE pRpcMessage, 1510 DWORD* pdwStubPhase); 1511HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetMixingPrefs_Proxy( 1512 IVMRMixerControl9* This, 1513 DWORD mixingprefs); 1514void __RPC_STUB IVMRMixerControl9_SetMixingPrefs_Stub( 1515 IRpcStubBuffer* This, 1516 IRpcChannelBuffer* pRpcChannelBuffer, 1517 PRPC_MESSAGE pRpcMessage, 1518 DWORD* pdwStubPhase); 1519HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetMixingPrefs_Proxy( 1520 IVMRMixerControl9* This, 1521 DWORD *mixingprefs); 1522void __RPC_STUB IVMRMixerControl9_GetMixingPrefs_Stub( 1523 IRpcStubBuffer* This, 1524 IRpcChannelBuffer* pRpcChannelBuffer, 1525 PRPC_MESSAGE pRpcMessage, 1526 DWORD* pdwStubPhase); 1527HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetProcAmpControl_Proxy( 1528 IVMRMixerControl9* This, 1529 DWORD streamid, 1530 VMR9ProcAmpControl *control); 1531void __RPC_STUB IVMRMixerControl9_SetProcAmpControl_Stub( 1532 IRpcStubBuffer* This, 1533 IRpcChannelBuffer* pRpcChannelBuffer, 1534 PRPC_MESSAGE pRpcMessage, 1535 DWORD* pdwStubPhase); 1536HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControl_Proxy( 1537 IVMRMixerControl9* This, 1538 DWORD streamid, 1539 VMR9ProcAmpControl *control); 1540void __RPC_STUB IVMRMixerControl9_GetProcAmpControl_Stub( 1541 IRpcStubBuffer* This, 1542 IRpcChannelBuffer* pRpcChannelBuffer, 1543 PRPC_MESSAGE pRpcMessage, 1544 DWORD* pdwStubPhase); 1545HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControlRange_Proxy( 1546 IVMRMixerControl9* This, 1547 DWORD streamid, 1548 VMR9ProcAmpControlRange *controlrange); 1549void __RPC_STUB IVMRMixerControl9_GetProcAmpControlRange_Stub( 1550 IRpcStubBuffer* This, 1551 IRpcChannelBuffer* pRpcChannelBuffer, 1552 PRPC_MESSAGE pRpcMessage, 1553 DWORD* pdwStubPhase); 1554 1555#endif /* __IVMRMixerControl9_INTERFACE_DEFINED__ */ 1556 1557typedef struct _VMR9AlphaBitmap { 1558 DWORD dwFlags; 1559 HDC hdc; 1560 IDirect3DSurface9 *pDDS; 1561 RECT rSrc; 1562 VMR9NormalizedRect *rDest; 1563 FLOAT fAlpha; 1564 COLORREF clrSrcKey; 1565 DWORD dwFilterMode; 1566} VMR9AlphaBitmap; 1567typedef enum _VMR9AlphaBitmapFlags { 1568 VMR9AlphaBitmap_Disable = 0x1, 1569 VMR9AlphaBitmap_hDC = 0x2, 1570 VMR9AlphaBitmap_EntireDDS = 0x4, 1571 VMR9AlphaBitmap_SrcColorKey = 0x8, 1572 VMR9AlphaBitmap_SrcRect = 0x10, 1573 VMR9AlphaBitmap_FilterMode = 0x20 1574} VMR9AlphaBitmapFlags; 1575/***************************************************************************** 1576 * IVMRMixerBitmap9 interface 1577 */ 1578#ifndef __IVMRMixerBitmap9_INTERFACE_DEFINED__ 1579#define __IVMRMixerBitmap9_INTERFACE_DEFINED__ 1580 1581DEFINE_GUID(IID_IVMRMixerBitmap9, 0xced175e5, 0x1935, 0x4820, 0x81,0xbd, 0xff,0x6a,0xd0,0x0c,0x91,0x08); 1582#if defined(__cplusplus) && !defined(CINTERFACE) 1583MIDL_INTERFACE("ced175e5-1935-4820-81bd-ff6ad00c9108") 1584IVMRMixerBitmap9 : public IUnknown 1585{ 1586 virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap( 1587 const VMR9AlphaBitmap *bitmap) = 0; 1588 1589 virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters( 1590 const VMR9AlphaBitmap *bitmap) = 0; 1591 1592 virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters( 1593 VMR9AlphaBitmap *bitmap) = 0; 1594 1595}; 1596#ifdef __CRT_UUID_DECL 1597__CRT_UUID_DECL(IVMRMixerBitmap9, 0xced175e5, 0x1935, 0x4820, 0x81,0xbd, 0xff,0x6a,0xd0,0x0c,0x91,0x08) 1598#endif 1599#else 1600typedef struct IVMRMixerBitmap9Vtbl { 1601 BEGIN_INTERFACE 1602 1603 /*** IUnknown methods ***/ 1604 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1605 IVMRMixerBitmap9* This, 1606 REFIID riid, 1607 void **ppvObject); 1608 1609 ULONG (STDMETHODCALLTYPE *AddRef)( 1610 IVMRMixerBitmap9* This); 1611 1612 ULONG (STDMETHODCALLTYPE *Release)( 1613 IVMRMixerBitmap9* This); 1614 1615 /*** IVMRMixerBitmap9 methods ***/ 1616 HRESULT (STDMETHODCALLTYPE *SetAlphaBitmap)( 1617 IVMRMixerBitmap9* This, 1618 const VMR9AlphaBitmap *bitmap); 1619 1620 HRESULT (STDMETHODCALLTYPE *UpdateAlphaBitmapParameters)( 1621 IVMRMixerBitmap9* This, 1622 const VMR9AlphaBitmap *bitmap); 1623 1624 HRESULT (STDMETHODCALLTYPE *GetAlphaBitmapParameters)( 1625 IVMRMixerBitmap9* This, 1626 VMR9AlphaBitmap *bitmap); 1627 1628 END_INTERFACE 1629} IVMRMixerBitmap9Vtbl; 1630interface IVMRMixerBitmap9 { 1631 CONST_VTBL IVMRMixerBitmap9Vtbl* lpVtbl; 1632}; 1633 1634#ifdef COBJMACROS 1635#ifndef WIDL_C_INLINE_WRAPPERS 1636/*** IUnknown methods ***/ 1637#define IVMRMixerBitmap9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1638#define IVMRMixerBitmap9_AddRef(This) (This)->lpVtbl->AddRef(This) 1639#define IVMRMixerBitmap9_Release(This) (This)->lpVtbl->Release(This) 1640/*** IVMRMixerBitmap9 methods ***/ 1641#define IVMRMixerBitmap9_SetAlphaBitmap(This,bitmap) (This)->lpVtbl->SetAlphaBitmap(This,bitmap) 1642#define IVMRMixerBitmap9_UpdateAlphaBitmapParameters(This,bitmap) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,bitmap) 1643#define IVMRMixerBitmap9_GetAlphaBitmapParameters(This,bitmap) (This)->lpVtbl->GetAlphaBitmapParameters(This,bitmap) 1644#else 1645/*** IUnknown methods ***/ 1646static FORCEINLINE HRESULT IVMRMixerBitmap9_QueryInterface(IVMRMixerBitmap9* This,REFIID riid,void **ppvObject) { 1647 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1648} 1649static FORCEINLINE ULONG IVMRMixerBitmap9_AddRef(IVMRMixerBitmap9* This) { 1650 return This->lpVtbl->AddRef(This); 1651} 1652static FORCEINLINE ULONG IVMRMixerBitmap9_Release(IVMRMixerBitmap9* This) { 1653 return This->lpVtbl->Release(This); 1654} 1655/*** IVMRMixerBitmap9 methods ***/ 1656static FORCEINLINE HRESULT IVMRMixerBitmap9_SetAlphaBitmap(IVMRMixerBitmap9* This,const VMR9AlphaBitmap *bitmap) { 1657 return This->lpVtbl->SetAlphaBitmap(This,bitmap); 1658} 1659static FORCEINLINE HRESULT IVMRMixerBitmap9_UpdateAlphaBitmapParameters(IVMRMixerBitmap9* This,const VMR9AlphaBitmap *bitmap) { 1660 return This->lpVtbl->UpdateAlphaBitmapParameters(This,bitmap); 1661} 1662static FORCEINLINE HRESULT IVMRMixerBitmap9_GetAlphaBitmapParameters(IVMRMixerBitmap9* This,VMR9AlphaBitmap *bitmap) { 1663 return This->lpVtbl->GetAlphaBitmapParameters(This,bitmap); 1664} 1665#endif 1666#endif 1667 1668#endif 1669 1670HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_SetAlphaBitmap_Proxy( 1671 IVMRMixerBitmap9* This, 1672 const VMR9AlphaBitmap *bitmap); 1673void __RPC_STUB IVMRMixerBitmap9_SetAlphaBitmap_Stub( 1674 IRpcStubBuffer* This, 1675 IRpcChannelBuffer* pRpcChannelBuffer, 1676 PRPC_MESSAGE pRpcMessage, 1677 DWORD* pdwStubPhase); 1678HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Proxy( 1679 IVMRMixerBitmap9* This, 1680 const VMR9AlphaBitmap *bitmap); 1681void __RPC_STUB IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Stub( 1682 IRpcStubBuffer* This, 1683 IRpcChannelBuffer* pRpcChannelBuffer, 1684 PRPC_MESSAGE pRpcMessage, 1685 DWORD* pdwStubPhase); 1686HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_GetAlphaBitmapParameters_Proxy( 1687 IVMRMixerBitmap9* This, 1688 VMR9AlphaBitmap *bitmap); 1689void __RPC_STUB IVMRMixerBitmap9_GetAlphaBitmapParameters_Stub( 1690 IRpcStubBuffer* This, 1691 IRpcChannelBuffer* pRpcChannelBuffer, 1692 PRPC_MESSAGE pRpcMessage, 1693 DWORD* pdwStubPhase); 1694 1695#endif /* __IVMRMixerBitmap9_INTERFACE_DEFINED__ */ 1696 1697/***************************************************************************** 1698 * IVMRSurface9 interface 1699 */ 1700#ifndef __IVMRSurface9_INTERFACE_DEFINED__ 1701#define __IVMRSurface9_INTERFACE_DEFINED__ 1702 1703DEFINE_GUID(IID_IVMRSurface9, 0xdfc581a1, 0x6e1f, 0x4c3a, 0x8d,0x0a, 0x5e,0x97,0x92,0xea,0x2a,0xfc); 1704#if defined(__cplusplus) && !defined(CINTERFACE) 1705MIDL_INTERFACE("dfc581a1-6e1f-4c3a-8d0a-5e9792ea2afc") 1706IVMRSurface9 : public IUnknown 1707{ 1708 virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( 1709 ) = 0; 1710 1711 virtual HRESULT STDMETHODCALLTYPE LockSurface( 1712 BYTE **surface) = 0; 1713 1714 virtual HRESULT STDMETHODCALLTYPE UnlockSurface( 1715 ) = 0; 1716 1717 virtual HRESULT STDMETHODCALLTYPE GetSurface( 1718 IDirect3DSurface9 **surface) = 0; 1719 1720}; 1721#ifdef __CRT_UUID_DECL 1722__CRT_UUID_DECL(IVMRSurface9, 0xdfc581a1, 0x6e1f, 0x4c3a, 0x8d,0x0a, 0x5e,0x97,0x92,0xea,0x2a,0xfc) 1723#endif 1724#else 1725typedef struct IVMRSurface9Vtbl { 1726 BEGIN_INTERFACE 1727 1728 /*** IUnknown methods ***/ 1729 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1730 IVMRSurface9* This, 1731 REFIID riid, 1732 void **ppvObject); 1733 1734 ULONG (STDMETHODCALLTYPE *AddRef)( 1735 IVMRSurface9* This); 1736 1737 ULONG (STDMETHODCALLTYPE *Release)( 1738 IVMRSurface9* This); 1739 1740 /*** IVMRSurface9 methods ***/ 1741 HRESULT (STDMETHODCALLTYPE *IsSurfaceLocked)( 1742 IVMRSurface9* This); 1743 1744 HRESULT (STDMETHODCALLTYPE *LockSurface)( 1745 IVMRSurface9* This, 1746 BYTE **surface); 1747 1748 HRESULT (STDMETHODCALLTYPE *UnlockSurface)( 1749 IVMRSurface9* This); 1750 1751 HRESULT (STDMETHODCALLTYPE *GetSurface)( 1752 IVMRSurface9* This, 1753 IDirect3DSurface9 **surface); 1754 1755 END_INTERFACE 1756} IVMRSurface9Vtbl; 1757interface IVMRSurface9 { 1758 CONST_VTBL IVMRSurface9Vtbl* lpVtbl; 1759}; 1760 1761#ifdef COBJMACROS 1762#ifndef WIDL_C_INLINE_WRAPPERS 1763/*** IUnknown methods ***/ 1764#define IVMRSurface9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1765#define IVMRSurface9_AddRef(This) (This)->lpVtbl->AddRef(This) 1766#define IVMRSurface9_Release(This) (This)->lpVtbl->Release(This) 1767/*** IVMRSurface9 methods ***/ 1768#define IVMRSurface9_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This) 1769#define IVMRSurface9_LockSurface(This,surface) (This)->lpVtbl->LockSurface(This,surface) 1770#define IVMRSurface9_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This) 1771#define IVMRSurface9_GetSurface(This,surface) (This)->lpVtbl->GetSurface(This,surface) 1772#else 1773/*** IUnknown methods ***/ 1774static FORCEINLINE HRESULT IVMRSurface9_QueryInterface(IVMRSurface9* This,REFIID riid,void **ppvObject) { 1775 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1776} 1777static FORCEINLINE ULONG IVMRSurface9_AddRef(IVMRSurface9* This) { 1778 return This->lpVtbl->AddRef(This); 1779} 1780static FORCEINLINE ULONG IVMRSurface9_Release(IVMRSurface9* This) { 1781 return This->lpVtbl->Release(This); 1782} 1783/*** IVMRSurface9 methods ***/ 1784static FORCEINLINE HRESULT IVMRSurface9_IsSurfaceLocked(IVMRSurface9* This) { 1785 return This->lpVtbl->IsSurfaceLocked(This); 1786} 1787static FORCEINLINE HRESULT IVMRSurface9_LockSurface(IVMRSurface9* This,BYTE **surface) { 1788 return This->lpVtbl->LockSurface(This,surface); 1789} 1790static FORCEINLINE HRESULT IVMRSurface9_UnlockSurface(IVMRSurface9* This) { 1791 return This->lpVtbl->UnlockSurface(This); 1792} 1793static FORCEINLINE HRESULT IVMRSurface9_GetSurface(IVMRSurface9* This,IDirect3DSurface9 **surface) { 1794 return This->lpVtbl->GetSurface(This,surface); 1795} 1796#endif 1797#endif 1798 1799#endif 1800 1801HRESULT STDMETHODCALLTYPE IVMRSurface9_IsSurfaceLocked_Proxy( 1802 IVMRSurface9* This); 1803void __RPC_STUB IVMRSurface9_IsSurfaceLocked_Stub( 1804 IRpcStubBuffer* This, 1805 IRpcChannelBuffer* pRpcChannelBuffer, 1806 PRPC_MESSAGE pRpcMessage, 1807 DWORD* pdwStubPhase); 1808HRESULT STDMETHODCALLTYPE IVMRSurface9_LockSurface_Proxy( 1809 IVMRSurface9* This, 1810 BYTE **surface); 1811void __RPC_STUB IVMRSurface9_LockSurface_Stub( 1812 IRpcStubBuffer* This, 1813 IRpcChannelBuffer* pRpcChannelBuffer, 1814 PRPC_MESSAGE pRpcMessage, 1815 DWORD* pdwStubPhase); 1816HRESULT STDMETHODCALLTYPE IVMRSurface9_UnlockSurface_Proxy( 1817 IVMRSurface9* This); 1818void __RPC_STUB IVMRSurface9_UnlockSurface_Stub( 1819 IRpcStubBuffer* This, 1820 IRpcChannelBuffer* pRpcChannelBuffer, 1821 PRPC_MESSAGE pRpcMessage, 1822 DWORD* pdwStubPhase); 1823HRESULT STDMETHODCALLTYPE IVMRSurface9_GetSurface_Proxy( 1824 IVMRSurface9* This, 1825 IDirect3DSurface9 **surface); 1826void __RPC_STUB IVMRSurface9_GetSurface_Stub( 1827 IRpcStubBuffer* This, 1828 IRpcChannelBuffer* pRpcChannelBuffer, 1829 PRPC_MESSAGE pRpcMessage, 1830 DWORD* pdwStubPhase); 1831 1832#endif /* __IVMRSurface9_INTERFACE_DEFINED__ */ 1833 1834typedef enum _VMR9RenderPrefs { 1835 RenderPrefs9_DoNotRenderBorder = 0x1, 1836 RenderPrefs9_Mask = 0x1 1837} VMR9RenderPrefs; 1838/***************************************************************************** 1839 * IVMRImagePresenterConfig9 interface 1840 */ 1841#ifndef __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ 1842#define __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ 1843 1844DEFINE_GUID(IID_IVMRImagePresenterConfig9, 0x45c15cab, 0x6e22, 0x420a, 0x80,0x43, 0xae,0x1f,0x0a,0xc0,0x2c,0x7d); 1845#if defined(__cplusplus) && !defined(CINTERFACE) 1846MIDL_INTERFACE("45c15cab-6e22-420a-8043-ae1f0ac02c7d") 1847IVMRImagePresenterConfig9 : public IUnknown 1848{ 1849 virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 1850 DWORD renderflags) = 0; 1851 1852 virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 1853 DWORD *renderflags) = 0; 1854 1855}; 1856#ifdef __CRT_UUID_DECL 1857__CRT_UUID_DECL(IVMRImagePresenterConfig9, 0x45c15cab, 0x6e22, 0x420a, 0x80,0x43, 0xae,0x1f,0x0a,0xc0,0x2c,0x7d) 1858#endif 1859#else 1860typedef struct IVMRImagePresenterConfig9Vtbl { 1861 BEGIN_INTERFACE 1862 1863 /*** IUnknown methods ***/ 1864 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1865 IVMRImagePresenterConfig9* This, 1866 REFIID riid, 1867 void **ppvObject); 1868 1869 ULONG (STDMETHODCALLTYPE *AddRef)( 1870 IVMRImagePresenterConfig9* This); 1871 1872 ULONG (STDMETHODCALLTYPE *Release)( 1873 IVMRImagePresenterConfig9* This); 1874 1875 /*** IVMRImagePresenterConfig9 methods ***/ 1876 HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)( 1877 IVMRImagePresenterConfig9* This, 1878 DWORD renderflags); 1879 1880 HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)( 1881 IVMRImagePresenterConfig9* This, 1882 DWORD *renderflags); 1883 1884 END_INTERFACE 1885} IVMRImagePresenterConfig9Vtbl; 1886interface IVMRImagePresenterConfig9 { 1887 CONST_VTBL IVMRImagePresenterConfig9Vtbl* lpVtbl; 1888}; 1889 1890#ifdef COBJMACROS 1891#ifndef WIDL_C_INLINE_WRAPPERS 1892/*** IUnknown methods ***/ 1893#define IVMRImagePresenterConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1894#define IVMRImagePresenterConfig9_AddRef(This) (This)->lpVtbl->AddRef(This) 1895#define IVMRImagePresenterConfig9_Release(This) (This)->lpVtbl->Release(This) 1896/*** IVMRImagePresenterConfig9 methods ***/ 1897#define IVMRImagePresenterConfig9_SetRenderingPrefs(This,renderflags) (This)->lpVtbl->SetRenderingPrefs(This,renderflags) 1898#define IVMRImagePresenterConfig9_GetRenderingPrefs(This,renderflags) (This)->lpVtbl->GetRenderingPrefs(This,renderflags) 1899#else 1900/*** IUnknown methods ***/ 1901static FORCEINLINE HRESULT IVMRImagePresenterConfig9_QueryInterface(IVMRImagePresenterConfig9* This,REFIID riid,void **ppvObject) { 1902 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1903} 1904static FORCEINLINE ULONG IVMRImagePresenterConfig9_AddRef(IVMRImagePresenterConfig9* This) { 1905 return This->lpVtbl->AddRef(This); 1906} 1907static FORCEINLINE ULONG IVMRImagePresenterConfig9_Release(IVMRImagePresenterConfig9* This) { 1908 return This->lpVtbl->Release(This); 1909} 1910/*** IVMRImagePresenterConfig9 methods ***/ 1911static FORCEINLINE HRESULT IVMRImagePresenterConfig9_SetRenderingPrefs(IVMRImagePresenterConfig9* This,DWORD renderflags) { 1912 return This->lpVtbl->SetRenderingPrefs(This,renderflags); 1913} 1914static FORCEINLINE HRESULT IVMRImagePresenterConfig9_GetRenderingPrefs(IVMRImagePresenterConfig9* This,DWORD *renderflags) { 1915 return This->lpVtbl->GetRenderingPrefs(This,renderflags); 1916} 1917#endif 1918#endif 1919 1920#endif 1921 1922HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_SetRenderingPrefs_Proxy( 1923 IVMRImagePresenterConfig9* This, 1924 DWORD renderflags); 1925void __RPC_STUB IVMRImagePresenterConfig9_SetRenderingPrefs_Stub( 1926 IRpcStubBuffer* This, 1927 IRpcChannelBuffer* pRpcChannelBuffer, 1928 PRPC_MESSAGE pRpcMessage, 1929 DWORD* pdwStubPhase); 1930HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_GetRenderingPrefs_Proxy( 1931 IVMRImagePresenterConfig9* This, 1932 DWORD *renderflags); 1933void __RPC_STUB IVMRImagePresenterConfig9_GetRenderingPrefs_Stub( 1934 IRpcStubBuffer* This, 1935 IRpcChannelBuffer* pRpcChannelBuffer, 1936 PRPC_MESSAGE pRpcMessage, 1937 DWORD* pdwStubPhase); 1938 1939#endif /* __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ */ 1940 1941/***************************************************************************** 1942 * IVMRVideoStreamControl9 interface 1943 */ 1944#ifndef __IVMRVideoStreamControl9_INTERFACE_DEFINED__ 1945#define __IVMRVideoStreamControl9_INTERFACE_DEFINED__ 1946 1947DEFINE_GUID(IID_IVMRVideoStreamControl9, 0xd0cfe38b, 0x93e7, 0x4772, 0x89,0x57, 0x04,0x00,0xc4,0x9a,0x44,0x85); 1948#if defined(__cplusplus) && !defined(CINTERFACE) 1949MIDL_INTERFACE("d0cfe38b-93e7-4772-8957-0400c49a4485") 1950IVMRVideoStreamControl9 : public IUnknown 1951{ 1952 virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState( 1953 WINBOOL active) = 0; 1954 1955 virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState( 1956 WINBOOL *active) = 0; 1957 1958}; 1959#ifdef __CRT_UUID_DECL 1960__CRT_UUID_DECL(IVMRVideoStreamControl9, 0xd0cfe38b, 0x93e7, 0x4772, 0x89,0x57, 0x04,0x00,0xc4,0x9a,0x44,0x85) 1961#endif 1962#else 1963typedef struct IVMRVideoStreamControl9Vtbl { 1964 BEGIN_INTERFACE 1965 1966 /*** IUnknown methods ***/ 1967 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1968 IVMRVideoStreamControl9* This, 1969 REFIID riid, 1970 void **ppvObject); 1971 1972 ULONG (STDMETHODCALLTYPE *AddRef)( 1973 IVMRVideoStreamControl9* This); 1974 1975 ULONG (STDMETHODCALLTYPE *Release)( 1976 IVMRVideoStreamControl9* This); 1977 1978 /*** IVMRVideoStreamControl9 methods ***/ 1979 HRESULT (STDMETHODCALLTYPE *SetStreamActiveState)( 1980 IVMRVideoStreamControl9* This, 1981 WINBOOL active); 1982 1983 HRESULT (STDMETHODCALLTYPE *GetStreamActiveState)( 1984 IVMRVideoStreamControl9* This, 1985 WINBOOL *active); 1986 1987 END_INTERFACE 1988} IVMRVideoStreamControl9Vtbl; 1989interface IVMRVideoStreamControl9 { 1990 CONST_VTBL IVMRVideoStreamControl9Vtbl* lpVtbl; 1991}; 1992 1993#ifdef COBJMACROS 1994#ifndef WIDL_C_INLINE_WRAPPERS 1995/*** IUnknown methods ***/ 1996#define IVMRVideoStreamControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1997#define IVMRVideoStreamControl9_AddRef(This) (This)->lpVtbl->AddRef(This) 1998#define IVMRVideoStreamControl9_Release(This) (This)->lpVtbl->Release(This) 1999/*** IVMRVideoStreamControl9 methods ***/ 2000#define IVMRVideoStreamControl9_SetStreamActiveState(This,active) (This)->lpVtbl->SetStreamActiveState(This,active) 2001#define IVMRVideoStreamControl9_GetStreamActiveState(This,active) (This)->lpVtbl->GetStreamActiveState(This,active) 2002#else 2003/*** IUnknown methods ***/ 2004static FORCEINLINE HRESULT IVMRVideoStreamControl9_QueryInterface(IVMRVideoStreamControl9* This,REFIID riid,void **ppvObject) { 2005 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2006} 2007static FORCEINLINE ULONG IVMRVideoStreamControl9_AddRef(IVMRVideoStreamControl9* This) { 2008 return This->lpVtbl->AddRef(This); 2009} 2010static FORCEINLINE ULONG IVMRVideoStreamControl9_Release(IVMRVideoStreamControl9* This) { 2011 return This->lpVtbl->Release(This); 2012} 2013/*** IVMRVideoStreamControl9 methods ***/ 2014static FORCEINLINE HRESULT IVMRVideoStreamControl9_SetStreamActiveState(IVMRVideoStreamControl9* This,WINBOOL active) { 2015 return This->lpVtbl->SetStreamActiveState(This,active); 2016} 2017static FORCEINLINE HRESULT IVMRVideoStreamControl9_GetStreamActiveState(IVMRVideoStreamControl9* This,WINBOOL *active) { 2018 return This->lpVtbl->GetStreamActiveState(This,active); 2019} 2020#endif 2021#endif 2022 2023#endif 2024 2025HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_SetStreamActiveState_Proxy( 2026 IVMRVideoStreamControl9* This, 2027 WINBOOL active); 2028void __RPC_STUB IVMRVideoStreamControl9_SetStreamActiveState_Stub( 2029 IRpcStubBuffer* This, 2030 IRpcChannelBuffer* pRpcChannelBuffer, 2031 PRPC_MESSAGE pRpcMessage, 2032 DWORD* pdwStubPhase); 2033HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_GetStreamActiveState_Proxy( 2034 IVMRVideoStreamControl9* This, 2035 WINBOOL *active); 2036void __RPC_STUB IVMRVideoStreamControl9_GetStreamActiveState_Stub( 2037 IRpcStubBuffer* This, 2038 IRpcChannelBuffer* pRpcChannelBuffer, 2039 PRPC_MESSAGE pRpcMessage, 2040 DWORD* pdwStubPhase); 2041 2042#endif /* __IVMRVideoStreamControl9_INTERFACE_DEFINED__ */ 2043 2044typedef enum _VMR9Mode { 2045 VMR9Mode_Windowed = 0x1, 2046 VMR9Mode_Windowless = 0x2, 2047 VMR9Mode_Renderless = 0x4, 2048 VMR9Mode_Mask = 0x7 2049} VMR9Mode; 2050/***************************************************************************** 2051 * IVMRFilterConfig9 interface 2052 */ 2053#ifndef __IVMRFilterConfig9_INTERFACE_DEFINED__ 2054#define __IVMRFilterConfig9_INTERFACE_DEFINED__ 2055 2056DEFINE_GUID(IID_IVMRFilterConfig9, 0x5a804648, 0x4f66, 0x4867, 0x9c,0x43, 0x4f,0x5c,0x82,0x2c,0xf1,0xb8); 2057#if defined(__cplusplus) && !defined(CINTERFACE) 2058MIDL_INTERFACE("5a804648-4f66-4867-9c43-4f5c822cf1b8") 2059IVMRFilterConfig9 : public IUnknown 2060{ 2061 virtual HRESULT STDMETHODCALLTYPE SetImageCompositor( 2062 IVMRImageCompositor9 *compositor) = 0; 2063 2064 virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( 2065 DWORD max) = 0; 2066 2067 virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( 2068 DWORD *max) = 0; 2069 2070 virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 2071 DWORD renderflags) = 0; 2072 2073 virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 2074 DWORD *renderflags) = 0; 2075 2076 virtual HRESULT STDMETHODCALLTYPE SetRenderingMode( 2077 DWORD mode) = 0; 2078 2079 virtual HRESULT STDMETHODCALLTYPE GetRenderingMode( 2080 DWORD *mode) = 0; 2081 2082}; 2083#ifdef __CRT_UUID_DECL 2084__CRT_UUID_DECL(IVMRFilterConfig9, 0x5a804648, 0x4f66, 0x4867, 0x9c,0x43, 0x4f,0x5c,0x82,0x2c,0xf1,0xb8) 2085#endif 2086#else 2087typedef struct IVMRFilterConfig9Vtbl { 2088 BEGIN_INTERFACE 2089 2090 /*** IUnknown methods ***/ 2091 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2092 IVMRFilterConfig9* This, 2093 REFIID riid, 2094 void **ppvObject); 2095 2096 ULONG (STDMETHODCALLTYPE *AddRef)( 2097 IVMRFilterConfig9* This); 2098 2099 ULONG (STDMETHODCALLTYPE *Release)( 2100 IVMRFilterConfig9* This); 2101 2102 /*** IVMRFilterConfig9 methods ***/ 2103 HRESULT (STDMETHODCALLTYPE *SetImageCompositor)( 2104 IVMRFilterConfig9* This, 2105 IVMRImageCompositor9 *compositor); 2106 2107 HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)( 2108 IVMRFilterConfig9* This, 2109 DWORD max); 2110 2111 HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)( 2112 IVMRFilterConfig9* This, 2113 DWORD *max); 2114 2115 HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)( 2116 IVMRFilterConfig9* This, 2117 DWORD renderflags); 2118 2119 HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)( 2120 IVMRFilterConfig9* This, 2121 DWORD *renderflags); 2122 2123 HRESULT (STDMETHODCALLTYPE *SetRenderingMode)( 2124 IVMRFilterConfig9* This, 2125 DWORD mode); 2126 2127 HRESULT (STDMETHODCALLTYPE *GetRenderingMode)( 2128 IVMRFilterConfig9* This, 2129 DWORD *mode); 2130 2131 END_INTERFACE 2132} IVMRFilterConfig9Vtbl; 2133interface IVMRFilterConfig9 { 2134 CONST_VTBL IVMRFilterConfig9Vtbl* lpVtbl; 2135}; 2136 2137#ifdef COBJMACROS 2138#ifndef WIDL_C_INLINE_WRAPPERS 2139/*** IUnknown methods ***/ 2140#define IVMRFilterConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2141#define IVMRFilterConfig9_AddRef(This) (This)->lpVtbl->AddRef(This) 2142#define IVMRFilterConfig9_Release(This) (This)->lpVtbl->Release(This) 2143/*** IVMRFilterConfig9 methods ***/ 2144#define IVMRFilterConfig9_SetImageCompositor(This,compositor) (This)->lpVtbl->SetImageCompositor(This,compositor) 2145#define IVMRFilterConfig9_SetNumberOfStreams(This,max) (This)->lpVtbl->SetNumberOfStreams(This,max) 2146#define IVMRFilterConfig9_GetNumberOfStreams(This,max) (This)->lpVtbl->GetNumberOfStreams(This,max) 2147#define IVMRFilterConfig9_SetRenderingPrefs(This,renderflags) (This)->lpVtbl->SetRenderingPrefs(This,renderflags) 2148#define IVMRFilterConfig9_GetRenderingPrefs(This,renderflags) (This)->lpVtbl->GetRenderingPrefs(This,renderflags) 2149#define IVMRFilterConfig9_SetRenderingMode(This,mode) (This)->lpVtbl->SetRenderingMode(This,mode) 2150#define IVMRFilterConfig9_GetRenderingMode(This,mode) (This)->lpVtbl->GetRenderingMode(This,mode) 2151#else 2152/*** IUnknown methods ***/ 2153static FORCEINLINE HRESULT IVMRFilterConfig9_QueryInterface(IVMRFilterConfig9* This,REFIID riid,void **ppvObject) { 2154 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2155} 2156static FORCEINLINE ULONG IVMRFilterConfig9_AddRef(IVMRFilterConfig9* This) { 2157 return This->lpVtbl->AddRef(This); 2158} 2159static FORCEINLINE ULONG IVMRFilterConfig9_Release(IVMRFilterConfig9* This) { 2160 return This->lpVtbl->Release(This); 2161} 2162/*** IVMRFilterConfig9 methods ***/ 2163static FORCEINLINE HRESULT IVMRFilterConfig9_SetImageCompositor(IVMRFilterConfig9* This,IVMRImageCompositor9 *compositor) { 2164 return This->lpVtbl->SetImageCompositor(This,compositor); 2165} 2166static FORCEINLINE HRESULT IVMRFilterConfig9_SetNumberOfStreams(IVMRFilterConfig9* This,DWORD max) { 2167 return This->lpVtbl->SetNumberOfStreams(This,max); 2168} 2169static FORCEINLINE HRESULT IVMRFilterConfig9_GetNumberOfStreams(IVMRFilterConfig9* This,DWORD *max) { 2170 return This->lpVtbl->GetNumberOfStreams(This,max); 2171} 2172static FORCEINLINE HRESULT IVMRFilterConfig9_SetRenderingPrefs(IVMRFilterConfig9* This,DWORD renderflags) { 2173 return This->lpVtbl->SetRenderingPrefs(This,renderflags); 2174} 2175static FORCEINLINE HRESULT IVMRFilterConfig9_GetRenderingPrefs(IVMRFilterConfig9* This,DWORD *renderflags) { 2176 return This->lpVtbl->GetRenderingPrefs(This,renderflags); 2177} 2178static FORCEINLINE HRESULT IVMRFilterConfig9_SetRenderingMode(IVMRFilterConfig9* This,DWORD mode) { 2179 return This->lpVtbl->SetRenderingMode(This,mode); 2180} 2181static FORCEINLINE HRESULT IVMRFilterConfig9_GetRenderingMode(IVMRFilterConfig9* This,DWORD *mode) { 2182 return This->lpVtbl->GetRenderingMode(This,mode); 2183} 2184#endif 2185#endif 2186 2187#endif 2188 2189HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetImageCompositor_Proxy( 2190 IVMRFilterConfig9* This, 2191 IVMRImageCompositor9 *compositor); 2192void __RPC_STUB IVMRFilterConfig9_SetImageCompositor_Stub( 2193 IRpcStubBuffer* This, 2194 IRpcChannelBuffer* pRpcChannelBuffer, 2195 PRPC_MESSAGE pRpcMessage, 2196 DWORD* pdwStubPhase); 2197HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetNumberOfStreams_Proxy( 2198 IVMRFilterConfig9* This, 2199 DWORD max); 2200void __RPC_STUB IVMRFilterConfig9_SetNumberOfStreams_Stub( 2201 IRpcStubBuffer* This, 2202 IRpcChannelBuffer* pRpcChannelBuffer, 2203 PRPC_MESSAGE pRpcMessage, 2204 DWORD* pdwStubPhase); 2205HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetNumberOfStreams_Proxy( 2206 IVMRFilterConfig9* This, 2207 DWORD *max); 2208void __RPC_STUB IVMRFilterConfig9_GetNumberOfStreams_Stub( 2209 IRpcStubBuffer* This, 2210 IRpcChannelBuffer* pRpcChannelBuffer, 2211 PRPC_MESSAGE pRpcMessage, 2212 DWORD* pdwStubPhase); 2213HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingPrefs_Proxy( 2214 IVMRFilterConfig9* This, 2215 DWORD renderflags); 2216void __RPC_STUB IVMRFilterConfig9_SetRenderingPrefs_Stub( 2217 IRpcStubBuffer* This, 2218 IRpcChannelBuffer* pRpcChannelBuffer, 2219 PRPC_MESSAGE pRpcMessage, 2220 DWORD* pdwStubPhase); 2221HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingPrefs_Proxy( 2222 IVMRFilterConfig9* This, 2223 DWORD *renderflags); 2224void __RPC_STUB IVMRFilterConfig9_GetRenderingPrefs_Stub( 2225 IRpcStubBuffer* This, 2226 IRpcChannelBuffer* pRpcChannelBuffer, 2227 PRPC_MESSAGE pRpcMessage, 2228 DWORD* pdwStubPhase); 2229HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingMode_Proxy( 2230 IVMRFilterConfig9* This, 2231 DWORD mode); 2232void __RPC_STUB IVMRFilterConfig9_SetRenderingMode_Stub( 2233 IRpcStubBuffer* This, 2234 IRpcChannelBuffer* pRpcChannelBuffer, 2235 PRPC_MESSAGE pRpcMessage, 2236 DWORD* pdwStubPhase); 2237HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingMode_Proxy( 2238 IVMRFilterConfig9* This, 2239 DWORD *mode); 2240void __RPC_STUB IVMRFilterConfig9_GetRenderingMode_Stub( 2241 IRpcStubBuffer* This, 2242 IRpcChannelBuffer* pRpcChannelBuffer, 2243 PRPC_MESSAGE pRpcMessage, 2244 DWORD* pdwStubPhase); 2245 2246#endif /* __IVMRFilterConfig9_INTERFACE_DEFINED__ */ 2247 2248/***************************************************************************** 2249 * IVMRAspectRatioControl9 interface 2250 */ 2251#ifndef __IVMRAspectRatioControl9_INTERFACE_DEFINED__ 2252#define __IVMRAspectRatioControl9_INTERFACE_DEFINED__ 2253 2254DEFINE_GUID(IID_IVMRAspectRatioControl9, 0x00d96c29, 0xbbde, 0x4efc, 0x99,0x01, 0xbb,0x50,0x36,0x39,0x21,0x46); 2255#if defined(__cplusplus) && !defined(CINTERFACE) 2256MIDL_INTERFACE("00d96c29-bbde-4efc-9901-bb5036392146") 2257IVMRAspectRatioControl9 : public IUnknown 2258{ 2259 virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 2260 DWORD *mode) = 0; 2261 2262 virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 2263 DWORD mode) = 0; 2264 2265}; 2266#ifdef __CRT_UUID_DECL 2267__CRT_UUID_DECL(IVMRAspectRatioControl9, 0x00d96c29, 0xbbde, 0x4efc, 0x99,0x01, 0xbb,0x50,0x36,0x39,0x21,0x46) 2268#endif 2269#else 2270typedef struct IVMRAspectRatioControl9Vtbl { 2271 BEGIN_INTERFACE 2272 2273 /*** IUnknown methods ***/ 2274 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2275 IVMRAspectRatioControl9* This, 2276 REFIID riid, 2277 void **ppvObject); 2278 2279 ULONG (STDMETHODCALLTYPE *AddRef)( 2280 IVMRAspectRatioControl9* This); 2281 2282 ULONG (STDMETHODCALLTYPE *Release)( 2283 IVMRAspectRatioControl9* This); 2284 2285 /*** IVMRAspectRatioControl9 methods ***/ 2286 HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)( 2287 IVMRAspectRatioControl9* This, 2288 DWORD *mode); 2289 2290 HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)( 2291 IVMRAspectRatioControl9* This, 2292 DWORD mode); 2293 2294 END_INTERFACE 2295} IVMRAspectRatioControl9Vtbl; 2296interface IVMRAspectRatioControl9 { 2297 CONST_VTBL IVMRAspectRatioControl9Vtbl* lpVtbl; 2298}; 2299 2300#ifdef COBJMACROS 2301#ifndef WIDL_C_INLINE_WRAPPERS 2302/*** IUnknown methods ***/ 2303#define IVMRAspectRatioControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2304#define IVMRAspectRatioControl9_AddRef(This) (This)->lpVtbl->AddRef(This) 2305#define IVMRAspectRatioControl9_Release(This) (This)->lpVtbl->Release(This) 2306/*** IVMRAspectRatioControl9 methods ***/ 2307#define IVMRAspectRatioControl9_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode) 2308#define IVMRAspectRatioControl9_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode) 2309#else 2310/*** IUnknown methods ***/ 2311static FORCEINLINE HRESULT IVMRAspectRatioControl9_QueryInterface(IVMRAspectRatioControl9* This,REFIID riid,void **ppvObject) { 2312 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2313} 2314static FORCEINLINE ULONG IVMRAspectRatioControl9_AddRef(IVMRAspectRatioControl9* This) { 2315 return This->lpVtbl->AddRef(This); 2316} 2317static FORCEINLINE ULONG IVMRAspectRatioControl9_Release(IVMRAspectRatioControl9* This) { 2318 return This->lpVtbl->Release(This); 2319} 2320/*** IVMRAspectRatioControl9 methods ***/ 2321static FORCEINLINE HRESULT IVMRAspectRatioControl9_GetAspectRatioMode(IVMRAspectRatioControl9* This,DWORD *mode) { 2322 return This->lpVtbl->GetAspectRatioMode(This,mode); 2323} 2324static FORCEINLINE HRESULT IVMRAspectRatioControl9_SetAspectRatioMode(IVMRAspectRatioControl9* This,DWORD mode) { 2325 return This->lpVtbl->SetAspectRatioMode(This,mode); 2326} 2327#endif 2328#endif 2329 2330#endif 2331 2332HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_GetAspectRatioMode_Proxy( 2333 IVMRAspectRatioControl9* This, 2334 DWORD *mode); 2335void __RPC_STUB IVMRAspectRatioControl9_GetAspectRatioMode_Stub( 2336 IRpcStubBuffer* This, 2337 IRpcChannelBuffer* pRpcChannelBuffer, 2338 PRPC_MESSAGE pRpcMessage, 2339 DWORD* pdwStubPhase); 2340HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_SetAspectRatioMode_Proxy( 2341 IVMRAspectRatioControl9* This, 2342 DWORD mode); 2343void __RPC_STUB IVMRAspectRatioControl9_SetAspectRatioMode_Stub( 2344 IRpcStubBuffer* This, 2345 IRpcChannelBuffer* pRpcChannelBuffer, 2346 PRPC_MESSAGE pRpcMessage, 2347 DWORD* pdwStubPhase); 2348 2349#endif /* __IVMRAspectRatioControl9_INTERFACE_DEFINED__ */ 2350 2351typedef struct _VMR9MonitorInfo { 2352 UINT uDevID; 2353 RECT rcMonitor; 2354 HMONITOR hMon; 2355 DWORD dwFlags; 2356 WCHAR szDevice[32]; 2357 WCHAR szDescription[512]; 2358 LARGE_INTEGER liDriverVersion; 2359 DWORD dwVendorId; 2360 DWORD dwDeviceId; 2361 DWORD dwSubSysId; 2362 DWORD dwRevision; 2363} VMR9MonitorInfo; 2364/***************************************************************************** 2365 * IVMRMonitorConfig9 interface 2366 */ 2367#ifndef __IVMRMonitorConfig9_INTERFACE_DEFINED__ 2368#define __IVMRMonitorConfig9_INTERFACE_DEFINED__ 2369 2370DEFINE_GUID(IID_IVMRMonitorConfig9, 0x46c2e457, 0x8ba0, 0x4eef, 0xb8,0x0b, 0x06,0x80,0xf0,0x97,0x87,0x49); 2371#if defined(__cplusplus) && !defined(CINTERFACE) 2372MIDL_INTERFACE("46c2e457-8ba0-4eef-b80b-0680f0978749") 2373IVMRMonitorConfig9 : public IUnknown 2374{ 2375 virtual HRESULT STDMETHODCALLTYPE SetMonitor( 2376 UINT uDev) = 0; 2377 2378 virtual HRESULT STDMETHODCALLTYPE GetMonitor( 2379 UINT *uDev) = 0; 2380 2381 virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor( 2382 UINT uDev) = 0; 2383 2384 virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor( 2385 UINT *uDev) = 0; 2386 2387 virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors( 2388 VMR9MonitorInfo *info, 2389 DWORD arraysize, 2390 DWORD *numdev) = 0; 2391 2392}; 2393#ifdef __CRT_UUID_DECL 2394__CRT_UUID_DECL(IVMRMonitorConfig9, 0x46c2e457, 0x8ba0, 0x4eef, 0xb8,0x0b, 0x06,0x80,0xf0,0x97,0x87,0x49) 2395#endif 2396#else 2397typedef struct IVMRMonitorConfig9Vtbl { 2398 BEGIN_INTERFACE 2399 2400 /*** IUnknown methods ***/ 2401 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2402 IVMRMonitorConfig9* This, 2403 REFIID riid, 2404 void **ppvObject); 2405 2406 ULONG (STDMETHODCALLTYPE *AddRef)( 2407 IVMRMonitorConfig9* This); 2408 2409 ULONG (STDMETHODCALLTYPE *Release)( 2410 IVMRMonitorConfig9* This); 2411 2412 /*** IVMRMonitorConfig9 methods ***/ 2413 HRESULT (STDMETHODCALLTYPE *SetMonitor)( 2414 IVMRMonitorConfig9* This, 2415 UINT uDev); 2416 2417 HRESULT (STDMETHODCALLTYPE *GetMonitor)( 2418 IVMRMonitorConfig9* This, 2419 UINT *uDev); 2420 2421 HRESULT (STDMETHODCALLTYPE *SetDefaultMonitor)( 2422 IVMRMonitorConfig9* This, 2423 UINT uDev); 2424 2425 HRESULT (STDMETHODCALLTYPE *GetDefaultMonitor)( 2426 IVMRMonitorConfig9* This, 2427 UINT *uDev); 2428 2429 HRESULT (STDMETHODCALLTYPE *GetAvailableMonitors)( 2430 IVMRMonitorConfig9* This, 2431 VMR9MonitorInfo *info, 2432 DWORD arraysize, 2433 DWORD *numdev); 2434 2435 END_INTERFACE 2436} IVMRMonitorConfig9Vtbl; 2437interface IVMRMonitorConfig9 { 2438 CONST_VTBL IVMRMonitorConfig9Vtbl* lpVtbl; 2439}; 2440 2441#ifdef COBJMACROS 2442#ifndef WIDL_C_INLINE_WRAPPERS 2443/*** IUnknown methods ***/ 2444#define IVMRMonitorConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2445#define IVMRMonitorConfig9_AddRef(This) (This)->lpVtbl->AddRef(This) 2446#define IVMRMonitorConfig9_Release(This) (This)->lpVtbl->Release(This) 2447/*** IVMRMonitorConfig9 methods ***/ 2448#define IVMRMonitorConfig9_SetMonitor(This,uDev) (This)->lpVtbl->SetMonitor(This,uDev) 2449#define IVMRMonitorConfig9_GetMonitor(This,uDev) (This)->lpVtbl->GetMonitor(This,uDev) 2450#define IVMRMonitorConfig9_SetDefaultMonitor(This,uDev) (This)->lpVtbl->SetDefaultMonitor(This,uDev) 2451#define IVMRMonitorConfig9_GetDefaultMonitor(This,uDev) (This)->lpVtbl->GetDefaultMonitor(This,uDev) 2452#define IVMRMonitorConfig9_GetAvailableMonitors(This,info,arraysize,numdev) (This)->lpVtbl->GetAvailableMonitors(This,info,arraysize,numdev) 2453#else 2454/*** IUnknown methods ***/ 2455static FORCEINLINE HRESULT IVMRMonitorConfig9_QueryInterface(IVMRMonitorConfig9* This,REFIID riid,void **ppvObject) { 2456 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2457} 2458static FORCEINLINE ULONG IVMRMonitorConfig9_AddRef(IVMRMonitorConfig9* This) { 2459 return This->lpVtbl->AddRef(This); 2460} 2461static FORCEINLINE ULONG IVMRMonitorConfig9_Release(IVMRMonitorConfig9* This) { 2462 return This->lpVtbl->Release(This); 2463} 2464/*** IVMRMonitorConfig9 methods ***/ 2465static FORCEINLINE HRESULT IVMRMonitorConfig9_SetMonitor(IVMRMonitorConfig9* This,UINT uDev) { 2466 return This->lpVtbl->SetMonitor(This,uDev); 2467} 2468static FORCEINLINE HRESULT IVMRMonitorConfig9_GetMonitor(IVMRMonitorConfig9* This,UINT *uDev) { 2469 return This->lpVtbl->GetMonitor(This,uDev); 2470} 2471static FORCEINLINE HRESULT IVMRMonitorConfig9_SetDefaultMonitor(IVMRMonitorConfig9* This,UINT uDev) { 2472 return This->lpVtbl->SetDefaultMonitor(This,uDev); 2473} 2474static FORCEINLINE HRESULT IVMRMonitorConfig9_GetDefaultMonitor(IVMRMonitorConfig9* This,UINT *uDev) { 2475 return This->lpVtbl->GetDefaultMonitor(This,uDev); 2476} 2477static FORCEINLINE HRESULT IVMRMonitorConfig9_GetAvailableMonitors(IVMRMonitorConfig9* This,VMR9MonitorInfo *info,DWORD arraysize,DWORD *numdev) { 2478 return This->lpVtbl->GetAvailableMonitors(This,info,arraysize,numdev); 2479} 2480#endif 2481#endif 2482 2483#endif 2484 2485HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetMonitor_Proxy( 2486 IVMRMonitorConfig9* This, 2487 UINT uDev); 2488void __RPC_STUB IVMRMonitorConfig9_SetMonitor_Stub( 2489 IRpcStubBuffer* This, 2490 IRpcChannelBuffer* pRpcChannelBuffer, 2491 PRPC_MESSAGE pRpcMessage, 2492 DWORD* pdwStubPhase); 2493HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetMonitor_Proxy( 2494 IVMRMonitorConfig9* This, 2495 UINT *uDev); 2496void __RPC_STUB IVMRMonitorConfig9_GetMonitor_Stub( 2497 IRpcStubBuffer* This, 2498 IRpcChannelBuffer* pRpcChannelBuffer, 2499 PRPC_MESSAGE pRpcMessage, 2500 DWORD* pdwStubPhase); 2501HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetDefaultMonitor_Proxy( 2502 IVMRMonitorConfig9* This, 2503 UINT uDev); 2504void __RPC_STUB IVMRMonitorConfig9_SetDefaultMonitor_Stub( 2505 IRpcStubBuffer* This, 2506 IRpcChannelBuffer* pRpcChannelBuffer, 2507 PRPC_MESSAGE pRpcMessage, 2508 DWORD* pdwStubPhase); 2509HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetDefaultMonitor_Proxy( 2510 IVMRMonitorConfig9* This, 2511 UINT *uDev); 2512void __RPC_STUB IVMRMonitorConfig9_GetDefaultMonitor_Stub( 2513 IRpcStubBuffer* This, 2514 IRpcChannelBuffer* pRpcChannelBuffer, 2515 PRPC_MESSAGE pRpcMessage, 2516 DWORD* pdwStubPhase); 2517HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetAvailableMonitors_Proxy( 2518 IVMRMonitorConfig9* This, 2519 VMR9MonitorInfo *info, 2520 DWORD arraysize, 2521 DWORD *numdev); 2522void __RPC_STUB IVMRMonitorConfig9_GetAvailableMonitors_Stub( 2523 IRpcStubBuffer* This, 2524 IRpcChannelBuffer* pRpcChannelBuffer, 2525 PRPC_MESSAGE pRpcMessage, 2526 DWORD* pdwStubPhase); 2527 2528#endif /* __IVMRMonitorConfig9_INTERFACE_DEFINED__ */ 2529 2530typedef enum _VMR9DeinterlacePrefs { 2531 DeinterlacePref9_NextBest = 0x1, 2532 DeinterlacePref9_BOB = 0x2, 2533 DeinterlacePref9_Weave = 0x4, 2534 DeinterlacePref9_Mask = 0x7 2535} VMR9DeinterlacePrefs; 2536typedef enum _VMR9DeinterlaceTech { 2537 DeinterlaceTech9_Unknown = 0, 2538 DeinterlaceTech9_BOBLineReplicate = 0x1, 2539 DeinterlaceTech9_BOBVerticalStretch = 0x2, 2540 DeinterlaceTech9_MedianFiltering = 0x4, 2541 DeinterlaceTech9_EdgeFiltering = 0x10, 2542 DeinterlaceTech9_FieldAdaptive = 0x20, 2543 DeinterlaceTech9_PixelAdaptive = 0x40, 2544 DeinterlaceTech9_MotionVectorSteered = 0x80 2545} VMR9DeinterlaceTech; 2546typedef struct _VMR9Frequency { 2547 DWORD dwNumerator; 2548 DWORD dwDenominator; 2549} VMR9Frequency; 2550typedef enum _VMR9_SampleFormat { 2551 VMR9_SampleReserved = 1, 2552 VMR9_SampleProgressiveFrame = 2, 2553 VMR9_SampleFieldInterleavedEvenFirst = 3, 2554 VMR9_SampleFieldInterleavedOddFirst = 4, 2555 VMR9_SampleFieldSingleEven = 5, 2556 VMR9_SampleFieldSingleOdd = 6 2557} VMR9_SampleFormat; 2558typedef struct _VMR9VideoDesc { 2559 DWORD dwSize; 2560 DWORD dwSampleWidth; 2561 DWORD dwSampleHeight; 2562 VMR9_SampleFormat SampleFormat; 2563 DWORD dwFourCC; 2564 VMR9Frequency InputSampleFreq; 2565 VMR9Frequency OutputFrameFreq; 2566} VMR9VideoDesc; 2567typedef struct _VMR9DeinterlaceCaps { 2568 DWORD dwSize; 2569 DWORD dwNumPreviousOutputFrames; 2570 DWORD dwNumForwardRefSamples; 2571 DWORD dwNumBackwardRefSamples; 2572 VMR9DeinterlaceTech DeinterlaceTechnology; 2573} VMR9DeinterlaceCaps; 2574/***************************************************************************** 2575 * IVMRDeinterlaceControl9 interface 2576 */ 2577#ifndef __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ 2578#define __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ 2579 2580DEFINE_GUID(IID_IVMRDeinterlaceControl9, 0xa215fb8d, 0x13c2, 0x4f7f, 0x99,0x3c, 0x00,0x3d,0x62,0x71,0xa4,0x59); 2581#if defined(__cplusplus) && !defined(CINTERFACE) 2582MIDL_INTERFACE("a215fb8d-13c2-4f7f-993c-003d6271a459") 2583IVMRDeinterlaceControl9 : public IUnknown 2584{ 2585 virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes( 2586 VMR9VideoDesc *desc, 2587 DWORD *nummodes, 2588 GUID *modes) = 0; 2589 2590 virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps( 2591 GUID *mode, 2592 VMR9VideoDesc *desc, 2593 VMR9DeinterlaceCaps *caps) = 0; 2594 2595 virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode( 2596 DWORD streamid, 2597 GUID *mode) = 0; 2598 2599 virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode( 2600 DWORD streamid, 2601 GUID *mode) = 0; 2602 2603 virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs( 2604 DWORD *prefs) = 0; 2605 2606 virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs( 2607 DWORD prefs) = 0; 2608 2609 virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode( 2610 DWORD streamid, 2611 GUID *mode) = 0; 2612 2613}; 2614#ifdef __CRT_UUID_DECL 2615__CRT_UUID_DECL(IVMRDeinterlaceControl9, 0xa215fb8d, 0x13c2, 0x4f7f, 0x99,0x3c, 0x00,0x3d,0x62,0x71,0xa4,0x59) 2616#endif 2617#else 2618typedef struct IVMRDeinterlaceControl9Vtbl { 2619 BEGIN_INTERFACE 2620 2621 /*** IUnknown methods ***/ 2622 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2623 IVMRDeinterlaceControl9* This, 2624 REFIID riid, 2625 void **ppvObject); 2626 2627 ULONG (STDMETHODCALLTYPE *AddRef)( 2628 IVMRDeinterlaceControl9* This); 2629 2630 ULONG (STDMETHODCALLTYPE *Release)( 2631 IVMRDeinterlaceControl9* This); 2632 2633 /*** IVMRDeinterlaceControl9 methods ***/ 2634 HRESULT (STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes)( 2635 IVMRDeinterlaceControl9* This, 2636 VMR9VideoDesc *desc, 2637 DWORD *nummodes, 2638 GUID *modes); 2639 2640 HRESULT (STDMETHODCALLTYPE *GetDeinterlaceModeCaps)( 2641 IVMRDeinterlaceControl9* This, 2642 GUID *mode, 2643 VMR9VideoDesc *desc, 2644 VMR9DeinterlaceCaps *caps); 2645 2646 HRESULT (STDMETHODCALLTYPE *GetDeinterlaceMode)( 2647 IVMRDeinterlaceControl9* This, 2648 DWORD streamid, 2649 GUID *mode); 2650 2651 HRESULT (STDMETHODCALLTYPE *SetDeinterlaceMode)( 2652 IVMRDeinterlaceControl9* This, 2653 DWORD streamid, 2654 GUID *mode); 2655 2656 HRESULT (STDMETHODCALLTYPE *GetDeinterlacePrefs)( 2657 IVMRDeinterlaceControl9* This, 2658 DWORD *prefs); 2659 2660 HRESULT (STDMETHODCALLTYPE *SetDeinterlacePrefs)( 2661 IVMRDeinterlaceControl9* This, 2662 DWORD prefs); 2663 2664 HRESULT (STDMETHODCALLTYPE *GetActualDeinterlaceMode)( 2665 IVMRDeinterlaceControl9* This, 2666 DWORD streamid, 2667 GUID *mode); 2668 2669 END_INTERFACE 2670} IVMRDeinterlaceControl9Vtbl; 2671interface IVMRDeinterlaceControl9 { 2672 CONST_VTBL IVMRDeinterlaceControl9Vtbl* lpVtbl; 2673}; 2674 2675#ifdef COBJMACROS 2676#ifndef WIDL_C_INLINE_WRAPPERS 2677/*** IUnknown methods ***/ 2678#define IVMRDeinterlaceControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2679#define IVMRDeinterlaceControl9_AddRef(This) (This)->lpVtbl->AddRef(This) 2680#define IVMRDeinterlaceControl9_Release(This) (This)->lpVtbl->Release(This) 2681/*** IVMRDeinterlaceControl9 methods ***/ 2682#define IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(This,desc,nummodes,modes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,desc,nummodes,modes) 2683#define IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(This,mode,desc,caps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,mode,desc,caps) 2684#define IVMRDeinterlaceControl9_GetDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->GetDeinterlaceMode(This,streamid,mode) 2685#define IVMRDeinterlaceControl9_SetDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->SetDeinterlaceMode(This,streamid,mode) 2686#define IVMRDeinterlaceControl9_GetDeinterlacePrefs(This,prefs) (This)->lpVtbl->GetDeinterlacePrefs(This,prefs) 2687#define IVMRDeinterlaceControl9_SetDeinterlacePrefs(This,prefs) (This)->lpVtbl->SetDeinterlacePrefs(This,prefs) 2688#define IVMRDeinterlaceControl9_GetActualDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->GetActualDeinterlaceMode(This,streamid,mode) 2689#else 2690/*** IUnknown methods ***/ 2691static FORCEINLINE HRESULT IVMRDeinterlaceControl9_QueryInterface(IVMRDeinterlaceControl9* This,REFIID riid,void **ppvObject) { 2692 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2693} 2694static FORCEINLINE ULONG IVMRDeinterlaceControl9_AddRef(IVMRDeinterlaceControl9* This) { 2695 return This->lpVtbl->AddRef(This); 2696} 2697static FORCEINLINE ULONG IVMRDeinterlaceControl9_Release(IVMRDeinterlaceControl9* This) { 2698 return This->lpVtbl->Release(This); 2699} 2700/*** IVMRDeinterlaceControl9 methods ***/ 2701static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(IVMRDeinterlaceControl9* This,VMR9VideoDesc *desc,DWORD *nummodes,GUID *modes) { 2702 return This->lpVtbl->GetNumberOfDeinterlaceModes(This,desc,nummodes,modes); 2703} 2704static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(IVMRDeinterlaceControl9* This,GUID *mode,VMR9VideoDesc *desc,VMR9DeinterlaceCaps *caps) { 2705 return This->lpVtbl->GetDeinterlaceModeCaps(This,mode,desc,caps); 2706} 2707static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetDeinterlaceMode(IVMRDeinterlaceControl9* This,DWORD streamid,GUID *mode) { 2708 return This->lpVtbl->GetDeinterlaceMode(This,streamid,mode); 2709} 2710static FORCEINLINE HRESULT IVMRDeinterlaceControl9_SetDeinterlaceMode(IVMRDeinterlaceControl9* This,DWORD streamid,GUID *mode) { 2711 return This->lpVtbl->SetDeinterlaceMode(This,streamid,mode); 2712} 2713static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetDeinterlacePrefs(IVMRDeinterlaceControl9* This,DWORD *prefs) { 2714 return This->lpVtbl->GetDeinterlacePrefs(This,prefs); 2715} 2716static FORCEINLINE HRESULT IVMRDeinterlaceControl9_SetDeinterlacePrefs(IVMRDeinterlaceControl9* This,DWORD prefs) { 2717 return This->lpVtbl->SetDeinterlacePrefs(This,prefs); 2718} 2719static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetActualDeinterlaceMode(IVMRDeinterlaceControl9* This,DWORD streamid,GUID *mode) { 2720 return This->lpVtbl->GetActualDeinterlaceMode(This,streamid,mode); 2721} 2722#endif 2723#endif 2724 2725#endif 2726 2727HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Proxy( 2728 IVMRDeinterlaceControl9* This, 2729 VMR9VideoDesc *desc, 2730 DWORD *nummodes, 2731 GUID *modes); 2732void __RPC_STUB IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Stub( 2733 IRpcStubBuffer* This, 2734 IRpcChannelBuffer* pRpcChannelBuffer, 2735 PRPC_MESSAGE pRpcMessage, 2736 DWORD* pdwStubPhase); 2737HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Proxy( 2738 IVMRDeinterlaceControl9* This, 2739 GUID *mode, 2740 VMR9VideoDesc *desc, 2741 VMR9DeinterlaceCaps *caps); 2742void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Stub( 2743 IRpcStubBuffer* This, 2744 IRpcChannelBuffer* pRpcChannelBuffer, 2745 PRPC_MESSAGE pRpcMessage, 2746 DWORD* pdwStubPhase); 2747HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceMode_Proxy( 2748 IVMRDeinterlaceControl9* This, 2749 DWORD streamid, 2750 GUID *mode); 2751void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceMode_Stub( 2752 IRpcStubBuffer* This, 2753 IRpcChannelBuffer* pRpcChannelBuffer, 2754 PRPC_MESSAGE pRpcMessage, 2755 DWORD* pdwStubPhase); 2756HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlaceMode_Proxy( 2757 IVMRDeinterlaceControl9* This, 2758 DWORD streamid, 2759 GUID *mode); 2760void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlaceMode_Stub( 2761 IRpcStubBuffer* This, 2762 IRpcChannelBuffer* pRpcChannelBuffer, 2763 PRPC_MESSAGE pRpcMessage, 2764 DWORD* pdwStubPhase); 2765HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlacePrefs_Proxy( 2766 IVMRDeinterlaceControl9* This, 2767 DWORD *prefs); 2768void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlacePrefs_Stub( 2769 IRpcStubBuffer* This, 2770 IRpcChannelBuffer* pRpcChannelBuffer, 2771 PRPC_MESSAGE pRpcMessage, 2772 DWORD* pdwStubPhase); 2773HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlacePrefs_Proxy( 2774 IVMRDeinterlaceControl9* This, 2775 DWORD prefs); 2776void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlacePrefs_Stub( 2777 IRpcStubBuffer* This, 2778 IRpcChannelBuffer* pRpcChannelBuffer, 2779 PRPC_MESSAGE pRpcMessage, 2780 DWORD* pdwStubPhase); 2781HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Proxy( 2782 IVMRDeinterlaceControl9* This, 2783 DWORD streamid, 2784 GUID *mode); 2785void __RPC_STUB IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Stub( 2786 IRpcStubBuffer* This, 2787 IRpcChannelBuffer* pRpcChannelBuffer, 2788 PRPC_MESSAGE pRpcMessage, 2789 DWORD* pdwStubPhase); 2790 2791#endif /* __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ */ 2792 2793typedef struct _VMR9VideoStreamInfo { 2794 IDirect3DSurface9 *pddsVideoSurface; 2795 DWORD dwWidth; 2796 DWORD dwHeight; 2797 DWORD dwStrmID; 2798 FLOAT fAlpha; 2799 VMR9NormalizedRect rNormal; 2800 REFERENCE_TIME rtStart; 2801 REFERENCE_TIME rtEnd; 2802 VMR9_SampleFormat SampleFormat; 2803} VMR9VideoStreamInfo; 2804/***************************************************************************** 2805 * IVMRImageCompositor9 interface 2806 */ 2807#ifndef __IVMRImageCompositor9_INTERFACE_DEFINED__ 2808#define __IVMRImageCompositor9_INTERFACE_DEFINED__ 2809 2810DEFINE_GUID(IID_IVMRImageCompositor9, 0x4a5c89eb, 0xdf51, 0x4654, 0xac,0x2a, 0xe4,0x8e,0x02,0xbb,0xab,0xf6); 2811#if defined(__cplusplus) && !defined(CINTERFACE) 2812MIDL_INTERFACE("4a5c89eb-df51-4654-ac2a-e48e02bbabf6") 2813IVMRImageCompositor9 : public IUnknown 2814{ 2815 virtual HRESULT STDMETHODCALLTYPE InitCompositionDevice( 2816 IUnknown *d3ddev) = 0; 2817 2818 virtual HRESULT STDMETHODCALLTYPE TermCompositionDevice( 2819 IUnknown *d3ddev) = 0; 2820 2821 virtual HRESULT STDMETHODCALLTYPE CompositeImage( 2822 IUnknown *d3ddev, 2823 IDirect3DSurface9 *d3dtarget, 2824 AM_MEDIA_TYPE *mttarget, 2825 REFERENCE_TIME start, 2826 REFERENCE_TIME stop, 2827 D3DCOLOR back, 2828 VMR9VideoStreamInfo *info, 2829 UINT streams) = 0; 2830 2831}; 2832#ifdef __CRT_UUID_DECL 2833__CRT_UUID_DECL(IVMRImageCompositor9, 0x4a5c89eb, 0xdf51, 0x4654, 0xac,0x2a, 0xe4,0x8e,0x02,0xbb,0xab,0xf6) 2834#endif 2835#else 2836typedef struct IVMRImageCompositor9Vtbl { 2837 BEGIN_INTERFACE 2838 2839 /*** IUnknown methods ***/ 2840 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2841 IVMRImageCompositor9* This, 2842 REFIID riid, 2843 void **ppvObject); 2844 2845 ULONG (STDMETHODCALLTYPE *AddRef)( 2846 IVMRImageCompositor9* This); 2847 2848 ULONG (STDMETHODCALLTYPE *Release)( 2849 IVMRImageCompositor9* This); 2850 2851 /*** IVMRImageCompositor9 methods ***/ 2852 HRESULT (STDMETHODCALLTYPE *InitCompositionDevice)( 2853 IVMRImageCompositor9* This, 2854 IUnknown *d3ddev); 2855 2856 HRESULT (STDMETHODCALLTYPE *TermCompositionDevice)( 2857 IVMRImageCompositor9* This, 2858 IUnknown *d3ddev); 2859 2860 HRESULT (STDMETHODCALLTYPE *CompositeImage)( 2861 IVMRImageCompositor9* This, 2862 IUnknown *d3ddev, 2863 IDirect3DSurface9 *d3dtarget, 2864 AM_MEDIA_TYPE *mttarget, 2865 REFERENCE_TIME start, 2866 REFERENCE_TIME stop, 2867 D3DCOLOR back, 2868 VMR9VideoStreamInfo *info, 2869 UINT streams); 2870 2871 END_INTERFACE 2872} IVMRImageCompositor9Vtbl; 2873interface IVMRImageCompositor9 { 2874 CONST_VTBL IVMRImageCompositor9Vtbl* lpVtbl; 2875}; 2876 2877#ifdef COBJMACROS 2878#ifndef WIDL_C_INLINE_WRAPPERS 2879/*** IUnknown methods ***/ 2880#define IVMRImageCompositor9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2881#define IVMRImageCompositor9_AddRef(This) (This)->lpVtbl->AddRef(This) 2882#define IVMRImageCompositor9_Release(This) (This)->lpVtbl->Release(This) 2883/*** IVMRImageCompositor9 methods ***/ 2884#define IVMRImageCompositor9_InitCompositionDevice(This,d3ddev) (This)->lpVtbl->InitCompositionDevice(This,d3ddev) 2885#define IVMRImageCompositor9_TermCompositionDevice(This,d3ddev) (This)->lpVtbl->TermCompositionDevice(This,d3ddev) 2886#define IVMRImageCompositor9_CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams) (This)->lpVtbl->CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams) 2887#else 2888/*** IUnknown methods ***/ 2889static FORCEINLINE HRESULT IVMRImageCompositor9_QueryInterface(IVMRImageCompositor9* This,REFIID riid,void **ppvObject) { 2890 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2891} 2892static FORCEINLINE ULONG IVMRImageCompositor9_AddRef(IVMRImageCompositor9* This) { 2893 return This->lpVtbl->AddRef(This); 2894} 2895static FORCEINLINE ULONG IVMRImageCompositor9_Release(IVMRImageCompositor9* This) { 2896 return This->lpVtbl->Release(This); 2897} 2898/*** IVMRImageCompositor9 methods ***/ 2899static FORCEINLINE HRESULT IVMRImageCompositor9_InitCompositionDevice(IVMRImageCompositor9* This,IUnknown *d3ddev) { 2900 return This->lpVtbl->InitCompositionDevice(This,d3ddev); 2901} 2902static FORCEINLINE HRESULT IVMRImageCompositor9_TermCompositionDevice(IVMRImageCompositor9* This,IUnknown *d3ddev) { 2903 return This->lpVtbl->TermCompositionDevice(This,d3ddev); 2904} 2905static FORCEINLINE HRESULT IVMRImageCompositor9_CompositeImage(IVMRImageCompositor9* This,IUnknown *d3ddev,IDirect3DSurface9 *d3dtarget,AM_MEDIA_TYPE *mttarget,REFERENCE_TIME start,REFERENCE_TIME stop,D3DCOLOR back,VMR9VideoStreamInfo *info,UINT streams) { 2906 return This->lpVtbl->CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams); 2907} 2908#endif 2909#endif 2910 2911#endif 2912 2913HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_InitCompositionDevice_Proxy( 2914 IVMRImageCompositor9* This, 2915 IUnknown *d3ddev); 2916void __RPC_STUB IVMRImageCompositor9_InitCompositionDevice_Stub( 2917 IRpcStubBuffer* This, 2918 IRpcChannelBuffer* pRpcChannelBuffer, 2919 PRPC_MESSAGE pRpcMessage, 2920 DWORD* pdwStubPhase); 2921HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_TermCompositionDevice_Proxy( 2922 IVMRImageCompositor9* This, 2923 IUnknown *d3ddev); 2924void __RPC_STUB IVMRImageCompositor9_TermCompositionDevice_Stub( 2925 IRpcStubBuffer* This, 2926 IRpcChannelBuffer* pRpcChannelBuffer, 2927 PRPC_MESSAGE pRpcMessage, 2928 DWORD* pdwStubPhase); 2929HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_CompositeImage_Proxy( 2930 IVMRImageCompositor9* This, 2931 IUnknown *d3ddev, 2932 IDirect3DSurface9 *d3dtarget, 2933 AM_MEDIA_TYPE *mttarget, 2934 REFERENCE_TIME start, 2935 REFERENCE_TIME stop, 2936 D3DCOLOR back, 2937 VMR9VideoStreamInfo *info, 2938 UINT streams); 2939void __RPC_STUB IVMRImageCompositor9_CompositeImage_Stub( 2940 IRpcStubBuffer* This, 2941 IRpcChannelBuffer* pRpcChannelBuffer, 2942 PRPC_MESSAGE pRpcMessage, 2943 DWORD* pdwStubPhase); 2944 2945#endif /* __IVMRImageCompositor9_INTERFACE_DEFINED__ */ 2946 2947/* Begin additional prototypes for all interfaces */ 2948 2949 2950/* End additional prototypes */ 2951 2952#ifdef __cplusplus 2953} 2954#endif 2955 2956#endif /* __vmr9_h__ */ 2957