1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-joshualang/src/mingw-w64-svn-r5861/mingw-w64-headers/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__ 22 typedef interface IVMRImagePresenter9 IVMRImagePresenter9; 23 #endif 24 25 #ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ 26 #define __IVMRSurfaceAllocator9_FWD_DEFINED__ 27 typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; 28 #endif 29 30 #ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ 31 #define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ 32 typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9; 33 #endif 34 35 #ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ 36 #define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ 37 typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; 38 #endif 39 40 #ifndef __IVMRWindowlessControl9_FWD_DEFINED__ 41 #define __IVMRWindowlessControl9_FWD_DEFINED__ 42 typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; 43 #endif 44 45 #ifndef __IVMRMixerControl9_FWD_DEFINED__ 46 #define __IVMRMixerControl9_FWD_DEFINED__ 47 typedef interface IVMRMixerControl9 IVMRMixerControl9; 48 #endif 49 50 #ifndef __IVMRMixerBitmap9_FWD_DEFINED__ 51 #define __IVMRMixerBitmap9_FWD_DEFINED__ 52 typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; 53 #endif 54 55 #ifndef __IVMRSurface9_FWD_DEFINED__ 56 #define __IVMRSurface9_FWD_DEFINED__ 57 typedef interface IVMRSurface9 IVMRSurface9; 58 #endif 59 60 #ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ 61 #define __IVMRImagePresenterConfig9_FWD_DEFINED__ 62 typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; 63 #endif 64 65 #ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ 66 #define __IVMRVideoStreamControl9_FWD_DEFINED__ 67 typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; 68 #endif 69 70 #ifndef __IVMRFilterConfig9_FWD_DEFINED__ 71 #define __IVMRFilterConfig9_FWD_DEFINED__ 72 typedef interface IVMRFilterConfig9 IVMRFilterConfig9; 73 #endif 74 75 #ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ 76 #define __IVMRAspectRatioControl9_FWD_DEFINED__ 77 typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; 78 #endif 79 80 #ifndef __IVMRMonitorConfig9_FWD_DEFINED__ 81 #define __IVMRMonitorConfig9_FWD_DEFINED__ 82 typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; 83 #endif 84 85 #ifndef __IVMRDeinterlaceControl9_FWD_DEFINED__ 86 #define __IVMRDeinterlaceControl9_FWD_DEFINED__ 87 typedef interface IVMRDeinterlaceControl9 IVMRDeinterlaceControl9; 88 #endif 89 90 #ifndef __IVMRImageCompositor9_FWD_DEFINED__ 91 #define __IVMRImageCompositor9_FWD_DEFINED__ 92 typedef interface IVMRImageCompositor9 IVMRImageCompositor9; 93 #endif 94 95 /* Headers for imported files */ 96 97 #include <unknwn.h> 98 99 #ifdef __cplusplus 100 extern "C" { 101 #endif 102 103 #if 0 104 #ifndef __IDirect3DSurface9_FWD_DEFINED__ 105 #define __IDirect3DSurface9_FWD_DEFINED__ 106 typedef interface IDirect3DSurface9 IDirect3DSurface9; 107 #endif 108 109 #ifndef __IDirect3DDevice9_FWD_DEFINED__ 110 #define __IDirect3DDevice9_FWD_DEFINED__ 111 typedef interface IDirect3DDevice9 IDirect3DDevice9; 112 #endif 113 114 typedef LONGLONG REFERENCE_TIME; 115 typedef DWORD D3DFORMAT; 116 typedef DWORD D3DPOOL; 117 typedef HANDLE HMONITOR; 118 typedef struct __WIDL_vmr9_generated_name_00000000 { 119 char dummy; 120 } AM_MEDIA_TYPE; 121 typedef struct __WIDL_vmr9_generated_name_00000001 { 122 char dummy; 123 } D3DCOLOR; 124 #endif 125 #ifndef __IVMRSurface9_FWD_DEFINED__ 126 #define __IVMRSurface9_FWD_DEFINED__ 127 typedef interface IVMRSurface9 IVMRSurface9; 128 #endif 129 130 #ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ 131 #define __IVMRSurfaceAllocator9_FWD_DEFINED__ 132 typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; 133 #endif 134 135 #ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ 136 #define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ 137 typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9; 138 #endif 139 140 #ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ 141 #define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ 142 typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; 143 #endif 144 145 #ifndef __IVMRImagePresenter9_FWD_DEFINED__ 146 #define __IVMRImagePresenter9_FWD_DEFINED__ 147 typedef interface IVMRImagePresenter9 IVMRImagePresenter9; 148 #endif 149 150 #ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ 151 #define __IVMRImagePresenterConfig9_FWD_DEFINED__ 152 typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; 153 #endif 154 155 #ifndef __IVMRMonitorConfig9_FWD_DEFINED__ 156 #define __IVMRMonitorConfig9_FWD_DEFINED__ 157 typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; 158 #endif 159 160 #ifndef __IVMRWindowlessControl9_FWD_DEFINED__ 161 #define __IVMRWindowlessControl9_FWD_DEFINED__ 162 typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; 163 #endif 164 165 #ifndef __IVMRMixerControl9_FWD_DEFINED__ 166 #define __IVMRMixerControl9_FWD_DEFINED__ 167 typedef interface IVMRMixerControl9 IVMRMixerControl9; 168 #endif 169 170 #ifndef __IVMRImageCompositor9_FWD_DEFINED__ 171 #define __IVMRImageCompositor9_FWD_DEFINED__ 172 typedef interface IVMRImageCompositor9 IVMRImageCompositor9; 173 #endif 174 175 #ifndef __IVMRMixerBitmap9_FWD_DEFINED__ 176 #define __IVMRMixerBitmap9_FWD_DEFINED__ 177 typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; 178 #endif 179 180 #ifndef __IVMRFilterConfig9_FWD_DEFINED__ 181 #define __IVMRFilterConfig9_FWD_DEFINED__ 182 typedef interface IVMRFilterConfig9 IVMRFilterConfig9; 183 #endif 184 185 #ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ 186 #define __IVMRAspectRatioControl9_FWD_DEFINED__ 187 typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; 188 #endif 189 190 #ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ 191 #define __IVMRVideoStreamControl9_FWD_DEFINED__ 192 typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; 193 #endif 194 195 typedef enum _VMR9PresentationFlags { 196 VMR9Sample_SyncPoint = 0x1, 197 VMR9Sample_Preroll = 0x2, 198 VMR9Sample_Discontinuity = 0x4, 199 VMR9Sample_TimeValid = 0x8, 200 VMR9Sample_SrcDstRectsValid = 0x10 201 } VMR9PresentationFlags; 202 typedef 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 219 DEFINE_GUID(IID_IVMRImagePresenter9, 0x69188c61, 0x12a3, 0x40f0, 0x8f,0xfc, 0x34,0x2e,0x7b,0x43,0x3f,0xd7); 220 #if defined(__cplusplus) && !defined(CINTERFACE) 221 MIDL_INTERFACE("69188c61-12a3-40f0-8ffc-342e7b433fd7") 222 IVMRImagePresenter9 : 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 239 typedef 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; 270 interface 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 ***/ 286 static FORCEINLINE HRESULT IVMRImagePresenter9_QueryInterface(IVMRImagePresenter9* This,REFIID riid,void **ppvObject) { 287 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 288 } 289 static FORCEINLINE ULONG IVMRImagePresenter9_AddRef(IVMRImagePresenter9* This) { 290 return This->lpVtbl->AddRef(This); 291 } 292 static FORCEINLINE ULONG IVMRImagePresenter9_Release(IVMRImagePresenter9* This) { 293 return This->lpVtbl->Release(This); 294 } 295 /*** IVMRImagePresenter9 methods ***/ 296 static FORCEINLINE HRESULT IVMRImagePresenter9_StartPresenting(IVMRImagePresenter9* This,DWORD_PTR id) { 297 return This->lpVtbl->StartPresenting(This,id); 298 } 299 static FORCEINLINE HRESULT IVMRImagePresenter9_StopPresenting(IVMRImagePresenter9* This,DWORD_PTR id) { 300 return This->lpVtbl->StopPresenting(This,id); 301 } 302 static 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 310 HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StartPresenting_Proxy( 311 IVMRImagePresenter9* This, 312 DWORD_PTR id); 313 void __RPC_STUB IVMRImagePresenter9_StartPresenting_Stub( 314 IRpcStubBuffer* This, 315 IRpcChannelBuffer* pRpcChannelBuffer, 316 PRPC_MESSAGE pRpcMessage, 317 DWORD* pdwStubPhase); 318 HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StopPresenting_Proxy( 319 IVMRImagePresenter9* This, 320 DWORD_PTR id); 321 void __RPC_STUB IVMRImagePresenter9_StopPresenting_Stub( 322 IRpcStubBuffer* This, 323 IRpcChannelBuffer* pRpcChannelBuffer, 324 PRPC_MESSAGE pRpcMessage, 325 DWORD* pdwStubPhase); 326 HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_PresentImage_Proxy( 327 IVMRImagePresenter9* This, 328 DWORD_PTR id, 329 VMR9PresentationInfo *info); 330 void __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 338 typedef 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; 347 typedef 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 363 DEFINE_GUID(IID_IVMRSurfaceAllocator9, 0x8d5148ea, 0x3f5d, 0x46cf, 0x9d,0xf1, 0xd1,0xb8,0x96,0xee,0xdb,0x1f); 364 #if defined(__cplusplus) && !defined(CINTERFACE) 365 MIDL_INTERFACE("8d5148ea-3f5d-46cf-9df1-d1b896eedb1f") 366 IVMRSurfaceAllocator9 : 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 390 typedef 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; 429 interface 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 ***/ 446 static FORCEINLINE HRESULT IVMRSurfaceAllocator9_QueryInterface(IVMRSurfaceAllocator9* This,REFIID riid,void **ppvObject) { 447 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 448 } 449 static FORCEINLINE ULONG IVMRSurfaceAllocator9_AddRef(IVMRSurfaceAllocator9* This) { 450 return This->lpVtbl->AddRef(This); 451 } 452 static FORCEINLINE ULONG IVMRSurfaceAllocator9_Release(IVMRSurfaceAllocator9* This) { 453 return This->lpVtbl->Release(This); 454 } 455 /*** IVMRSurfaceAllocator9 methods ***/ 456 static FORCEINLINE HRESULT IVMRSurfaceAllocator9_InitializeDevice(IVMRSurfaceAllocator9* This,DWORD_PTR id,VMR9AllocationInfo *allocinfo,DWORD *numbuffers) { 457 return This->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers); 458 } 459 static FORCEINLINE HRESULT IVMRSurfaceAllocator9_TerminateDevice(IVMRSurfaceAllocator9* This,DWORD_PTR id) { 460 return This->lpVtbl->TerminateDevice(This,id); 461 } 462 static 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 } 465 static FORCEINLINE HRESULT IVMRSurfaceAllocator9_AdviseNotify(IVMRSurfaceAllocator9* This,IVMRSurfaceAllocatorNotify9 *allocnotify) { 466 return This->lpVtbl->AdviseNotify(This,allocnotify); 467 } 468 #endif 469 #endif 470 471 #endif 472 473 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_InitializeDevice_Proxy( 474 IVMRSurfaceAllocator9* This, 475 DWORD_PTR id, 476 VMR9AllocationInfo *allocinfo, 477 DWORD *numbuffers); 478 void __RPC_STUB IVMRSurfaceAllocator9_InitializeDevice_Stub( 479 IRpcStubBuffer* This, 480 IRpcChannelBuffer* pRpcChannelBuffer, 481 PRPC_MESSAGE pRpcMessage, 482 DWORD* pdwStubPhase); 483 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_TerminateDevice_Proxy( 484 IVMRSurfaceAllocator9* This, 485 DWORD_PTR id); 486 void __RPC_STUB IVMRSurfaceAllocator9_TerminateDevice_Stub( 487 IRpcStubBuffer* This, 488 IRpcChannelBuffer* pRpcChannelBuffer, 489 PRPC_MESSAGE pRpcMessage, 490 DWORD* pdwStubPhase); 491 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_GetSurface_Proxy( 492 IVMRSurfaceAllocator9* This, 493 DWORD_PTR id, 494 DWORD surfaceindex, 495 DWORD flags, 496 IDirect3DSurface9 **surface); 497 void __RPC_STUB IVMRSurfaceAllocator9_GetSurface_Stub( 498 IRpcStubBuffer* This, 499 IRpcChannelBuffer* pRpcChannelBuffer, 500 PRPC_MESSAGE pRpcMessage, 501 DWORD* pdwStubPhase); 502 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_AdviseNotify_Proxy( 503 IVMRSurfaceAllocator9* This, 504 IVMRSurfaceAllocatorNotify9 *allocnotify); 505 void __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 519 DEFINE_GUID(IID_IVMRSurfaceAllocatorEx9, 0x6de9a68a, 0xa928, 0x4522, 0xbf,0x57, 0x65,0x5a,0xe3,0x86,0x64,0x56); 520 #if defined(__cplusplus) && !defined(CINTERFACE) 521 MIDL_INTERFACE("6de9a68a-a928-4522-bf57-655ae3866456") 522 IVMRSurfaceAllocatorEx9 : 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 536 typedef 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; 584 interface 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 ***/ 603 static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_QueryInterface(IVMRSurfaceAllocatorEx9* This,REFIID riid,void **ppvObject) { 604 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 605 } 606 static FORCEINLINE ULONG IVMRSurfaceAllocatorEx9_AddRef(IVMRSurfaceAllocatorEx9* This) { 607 return This->lpVtbl->AddRef(This); 608 } 609 static FORCEINLINE ULONG IVMRSurfaceAllocatorEx9_Release(IVMRSurfaceAllocatorEx9* This) { 610 return This->lpVtbl->Release(This); 611 } 612 /*** IVMRSurfaceAllocator9 methods ***/ 613 static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_InitializeDevice(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id,VMR9AllocationInfo *allocinfo,DWORD *numbuffers) { 614 return This->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers); 615 } 616 static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_TerminateDevice(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id) { 617 return This->lpVtbl->TerminateDevice(This,id); 618 } 619 static 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 } 622 static FORCEINLINE HRESULT IVMRSurfaceAllocatorEx9_AdviseNotify(IVMRSurfaceAllocatorEx9* This,IVMRSurfaceAllocatorNotify9 *allocnotify) { 623 return This->lpVtbl->AdviseNotify(This,allocnotify); 624 } 625 /*** IVMRSurfaceAllocatorEx9 methods ***/ 626 static 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 634 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorEx9_GetSurfaceEx_Proxy( 635 IVMRSurfaceAllocatorEx9* This, 636 DWORD_PTR id, 637 DWORD surfaceindex, 638 DWORD flags, 639 IDirect3DSurface9 **surface, 640 RECT *dest); 641 void __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 655 DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify9, 0xdca3f5df, 0xbb3a, 0x4d03, 0xbd,0x81, 0x84,0x61,0x4b,0xfb,0xfa,0x0c); 656 #if defined(__cplusplus) && !defined(CINTERFACE) 657 MIDL_INTERFACE("dca3f5df-bb3a-4d03-bd81-84614bfbfa0c") 658 IVMRSurfaceAllocatorNotify9 : 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 687 typedef 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; 732 interface 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 ***/ 750 static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_QueryInterface(IVMRSurfaceAllocatorNotify9* This,REFIID riid,void **ppvObject) { 751 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 752 } 753 static FORCEINLINE ULONG IVMRSurfaceAllocatorNotify9_AddRef(IVMRSurfaceAllocatorNotify9* This) { 754 return This->lpVtbl->AddRef(This); 755 } 756 static FORCEINLINE ULONG IVMRSurfaceAllocatorNotify9_Release(IVMRSurfaceAllocatorNotify9* This) { 757 return This->lpVtbl->Release(This); 758 } 759 /*** IVMRSurfaceAllocatorNotify9 methods ***/ 760 static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(IVMRSurfaceAllocatorNotify9* This,DWORD_PTR id,IVMRSurfaceAllocator9 *alloc) { 761 return This->lpVtbl->AdviseSurfaceAllocator(This,id,alloc); 762 } 763 static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_SetD3DDevice(IVMRSurfaceAllocatorNotify9* This,IDirect3DDevice9 *device,HMONITOR monitor) { 764 return This->lpVtbl->SetD3DDevice(This,device,monitor); 765 } 766 static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(IVMRSurfaceAllocatorNotify9* This,IDirect3DDevice9 *device,HMONITOR monitor) { 767 return This->lpVtbl->ChangeD3DDevice(This,device,monitor); 768 } 769 static FORCEINLINE HRESULT IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(IVMRSurfaceAllocatorNotify9* This,VMR9AllocationInfo *allocinfo,DWORD *numbuffers,IDirect3DSurface9 **surface) { 770 return This->lpVtbl->AllocateSurfaceHelper(This,allocinfo,numbuffers,surface); 771 } 772 static 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 780 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Proxy( 781 IVMRSurfaceAllocatorNotify9* This, 782 DWORD_PTR id, 783 IVMRSurfaceAllocator9 *alloc); 784 void __RPC_STUB IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Stub( 785 IRpcStubBuffer* This, 786 IRpcChannelBuffer* pRpcChannelBuffer, 787 PRPC_MESSAGE pRpcMessage, 788 DWORD* pdwStubPhase); 789 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_SetD3DDevice_Proxy( 790 IVMRSurfaceAllocatorNotify9* This, 791 IDirect3DDevice9 *device, 792 HMONITOR monitor); 793 void __RPC_STUB IVMRSurfaceAllocatorNotify9_SetD3DDevice_Stub( 794 IRpcStubBuffer* This, 795 IRpcChannelBuffer* pRpcChannelBuffer, 796 PRPC_MESSAGE pRpcMessage, 797 DWORD* pdwStubPhase); 798 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Proxy( 799 IVMRSurfaceAllocatorNotify9* This, 800 IDirect3DDevice9 *device, 801 HMONITOR monitor); 802 void __RPC_STUB IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Stub( 803 IRpcStubBuffer* This, 804 IRpcChannelBuffer* pRpcChannelBuffer, 805 PRPC_MESSAGE pRpcMessage, 806 DWORD* pdwStubPhase); 807 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Proxy( 808 IVMRSurfaceAllocatorNotify9* This, 809 VMR9AllocationInfo *allocinfo, 810 DWORD *numbuffers, 811 IDirect3DSurface9 **surface); 812 void __RPC_STUB IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Stub( 813 IRpcStubBuffer* This, 814 IRpcChannelBuffer* pRpcChannelBuffer, 815 PRPC_MESSAGE pRpcMessage, 816 DWORD* pdwStubPhase); 817 HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_NotifyEvent_Proxy( 818 IVMRSurfaceAllocatorNotify9* This, 819 LONG code, 820 LONG_PTR param1, 821 LONG_PTR param2); 822 void __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 830 typedef 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 840 DEFINE_GUID(IID_IVMRWindowlessControl9, 0x8f537d09, 0xf85e, 0x4414, 0xb2,0x3b, 0x50,0x2e,0x54,0xc7,0x99,0x27); 841 #if defined(__cplusplus) && !defined(CINTERFACE) 842 MIDL_INTERFACE("8f537d09-f85e-4414-b23b-502e54c79927") 843 IVMRWindowlessControl9 : 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 897 typedef 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; 974 interface 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 ***/ 1000 static FORCEINLINE HRESULT IVMRWindowlessControl9_QueryInterface(IVMRWindowlessControl9* This,REFIID riid,void **ppvObject) { 1001 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1002 } 1003 static FORCEINLINE ULONG IVMRWindowlessControl9_AddRef(IVMRWindowlessControl9* This) { 1004 return This->lpVtbl->AddRef(This); 1005 } 1006 static FORCEINLINE ULONG IVMRWindowlessControl9_Release(IVMRWindowlessControl9* This) { 1007 return This->lpVtbl->Release(This); 1008 } 1009 /*** IVMRWindowlessControl9 methods ***/ 1010 static 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 } 1013 static FORCEINLINE HRESULT IVMRWindowlessControl9_GetMinIdealVideoSize(IVMRWindowlessControl9* This,LONG *width,LONG *height) { 1014 return This->lpVtbl->GetMinIdealVideoSize(This,width,height); 1015 } 1016 static FORCEINLINE HRESULT IVMRWindowlessControl9_GetMaxIdealVideoSize(IVMRWindowlessControl9* This,LONG *width,LONG *height) { 1017 return This->lpVtbl->GetMaxIdealVideoSize(This,width,height); 1018 } 1019 static FORCEINLINE HRESULT IVMRWindowlessControl9_SetVideoPosition(IVMRWindowlessControl9* This,const RECT *source,const RECT *dest) { 1020 return This->lpVtbl->SetVideoPosition(This,source,dest); 1021 } 1022 static FORCEINLINE HRESULT IVMRWindowlessControl9_GetVideoPosition(IVMRWindowlessControl9* This,RECT *source,RECT *dest) { 1023 return This->lpVtbl->GetVideoPosition(This,source,dest); 1024 } 1025 static FORCEINLINE HRESULT IVMRWindowlessControl9_GetAspectRatioMode(IVMRWindowlessControl9* This,DWORD *mode) { 1026 return This->lpVtbl->GetAspectRatioMode(This,mode); 1027 } 1028 static FORCEINLINE HRESULT IVMRWindowlessControl9_SetAspectRatioMode(IVMRWindowlessControl9* This,DWORD mode) { 1029 return This->lpVtbl->SetAspectRatioMode(This,mode); 1030 } 1031 static FORCEINLINE HRESULT IVMRWindowlessControl9_SetVideoClippingWindow(IVMRWindowlessControl9* This,HWND hwnd) { 1032 return This->lpVtbl->SetVideoClippingWindow(This,hwnd); 1033 } 1034 static FORCEINLINE HRESULT IVMRWindowlessControl9_RepaintVideo(IVMRWindowlessControl9* This,HWND hwnd,HDC hdc) { 1035 return This->lpVtbl->RepaintVideo(This,hwnd,hdc); 1036 } 1037 static FORCEINLINE HRESULT IVMRWindowlessControl9_DisplayModeChanged(IVMRWindowlessControl9* This) { 1038 return This->lpVtbl->DisplayModeChanged(This); 1039 } 1040 static FORCEINLINE HRESULT IVMRWindowlessControl9_GetCurrentImage(IVMRWindowlessControl9* This,BYTE **dib) { 1041 return This->lpVtbl->GetCurrentImage(This,dib); 1042 } 1043 static FORCEINLINE HRESULT IVMRWindowlessControl9_SetBorderColor(IVMRWindowlessControl9* This,COLORREF color) { 1044 return This->lpVtbl->SetBorderColor(This,color); 1045 } 1046 static FORCEINLINE HRESULT IVMRWindowlessControl9_GetBorderColor(IVMRWindowlessControl9* This,COLORREF *color) { 1047 return This->lpVtbl->GetBorderColor(This,color); 1048 } 1049 #endif 1050 #endif 1051 1052 #endif 1053 1054 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetNativeVideoSize_Proxy( 1055 IVMRWindowlessControl9* This, 1056 LONG *width, 1057 LONG *height, 1058 LONG *arwidth, 1059 LONG *arheight); 1060 void __RPC_STUB IVMRWindowlessControl9_GetNativeVideoSize_Stub( 1061 IRpcStubBuffer* This, 1062 IRpcChannelBuffer* pRpcChannelBuffer, 1063 PRPC_MESSAGE pRpcMessage, 1064 DWORD* pdwStubPhase); 1065 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMinIdealVideoSize_Proxy( 1066 IVMRWindowlessControl9* This, 1067 LONG *width, 1068 LONG *height); 1069 void __RPC_STUB IVMRWindowlessControl9_GetMinIdealVideoSize_Stub( 1070 IRpcStubBuffer* This, 1071 IRpcChannelBuffer* pRpcChannelBuffer, 1072 PRPC_MESSAGE pRpcMessage, 1073 DWORD* pdwStubPhase); 1074 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMaxIdealVideoSize_Proxy( 1075 IVMRWindowlessControl9* This, 1076 LONG *width, 1077 LONG *height); 1078 void __RPC_STUB IVMRWindowlessControl9_GetMaxIdealVideoSize_Stub( 1079 IRpcStubBuffer* This, 1080 IRpcChannelBuffer* pRpcChannelBuffer, 1081 PRPC_MESSAGE pRpcMessage, 1082 DWORD* pdwStubPhase); 1083 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoPosition_Proxy( 1084 IVMRWindowlessControl9* This, 1085 const RECT *source, 1086 const RECT *dest); 1087 void __RPC_STUB IVMRWindowlessControl9_SetVideoPosition_Stub( 1088 IRpcStubBuffer* This, 1089 IRpcChannelBuffer* pRpcChannelBuffer, 1090 PRPC_MESSAGE pRpcMessage, 1091 DWORD* pdwStubPhase); 1092 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetVideoPosition_Proxy( 1093 IVMRWindowlessControl9* This, 1094 RECT *source, 1095 RECT *dest); 1096 void __RPC_STUB IVMRWindowlessControl9_GetVideoPosition_Stub( 1097 IRpcStubBuffer* This, 1098 IRpcChannelBuffer* pRpcChannelBuffer, 1099 PRPC_MESSAGE pRpcMessage, 1100 DWORD* pdwStubPhase); 1101 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetAspectRatioMode_Proxy( 1102 IVMRWindowlessControl9* This, 1103 DWORD *mode); 1104 void __RPC_STUB IVMRWindowlessControl9_GetAspectRatioMode_Stub( 1105 IRpcStubBuffer* This, 1106 IRpcChannelBuffer* pRpcChannelBuffer, 1107 PRPC_MESSAGE pRpcMessage, 1108 DWORD* pdwStubPhase); 1109 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetAspectRatioMode_Proxy( 1110 IVMRWindowlessControl9* This, 1111 DWORD mode); 1112 void __RPC_STUB IVMRWindowlessControl9_SetAspectRatioMode_Stub( 1113 IRpcStubBuffer* This, 1114 IRpcChannelBuffer* pRpcChannelBuffer, 1115 PRPC_MESSAGE pRpcMessage, 1116 DWORD* pdwStubPhase); 1117 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoClippingWindow_Proxy( 1118 IVMRWindowlessControl9* This, 1119 HWND hwnd); 1120 void __RPC_STUB IVMRWindowlessControl9_SetVideoClippingWindow_Stub( 1121 IRpcStubBuffer* This, 1122 IRpcChannelBuffer* pRpcChannelBuffer, 1123 PRPC_MESSAGE pRpcMessage, 1124 DWORD* pdwStubPhase); 1125 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_RepaintVideo_Proxy( 1126 IVMRWindowlessControl9* This, 1127 HWND hwnd, 1128 HDC hdc); 1129 void __RPC_STUB IVMRWindowlessControl9_RepaintVideo_Stub( 1130 IRpcStubBuffer* This, 1131 IRpcChannelBuffer* pRpcChannelBuffer, 1132 PRPC_MESSAGE pRpcMessage, 1133 DWORD* pdwStubPhase); 1134 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_DisplayModeChanged_Proxy( 1135 IVMRWindowlessControl9* This); 1136 void __RPC_STUB IVMRWindowlessControl9_DisplayModeChanged_Stub( 1137 IRpcStubBuffer* This, 1138 IRpcChannelBuffer* pRpcChannelBuffer, 1139 PRPC_MESSAGE pRpcMessage, 1140 DWORD* pdwStubPhase); 1141 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetCurrentImage_Proxy( 1142 IVMRWindowlessControl9* This, 1143 BYTE **dib); 1144 void __RPC_STUB IVMRWindowlessControl9_GetCurrentImage_Stub( 1145 IRpcStubBuffer* This, 1146 IRpcChannelBuffer* pRpcChannelBuffer, 1147 PRPC_MESSAGE pRpcMessage, 1148 DWORD* pdwStubPhase); 1149 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetBorderColor_Proxy( 1150 IVMRWindowlessControl9* This, 1151 COLORREF color); 1152 void __RPC_STUB IVMRWindowlessControl9_SetBorderColor_Stub( 1153 IRpcStubBuffer* This, 1154 IRpcChannelBuffer* pRpcChannelBuffer, 1155 PRPC_MESSAGE pRpcMessage, 1156 DWORD* pdwStubPhase); 1157 HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetBorderColor_Proxy( 1158 IVMRWindowlessControl9* This, 1159 COLORREF *color); 1160 void __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 1168 typedef 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; 1189 typedef struct _VMR9NormalizedRect { 1190 FLOAT left; 1191 FLOAT top; 1192 FLOAT right; 1193 FLOAT bottom; 1194 } VMR9NormalizedRect; 1195 typedef enum _VMR9ProcAmpControlFlags { 1196 ProcAmpControl9_Brightness = 0x1, 1197 ProcAmpControl9_Contrast = 0x2, 1198 ProcAmpControl9_Hue = 0x4, 1199 ProcAmpControl9_Saturation = 0x8, 1200 ProcAmpControl9_Mask = 0xf 1201 } VMR9ProcAmpControlFlags; 1202 typedef struct _VMR9ProcAmpControl { 1203 DWORD dwSize; 1204 DWORD dwFlags; 1205 FLOAT Brightness; 1206 FLOAT Contrast; 1207 FLOAT Hue; 1208 FLOAT Saturation; 1209 } VMR9ProcAmpControl; 1210 typedef 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 1224 DEFINE_GUID(IID_IVMRMixerControl9, 0x1a777eaa, 0x47c8, 0x4930, 0xb2,0xc9, 0x8f,0xee,0x1c,0x1b,0x0f,0x3b); 1225 #if defined(__cplusplus) && !defined(CINTERFACE) 1226 MIDL_INTERFACE("1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b") 1227 IVMRMixerControl9 : 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 1282 typedef 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; 1361 interface 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 ***/ 1387 static FORCEINLINE HRESULT IVMRMixerControl9_QueryInterface(IVMRMixerControl9* This,REFIID riid,void **ppvObject) { 1388 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1389 } 1390 static FORCEINLINE ULONG IVMRMixerControl9_AddRef(IVMRMixerControl9* This) { 1391 return This->lpVtbl->AddRef(This); 1392 } 1393 static FORCEINLINE ULONG IVMRMixerControl9_Release(IVMRMixerControl9* This) { 1394 return This->lpVtbl->Release(This); 1395 } 1396 /*** IVMRMixerControl9 methods ***/ 1397 static FORCEINLINE HRESULT IVMRMixerControl9_SetAlpha(IVMRMixerControl9* This,DWORD streamid,FLOAT alpha) { 1398 return This->lpVtbl->SetAlpha(This,streamid,alpha); 1399 } 1400 static FORCEINLINE HRESULT IVMRMixerControl9_GetAlpha(IVMRMixerControl9* This,DWORD streamid,FLOAT *alpha) { 1401 return This->lpVtbl->GetAlpha(This,streamid,alpha); 1402 } 1403 static FORCEINLINE HRESULT IVMRMixerControl9_SetZOrder(IVMRMixerControl9* This,DWORD streamid,DWORD zorder) { 1404 return This->lpVtbl->SetZOrder(This,streamid,zorder); 1405 } 1406 static FORCEINLINE HRESULT IVMRMixerControl9_GetZOrder(IVMRMixerControl9* This,DWORD streamid,DWORD *zorder) { 1407 return This->lpVtbl->GetZOrder(This,streamid,zorder); 1408 } 1409 static FORCEINLINE HRESULT IVMRMixerControl9_SetOutputRect(IVMRMixerControl9* This,DWORD streamid,const VMR9NormalizedRect *rect) { 1410 return This->lpVtbl->SetOutputRect(This,streamid,rect); 1411 } 1412 static FORCEINLINE HRESULT IVMRMixerControl9_GetOutputRect(IVMRMixerControl9* This,DWORD streamid,VMR9NormalizedRect *rect) { 1413 return This->lpVtbl->GetOutputRect(This,streamid,rect); 1414 } 1415 static FORCEINLINE HRESULT IVMRMixerControl9_SetBackgroundClr(IVMRMixerControl9* This,COLORREF back) { 1416 return This->lpVtbl->SetBackgroundClr(This,back); 1417 } 1418 static FORCEINLINE HRESULT IVMRMixerControl9_GetBackgroundClr(IVMRMixerControl9* This,COLORREF *back) { 1419 return This->lpVtbl->GetBackgroundClr(This,back); 1420 } 1421 static FORCEINLINE HRESULT IVMRMixerControl9_SetMixingPrefs(IVMRMixerControl9* This,DWORD mixingprefs) { 1422 return This->lpVtbl->SetMixingPrefs(This,mixingprefs); 1423 } 1424 static FORCEINLINE HRESULT IVMRMixerControl9_GetMixingPrefs(IVMRMixerControl9* This,DWORD *mixingprefs) { 1425 return This->lpVtbl->GetMixingPrefs(This,mixingprefs); 1426 } 1427 static FORCEINLINE HRESULT IVMRMixerControl9_SetProcAmpControl(IVMRMixerControl9* This,DWORD streamid,VMR9ProcAmpControl *control) { 1428 return This->lpVtbl->SetProcAmpControl(This,streamid,control); 1429 } 1430 static FORCEINLINE HRESULT IVMRMixerControl9_GetProcAmpControl(IVMRMixerControl9* This,DWORD streamid,VMR9ProcAmpControl *control) { 1431 return This->lpVtbl->GetProcAmpControl(This,streamid,control); 1432 } 1433 static 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 1441 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetAlpha_Proxy( 1442 IVMRMixerControl9* This, 1443 DWORD streamid, 1444 FLOAT alpha); 1445 void __RPC_STUB IVMRMixerControl9_SetAlpha_Stub( 1446 IRpcStubBuffer* This, 1447 IRpcChannelBuffer* pRpcChannelBuffer, 1448 PRPC_MESSAGE pRpcMessage, 1449 DWORD* pdwStubPhase); 1450 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetAlpha_Proxy( 1451 IVMRMixerControl9* This, 1452 DWORD streamid, 1453 FLOAT *alpha); 1454 void __RPC_STUB IVMRMixerControl9_GetAlpha_Stub( 1455 IRpcStubBuffer* This, 1456 IRpcChannelBuffer* pRpcChannelBuffer, 1457 PRPC_MESSAGE pRpcMessage, 1458 DWORD* pdwStubPhase); 1459 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetZOrder_Proxy( 1460 IVMRMixerControl9* This, 1461 DWORD streamid, 1462 DWORD zorder); 1463 void __RPC_STUB IVMRMixerControl9_SetZOrder_Stub( 1464 IRpcStubBuffer* This, 1465 IRpcChannelBuffer* pRpcChannelBuffer, 1466 PRPC_MESSAGE pRpcMessage, 1467 DWORD* pdwStubPhase); 1468 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetZOrder_Proxy( 1469 IVMRMixerControl9* This, 1470 DWORD streamid, 1471 DWORD *zorder); 1472 void __RPC_STUB IVMRMixerControl9_GetZOrder_Stub( 1473 IRpcStubBuffer* This, 1474 IRpcChannelBuffer* pRpcChannelBuffer, 1475 PRPC_MESSAGE pRpcMessage, 1476 DWORD* pdwStubPhase); 1477 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetOutputRect_Proxy( 1478 IVMRMixerControl9* This, 1479 DWORD streamid, 1480 const VMR9NormalizedRect *rect); 1481 void __RPC_STUB IVMRMixerControl9_SetOutputRect_Stub( 1482 IRpcStubBuffer* This, 1483 IRpcChannelBuffer* pRpcChannelBuffer, 1484 PRPC_MESSAGE pRpcMessage, 1485 DWORD* pdwStubPhase); 1486 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetOutputRect_Proxy( 1487 IVMRMixerControl9* This, 1488 DWORD streamid, 1489 VMR9NormalizedRect *rect); 1490 void __RPC_STUB IVMRMixerControl9_GetOutputRect_Stub( 1491 IRpcStubBuffer* This, 1492 IRpcChannelBuffer* pRpcChannelBuffer, 1493 PRPC_MESSAGE pRpcMessage, 1494 DWORD* pdwStubPhase); 1495 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetBackgroundClr_Proxy( 1496 IVMRMixerControl9* This, 1497 COLORREF back); 1498 void __RPC_STUB IVMRMixerControl9_SetBackgroundClr_Stub( 1499 IRpcStubBuffer* This, 1500 IRpcChannelBuffer* pRpcChannelBuffer, 1501 PRPC_MESSAGE pRpcMessage, 1502 DWORD* pdwStubPhase); 1503 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetBackgroundClr_Proxy( 1504 IVMRMixerControl9* This, 1505 COLORREF *back); 1506 void __RPC_STUB IVMRMixerControl9_GetBackgroundClr_Stub( 1507 IRpcStubBuffer* This, 1508 IRpcChannelBuffer* pRpcChannelBuffer, 1509 PRPC_MESSAGE pRpcMessage, 1510 DWORD* pdwStubPhase); 1511 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetMixingPrefs_Proxy( 1512 IVMRMixerControl9* This, 1513 DWORD mixingprefs); 1514 void __RPC_STUB IVMRMixerControl9_SetMixingPrefs_Stub( 1515 IRpcStubBuffer* This, 1516 IRpcChannelBuffer* pRpcChannelBuffer, 1517 PRPC_MESSAGE pRpcMessage, 1518 DWORD* pdwStubPhase); 1519 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetMixingPrefs_Proxy( 1520 IVMRMixerControl9* This, 1521 DWORD *mixingprefs); 1522 void __RPC_STUB IVMRMixerControl9_GetMixingPrefs_Stub( 1523 IRpcStubBuffer* This, 1524 IRpcChannelBuffer* pRpcChannelBuffer, 1525 PRPC_MESSAGE pRpcMessage, 1526 DWORD* pdwStubPhase); 1527 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetProcAmpControl_Proxy( 1528 IVMRMixerControl9* This, 1529 DWORD streamid, 1530 VMR9ProcAmpControl *control); 1531 void __RPC_STUB IVMRMixerControl9_SetProcAmpControl_Stub( 1532 IRpcStubBuffer* This, 1533 IRpcChannelBuffer* pRpcChannelBuffer, 1534 PRPC_MESSAGE pRpcMessage, 1535 DWORD* pdwStubPhase); 1536 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControl_Proxy( 1537 IVMRMixerControl9* This, 1538 DWORD streamid, 1539 VMR9ProcAmpControl *control); 1540 void __RPC_STUB IVMRMixerControl9_GetProcAmpControl_Stub( 1541 IRpcStubBuffer* This, 1542 IRpcChannelBuffer* pRpcChannelBuffer, 1543 PRPC_MESSAGE pRpcMessage, 1544 DWORD* pdwStubPhase); 1545 HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControlRange_Proxy( 1546 IVMRMixerControl9* This, 1547 DWORD streamid, 1548 VMR9ProcAmpControlRange *controlrange); 1549 void __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 1557 typedef 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; 1567 typedef 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 1581 DEFINE_GUID(IID_IVMRMixerBitmap9, 0xced175e5, 0x1935, 0x4820, 0x81,0xbd, 0xff,0x6a,0xd0,0x0c,0x91,0x08); 1582 #if defined(__cplusplus) && !defined(CINTERFACE) 1583 MIDL_INTERFACE("ced175e5-1935-4820-81bd-ff6ad00c9108") 1584 IVMRMixerBitmap9 : 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 1600 typedef 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; 1630 interface 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 ***/ 1646 static FORCEINLINE HRESULT IVMRMixerBitmap9_QueryInterface(IVMRMixerBitmap9* This,REFIID riid,void **ppvObject) { 1647 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1648 } 1649 static FORCEINLINE ULONG IVMRMixerBitmap9_AddRef(IVMRMixerBitmap9* This) { 1650 return This->lpVtbl->AddRef(This); 1651 } 1652 static FORCEINLINE ULONG IVMRMixerBitmap9_Release(IVMRMixerBitmap9* This) { 1653 return This->lpVtbl->Release(This); 1654 } 1655 /*** IVMRMixerBitmap9 methods ***/ 1656 static FORCEINLINE HRESULT IVMRMixerBitmap9_SetAlphaBitmap(IVMRMixerBitmap9* This,const VMR9AlphaBitmap *bitmap) { 1657 return This->lpVtbl->SetAlphaBitmap(This,bitmap); 1658 } 1659 static FORCEINLINE HRESULT IVMRMixerBitmap9_UpdateAlphaBitmapParameters(IVMRMixerBitmap9* This,const VMR9AlphaBitmap *bitmap) { 1660 return This->lpVtbl->UpdateAlphaBitmapParameters(This,bitmap); 1661 } 1662 static FORCEINLINE HRESULT IVMRMixerBitmap9_GetAlphaBitmapParameters(IVMRMixerBitmap9* This,VMR9AlphaBitmap *bitmap) { 1663 return This->lpVtbl->GetAlphaBitmapParameters(This,bitmap); 1664 } 1665 #endif 1666 #endif 1667 1668 #endif 1669 1670 HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_SetAlphaBitmap_Proxy( 1671 IVMRMixerBitmap9* This, 1672 const VMR9AlphaBitmap *bitmap); 1673 void __RPC_STUB IVMRMixerBitmap9_SetAlphaBitmap_Stub( 1674 IRpcStubBuffer* This, 1675 IRpcChannelBuffer* pRpcChannelBuffer, 1676 PRPC_MESSAGE pRpcMessage, 1677 DWORD* pdwStubPhase); 1678 HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Proxy( 1679 IVMRMixerBitmap9* This, 1680 const VMR9AlphaBitmap *bitmap); 1681 void __RPC_STUB IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Stub( 1682 IRpcStubBuffer* This, 1683 IRpcChannelBuffer* pRpcChannelBuffer, 1684 PRPC_MESSAGE pRpcMessage, 1685 DWORD* pdwStubPhase); 1686 HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_GetAlphaBitmapParameters_Proxy( 1687 IVMRMixerBitmap9* This, 1688 VMR9AlphaBitmap *bitmap); 1689 void __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 1703 DEFINE_GUID(IID_IVMRSurface9, 0xdfc581a1, 0x6e1f, 0x4c3a, 0x8d,0x0a, 0x5e,0x97,0x92,0xea,0x2a,0xfc); 1704 #if defined(__cplusplus) && !defined(CINTERFACE) 1705 MIDL_INTERFACE("dfc581a1-6e1f-4c3a-8d0a-5e9792ea2afc") 1706 IVMRSurface9 : 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 1725 typedef 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; 1757 interface 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 ***/ 1774 static FORCEINLINE HRESULT IVMRSurface9_QueryInterface(IVMRSurface9* This,REFIID riid,void **ppvObject) { 1775 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1776 } 1777 static FORCEINLINE ULONG IVMRSurface9_AddRef(IVMRSurface9* This) { 1778 return This->lpVtbl->AddRef(This); 1779 } 1780 static FORCEINLINE ULONG IVMRSurface9_Release(IVMRSurface9* This) { 1781 return This->lpVtbl->Release(This); 1782 } 1783 /*** IVMRSurface9 methods ***/ 1784 static FORCEINLINE HRESULT IVMRSurface9_IsSurfaceLocked(IVMRSurface9* This) { 1785 return This->lpVtbl->IsSurfaceLocked(This); 1786 } 1787 static FORCEINLINE HRESULT IVMRSurface9_LockSurface(IVMRSurface9* This,BYTE **surface) { 1788 return This->lpVtbl->LockSurface(This,surface); 1789 } 1790 static FORCEINLINE HRESULT IVMRSurface9_UnlockSurface(IVMRSurface9* This) { 1791 return This->lpVtbl->UnlockSurface(This); 1792 } 1793 static FORCEINLINE HRESULT IVMRSurface9_GetSurface(IVMRSurface9* This,IDirect3DSurface9 **surface) { 1794 return This->lpVtbl->GetSurface(This,surface); 1795 } 1796 #endif 1797 #endif 1798 1799 #endif 1800 1801 HRESULT STDMETHODCALLTYPE IVMRSurface9_IsSurfaceLocked_Proxy( 1802 IVMRSurface9* This); 1803 void __RPC_STUB IVMRSurface9_IsSurfaceLocked_Stub( 1804 IRpcStubBuffer* This, 1805 IRpcChannelBuffer* pRpcChannelBuffer, 1806 PRPC_MESSAGE pRpcMessage, 1807 DWORD* pdwStubPhase); 1808 HRESULT STDMETHODCALLTYPE IVMRSurface9_LockSurface_Proxy( 1809 IVMRSurface9* This, 1810 BYTE **surface); 1811 void __RPC_STUB IVMRSurface9_LockSurface_Stub( 1812 IRpcStubBuffer* This, 1813 IRpcChannelBuffer* pRpcChannelBuffer, 1814 PRPC_MESSAGE pRpcMessage, 1815 DWORD* pdwStubPhase); 1816 HRESULT STDMETHODCALLTYPE IVMRSurface9_UnlockSurface_Proxy( 1817 IVMRSurface9* This); 1818 void __RPC_STUB IVMRSurface9_UnlockSurface_Stub( 1819 IRpcStubBuffer* This, 1820 IRpcChannelBuffer* pRpcChannelBuffer, 1821 PRPC_MESSAGE pRpcMessage, 1822 DWORD* pdwStubPhase); 1823 HRESULT STDMETHODCALLTYPE IVMRSurface9_GetSurface_Proxy( 1824 IVMRSurface9* This, 1825 IDirect3DSurface9 **surface); 1826 void __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 1834 typedef 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 1844 DEFINE_GUID(IID_IVMRImagePresenterConfig9, 0x45c15cab, 0x6e22, 0x420a, 0x80,0x43, 0xae,0x1f,0x0a,0xc0,0x2c,0x7d); 1845 #if defined(__cplusplus) && !defined(CINTERFACE) 1846 MIDL_INTERFACE("45c15cab-6e22-420a-8043-ae1f0ac02c7d") 1847 IVMRImagePresenterConfig9 : 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 1860 typedef 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; 1886 interface 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 ***/ 1901 static FORCEINLINE HRESULT IVMRImagePresenterConfig9_QueryInterface(IVMRImagePresenterConfig9* This,REFIID riid,void **ppvObject) { 1902 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1903 } 1904 static FORCEINLINE ULONG IVMRImagePresenterConfig9_AddRef(IVMRImagePresenterConfig9* This) { 1905 return This->lpVtbl->AddRef(This); 1906 } 1907 static FORCEINLINE ULONG IVMRImagePresenterConfig9_Release(IVMRImagePresenterConfig9* This) { 1908 return This->lpVtbl->Release(This); 1909 } 1910 /*** IVMRImagePresenterConfig9 methods ***/ 1911 static FORCEINLINE HRESULT IVMRImagePresenterConfig9_SetRenderingPrefs(IVMRImagePresenterConfig9* This,DWORD renderflags) { 1912 return This->lpVtbl->SetRenderingPrefs(This,renderflags); 1913 } 1914 static FORCEINLINE HRESULT IVMRImagePresenterConfig9_GetRenderingPrefs(IVMRImagePresenterConfig9* This,DWORD *renderflags) { 1915 return This->lpVtbl->GetRenderingPrefs(This,renderflags); 1916 } 1917 #endif 1918 #endif 1919 1920 #endif 1921 1922 HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_SetRenderingPrefs_Proxy( 1923 IVMRImagePresenterConfig9* This, 1924 DWORD renderflags); 1925 void __RPC_STUB IVMRImagePresenterConfig9_SetRenderingPrefs_Stub( 1926 IRpcStubBuffer* This, 1927 IRpcChannelBuffer* pRpcChannelBuffer, 1928 PRPC_MESSAGE pRpcMessage, 1929 DWORD* pdwStubPhase); 1930 HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_GetRenderingPrefs_Proxy( 1931 IVMRImagePresenterConfig9* This, 1932 DWORD *renderflags); 1933 void __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 1947 DEFINE_GUID(IID_IVMRVideoStreamControl9, 0xd0cfe38b, 0x93e7, 0x4772, 0x89,0x57, 0x04,0x00,0xc4,0x9a,0x44,0x85); 1948 #if defined(__cplusplus) && !defined(CINTERFACE) 1949 MIDL_INTERFACE("d0cfe38b-93e7-4772-8957-0400c49a4485") 1950 IVMRVideoStreamControl9 : 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 1963 typedef 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; 1989 interface 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 ***/ 2004 static FORCEINLINE HRESULT IVMRVideoStreamControl9_QueryInterface(IVMRVideoStreamControl9* This,REFIID riid,void **ppvObject) { 2005 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2006 } 2007 static FORCEINLINE ULONG IVMRVideoStreamControl9_AddRef(IVMRVideoStreamControl9* This) { 2008 return This->lpVtbl->AddRef(This); 2009 } 2010 static FORCEINLINE ULONG IVMRVideoStreamControl9_Release(IVMRVideoStreamControl9* This) { 2011 return This->lpVtbl->Release(This); 2012 } 2013 /*** IVMRVideoStreamControl9 methods ***/ 2014 static FORCEINLINE HRESULT IVMRVideoStreamControl9_SetStreamActiveState(IVMRVideoStreamControl9* This,WINBOOL active) { 2015 return This->lpVtbl->SetStreamActiveState(This,active); 2016 } 2017 static FORCEINLINE HRESULT IVMRVideoStreamControl9_GetStreamActiveState(IVMRVideoStreamControl9* This,WINBOOL *active) { 2018 return This->lpVtbl->GetStreamActiveState(This,active); 2019 } 2020 #endif 2021 #endif 2022 2023 #endif 2024 2025 HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_SetStreamActiveState_Proxy( 2026 IVMRVideoStreamControl9* This, 2027 WINBOOL active); 2028 void __RPC_STUB IVMRVideoStreamControl9_SetStreamActiveState_Stub( 2029 IRpcStubBuffer* This, 2030 IRpcChannelBuffer* pRpcChannelBuffer, 2031 PRPC_MESSAGE pRpcMessage, 2032 DWORD* pdwStubPhase); 2033 HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_GetStreamActiveState_Proxy( 2034 IVMRVideoStreamControl9* This, 2035 WINBOOL *active); 2036 void __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 2044 typedef 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 2056 DEFINE_GUID(IID_IVMRFilterConfig9, 0x5a804648, 0x4f66, 0x4867, 0x9c,0x43, 0x4f,0x5c,0x82,0x2c,0xf1,0xb8); 2057 #if defined(__cplusplus) && !defined(CINTERFACE) 2058 MIDL_INTERFACE("5a804648-4f66-4867-9c43-4f5c822cf1b8") 2059 IVMRFilterConfig9 : 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 2087 typedef 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; 2133 interface 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 ***/ 2153 static FORCEINLINE HRESULT IVMRFilterConfig9_QueryInterface(IVMRFilterConfig9* This,REFIID riid,void **ppvObject) { 2154 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2155 } 2156 static FORCEINLINE ULONG IVMRFilterConfig9_AddRef(IVMRFilterConfig9* This) { 2157 return This->lpVtbl->AddRef(This); 2158 } 2159 static FORCEINLINE ULONG IVMRFilterConfig9_Release(IVMRFilterConfig9* This) { 2160 return This->lpVtbl->Release(This); 2161 } 2162 /*** IVMRFilterConfig9 methods ***/ 2163 static FORCEINLINE HRESULT IVMRFilterConfig9_SetImageCompositor(IVMRFilterConfig9* This,IVMRImageCompositor9 *compositor) { 2164 return This->lpVtbl->SetImageCompositor(This,compositor); 2165 } 2166 static FORCEINLINE HRESULT IVMRFilterConfig9_SetNumberOfStreams(IVMRFilterConfig9* This,DWORD max) { 2167 return This->lpVtbl->SetNumberOfStreams(This,max); 2168 } 2169 static FORCEINLINE HRESULT IVMRFilterConfig9_GetNumberOfStreams(IVMRFilterConfig9* This,DWORD *max) { 2170 return This->lpVtbl->GetNumberOfStreams(This,max); 2171 } 2172 static FORCEINLINE HRESULT IVMRFilterConfig9_SetRenderingPrefs(IVMRFilterConfig9* This,DWORD renderflags) { 2173 return This->lpVtbl->SetRenderingPrefs(This,renderflags); 2174 } 2175 static FORCEINLINE HRESULT IVMRFilterConfig9_GetRenderingPrefs(IVMRFilterConfig9* This,DWORD *renderflags) { 2176 return This->lpVtbl->GetRenderingPrefs(This,renderflags); 2177 } 2178 static FORCEINLINE HRESULT IVMRFilterConfig9_SetRenderingMode(IVMRFilterConfig9* This,DWORD mode) { 2179 return This->lpVtbl->SetRenderingMode(This,mode); 2180 } 2181 static FORCEINLINE HRESULT IVMRFilterConfig9_GetRenderingMode(IVMRFilterConfig9* This,DWORD *mode) { 2182 return This->lpVtbl->GetRenderingMode(This,mode); 2183 } 2184 #endif 2185 #endif 2186 2187 #endif 2188 2189 HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetImageCompositor_Proxy( 2190 IVMRFilterConfig9* This, 2191 IVMRImageCompositor9 *compositor); 2192 void __RPC_STUB IVMRFilterConfig9_SetImageCompositor_Stub( 2193 IRpcStubBuffer* This, 2194 IRpcChannelBuffer* pRpcChannelBuffer, 2195 PRPC_MESSAGE pRpcMessage, 2196 DWORD* pdwStubPhase); 2197 HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetNumberOfStreams_Proxy( 2198 IVMRFilterConfig9* This, 2199 DWORD max); 2200 void __RPC_STUB IVMRFilterConfig9_SetNumberOfStreams_Stub( 2201 IRpcStubBuffer* This, 2202 IRpcChannelBuffer* pRpcChannelBuffer, 2203 PRPC_MESSAGE pRpcMessage, 2204 DWORD* pdwStubPhase); 2205 HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetNumberOfStreams_Proxy( 2206 IVMRFilterConfig9* This, 2207 DWORD *max); 2208 void __RPC_STUB IVMRFilterConfig9_GetNumberOfStreams_Stub( 2209 IRpcStubBuffer* This, 2210 IRpcChannelBuffer* pRpcChannelBuffer, 2211 PRPC_MESSAGE pRpcMessage, 2212 DWORD* pdwStubPhase); 2213 HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingPrefs_Proxy( 2214 IVMRFilterConfig9* This, 2215 DWORD renderflags); 2216 void __RPC_STUB IVMRFilterConfig9_SetRenderingPrefs_Stub( 2217 IRpcStubBuffer* This, 2218 IRpcChannelBuffer* pRpcChannelBuffer, 2219 PRPC_MESSAGE pRpcMessage, 2220 DWORD* pdwStubPhase); 2221 HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingPrefs_Proxy( 2222 IVMRFilterConfig9* This, 2223 DWORD *renderflags); 2224 void __RPC_STUB IVMRFilterConfig9_GetRenderingPrefs_Stub( 2225 IRpcStubBuffer* This, 2226 IRpcChannelBuffer* pRpcChannelBuffer, 2227 PRPC_MESSAGE pRpcMessage, 2228 DWORD* pdwStubPhase); 2229 HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingMode_Proxy( 2230 IVMRFilterConfig9* This, 2231 DWORD mode); 2232 void __RPC_STUB IVMRFilterConfig9_SetRenderingMode_Stub( 2233 IRpcStubBuffer* This, 2234 IRpcChannelBuffer* pRpcChannelBuffer, 2235 PRPC_MESSAGE pRpcMessage, 2236 DWORD* pdwStubPhase); 2237 HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingMode_Proxy( 2238 IVMRFilterConfig9* This, 2239 DWORD *mode); 2240 void __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 2254 DEFINE_GUID(IID_IVMRAspectRatioControl9, 0x00d96c29, 0xbbde, 0x4efc, 0x99,0x01, 0xbb,0x50,0x36,0x39,0x21,0x46); 2255 #if defined(__cplusplus) && !defined(CINTERFACE) 2256 MIDL_INTERFACE("00d96c29-bbde-4efc-9901-bb5036392146") 2257 IVMRAspectRatioControl9 : 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 2270 typedef 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; 2296 interface 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 ***/ 2311 static FORCEINLINE HRESULT IVMRAspectRatioControl9_QueryInterface(IVMRAspectRatioControl9* This,REFIID riid,void **ppvObject) { 2312 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2313 } 2314 static FORCEINLINE ULONG IVMRAspectRatioControl9_AddRef(IVMRAspectRatioControl9* This) { 2315 return This->lpVtbl->AddRef(This); 2316 } 2317 static FORCEINLINE ULONG IVMRAspectRatioControl9_Release(IVMRAspectRatioControl9* This) { 2318 return This->lpVtbl->Release(This); 2319 } 2320 /*** IVMRAspectRatioControl9 methods ***/ 2321 static FORCEINLINE HRESULT IVMRAspectRatioControl9_GetAspectRatioMode(IVMRAspectRatioControl9* This,DWORD *mode) { 2322 return This->lpVtbl->GetAspectRatioMode(This,mode); 2323 } 2324 static FORCEINLINE HRESULT IVMRAspectRatioControl9_SetAspectRatioMode(IVMRAspectRatioControl9* This,DWORD mode) { 2325 return This->lpVtbl->SetAspectRatioMode(This,mode); 2326 } 2327 #endif 2328 #endif 2329 2330 #endif 2331 2332 HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_GetAspectRatioMode_Proxy( 2333 IVMRAspectRatioControl9* This, 2334 DWORD *mode); 2335 void __RPC_STUB IVMRAspectRatioControl9_GetAspectRatioMode_Stub( 2336 IRpcStubBuffer* This, 2337 IRpcChannelBuffer* pRpcChannelBuffer, 2338 PRPC_MESSAGE pRpcMessage, 2339 DWORD* pdwStubPhase); 2340 HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_SetAspectRatioMode_Proxy( 2341 IVMRAspectRatioControl9* This, 2342 DWORD mode); 2343 void __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 2351 typedef 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 2370 DEFINE_GUID(IID_IVMRMonitorConfig9, 0x46c2e457, 0x8ba0, 0x4eef, 0xb8,0x0b, 0x06,0x80,0xf0,0x97,0x87,0x49); 2371 #if defined(__cplusplus) && !defined(CINTERFACE) 2372 MIDL_INTERFACE("46c2e457-8ba0-4eef-b80b-0680f0978749") 2373 IVMRMonitorConfig9 : 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 2397 typedef 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; 2437 interface 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 ***/ 2455 static FORCEINLINE HRESULT IVMRMonitorConfig9_QueryInterface(IVMRMonitorConfig9* This,REFIID riid,void **ppvObject) { 2456 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2457 } 2458 static FORCEINLINE ULONG IVMRMonitorConfig9_AddRef(IVMRMonitorConfig9* This) { 2459 return This->lpVtbl->AddRef(This); 2460 } 2461 static FORCEINLINE ULONG IVMRMonitorConfig9_Release(IVMRMonitorConfig9* This) { 2462 return This->lpVtbl->Release(This); 2463 } 2464 /*** IVMRMonitorConfig9 methods ***/ 2465 static FORCEINLINE HRESULT IVMRMonitorConfig9_SetMonitor(IVMRMonitorConfig9* This,UINT uDev) { 2466 return This->lpVtbl->SetMonitor(This,uDev); 2467 } 2468 static FORCEINLINE HRESULT IVMRMonitorConfig9_GetMonitor(IVMRMonitorConfig9* This,UINT *uDev) { 2469 return This->lpVtbl->GetMonitor(This,uDev); 2470 } 2471 static FORCEINLINE HRESULT IVMRMonitorConfig9_SetDefaultMonitor(IVMRMonitorConfig9* This,UINT uDev) { 2472 return This->lpVtbl->SetDefaultMonitor(This,uDev); 2473 } 2474 static FORCEINLINE HRESULT IVMRMonitorConfig9_GetDefaultMonitor(IVMRMonitorConfig9* This,UINT *uDev) { 2475 return This->lpVtbl->GetDefaultMonitor(This,uDev); 2476 } 2477 static 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 2485 HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetMonitor_Proxy( 2486 IVMRMonitorConfig9* This, 2487 UINT uDev); 2488 void __RPC_STUB IVMRMonitorConfig9_SetMonitor_Stub( 2489 IRpcStubBuffer* This, 2490 IRpcChannelBuffer* pRpcChannelBuffer, 2491 PRPC_MESSAGE pRpcMessage, 2492 DWORD* pdwStubPhase); 2493 HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetMonitor_Proxy( 2494 IVMRMonitorConfig9* This, 2495 UINT *uDev); 2496 void __RPC_STUB IVMRMonitorConfig9_GetMonitor_Stub( 2497 IRpcStubBuffer* This, 2498 IRpcChannelBuffer* pRpcChannelBuffer, 2499 PRPC_MESSAGE pRpcMessage, 2500 DWORD* pdwStubPhase); 2501 HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetDefaultMonitor_Proxy( 2502 IVMRMonitorConfig9* This, 2503 UINT uDev); 2504 void __RPC_STUB IVMRMonitorConfig9_SetDefaultMonitor_Stub( 2505 IRpcStubBuffer* This, 2506 IRpcChannelBuffer* pRpcChannelBuffer, 2507 PRPC_MESSAGE pRpcMessage, 2508 DWORD* pdwStubPhase); 2509 HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetDefaultMonitor_Proxy( 2510 IVMRMonitorConfig9* This, 2511 UINT *uDev); 2512 void __RPC_STUB IVMRMonitorConfig9_GetDefaultMonitor_Stub( 2513 IRpcStubBuffer* This, 2514 IRpcChannelBuffer* pRpcChannelBuffer, 2515 PRPC_MESSAGE pRpcMessage, 2516 DWORD* pdwStubPhase); 2517 HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetAvailableMonitors_Proxy( 2518 IVMRMonitorConfig9* This, 2519 VMR9MonitorInfo *info, 2520 DWORD arraysize, 2521 DWORD *numdev); 2522 void __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 2530 typedef enum _VMR9DeinterlacePrefs { 2531 DeinterlacePref9_NextBest = 0x1, 2532 DeinterlacePref9_BOB = 0x2, 2533 DeinterlacePref9_Weave = 0x4, 2534 DeinterlacePref9_Mask = 0x7 2535 } VMR9DeinterlacePrefs; 2536 typedef 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; 2546 typedef struct _VMR9Frequency { 2547 DWORD dwNumerator; 2548 DWORD dwDenominator; 2549 } VMR9Frequency; 2550 typedef 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; 2558 typedef 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; 2567 typedef 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 2580 DEFINE_GUID(IID_IVMRDeinterlaceControl9, 0xa215fb8d, 0x13c2, 0x4f7f, 0x99,0x3c, 0x00,0x3d,0x62,0x71,0xa4,0x59); 2581 #if defined(__cplusplus) && !defined(CINTERFACE) 2582 MIDL_INTERFACE("a215fb8d-13c2-4f7f-993c-003d6271a459") 2583 IVMRDeinterlaceControl9 : 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 2618 typedef 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; 2671 interface 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 ***/ 2691 static FORCEINLINE HRESULT IVMRDeinterlaceControl9_QueryInterface(IVMRDeinterlaceControl9* This,REFIID riid,void **ppvObject) { 2692 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2693 } 2694 static FORCEINLINE ULONG IVMRDeinterlaceControl9_AddRef(IVMRDeinterlaceControl9* This) { 2695 return This->lpVtbl->AddRef(This); 2696 } 2697 static FORCEINLINE ULONG IVMRDeinterlaceControl9_Release(IVMRDeinterlaceControl9* This) { 2698 return This->lpVtbl->Release(This); 2699 } 2700 /*** IVMRDeinterlaceControl9 methods ***/ 2701 static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(IVMRDeinterlaceControl9* This,VMR9VideoDesc *desc,DWORD *nummodes,GUID *modes) { 2702 return This->lpVtbl->GetNumberOfDeinterlaceModes(This,desc,nummodes,modes); 2703 } 2704 static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(IVMRDeinterlaceControl9* This,GUID *mode,VMR9VideoDesc *desc,VMR9DeinterlaceCaps *caps) { 2705 return This->lpVtbl->GetDeinterlaceModeCaps(This,mode,desc,caps); 2706 } 2707 static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetDeinterlaceMode(IVMRDeinterlaceControl9* This,DWORD streamid,GUID *mode) { 2708 return This->lpVtbl->GetDeinterlaceMode(This,streamid,mode); 2709 } 2710 static FORCEINLINE HRESULT IVMRDeinterlaceControl9_SetDeinterlaceMode(IVMRDeinterlaceControl9* This,DWORD streamid,GUID *mode) { 2711 return This->lpVtbl->SetDeinterlaceMode(This,streamid,mode); 2712 } 2713 static FORCEINLINE HRESULT IVMRDeinterlaceControl9_GetDeinterlacePrefs(IVMRDeinterlaceControl9* This,DWORD *prefs) { 2714 return This->lpVtbl->GetDeinterlacePrefs(This,prefs); 2715 } 2716 static FORCEINLINE HRESULT IVMRDeinterlaceControl9_SetDeinterlacePrefs(IVMRDeinterlaceControl9* This,DWORD prefs) { 2717 return This->lpVtbl->SetDeinterlacePrefs(This,prefs); 2718 } 2719 static 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 2727 HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Proxy( 2728 IVMRDeinterlaceControl9* This, 2729 VMR9VideoDesc *desc, 2730 DWORD *nummodes, 2731 GUID *modes); 2732 void __RPC_STUB IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Stub( 2733 IRpcStubBuffer* This, 2734 IRpcChannelBuffer* pRpcChannelBuffer, 2735 PRPC_MESSAGE pRpcMessage, 2736 DWORD* pdwStubPhase); 2737 HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Proxy( 2738 IVMRDeinterlaceControl9* This, 2739 GUID *mode, 2740 VMR9VideoDesc *desc, 2741 VMR9DeinterlaceCaps *caps); 2742 void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Stub( 2743 IRpcStubBuffer* This, 2744 IRpcChannelBuffer* pRpcChannelBuffer, 2745 PRPC_MESSAGE pRpcMessage, 2746 DWORD* pdwStubPhase); 2747 HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceMode_Proxy( 2748 IVMRDeinterlaceControl9* This, 2749 DWORD streamid, 2750 GUID *mode); 2751 void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceMode_Stub( 2752 IRpcStubBuffer* This, 2753 IRpcChannelBuffer* pRpcChannelBuffer, 2754 PRPC_MESSAGE pRpcMessage, 2755 DWORD* pdwStubPhase); 2756 HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlaceMode_Proxy( 2757 IVMRDeinterlaceControl9* This, 2758 DWORD streamid, 2759 GUID *mode); 2760 void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlaceMode_Stub( 2761 IRpcStubBuffer* This, 2762 IRpcChannelBuffer* pRpcChannelBuffer, 2763 PRPC_MESSAGE pRpcMessage, 2764 DWORD* pdwStubPhase); 2765 HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlacePrefs_Proxy( 2766 IVMRDeinterlaceControl9* This, 2767 DWORD *prefs); 2768 void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlacePrefs_Stub( 2769 IRpcStubBuffer* This, 2770 IRpcChannelBuffer* pRpcChannelBuffer, 2771 PRPC_MESSAGE pRpcMessage, 2772 DWORD* pdwStubPhase); 2773 HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlacePrefs_Proxy( 2774 IVMRDeinterlaceControl9* This, 2775 DWORD prefs); 2776 void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlacePrefs_Stub( 2777 IRpcStubBuffer* This, 2778 IRpcChannelBuffer* pRpcChannelBuffer, 2779 PRPC_MESSAGE pRpcMessage, 2780 DWORD* pdwStubPhase); 2781 HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Proxy( 2782 IVMRDeinterlaceControl9* This, 2783 DWORD streamid, 2784 GUID *mode); 2785 void __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 2793 typedef 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 2810 DEFINE_GUID(IID_IVMRImageCompositor9, 0x4a5c89eb, 0xdf51, 0x4654, 0xac,0x2a, 0xe4,0x8e,0x02,0xbb,0xab,0xf6); 2811 #if defined(__cplusplus) && !defined(CINTERFACE) 2812 MIDL_INTERFACE("4a5c89eb-df51-4654-ac2a-e48e02bbabf6") 2813 IVMRImageCompositor9 : 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 2836 typedef 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; 2873 interface 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 ***/ 2889 static FORCEINLINE HRESULT IVMRImageCompositor9_QueryInterface(IVMRImageCompositor9* This,REFIID riid,void **ppvObject) { 2890 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2891 } 2892 static FORCEINLINE ULONG IVMRImageCompositor9_AddRef(IVMRImageCompositor9* This) { 2893 return This->lpVtbl->AddRef(This); 2894 } 2895 static FORCEINLINE ULONG IVMRImageCompositor9_Release(IVMRImageCompositor9* This) { 2896 return This->lpVtbl->Release(This); 2897 } 2898 /*** IVMRImageCompositor9 methods ***/ 2899 static FORCEINLINE HRESULT IVMRImageCompositor9_InitCompositionDevice(IVMRImageCompositor9* This,IUnknown *d3ddev) { 2900 return This->lpVtbl->InitCompositionDevice(This,d3ddev); 2901 } 2902 static FORCEINLINE HRESULT IVMRImageCompositor9_TermCompositionDevice(IVMRImageCompositor9* This,IUnknown *d3ddev) { 2903 return This->lpVtbl->TermCompositionDevice(This,d3ddev); 2904 } 2905 static 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 2913 HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_InitCompositionDevice_Proxy( 2914 IVMRImageCompositor9* This, 2915 IUnknown *d3ddev); 2916 void __RPC_STUB IVMRImageCompositor9_InitCompositionDevice_Stub( 2917 IRpcStubBuffer* This, 2918 IRpcChannelBuffer* pRpcChannelBuffer, 2919 PRPC_MESSAGE pRpcMessage, 2920 DWORD* pdwStubPhase); 2921 HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_TermCompositionDevice_Proxy( 2922 IVMRImageCompositor9* This, 2923 IUnknown *d3ddev); 2924 void __RPC_STUB IVMRImageCompositor9_TermCompositionDevice_Stub( 2925 IRpcStubBuffer* This, 2926 IRpcChannelBuffer* pRpcChannelBuffer, 2927 PRPC_MESSAGE pRpcMessage, 2928 DWORD* pdwStubPhase); 2929 HRESULT 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); 2939 void __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