1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/direct-x/include/dxgi.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 __dxgi_h__ 16 #define __dxgi_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IDXGIObject_FWD_DEFINED__ 21 #define __IDXGIObject_FWD_DEFINED__ 22 typedef interface IDXGIObject IDXGIObject; 23 #endif 24 25 #ifndef __IDXGIDeviceSubObject_FWD_DEFINED__ 26 #define __IDXGIDeviceSubObject_FWD_DEFINED__ 27 typedef interface IDXGIDeviceSubObject IDXGIDeviceSubObject; 28 #endif 29 30 #ifndef __IDXGIResource_FWD_DEFINED__ 31 #define __IDXGIResource_FWD_DEFINED__ 32 typedef interface IDXGIResource IDXGIResource; 33 #endif 34 35 #ifndef __IDXGIKeyedMutex_FWD_DEFINED__ 36 #define __IDXGIKeyedMutex_FWD_DEFINED__ 37 typedef interface IDXGIKeyedMutex IDXGIKeyedMutex; 38 #endif 39 40 #ifndef __IDXGISurface_FWD_DEFINED__ 41 #define __IDXGISurface_FWD_DEFINED__ 42 typedef interface IDXGISurface IDXGISurface; 43 #endif 44 45 #ifndef __IDXGIOutput_FWD_DEFINED__ 46 #define __IDXGIOutput_FWD_DEFINED__ 47 typedef interface IDXGIOutput IDXGIOutput; 48 #endif 49 50 #ifndef __IDXGIAdapter_FWD_DEFINED__ 51 #define __IDXGIAdapter_FWD_DEFINED__ 52 typedef interface IDXGIAdapter IDXGIAdapter; 53 #endif 54 55 #ifndef __IDXGISwapChain_FWD_DEFINED__ 56 #define __IDXGISwapChain_FWD_DEFINED__ 57 typedef interface IDXGISwapChain IDXGISwapChain; 58 #endif 59 60 #ifndef __IDXGIFactory_FWD_DEFINED__ 61 #define __IDXGIFactory_FWD_DEFINED__ 62 typedef interface IDXGIFactory IDXGIFactory; 63 #endif 64 65 #ifndef __IDXGIDevice_FWD_DEFINED__ 66 #define __IDXGIDevice_FWD_DEFINED__ 67 typedef interface IDXGIDevice IDXGIDevice; 68 #endif 69 70 #ifndef __IDXGIAdapter1_FWD_DEFINED__ 71 #define __IDXGIAdapter1_FWD_DEFINED__ 72 typedef interface IDXGIAdapter1 IDXGIAdapter1; 73 #endif 74 75 #ifndef __IDXGIFactory1_FWD_DEFINED__ 76 #define __IDXGIFactory1_FWD_DEFINED__ 77 typedef interface IDXGIFactory1 IDXGIFactory1; 78 #endif 79 80 /* Headers for imported files */ 81 82 #include <oaidl.h> 83 #include <ocidl.h> 84 #include <dxgitype.h> 85 86 #ifdef __cplusplus 87 extern "C" { 88 #endif 89 90 #define _FACDXGI (0x87a) 91 92 #define MAKE_DXGI_STATUS(x) MAKE_HRESULT(0, _FACDXGI, x) 93 #define DXGI_STATUS_OCCLUDED MAKE_DXGI_STATUS(1) 94 #define DXGI_STATUS_CLIPPED MAKE_DXGI_STATUS(2) 95 #define DXGI_STATUS_NO_REDIRECTION MAKE_DXGI_STATUS(4) 96 #define DXGI_STATUS_NO_DESKTOP_ACCESS MAKE_DXGI_STATUS(5) 97 #define DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE MAKE_DXGI_STATUS(6) 98 #define DXGI_STATUS_MODE_CHANGED MAKE_DXGI_STATUS(7) 99 #define DXGI_STATUS_MODE_CHANGE_IN_PROGRESS MAKE_DXGI_STATUS(8) 100 #define MAKE_DXGI_HRESULT(x) MAKE_HRESULT(1, _FACDXGI, x) 101 #define DXGI_ERROR_INVALID_CALL MAKE_DXGI_HRESULT(1) 102 #define DXGI_ERROR_NOT_FOUND MAKE_DXGI_HRESULT(2) 103 #define DXGI_ERROR_MORE_DATA MAKE_DXGI_HRESULT(3) 104 #define DXGI_ERROR_UNSUPPORTED MAKE_DXGI_HRESULT(4) 105 #define DXGI_ERROR_DEVICE_REMOVED MAKE_DXGI_HRESULT(5) 106 #define DXGI_ERROR_DEVICE_HUNG MAKE_DXGI_HRESULT(6) 107 #define DXGI_ERROR_DEVICE_RESET MAKE_DXGI_HRESULT(7) 108 #define DXGI_ERROR_WAS_STILL_DRAWING MAKE_DXGI_HRESULT(10) 109 #define DXGI_ERROR_FRAME_STATISTICS_DISJOINT MAKE_DXGI_HRESULT(11) 110 #define DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE MAKE_DXGI_HRESULT(12) 111 #define DXGI_ERROR_DRIVER_INTERNAL_ERROR MAKE_DXGI_HRESULT(32) 112 #define DXGI_ERROR_NONEXCLUSIVE MAKE_DXGI_HRESULT(33) 113 #define DXGI_ERROR_NOT_CURRENTLY_AVAILABLE MAKE_DXGI_HRESULT(34) 114 #if 0 115 typedef HANDLE HMONITOR; 116 typedef struct _LUID { 117 DWORD LowPart; 118 LONG HighPart; 119 } LUID; 120 typedef struct _LUID *PLUID; 121 #endif 122 typedef UINT DXGI_USAGE; 123 #define DXGI_USAGE_SHADER_INPUT (0x10) 124 125 #define DXGI_USAGE_RENDER_TARGET_OUTPUT (0x20) 126 127 #define DXGI_USAGE_BACK_BUFFER (0x40) 128 129 #define DXGI_USAGE_SHARED (0x80) 130 131 #define DXGI_USAGE_READ_ONLY (0x100) 132 133 #define DXGI_ENUM_MODES_INTERLACED (1) 134 135 #define DXGI_ENUM_MODES_SCALING (2) 136 137 typedef enum DXGI_SWAP_EFFECT { 138 DXGI_SWAP_EFFECT_DISCARD = 0, 139 DXGI_SWAP_EFFECT_SEQUENTIAL = 1 140 } DXGI_SWAP_EFFECT; 141 typedef enum DXGI_RESIDENCY { 142 DXGI_RESIDENCY_FULLY_RESIDENT = 1, 143 DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2, 144 DXGI_RESIDENCY_EVICTED_TO_DISK = 3 145 } DXGI_RESIDENCY; 146 typedef struct DXGI_SURFACE_DESC { 147 UINT Width; 148 UINT Height; 149 DXGI_FORMAT Format; 150 DXGI_SAMPLE_DESC SampleDesc; 151 } DXGI_SURFACE_DESC; 152 typedef struct DXGI_MAPPED_RECT { 153 INT Pitch; 154 BYTE *pBits; 155 } DXGI_MAPPED_RECT; 156 typedef struct DXGI_OUTPUT_DESC { 157 WCHAR DeviceName[32]; 158 RECT DesktopCoordinates; 159 WINBOOL AttachedToDesktop; 160 DXGI_MODE_ROTATION Rotation; 161 HMONITOR Monitor; 162 } DXGI_OUTPUT_DESC; 163 typedef struct DXGI_FRAME_STATISTICS { 164 UINT PresentCount; 165 UINT PresentRefreshCount; 166 UINT SyncRefreshCount; 167 LARGE_INTEGER SyncQPCTime; 168 LARGE_INTEGER SyncGPUTime; 169 } DXGI_FRAME_STATISTICS; 170 typedef struct DXGI_ADAPTER_DESC { 171 WCHAR Description[128]; 172 UINT VendorId; 173 UINT DeviceId; 174 UINT SubSysId; 175 UINT Revision; 176 SIZE_T DedicatedVideoMemory; 177 SIZE_T DedicatedSystemMemory; 178 SIZE_T SharedSystemMemory; 179 LUID AdapterLuid; 180 } DXGI_ADAPTER_DESC; 181 typedef enum DXGI_SWAP_CHAIN_FLAG { 182 DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1, 183 DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2, 184 DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4 185 } DXGI_SWAP_CHAIN_FLAG; 186 typedef struct DXGI_SWAP_CHAIN_DESC { 187 DXGI_MODE_DESC BufferDesc; 188 DXGI_SAMPLE_DESC SampleDesc; 189 DXGI_USAGE BufferUsage; 190 UINT BufferCount; 191 HWND OutputWindow; 192 WINBOOL Windowed; 193 DXGI_SWAP_EFFECT SwapEffect; 194 UINT Flags; 195 } DXGI_SWAP_CHAIN_DESC; 196 typedef struct DXGI_SHARED_RESOURCE { 197 HANDLE Handle; 198 } DXGI_SHARED_RESOURCE; 199 /***************************************************************************** 200 * IDXGIObject interface 201 */ 202 #ifndef __IDXGIObject_INTERFACE_DEFINED__ 203 #define __IDXGIObject_INTERFACE_DEFINED__ 204 205 DEFINE_GUID(IID_IDXGIObject, 0xaec22fb8, 0x76f3, 0x4639, 0x9b,0xe0, 0x28,0xeb,0x43,0xa6,0x7a,0x2e); 206 #if defined(__cplusplus) && !defined(CINTERFACE) 207 MIDL_INTERFACE("aec22fb8-76f3-4639-9be0-28eb43a67a2e") 208 IDXGIObject : public IUnknown 209 { 210 virtual HRESULT STDMETHODCALLTYPE SetPrivateData( 211 REFGUID guid, 212 UINT data_size, 213 const void *data) = 0; 214 215 virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface( 216 REFGUID guid, 217 const IUnknown *object) = 0; 218 219 virtual HRESULT STDMETHODCALLTYPE GetPrivateData( 220 REFGUID guid, 221 UINT *data_size, 222 void *data) = 0; 223 224 virtual HRESULT STDMETHODCALLTYPE GetParent( 225 REFIID riid, 226 void **parent) = 0; 227 228 }; 229 #ifdef __CRT_UUID_DECL 230 __CRT_UUID_DECL(IDXGIObject, 0xaec22fb8, 0x76f3, 0x4639, 0x9b,0xe0, 0x28,0xeb,0x43,0xa6,0x7a,0x2e) 231 #endif 232 #else 233 typedef struct IDXGIObjectVtbl { 234 BEGIN_INTERFACE 235 236 /*** IUnknown methods ***/ 237 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 238 IDXGIObject* This, 239 REFIID riid, 240 void **ppvObject); 241 242 ULONG (STDMETHODCALLTYPE *AddRef)( 243 IDXGIObject* This); 244 245 ULONG (STDMETHODCALLTYPE *Release)( 246 IDXGIObject* This); 247 248 /*** IDXGIObject methods ***/ 249 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 250 IDXGIObject* This, 251 REFGUID guid, 252 UINT data_size, 253 const void *data); 254 255 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 256 IDXGIObject* This, 257 REFGUID guid, 258 const IUnknown *object); 259 260 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 261 IDXGIObject* This, 262 REFGUID guid, 263 UINT *data_size, 264 void *data); 265 266 HRESULT (STDMETHODCALLTYPE *GetParent)( 267 IDXGIObject* This, 268 REFIID riid, 269 void **parent); 270 271 END_INTERFACE 272 } IDXGIObjectVtbl; 273 interface IDXGIObject { 274 CONST_VTBL IDXGIObjectVtbl* lpVtbl; 275 }; 276 277 #ifdef COBJMACROS 278 #ifndef WIDL_C_INLINE_WRAPPERS 279 /*** IUnknown methods ***/ 280 #define IDXGIObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 281 #define IDXGIObject_AddRef(This) (This)->lpVtbl->AddRef(This) 282 #define IDXGIObject_Release(This) (This)->lpVtbl->Release(This) 283 /*** IDXGIObject methods ***/ 284 #define IDXGIObject_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 285 #define IDXGIObject_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 286 #define IDXGIObject_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 287 #define IDXGIObject_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 288 #else 289 /*** IUnknown methods ***/ 290 static FORCEINLINE HRESULT IDXGIObject_QueryInterface(IDXGIObject* This,REFIID riid,void **ppvObject) { 291 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 292 } 293 static FORCEINLINE ULONG IDXGIObject_AddRef(IDXGIObject* This) { 294 return This->lpVtbl->AddRef(This); 295 } 296 static FORCEINLINE ULONG IDXGIObject_Release(IDXGIObject* This) { 297 return This->lpVtbl->Release(This); 298 } 299 /*** IDXGIObject methods ***/ 300 static FORCEINLINE HRESULT IDXGIObject_SetPrivateData(IDXGIObject* This,REFGUID guid,UINT data_size,const void *data) { 301 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 302 } 303 static FORCEINLINE HRESULT IDXGIObject_SetPrivateDataInterface(IDXGIObject* This,REFGUID guid,const IUnknown *object) { 304 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 305 } 306 static FORCEINLINE HRESULT IDXGIObject_GetPrivateData(IDXGIObject* This,REFGUID guid,UINT *data_size,void *data) { 307 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 308 } 309 static FORCEINLINE HRESULT IDXGIObject_GetParent(IDXGIObject* This,REFIID riid,void **parent) { 310 return This->lpVtbl->GetParent(This,riid,parent); 311 } 312 #endif 313 #endif 314 315 #endif 316 317 HRESULT STDMETHODCALLTYPE IDXGIObject_SetPrivateData_Proxy( 318 IDXGIObject* This, 319 REFGUID guid, 320 UINT data_size, 321 const void *data); 322 void __RPC_STUB IDXGIObject_SetPrivateData_Stub( 323 IRpcStubBuffer* This, 324 IRpcChannelBuffer* pRpcChannelBuffer, 325 PRPC_MESSAGE pRpcMessage, 326 DWORD* pdwStubPhase); 327 HRESULT STDMETHODCALLTYPE IDXGIObject_SetPrivateDataInterface_Proxy( 328 IDXGIObject* This, 329 REFGUID guid, 330 const IUnknown *object); 331 void __RPC_STUB IDXGIObject_SetPrivateDataInterface_Stub( 332 IRpcStubBuffer* This, 333 IRpcChannelBuffer* pRpcChannelBuffer, 334 PRPC_MESSAGE pRpcMessage, 335 DWORD* pdwStubPhase); 336 HRESULT STDMETHODCALLTYPE IDXGIObject_GetPrivateData_Proxy( 337 IDXGIObject* This, 338 REFGUID guid, 339 UINT *data_size, 340 void *data); 341 void __RPC_STUB IDXGIObject_GetPrivateData_Stub( 342 IRpcStubBuffer* This, 343 IRpcChannelBuffer* pRpcChannelBuffer, 344 PRPC_MESSAGE pRpcMessage, 345 DWORD* pdwStubPhase); 346 HRESULT STDMETHODCALLTYPE IDXGIObject_GetParent_Proxy( 347 IDXGIObject* This, 348 REFIID riid, 349 void **parent); 350 void __RPC_STUB IDXGIObject_GetParent_Stub( 351 IRpcStubBuffer* This, 352 IRpcChannelBuffer* pRpcChannelBuffer, 353 PRPC_MESSAGE pRpcMessage, 354 DWORD* pdwStubPhase); 355 356 #endif /* __IDXGIObject_INTERFACE_DEFINED__ */ 357 358 /***************************************************************************** 359 * IDXGIDeviceSubObject interface 360 */ 361 #ifndef __IDXGIDeviceSubObject_INTERFACE_DEFINED__ 362 #define __IDXGIDeviceSubObject_INTERFACE_DEFINED__ 363 364 DEFINE_GUID(IID_IDXGIDeviceSubObject, 0x3d3e0379, 0xf9de, 0x4d58, 0xbb,0x6c, 0x18,0xd6,0x29,0x92,0xf1,0xa6); 365 #if defined(__cplusplus) && !defined(CINTERFACE) 366 MIDL_INTERFACE("3d3e0379-f9de-4d58-bb6c-18d62992f1a6") 367 IDXGIDeviceSubObject : public IDXGIObject 368 { 369 virtual HRESULT STDMETHODCALLTYPE GetDevice( 370 REFIID riid, 371 void **device) = 0; 372 373 }; 374 #ifdef __CRT_UUID_DECL 375 __CRT_UUID_DECL(IDXGIDeviceSubObject, 0x3d3e0379, 0xf9de, 0x4d58, 0xbb,0x6c, 0x18,0xd6,0x29,0x92,0xf1,0xa6) 376 #endif 377 #else 378 typedef struct IDXGIDeviceSubObjectVtbl { 379 BEGIN_INTERFACE 380 381 /*** IUnknown methods ***/ 382 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 383 IDXGIDeviceSubObject* This, 384 REFIID riid, 385 void **ppvObject); 386 387 ULONG (STDMETHODCALLTYPE *AddRef)( 388 IDXGIDeviceSubObject* This); 389 390 ULONG (STDMETHODCALLTYPE *Release)( 391 IDXGIDeviceSubObject* This); 392 393 /*** IDXGIObject methods ***/ 394 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 395 IDXGIDeviceSubObject* This, 396 REFGUID guid, 397 UINT data_size, 398 const void *data); 399 400 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 401 IDXGIDeviceSubObject* This, 402 REFGUID guid, 403 const IUnknown *object); 404 405 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 406 IDXGIDeviceSubObject* This, 407 REFGUID guid, 408 UINT *data_size, 409 void *data); 410 411 HRESULT (STDMETHODCALLTYPE *GetParent)( 412 IDXGIDeviceSubObject* This, 413 REFIID riid, 414 void **parent); 415 416 /*** IDXGIDeviceSubObject methods ***/ 417 HRESULT (STDMETHODCALLTYPE *GetDevice)( 418 IDXGIDeviceSubObject* This, 419 REFIID riid, 420 void **device); 421 422 END_INTERFACE 423 } IDXGIDeviceSubObjectVtbl; 424 interface IDXGIDeviceSubObject { 425 CONST_VTBL IDXGIDeviceSubObjectVtbl* lpVtbl; 426 }; 427 428 #ifdef COBJMACROS 429 #ifndef WIDL_C_INLINE_WRAPPERS 430 /*** IUnknown methods ***/ 431 #define IDXGIDeviceSubObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 432 #define IDXGIDeviceSubObject_AddRef(This) (This)->lpVtbl->AddRef(This) 433 #define IDXGIDeviceSubObject_Release(This) (This)->lpVtbl->Release(This) 434 /*** IDXGIObject methods ***/ 435 #define IDXGIDeviceSubObject_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 436 #define IDXGIDeviceSubObject_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 437 #define IDXGIDeviceSubObject_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 438 #define IDXGIDeviceSubObject_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 439 /*** IDXGIDeviceSubObject methods ***/ 440 #define IDXGIDeviceSubObject_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) 441 #else 442 /*** IUnknown methods ***/ 443 static FORCEINLINE HRESULT IDXGIDeviceSubObject_QueryInterface(IDXGIDeviceSubObject* This,REFIID riid,void **ppvObject) { 444 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 445 } 446 static FORCEINLINE ULONG IDXGIDeviceSubObject_AddRef(IDXGIDeviceSubObject* This) { 447 return This->lpVtbl->AddRef(This); 448 } 449 static FORCEINLINE ULONG IDXGIDeviceSubObject_Release(IDXGIDeviceSubObject* This) { 450 return This->lpVtbl->Release(This); 451 } 452 /*** IDXGIObject methods ***/ 453 static FORCEINLINE HRESULT IDXGIDeviceSubObject_SetPrivateData(IDXGIDeviceSubObject* This,REFGUID guid,UINT data_size,const void *data) { 454 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 455 } 456 static FORCEINLINE HRESULT IDXGIDeviceSubObject_SetPrivateDataInterface(IDXGIDeviceSubObject* This,REFGUID guid,const IUnknown *object) { 457 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 458 } 459 static FORCEINLINE HRESULT IDXGIDeviceSubObject_GetPrivateData(IDXGIDeviceSubObject* This,REFGUID guid,UINT *data_size,void *data) { 460 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 461 } 462 static FORCEINLINE HRESULT IDXGIDeviceSubObject_GetParent(IDXGIDeviceSubObject* This,REFIID riid,void **parent) { 463 return This->lpVtbl->GetParent(This,riid,parent); 464 } 465 /*** IDXGIDeviceSubObject methods ***/ 466 static FORCEINLINE HRESULT IDXGIDeviceSubObject_GetDevice(IDXGIDeviceSubObject* This,REFIID riid,void **device) { 467 return This->lpVtbl->GetDevice(This,riid,device); 468 } 469 #endif 470 #endif 471 472 #endif 473 474 HRESULT STDMETHODCALLTYPE IDXGIDeviceSubObject_GetDevice_Proxy( 475 IDXGIDeviceSubObject* This, 476 REFIID riid, 477 void **device); 478 void __RPC_STUB IDXGIDeviceSubObject_GetDevice_Stub( 479 IRpcStubBuffer* This, 480 IRpcChannelBuffer* pRpcChannelBuffer, 481 PRPC_MESSAGE pRpcMessage, 482 DWORD* pdwStubPhase); 483 484 #endif /* __IDXGIDeviceSubObject_INTERFACE_DEFINED__ */ 485 486 /***************************************************************************** 487 * IDXGIResource interface 488 */ 489 #ifndef __IDXGIResource_INTERFACE_DEFINED__ 490 #define __IDXGIResource_INTERFACE_DEFINED__ 491 492 DEFINE_GUID(IID_IDXGIResource, 0x035f3ab4, 0x482e, 0x4e50, 0xb4,0x1f, 0x8a,0x7f,0x8b,0xd8,0x96,0x0b); 493 #if defined(__cplusplus) && !defined(CINTERFACE) 494 MIDL_INTERFACE("035f3ab4-482e-4e50-b41f-8a7f8bd8960b") 495 IDXGIResource : public IDXGIDeviceSubObject 496 { 497 virtual HRESULT STDMETHODCALLTYPE GetSharedHandle( 498 HANDLE *pSharedHandle) = 0; 499 500 virtual HRESULT STDMETHODCALLTYPE GetUsage( 501 DXGI_USAGE *pUsage) = 0; 502 503 virtual HRESULT STDMETHODCALLTYPE SetEvictionPriority( 504 UINT EvictionPriority) = 0; 505 506 virtual HRESULT STDMETHODCALLTYPE GetEvictionPriority( 507 UINT *pEvictionPriority) = 0; 508 509 }; 510 #ifdef __CRT_UUID_DECL 511 __CRT_UUID_DECL(IDXGIResource, 0x035f3ab4, 0x482e, 0x4e50, 0xb4,0x1f, 0x8a,0x7f,0x8b,0xd8,0x96,0x0b) 512 #endif 513 #else 514 typedef struct IDXGIResourceVtbl { 515 BEGIN_INTERFACE 516 517 /*** IUnknown methods ***/ 518 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 519 IDXGIResource* This, 520 REFIID riid, 521 void **ppvObject); 522 523 ULONG (STDMETHODCALLTYPE *AddRef)( 524 IDXGIResource* This); 525 526 ULONG (STDMETHODCALLTYPE *Release)( 527 IDXGIResource* This); 528 529 /*** IDXGIObject methods ***/ 530 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 531 IDXGIResource* This, 532 REFGUID guid, 533 UINT data_size, 534 const void *data); 535 536 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 537 IDXGIResource* This, 538 REFGUID guid, 539 const IUnknown *object); 540 541 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 542 IDXGIResource* This, 543 REFGUID guid, 544 UINT *data_size, 545 void *data); 546 547 HRESULT (STDMETHODCALLTYPE *GetParent)( 548 IDXGIResource* This, 549 REFIID riid, 550 void **parent); 551 552 /*** IDXGIDeviceSubObject methods ***/ 553 HRESULT (STDMETHODCALLTYPE *GetDevice)( 554 IDXGIResource* This, 555 REFIID riid, 556 void **device); 557 558 /*** IDXGIResource methods ***/ 559 HRESULT (STDMETHODCALLTYPE *GetSharedHandle)( 560 IDXGIResource* This, 561 HANDLE *pSharedHandle); 562 563 HRESULT (STDMETHODCALLTYPE *GetUsage)( 564 IDXGIResource* This, 565 DXGI_USAGE *pUsage); 566 567 HRESULT (STDMETHODCALLTYPE *SetEvictionPriority)( 568 IDXGIResource* This, 569 UINT EvictionPriority); 570 571 HRESULT (STDMETHODCALLTYPE *GetEvictionPriority)( 572 IDXGIResource* This, 573 UINT *pEvictionPriority); 574 575 END_INTERFACE 576 } IDXGIResourceVtbl; 577 interface IDXGIResource { 578 CONST_VTBL IDXGIResourceVtbl* lpVtbl; 579 }; 580 581 #ifdef COBJMACROS 582 #ifndef WIDL_C_INLINE_WRAPPERS 583 /*** IUnknown methods ***/ 584 #define IDXGIResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 585 #define IDXGIResource_AddRef(This) (This)->lpVtbl->AddRef(This) 586 #define IDXGIResource_Release(This) (This)->lpVtbl->Release(This) 587 /*** IDXGIObject methods ***/ 588 #define IDXGIResource_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 589 #define IDXGIResource_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 590 #define IDXGIResource_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 591 #define IDXGIResource_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 592 /*** IDXGIDeviceSubObject methods ***/ 593 #define IDXGIResource_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) 594 /*** IDXGIResource methods ***/ 595 #define IDXGIResource_GetSharedHandle(This,pSharedHandle) (This)->lpVtbl->GetSharedHandle(This,pSharedHandle) 596 #define IDXGIResource_GetUsage(This,pUsage) (This)->lpVtbl->GetUsage(This,pUsage) 597 #define IDXGIResource_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority) 598 #define IDXGIResource_GetEvictionPriority(This,pEvictionPriority) (This)->lpVtbl->GetEvictionPriority(This,pEvictionPriority) 599 #else 600 /*** IUnknown methods ***/ 601 static FORCEINLINE HRESULT IDXGIResource_QueryInterface(IDXGIResource* This,REFIID riid,void **ppvObject) { 602 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 603 } 604 static FORCEINLINE ULONG IDXGIResource_AddRef(IDXGIResource* This) { 605 return This->lpVtbl->AddRef(This); 606 } 607 static FORCEINLINE ULONG IDXGIResource_Release(IDXGIResource* This) { 608 return This->lpVtbl->Release(This); 609 } 610 /*** IDXGIObject methods ***/ 611 static FORCEINLINE HRESULT IDXGIResource_SetPrivateData(IDXGIResource* This,REFGUID guid,UINT data_size,const void *data) { 612 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 613 } 614 static FORCEINLINE HRESULT IDXGIResource_SetPrivateDataInterface(IDXGIResource* This,REFGUID guid,const IUnknown *object) { 615 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 616 } 617 static FORCEINLINE HRESULT IDXGIResource_GetPrivateData(IDXGIResource* This,REFGUID guid,UINT *data_size,void *data) { 618 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 619 } 620 static FORCEINLINE HRESULT IDXGIResource_GetParent(IDXGIResource* This,REFIID riid,void **parent) { 621 return This->lpVtbl->GetParent(This,riid,parent); 622 } 623 /*** IDXGIDeviceSubObject methods ***/ 624 static FORCEINLINE HRESULT IDXGIResource_GetDevice(IDXGIResource* This,REFIID riid,void **device) { 625 return This->lpVtbl->GetDevice(This,riid,device); 626 } 627 /*** IDXGIResource methods ***/ 628 static FORCEINLINE HRESULT IDXGIResource_GetSharedHandle(IDXGIResource* This,HANDLE *pSharedHandle) { 629 return This->lpVtbl->GetSharedHandle(This,pSharedHandle); 630 } 631 static FORCEINLINE HRESULT IDXGIResource_GetUsage(IDXGIResource* This,DXGI_USAGE *pUsage) { 632 return This->lpVtbl->GetUsage(This,pUsage); 633 } 634 static FORCEINLINE HRESULT IDXGIResource_SetEvictionPriority(IDXGIResource* This,UINT EvictionPriority) { 635 return This->lpVtbl->SetEvictionPriority(This,EvictionPriority); 636 } 637 static FORCEINLINE HRESULT IDXGIResource_GetEvictionPriority(IDXGIResource* This,UINT *pEvictionPriority) { 638 return This->lpVtbl->GetEvictionPriority(This,pEvictionPriority); 639 } 640 #endif 641 #endif 642 643 #endif 644 645 HRESULT STDMETHODCALLTYPE IDXGIResource_GetSharedHandle_Proxy( 646 IDXGIResource* This, 647 HANDLE *pSharedHandle); 648 void __RPC_STUB IDXGIResource_GetSharedHandle_Stub( 649 IRpcStubBuffer* This, 650 IRpcChannelBuffer* pRpcChannelBuffer, 651 PRPC_MESSAGE pRpcMessage, 652 DWORD* pdwStubPhase); 653 HRESULT STDMETHODCALLTYPE IDXGIResource_GetUsage_Proxy( 654 IDXGIResource* This, 655 DXGI_USAGE *pUsage); 656 void __RPC_STUB IDXGIResource_GetUsage_Stub( 657 IRpcStubBuffer* This, 658 IRpcChannelBuffer* pRpcChannelBuffer, 659 PRPC_MESSAGE pRpcMessage, 660 DWORD* pdwStubPhase); 661 HRESULT STDMETHODCALLTYPE IDXGIResource_SetEvictionPriority_Proxy( 662 IDXGIResource* This, 663 UINT EvictionPriority); 664 void __RPC_STUB IDXGIResource_SetEvictionPriority_Stub( 665 IRpcStubBuffer* This, 666 IRpcChannelBuffer* pRpcChannelBuffer, 667 PRPC_MESSAGE pRpcMessage, 668 DWORD* pdwStubPhase); 669 HRESULT STDMETHODCALLTYPE IDXGIResource_GetEvictionPriority_Proxy( 670 IDXGIResource* This, 671 UINT *pEvictionPriority); 672 void __RPC_STUB IDXGIResource_GetEvictionPriority_Stub( 673 IRpcStubBuffer* This, 674 IRpcChannelBuffer* pRpcChannelBuffer, 675 PRPC_MESSAGE pRpcMessage, 676 DWORD* pdwStubPhase); 677 678 #endif /* __IDXGIResource_INTERFACE_DEFINED__ */ 679 680 /***************************************************************************** 681 * IDXGIKeyedMutex interface 682 */ 683 #ifndef __IDXGIKeyedMutex_INTERFACE_DEFINED__ 684 #define __IDXGIKeyedMutex_INTERFACE_DEFINED__ 685 686 DEFINE_GUID(IID_IDXGIKeyedMutex, 0x9d8e1289, 0xd7b3, 0x465f, 0x81,0x26, 0x25,0x0e,0x34,0x9a,0xf8,0x5d); 687 #if defined(__cplusplus) && !defined(CINTERFACE) 688 MIDL_INTERFACE("9d8e1289-d7b3-465f-8126-250e349af85d") 689 IDXGIKeyedMutex : public IDXGIDeviceSubObject 690 { 691 virtual HRESULT STDMETHODCALLTYPE AcquireSync( 692 UINT64 Key, 693 DWORD dwMilliseconds) = 0; 694 695 virtual HRESULT STDMETHODCALLTYPE ReleaseSync( 696 UINT64 Key) = 0; 697 698 }; 699 #ifdef __CRT_UUID_DECL 700 __CRT_UUID_DECL(IDXGIKeyedMutex, 0x9d8e1289, 0xd7b3, 0x465f, 0x81,0x26, 0x25,0x0e,0x34,0x9a,0xf8,0x5d) 701 #endif 702 #else 703 typedef struct IDXGIKeyedMutexVtbl { 704 BEGIN_INTERFACE 705 706 /*** IUnknown methods ***/ 707 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 708 IDXGIKeyedMutex* This, 709 REFIID riid, 710 void **ppvObject); 711 712 ULONG (STDMETHODCALLTYPE *AddRef)( 713 IDXGIKeyedMutex* This); 714 715 ULONG (STDMETHODCALLTYPE *Release)( 716 IDXGIKeyedMutex* This); 717 718 /*** IDXGIObject methods ***/ 719 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 720 IDXGIKeyedMutex* This, 721 REFGUID guid, 722 UINT data_size, 723 const void *data); 724 725 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 726 IDXGIKeyedMutex* This, 727 REFGUID guid, 728 const IUnknown *object); 729 730 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 731 IDXGIKeyedMutex* This, 732 REFGUID guid, 733 UINT *data_size, 734 void *data); 735 736 HRESULT (STDMETHODCALLTYPE *GetParent)( 737 IDXGIKeyedMutex* This, 738 REFIID riid, 739 void **parent); 740 741 /*** IDXGIDeviceSubObject methods ***/ 742 HRESULT (STDMETHODCALLTYPE *GetDevice)( 743 IDXGIKeyedMutex* This, 744 REFIID riid, 745 void **device); 746 747 /*** IDXGIKeyedMutex methods ***/ 748 HRESULT (STDMETHODCALLTYPE *AcquireSync)( 749 IDXGIKeyedMutex* This, 750 UINT64 Key, 751 DWORD dwMilliseconds); 752 753 HRESULT (STDMETHODCALLTYPE *ReleaseSync)( 754 IDXGIKeyedMutex* This, 755 UINT64 Key); 756 757 END_INTERFACE 758 } IDXGIKeyedMutexVtbl; 759 interface IDXGIKeyedMutex { 760 CONST_VTBL IDXGIKeyedMutexVtbl* lpVtbl; 761 }; 762 763 #ifdef COBJMACROS 764 #ifndef WIDL_C_INLINE_WRAPPERS 765 /*** IUnknown methods ***/ 766 #define IDXGIKeyedMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 767 #define IDXGIKeyedMutex_AddRef(This) (This)->lpVtbl->AddRef(This) 768 #define IDXGIKeyedMutex_Release(This) (This)->lpVtbl->Release(This) 769 /*** IDXGIObject methods ***/ 770 #define IDXGIKeyedMutex_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 771 #define IDXGIKeyedMutex_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 772 #define IDXGIKeyedMutex_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 773 #define IDXGIKeyedMutex_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 774 /*** IDXGIDeviceSubObject methods ***/ 775 #define IDXGIKeyedMutex_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) 776 /*** IDXGIKeyedMutex methods ***/ 777 #define IDXGIKeyedMutex_AcquireSync(This,Key,dwMilliseconds) (This)->lpVtbl->AcquireSync(This,Key,dwMilliseconds) 778 #define IDXGIKeyedMutex_ReleaseSync(This,Key) (This)->lpVtbl->ReleaseSync(This,Key) 779 #else 780 /*** IUnknown methods ***/ 781 static FORCEINLINE HRESULT IDXGIKeyedMutex_QueryInterface(IDXGIKeyedMutex* This,REFIID riid,void **ppvObject) { 782 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 783 } 784 static FORCEINLINE ULONG IDXGIKeyedMutex_AddRef(IDXGIKeyedMutex* This) { 785 return This->lpVtbl->AddRef(This); 786 } 787 static FORCEINLINE ULONG IDXGIKeyedMutex_Release(IDXGIKeyedMutex* This) { 788 return This->lpVtbl->Release(This); 789 } 790 /*** IDXGIObject methods ***/ 791 static FORCEINLINE HRESULT IDXGIKeyedMutex_SetPrivateData(IDXGIKeyedMutex* This,REFGUID guid,UINT data_size,const void *data) { 792 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 793 } 794 static FORCEINLINE HRESULT IDXGIKeyedMutex_SetPrivateDataInterface(IDXGIKeyedMutex* This,REFGUID guid,const IUnknown *object) { 795 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 796 } 797 static FORCEINLINE HRESULT IDXGIKeyedMutex_GetPrivateData(IDXGIKeyedMutex* This,REFGUID guid,UINT *data_size,void *data) { 798 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 799 } 800 static FORCEINLINE HRESULT IDXGIKeyedMutex_GetParent(IDXGIKeyedMutex* This,REFIID riid,void **parent) { 801 return This->lpVtbl->GetParent(This,riid,parent); 802 } 803 /*** IDXGIDeviceSubObject methods ***/ 804 static FORCEINLINE HRESULT IDXGIKeyedMutex_GetDevice(IDXGIKeyedMutex* This,REFIID riid,void **device) { 805 return This->lpVtbl->GetDevice(This,riid,device); 806 } 807 /*** IDXGIKeyedMutex methods ***/ 808 static FORCEINLINE HRESULT IDXGIKeyedMutex_AcquireSync(IDXGIKeyedMutex* This,UINT64 Key,DWORD dwMilliseconds) { 809 return This->lpVtbl->AcquireSync(This,Key,dwMilliseconds); 810 } 811 static FORCEINLINE HRESULT IDXGIKeyedMutex_ReleaseSync(IDXGIKeyedMutex* This,UINT64 Key) { 812 return This->lpVtbl->ReleaseSync(This,Key); 813 } 814 #endif 815 #endif 816 817 #endif 818 819 HRESULT STDMETHODCALLTYPE IDXGIKeyedMutex_AcquireSync_Proxy( 820 IDXGIKeyedMutex* This, 821 UINT64 Key, 822 DWORD dwMilliseconds); 823 void __RPC_STUB IDXGIKeyedMutex_AcquireSync_Stub( 824 IRpcStubBuffer* This, 825 IRpcChannelBuffer* pRpcChannelBuffer, 826 PRPC_MESSAGE pRpcMessage, 827 DWORD* pdwStubPhase); 828 HRESULT STDMETHODCALLTYPE IDXGIKeyedMutex_ReleaseSync_Proxy( 829 IDXGIKeyedMutex* This, 830 UINT64 Key); 831 void __RPC_STUB IDXGIKeyedMutex_ReleaseSync_Stub( 832 IRpcStubBuffer* This, 833 IRpcChannelBuffer* pRpcChannelBuffer, 834 PRPC_MESSAGE pRpcMessage, 835 DWORD* pdwStubPhase); 836 837 #endif /* __IDXGIKeyedMutex_INTERFACE_DEFINED__ */ 838 839 /***************************************************************************** 840 * IDXGISurface interface 841 */ 842 #ifndef __IDXGISurface_INTERFACE_DEFINED__ 843 #define __IDXGISurface_INTERFACE_DEFINED__ 844 845 DEFINE_GUID(IID_IDXGISurface, 0xcafcb56c, 0x6ac3, 0x4889, 0xbf,0x47, 0x9e,0x23,0xbb,0xd2,0x60,0xec); 846 #if defined(__cplusplus) && !defined(CINTERFACE) 847 MIDL_INTERFACE("cafcb56c-6ac3-4889-bf47-9e23bbd260ec") 848 IDXGISurface : public IDXGIDeviceSubObject 849 { 850 virtual HRESULT STDMETHODCALLTYPE GetDesc( 851 DXGI_SURFACE_DESC *desc) = 0; 852 853 virtual HRESULT STDMETHODCALLTYPE Map( 854 DXGI_MAPPED_RECT *mapped_rect, 855 UINT flags) = 0; 856 857 virtual HRESULT STDMETHODCALLTYPE Unmap( 858 ) = 0; 859 860 }; 861 #ifdef __CRT_UUID_DECL 862 __CRT_UUID_DECL(IDXGISurface, 0xcafcb56c, 0x6ac3, 0x4889, 0xbf,0x47, 0x9e,0x23,0xbb,0xd2,0x60,0xec) 863 #endif 864 #else 865 typedef struct IDXGISurfaceVtbl { 866 BEGIN_INTERFACE 867 868 /*** IUnknown methods ***/ 869 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 870 IDXGISurface* This, 871 REFIID riid, 872 void **ppvObject); 873 874 ULONG (STDMETHODCALLTYPE *AddRef)( 875 IDXGISurface* This); 876 877 ULONG (STDMETHODCALLTYPE *Release)( 878 IDXGISurface* This); 879 880 /*** IDXGIObject methods ***/ 881 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 882 IDXGISurface* This, 883 REFGUID guid, 884 UINT data_size, 885 const void *data); 886 887 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 888 IDXGISurface* This, 889 REFGUID guid, 890 const IUnknown *object); 891 892 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 893 IDXGISurface* This, 894 REFGUID guid, 895 UINT *data_size, 896 void *data); 897 898 HRESULT (STDMETHODCALLTYPE *GetParent)( 899 IDXGISurface* This, 900 REFIID riid, 901 void **parent); 902 903 /*** IDXGIDeviceSubObject methods ***/ 904 HRESULT (STDMETHODCALLTYPE *GetDevice)( 905 IDXGISurface* This, 906 REFIID riid, 907 void **device); 908 909 /*** IDXGISurface methods ***/ 910 HRESULT (STDMETHODCALLTYPE *GetDesc)( 911 IDXGISurface* This, 912 DXGI_SURFACE_DESC *desc); 913 914 HRESULT (STDMETHODCALLTYPE *Map)( 915 IDXGISurface* This, 916 DXGI_MAPPED_RECT *mapped_rect, 917 UINT flags); 918 919 HRESULT (STDMETHODCALLTYPE *Unmap)( 920 IDXGISurface* This); 921 922 END_INTERFACE 923 } IDXGISurfaceVtbl; 924 interface IDXGISurface { 925 CONST_VTBL IDXGISurfaceVtbl* lpVtbl; 926 }; 927 928 #ifdef COBJMACROS 929 #ifndef WIDL_C_INLINE_WRAPPERS 930 /*** IUnknown methods ***/ 931 #define IDXGISurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 932 #define IDXGISurface_AddRef(This) (This)->lpVtbl->AddRef(This) 933 #define IDXGISurface_Release(This) (This)->lpVtbl->Release(This) 934 /*** IDXGIObject methods ***/ 935 #define IDXGISurface_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 936 #define IDXGISurface_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 937 #define IDXGISurface_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 938 #define IDXGISurface_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 939 /*** IDXGIDeviceSubObject methods ***/ 940 #define IDXGISurface_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) 941 /*** IDXGISurface methods ***/ 942 #define IDXGISurface_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc) 943 #define IDXGISurface_Map(This,mapped_rect,flags) (This)->lpVtbl->Map(This,mapped_rect,flags) 944 #define IDXGISurface_Unmap(This) (This)->lpVtbl->Unmap(This) 945 #else 946 /*** IUnknown methods ***/ 947 static FORCEINLINE HRESULT IDXGISurface_QueryInterface(IDXGISurface* This,REFIID riid,void **ppvObject) { 948 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 949 } 950 static FORCEINLINE ULONG IDXGISurface_AddRef(IDXGISurface* This) { 951 return This->lpVtbl->AddRef(This); 952 } 953 static FORCEINLINE ULONG IDXGISurface_Release(IDXGISurface* This) { 954 return This->lpVtbl->Release(This); 955 } 956 /*** IDXGIObject methods ***/ 957 static FORCEINLINE HRESULT IDXGISurface_SetPrivateData(IDXGISurface* This,REFGUID guid,UINT data_size,const void *data) { 958 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 959 } 960 static FORCEINLINE HRESULT IDXGISurface_SetPrivateDataInterface(IDXGISurface* This,REFGUID guid,const IUnknown *object) { 961 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 962 } 963 static FORCEINLINE HRESULT IDXGISurface_GetPrivateData(IDXGISurface* This,REFGUID guid,UINT *data_size,void *data) { 964 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 965 } 966 static FORCEINLINE HRESULT IDXGISurface_GetParent(IDXGISurface* This,REFIID riid,void **parent) { 967 return This->lpVtbl->GetParent(This,riid,parent); 968 } 969 /*** IDXGIDeviceSubObject methods ***/ 970 static FORCEINLINE HRESULT IDXGISurface_GetDevice(IDXGISurface* This,REFIID riid,void **device) { 971 return This->lpVtbl->GetDevice(This,riid,device); 972 } 973 /*** IDXGISurface methods ***/ 974 static FORCEINLINE HRESULT IDXGISurface_GetDesc(IDXGISurface* This,DXGI_SURFACE_DESC *desc) { 975 return This->lpVtbl->GetDesc(This,desc); 976 } 977 static FORCEINLINE HRESULT IDXGISurface_Map(IDXGISurface* This,DXGI_MAPPED_RECT *mapped_rect,UINT flags) { 978 return This->lpVtbl->Map(This,mapped_rect,flags); 979 } 980 static FORCEINLINE HRESULT IDXGISurface_Unmap(IDXGISurface* This) { 981 return This->lpVtbl->Unmap(This); 982 } 983 #endif 984 #endif 985 986 #endif 987 988 HRESULT STDMETHODCALLTYPE IDXGISurface_GetDesc_Proxy( 989 IDXGISurface* This, 990 DXGI_SURFACE_DESC *desc); 991 void __RPC_STUB IDXGISurface_GetDesc_Stub( 992 IRpcStubBuffer* This, 993 IRpcChannelBuffer* pRpcChannelBuffer, 994 PRPC_MESSAGE pRpcMessage, 995 DWORD* pdwStubPhase); 996 HRESULT STDMETHODCALLTYPE IDXGISurface_Map_Proxy( 997 IDXGISurface* This, 998 DXGI_MAPPED_RECT *mapped_rect, 999 UINT flags); 1000 void __RPC_STUB IDXGISurface_Map_Stub( 1001 IRpcStubBuffer* This, 1002 IRpcChannelBuffer* pRpcChannelBuffer, 1003 PRPC_MESSAGE pRpcMessage, 1004 DWORD* pdwStubPhase); 1005 HRESULT STDMETHODCALLTYPE IDXGISurface_Unmap_Proxy( 1006 IDXGISurface* This); 1007 void __RPC_STUB IDXGISurface_Unmap_Stub( 1008 IRpcStubBuffer* This, 1009 IRpcChannelBuffer* pRpcChannelBuffer, 1010 PRPC_MESSAGE pRpcMessage, 1011 DWORD* pdwStubPhase); 1012 1013 #endif /* __IDXGISurface_INTERFACE_DEFINED__ */ 1014 1015 /***************************************************************************** 1016 * IDXGIOutput interface 1017 */ 1018 #ifndef __IDXGIOutput_INTERFACE_DEFINED__ 1019 #define __IDXGIOutput_INTERFACE_DEFINED__ 1020 1021 DEFINE_GUID(IID_IDXGIOutput, 0xae02eedb, 0xc735, 0x4690, 0x8d,0x52, 0x5a,0x8d,0xc2,0x02,0x13,0xaa); 1022 #if defined(__cplusplus) && !defined(CINTERFACE) 1023 MIDL_INTERFACE("ae02eedb-c735-4690-8d52-5a8dc20213aa") 1024 IDXGIOutput : public IDXGIObject 1025 { 1026 virtual HRESULT STDMETHODCALLTYPE GetDesc( 1027 DXGI_OUTPUT_DESC *desc) = 0; 1028 1029 virtual HRESULT STDMETHODCALLTYPE GetDisplayModeList( 1030 DXGI_FORMAT format, 1031 UINT flags, 1032 UINT *mode_count, 1033 DXGI_MODE_DESC *desc) = 0; 1034 1035 virtual HRESULT STDMETHODCALLTYPE FindClosestMatchingMode( 1036 const DXGI_MODE_DESC *mode, 1037 DXGI_MODE_DESC *closest_match, 1038 IUnknown *device) = 0; 1039 1040 virtual HRESULT STDMETHODCALLTYPE WaitForVBlank( 1041 ) = 0; 1042 1043 virtual HRESULT STDMETHODCALLTYPE TakeOwnership( 1044 IUnknown *device, 1045 WINBOOL exclusive) = 0; 1046 1047 virtual void STDMETHODCALLTYPE ReleaseOwnership( 1048 ) = 0; 1049 1050 virtual HRESULT STDMETHODCALLTYPE GetGammaControlCapabilities( 1051 DXGI_GAMMA_CONTROL_CAPABILITIES *gamma_caps) = 0; 1052 1053 virtual HRESULT STDMETHODCALLTYPE SetGammaControl( 1054 const DXGI_GAMMA_CONTROL *gamma_control) = 0; 1055 1056 virtual HRESULT STDMETHODCALLTYPE GetGammaControl( 1057 DXGI_GAMMA_CONTROL *gamma_control) = 0; 1058 1059 virtual HRESULT STDMETHODCALLTYPE SetDisplaySurface( 1060 IDXGISurface *surface) = 0; 1061 1062 virtual HRESULT STDMETHODCALLTYPE GetDisplaySurfaceData( 1063 IDXGISurface *surface) = 0; 1064 1065 virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics( 1066 DXGI_FRAME_STATISTICS *stats) = 0; 1067 1068 }; 1069 #ifdef __CRT_UUID_DECL 1070 __CRT_UUID_DECL(IDXGIOutput, 0xae02eedb, 0xc735, 0x4690, 0x8d,0x52, 0x5a,0x8d,0xc2,0x02,0x13,0xaa) 1071 #endif 1072 #else 1073 typedef struct IDXGIOutputVtbl { 1074 BEGIN_INTERFACE 1075 1076 /*** IUnknown methods ***/ 1077 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1078 IDXGIOutput* This, 1079 REFIID riid, 1080 void **ppvObject); 1081 1082 ULONG (STDMETHODCALLTYPE *AddRef)( 1083 IDXGIOutput* This); 1084 1085 ULONG (STDMETHODCALLTYPE *Release)( 1086 IDXGIOutput* This); 1087 1088 /*** IDXGIObject methods ***/ 1089 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 1090 IDXGIOutput* This, 1091 REFGUID guid, 1092 UINT data_size, 1093 const void *data); 1094 1095 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 1096 IDXGIOutput* This, 1097 REFGUID guid, 1098 const IUnknown *object); 1099 1100 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 1101 IDXGIOutput* This, 1102 REFGUID guid, 1103 UINT *data_size, 1104 void *data); 1105 1106 HRESULT (STDMETHODCALLTYPE *GetParent)( 1107 IDXGIOutput* This, 1108 REFIID riid, 1109 void **parent); 1110 1111 /*** IDXGIOutput methods ***/ 1112 HRESULT (STDMETHODCALLTYPE *GetDesc)( 1113 IDXGIOutput* This, 1114 DXGI_OUTPUT_DESC *desc); 1115 1116 HRESULT (STDMETHODCALLTYPE *GetDisplayModeList)( 1117 IDXGIOutput* This, 1118 DXGI_FORMAT format, 1119 UINT flags, 1120 UINT *mode_count, 1121 DXGI_MODE_DESC *desc); 1122 1123 HRESULT (STDMETHODCALLTYPE *FindClosestMatchingMode)( 1124 IDXGIOutput* This, 1125 const DXGI_MODE_DESC *mode, 1126 DXGI_MODE_DESC *closest_match, 1127 IUnknown *device); 1128 1129 HRESULT (STDMETHODCALLTYPE *WaitForVBlank)( 1130 IDXGIOutput* This); 1131 1132 HRESULT (STDMETHODCALLTYPE *TakeOwnership)( 1133 IDXGIOutput* This, 1134 IUnknown *device, 1135 WINBOOL exclusive); 1136 1137 void (STDMETHODCALLTYPE *ReleaseOwnership)( 1138 IDXGIOutput* This); 1139 1140 HRESULT (STDMETHODCALLTYPE *GetGammaControlCapabilities)( 1141 IDXGIOutput* This, 1142 DXGI_GAMMA_CONTROL_CAPABILITIES *gamma_caps); 1143 1144 HRESULT (STDMETHODCALLTYPE *SetGammaControl)( 1145 IDXGIOutput* This, 1146 const DXGI_GAMMA_CONTROL *gamma_control); 1147 1148 HRESULT (STDMETHODCALLTYPE *GetGammaControl)( 1149 IDXGIOutput* This, 1150 DXGI_GAMMA_CONTROL *gamma_control); 1151 1152 HRESULT (STDMETHODCALLTYPE *SetDisplaySurface)( 1153 IDXGIOutput* This, 1154 IDXGISurface *surface); 1155 1156 HRESULT (STDMETHODCALLTYPE *GetDisplaySurfaceData)( 1157 IDXGIOutput* This, 1158 IDXGISurface *surface); 1159 1160 HRESULT (STDMETHODCALLTYPE *GetFrameStatistics)( 1161 IDXGIOutput* This, 1162 DXGI_FRAME_STATISTICS *stats); 1163 1164 END_INTERFACE 1165 } IDXGIOutputVtbl; 1166 interface IDXGIOutput { 1167 CONST_VTBL IDXGIOutputVtbl* lpVtbl; 1168 }; 1169 1170 #ifdef COBJMACROS 1171 #ifndef WIDL_C_INLINE_WRAPPERS 1172 /*** IUnknown methods ***/ 1173 #define IDXGIOutput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1174 #define IDXGIOutput_AddRef(This) (This)->lpVtbl->AddRef(This) 1175 #define IDXGIOutput_Release(This) (This)->lpVtbl->Release(This) 1176 /*** IDXGIObject methods ***/ 1177 #define IDXGIOutput_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 1178 #define IDXGIOutput_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 1179 #define IDXGIOutput_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 1180 #define IDXGIOutput_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 1181 /*** IDXGIOutput methods ***/ 1182 #define IDXGIOutput_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc) 1183 #define IDXGIOutput_GetDisplayModeList(This,format,flags,mode_count,desc) (This)->lpVtbl->GetDisplayModeList(This,format,flags,mode_count,desc) 1184 #define IDXGIOutput_FindClosestMatchingMode(This,mode,closest_match,device) (This)->lpVtbl->FindClosestMatchingMode(This,mode,closest_match,device) 1185 #define IDXGIOutput_WaitForVBlank(This) (This)->lpVtbl->WaitForVBlank(This) 1186 #define IDXGIOutput_TakeOwnership(This,device,exclusive) (This)->lpVtbl->TakeOwnership(This,device,exclusive) 1187 #define IDXGIOutput_ReleaseOwnership(This) (This)->lpVtbl->ReleaseOwnership(This) 1188 #define IDXGIOutput_GetGammaControlCapabilities(This,gamma_caps) (This)->lpVtbl->GetGammaControlCapabilities(This,gamma_caps) 1189 #define IDXGIOutput_SetGammaControl(This,gamma_control) (This)->lpVtbl->SetGammaControl(This,gamma_control) 1190 #define IDXGIOutput_GetGammaControl(This,gamma_control) (This)->lpVtbl->GetGammaControl(This,gamma_control) 1191 #define IDXGIOutput_SetDisplaySurface(This,surface) (This)->lpVtbl->SetDisplaySurface(This,surface) 1192 #define IDXGIOutput_GetDisplaySurfaceData(This,surface) (This)->lpVtbl->GetDisplaySurfaceData(This,surface) 1193 #define IDXGIOutput_GetFrameStatistics(This,stats) (This)->lpVtbl->GetFrameStatistics(This,stats) 1194 #else 1195 /*** IUnknown methods ***/ 1196 static FORCEINLINE HRESULT IDXGIOutput_QueryInterface(IDXGIOutput* This,REFIID riid,void **ppvObject) { 1197 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1198 } 1199 static FORCEINLINE ULONG IDXGIOutput_AddRef(IDXGIOutput* This) { 1200 return This->lpVtbl->AddRef(This); 1201 } 1202 static FORCEINLINE ULONG IDXGIOutput_Release(IDXGIOutput* This) { 1203 return This->lpVtbl->Release(This); 1204 } 1205 /*** IDXGIObject methods ***/ 1206 static FORCEINLINE HRESULT IDXGIOutput_SetPrivateData(IDXGIOutput* This,REFGUID guid,UINT data_size,const void *data) { 1207 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 1208 } 1209 static FORCEINLINE HRESULT IDXGIOutput_SetPrivateDataInterface(IDXGIOutput* This,REFGUID guid,const IUnknown *object) { 1210 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 1211 } 1212 static FORCEINLINE HRESULT IDXGIOutput_GetPrivateData(IDXGIOutput* This,REFGUID guid,UINT *data_size,void *data) { 1213 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 1214 } 1215 static FORCEINLINE HRESULT IDXGIOutput_GetParent(IDXGIOutput* This,REFIID riid,void **parent) { 1216 return This->lpVtbl->GetParent(This,riid,parent); 1217 } 1218 /*** IDXGIOutput methods ***/ 1219 static FORCEINLINE HRESULT IDXGIOutput_GetDesc(IDXGIOutput* This,DXGI_OUTPUT_DESC *desc) { 1220 return This->lpVtbl->GetDesc(This,desc); 1221 } 1222 static FORCEINLINE HRESULT IDXGIOutput_GetDisplayModeList(IDXGIOutput* This,DXGI_FORMAT format,UINT flags,UINT *mode_count,DXGI_MODE_DESC *desc) { 1223 return This->lpVtbl->GetDisplayModeList(This,format,flags,mode_count,desc); 1224 } 1225 static FORCEINLINE HRESULT IDXGIOutput_FindClosestMatchingMode(IDXGIOutput* This,const DXGI_MODE_DESC *mode,DXGI_MODE_DESC *closest_match,IUnknown *device) { 1226 return This->lpVtbl->FindClosestMatchingMode(This,mode,closest_match,device); 1227 } 1228 static FORCEINLINE HRESULT IDXGIOutput_WaitForVBlank(IDXGIOutput* This) { 1229 return This->lpVtbl->WaitForVBlank(This); 1230 } 1231 static FORCEINLINE HRESULT IDXGIOutput_TakeOwnership(IDXGIOutput* This,IUnknown *device,WINBOOL exclusive) { 1232 return This->lpVtbl->TakeOwnership(This,device,exclusive); 1233 } 1234 static FORCEINLINE void IDXGIOutput_ReleaseOwnership(IDXGIOutput* This) { 1235 This->lpVtbl->ReleaseOwnership(This); 1236 } 1237 static FORCEINLINE HRESULT IDXGIOutput_GetGammaControlCapabilities(IDXGIOutput* This,DXGI_GAMMA_CONTROL_CAPABILITIES *gamma_caps) { 1238 return This->lpVtbl->GetGammaControlCapabilities(This,gamma_caps); 1239 } 1240 static FORCEINLINE HRESULT IDXGIOutput_SetGammaControl(IDXGIOutput* This,const DXGI_GAMMA_CONTROL *gamma_control) { 1241 return This->lpVtbl->SetGammaControl(This,gamma_control); 1242 } 1243 static FORCEINLINE HRESULT IDXGIOutput_GetGammaControl(IDXGIOutput* This,DXGI_GAMMA_CONTROL *gamma_control) { 1244 return This->lpVtbl->GetGammaControl(This,gamma_control); 1245 } 1246 static FORCEINLINE HRESULT IDXGIOutput_SetDisplaySurface(IDXGIOutput* This,IDXGISurface *surface) { 1247 return This->lpVtbl->SetDisplaySurface(This,surface); 1248 } 1249 static FORCEINLINE HRESULT IDXGIOutput_GetDisplaySurfaceData(IDXGIOutput* This,IDXGISurface *surface) { 1250 return This->lpVtbl->GetDisplaySurfaceData(This,surface); 1251 } 1252 static FORCEINLINE HRESULT IDXGIOutput_GetFrameStatistics(IDXGIOutput* This,DXGI_FRAME_STATISTICS *stats) { 1253 return This->lpVtbl->GetFrameStatistics(This,stats); 1254 } 1255 #endif 1256 #endif 1257 1258 #endif 1259 1260 HRESULT STDMETHODCALLTYPE IDXGIOutput_GetDesc_Proxy( 1261 IDXGIOutput* This, 1262 DXGI_OUTPUT_DESC *desc); 1263 void __RPC_STUB IDXGIOutput_GetDesc_Stub( 1264 IRpcStubBuffer* This, 1265 IRpcChannelBuffer* pRpcChannelBuffer, 1266 PRPC_MESSAGE pRpcMessage, 1267 DWORD* pdwStubPhase); 1268 HRESULT STDMETHODCALLTYPE IDXGIOutput_GetDisplayModeList_Proxy( 1269 IDXGIOutput* This, 1270 DXGI_FORMAT format, 1271 UINT flags, 1272 UINT *mode_count, 1273 DXGI_MODE_DESC *desc); 1274 void __RPC_STUB IDXGIOutput_GetDisplayModeList_Stub( 1275 IRpcStubBuffer* This, 1276 IRpcChannelBuffer* pRpcChannelBuffer, 1277 PRPC_MESSAGE pRpcMessage, 1278 DWORD* pdwStubPhase); 1279 HRESULT STDMETHODCALLTYPE IDXGIOutput_FindClosestMatchingMode_Proxy( 1280 IDXGIOutput* This, 1281 const DXGI_MODE_DESC *mode, 1282 DXGI_MODE_DESC *closest_match, 1283 IUnknown *device); 1284 void __RPC_STUB IDXGIOutput_FindClosestMatchingMode_Stub( 1285 IRpcStubBuffer* This, 1286 IRpcChannelBuffer* pRpcChannelBuffer, 1287 PRPC_MESSAGE pRpcMessage, 1288 DWORD* pdwStubPhase); 1289 HRESULT STDMETHODCALLTYPE IDXGIOutput_WaitForVBlank_Proxy( 1290 IDXGIOutput* This); 1291 void __RPC_STUB IDXGIOutput_WaitForVBlank_Stub( 1292 IRpcStubBuffer* This, 1293 IRpcChannelBuffer* pRpcChannelBuffer, 1294 PRPC_MESSAGE pRpcMessage, 1295 DWORD* pdwStubPhase); 1296 HRESULT STDMETHODCALLTYPE IDXGIOutput_TakeOwnership_Proxy( 1297 IDXGIOutput* This, 1298 IUnknown *device, 1299 WINBOOL exclusive); 1300 void __RPC_STUB IDXGIOutput_TakeOwnership_Stub( 1301 IRpcStubBuffer* This, 1302 IRpcChannelBuffer* pRpcChannelBuffer, 1303 PRPC_MESSAGE pRpcMessage, 1304 DWORD* pdwStubPhase); 1305 void STDMETHODCALLTYPE IDXGIOutput_ReleaseOwnership_Proxy( 1306 IDXGIOutput* This); 1307 void __RPC_STUB IDXGIOutput_ReleaseOwnership_Stub( 1308 IRpcStubBuffer* This, 1309 IRpcChannelBuffer* pRpcChannelBuffer, 1310 PRPC_MESSAGE pRpcMessage, 1311 DWORD* pdwStubPhase); 1312 HRESULT STDMETHODCALLTYPE IDXGIOutput_GetGammaControlCapabilities_Proxy( 1313 IDXGIOutput* This, 1314 DXGI_GAMMA_CONTROL_CAPABILITIES *gamma_caps); 1315 void __RPC_STUB IDXGIOutput_GetGammaControlCapabilities_Stub( 1316 IRpcStubBuffer* This, 1317 IRpcChannelBuffer* pRpcChannelBuffer, 1318 PRPC_MESSAGE pRpcMessage, 1319 DWORD* pdwStubPhase); 1320 HRESULT STDMETHODCALLTYPE IDXGIOutput_SetGammaControl_Proxy( 1321 IDXGIOutput* This, 1322 const DXGI_GAMMA_CONTROL *gamma_control); 1323 void __RPC_STUB IDXGIOutput_SetGammaControl_Stub( 1324 IRpcStubBuffer* This, 1325 IRpcChannelBuffer* pRpcChannelBuffer, 1326 PRPC_MESSAGE pRpcMessage, 1327 DWORD* pdwStubPhase); 1328 HRESULT STDMETHODCALLTYPE IDXGIOutput_GetGammaControl_Proxy( 1329 IDXGIOutput* This, 1330 DXGI_GAMMA_CONTROL *gamma_control); 1331 void __RPC_STUB IDXGIOutput_GetGammaControl_Stub( 1332 IRpcStubBuffer* This, 1333 IRpcChannelBuffer* pRpcChannelBuffer, 1334 PRPC_MESSAGE pRpcMessage, 1335 DWORD* pdwStubPhase); 1336 HRESULT STDMETHODCALLTYPE IDXGIOutput_SetDisplaySurface_Proxy( 1337 IDXGIOutput* This, 1338 IDXGISurface *surface); 1339 void __RPC_STUB IDXGIOutput_SetDisplaySurface_Stub( 1340 IRpcStubBuffer* This, 1341 IRpcChannelBuffer* pRpcChannelBuffer, 1342 PRPC_MESSAGE pRpcMessage, 1343 DWORD* pdwStubPhase); 1344 HRESULT STDMETHODCALLTYPE IDXGIOutput_GetDisplaySurfaceData_Proxy( 1345 IDXGIOutput* This, 1346 IDXGISurface *surface); 1347 void __RPC_STUB IDXGIOutput_GetDisplaySurfaceData_Stub( 1348 IRpcStubBuffer* This, 1349 IRpcChannelBuffer* pRpcChannelBuffer, 1350 PRPC_MESSAGE pRpcMessage, 1351 DWORD* pdwStubPhase); 1352 HRESULT STDMETHODCALLTYPE IDXGIOutput_GetFrameStatistics_Proxy( 1353 IDXGIOutput* This, 1354 DXGI_FRAME_STATISTICS *stats); 1355 void __RPC_STUB IDXGIOutput_GetFrameStatistics_Stub( 1356 IRpcStubBuffer* This, 1357 IRpcChannelBuffer* pRpcChannelBuffer, 1358 PRPC_MESSAGE pRpcMessage, 1359 DWORD* pdwStubPhase); 1360 1361 #endif /* __IDXGIOutput_INTERFACE_DEFINED__ */ 1362 1363 /***************************************************************************** 1364 * IDXGIAdapter interface 1365 */ 1366 #ifndef __IDXGIAdapter_INTERFACE_DEFINED__ 1367 #define __IDXGIAdapter_INTERFACE_DEFINED__ 1368 1369 DEFINE_GUID(IID_IDXGIAdapter, 0x2411e7e1, 0x12ac, 0x4ccf, 0xbd,0x14, 0x97,0x98,0xe8,0x53,0x4d,0xc0); 1370 #if defined(__cplusplus) && !defined(CINTERFACE) 1371 MIDL_INTERFACE("2411e7e1-12ac-4ccf-bd14-9798e8534dc0") 1372 IDXGIAdapter : public IDXGIObject 1373 { 1374 virtual HRESULT STDMETHODCALLTYPE EnumOutputs( 1375 UINT output_idx, 1376 IDXGIOutput **output) = 0; 1377 1378 virtual HRESULT STDMETHODCALLTYPE GetDesc( 1379 DXGI_ADAPTER_DESC *desc) = 0; 1380 1381 virtual HRESULT STDMETHODCALLTYPE CheckInterfaceSupport( 1382 REFGUID guid, 1383 LARGE_INTEGER *umd_version) = 0; 1384 1385 }; 1386 #ifdef __CRT_UUID_DECL 1387 __CRT_UUID_DECL(IDXGIAdapter, 0x2411e7e1, 0x12ac, 0x4ccf, 0xbd,0x14, 0x97,0x98,0xe8,0x53,0x4d,0xc0) 1388 #endif 1389 #else 1390 typedef struct IDXGIAdapterVtbl { 1391 BEGIN_INTERFACE 1392 1393 /*** IUnknown methods ***/ 1394 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1395 IDXGIAdapter* This, 1396 REFIID riid, 1397 void **ppvObject); 1398 1399 ULONG (STDMETHODCALLTYPE *AddRef)( 1400 IDXGIAdapter* This); 1401 1402 ULONG (STDMETHODCALLTYPE *Release)( 1403 IDXGIAdapter* This); 1404 1405 /*** IDXGIObject methods ***/ 1406 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 1407 IDXGIAdapter* This, 1408 REFGUID guid, 1409 UINT data_size, 1410 const void *data); 1411 1412 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 1413 IDXGIAdapter* This, 1414 REFGUID guid, 1415 const IUnknown *object); 1416 1417 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 1418 IDXGIAdapter* This, 1419 REFGUID guid, 1420 UINT *data_size, 1421 void *data); 1422 1423 HRESULT (STDMETHODCALLTYPE *GetParent)( 1424 IDXGIAdapter* This, 1425 REFIID riid, 1426 void **parent); 1427 1428 /*** IDXGIAdapter methods ***/ 1429 HRESULT (STDMETHODCALLTYPE *EnumOutputs)( 1430 IDXGIAdapter* This, 1431 UINT output_idx, 1432 IDXGIOutput **output); 1433 1434 HRESULT (STDMETHODCALLTYPE *GetDesc)( 1435 IDXGIAdapter* This, 1436 DXGI_ADAPTER_DESC *desc); 1437 1438 HRESULT (STDMETHODCALLTYPE *CheckInterfaceSupport)( 1439 IDXGIAdapter* This, 1440 REFGUID guid, 1441 LARGE_INTEGER *umd_version); 1442 1443 END_INTERFACE 1444 } IDXGIAdapterVtbl; 1445 interface IDXGIAdapter { 1446 CONST_VTBL IDXGIAdapterVtbl* lpVtbl; 1447 }; 1448 1449 #ifdef COBJMACROS 1450 #ifndef WIDL_C_INLINE_WRAPPERS 1451 /*** IUnknown methods ***/ 1452 #define IDXGIAdapter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1453 #define IDXGIAdapter_AddRef(This) (This)->lpVtbl->AddRef(This) 1454 #define IDXGIAdapter_Release(This) (This)->lpVtbl->Release(This) 1455 /*** IDXGIObject methods ***/ 1456 #define IDXGIAdapter_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 1457 #define IDXGIAdapter_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 1458 #define IDXGIAdapter_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 1459 #define IDXGIAdapter_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 1460 /*** IDXGIAdapter methods ***/ 1461 #define IDXGIAdapter_EnumOutputs(This,output_idx,output) (This)->lpVtbl->EnumOutputs(This,output_idx,output) 1462 #define IDXGIAdapter_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc) 1463 #define IDXGIAdapter_CheckInterfaceSupport(This,guid,umd_version) (This)->lpVtbl->CheckInterfaceSupport(This,guid,umd_version) 1464 #else 1465 /*** IUnknown methods ***/ 1466 static FORCEINLINE HRESULT IDXGIAdapter_QueryInterface(IDXGIAdapter* This,REFIID riid,void **ppvObject) { 1467 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1468 } 1469 static FORCEINLINE ULONG IDXGIAdapter_AddRef(IDXGIAdapter* This) { 1470 return This->lpVtbl->AddRef(This); 1471 } 1472 static FORCEINLINE ULONG IDXGIAdapter_Release(IDXGIAdapter* This) { 1473 return This->lpVtbl->Release(This); 1474 } 1475 /*** IDXGIObject methods ***/ 1476 static FORCEINLINE HRESULT IDXGIAdapter_SetPrivateData(IDXGIAdapter* This,REFGUID guid,UINT data_size,const void *data) { 1477 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 1478 } 1479 static FORCEINLINE HRESULT IDXGIAdapter_SetPrivateDataInterface(IDXGIAdapter* This,REFGUID guid,const IUnknown *object) { 1480 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 1481 } 1482 static FORCEINLINE HRESULT IDXGIAdapter_GetPrivateData(IDXGIAdapter* This,REFGUID guid,UINT *data_size,void *data) { 1483 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 1484 } 1485 static FORCEINLINE HRESULT IDXGIAdapter_GetParent(IDXGIAdapter* This,REFIID riid,void **parent) { 1486 return This->lpVtbl->GetParent(This,riid,parent); 1487 } 1488 /*** IDXGIAdapter methods ***/ 1489 static FORCEINLINE HRESULT IDXGIAdapter_EnumOutputs(IDXGIAdapter* This,UINT output_idx,IDXGIOutput **output) { 1490 return This->lpVtbl->EnumOutputs(This,output_idx,output); 1491 } 1492 static FORCEINLINE HRESULT IDXGIAdapter_GetDesc(IDXGIAdapter* This,DXGI_ADAPTER_DESC *desc) { 1493 return This->lpVtbl->GetDesc(This,desc); 1494 } 1495 static FORCEINLINE HRESULT IDXGIAdapter_CheckInterfaceSupport(IDXGIAdapter* This,REFGUID guid,LARGE_INTEGER *umd_version) { 1496 return This->lpVtbl->CheckInterfaceSupport(This,guid,umd_version); 1497 } 1498 #endif 1499 #endif 1500 1501 #endif 1502 1503 HRESULT STDMETHODCALLTYPE IDXGIAdapter_EnumOutputs_Proxy( 1504 IDXGIAdapter* This, 1505 UINT output_idx, 1506 IDXGIOutput **output); 1507 void __RPC_STUB IDXGIAdapter_EnumOutputs_Stub( 1508 IRpcStubBuffer* This, 1509 IRpcChannelBuffer* pRpcChannelBuffer, 1510 PRPC_MESSAGE pRpcMessage, 1511 DWORD* pdwStubPhase); 1512 HRESULT STDMETHODCALLTYPE IDXGIAdapter_GetDesc_Proxy( 1513 IDXGIAdapter* This, 1514 DXGI_ADAPTER_DESC *desc); 1515 void __RPC_STUB IDXGIAdapter_GetDesc_Stub( 1516 IRpcStubBuffer* This, 1517 IRpcChannelBuffer* pRpcChannelBuffer, 1518 PRPC_MESSAGE pRpcMessage, 1519 DWORD* pdwStubPhase); 1520 HRESULT STDMETHODCALLTYPE IDXGIAdapter_CheckInterfaceSupport_Proxy( 1521 IDXGIAdapter* This, 1522 REFGUID guid, 1523 LARGE_INTEGER *umd_version); 1524 void __RPC_STUB IDXGIAdapter_CheckInterfaceSupport_Stub( 1525 IRpcStubBuffer* This, 1526 IRpcChannelBuffer* pRpcChannelBuffer, 1527 PRPC_MESSAGE pRpcMessage, 1528 DWORD* pdwStubPhase); 1529 1530 #endif /* __IDXGIAdapter_INTERFACE_DEFINED__ */ 1531 1532 /***************************************************************************** 1533 * IDXGISwapChain interface 1534 */ 1535 #ifndef __IDXGISwapChain_INTERFACE_DEFINED__ 1536 #define __IDXGISwapChain_INTERFACE_DEFINED__ 1537 1538 DEFINE_GUID(IID_IDXGISwapChain, 0x310d36a0, 0xd2e7, 0x4c0a, 0xaa,0x04, 0x6a,0x9d,0x23,0xb8,0x88,0x6a); 1539 #if defined(__cplusplus) && !defined(CINTERFACE) 1540 MIDL_INTERFACE("310d36a0-d2e7-4c0a-aa04-6a9d23b8886a") 1541 IDXGISwapChain : public IDXGIDeviceSubObject 1542 { 1543 virtual HRESULT STDMETHODCALLTYPE Present( 1544 UINT sync_interval, 1545 UINT flags) = 0; 1546 1547 virtual HRESULT STDMETHODCALLTYPE GetBuffer( 1548 UINT buffer_idx, 1549 REFIID riid, 1550 void **surface) = 0; 1551 1552 virtual HRESULT STDMETHODCALLTYPE SetFullscreenState( 1553 WINBOOL fullscreen, 1554 IDXGIOutput *target) = 0; 1555 1556 virtual HRESULT STDMETHODCALLTYPE GetFullscreenState( 1557 WINBOOL *fullscreen, 1558 IDXGIOutput **target) = 0; 1559 1560 virtual HRESULT STDMETHODCALLTYPE GetDesc( 1561 DXGI_SWAP_CHAIN_DESC *desc) = 0; 1562 1563 virtual HRESULT STDMETHODCALLTYPE ResizeBuffers( 1564 UINT buffer_count, 1565 UINT width, 1566 UINT height, 1567 DXGI_FORMAT format, 1568 UINT flags) = 0; 1569 1570 virtual HRESULT STDMETHODCALLTYPE ResizeTarget( 1571 const DXGI_MODE_DESC *target_mode_desc) = 0; 1572 1573 virtual HRESULT STDMETHODCALLTYPE GetContainingOutput( 1574 IDXGIOutput **output) = 0; 1575 1576 virtual HRESULT STDMETHODCALLTYPE GetFrameStatistics( 1577 DXGI_FRAME_STATISTICS *stats) = 0; 1578 1579 virtual HRESULT STDMETHODCALLTYPE GetLastPresentCount( 1580 UINT *last_present_count) = 0; 1581 1582 }; 1583 #ifdef __CRT_UUID_DECL 1584 __CRT_UUID_DECL(IDXGISwapChain, 0x310d36a0, 0xd2e7, 0x4c0a, 0xaa,0x04, 0x6a,0x9d,0x23,0xb8,0x88,0x6a) 1585 #endif 1586 #else 1587 typedef struct IDXGISwapChainVtbl { 1588 BEGIN_INTERFACE 1589 1590 /*** IUnknown methods ***/ 1591 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1592 IDXGISwapChain* This, 1593 REFIID riid, 1594 void **ppvObject); 1595 1596 ULONG (STDMETHODCALLTYPE *AddRef)( 1597 IDXGISwapChain* This); 1598 1599 ULONG (STDMETHODCALLTYPE *Release)( 1600 IDXGISwapChain* This); 1601 1602 /*** IDXGIObject methods ***/ 1603 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 1604 IDXGISwapChain* This, 1605 REFGUID guid, 1606 UINT data_size, 1607 const void *data); 1608 1609 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 1610 IDXGISwapChain* This, 1611 REFGUID guid, 1612 const IUnknown *object); 1613 1614 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 1615 IDXGISwapChain* This, 1616 REFGUID guid, 1617 UINT *data_size, 1618 void *data); 1619 1620 HRESULT (STDMETHODCALLTYPE *GetParent)( 1621 IDXGISwapChain* This, 1622 REFIID riid, 1623 void **parent); 1624 1625 /*** IDXGIDeviceSubObject methods ***/ 1626 HRESULT (STDMETHODCALLTYPE *GetDevice)( 1627 IDXGISwapChain* This, 1628 REFIID riid, 1629 void **device); 1630 1631 /*** IDXGISwapChain methods ***/ 1632 HRESULT (STDMETHODCALLTYPE *Present)( 1633 IDXGISwapChain* This, 1634 UINT sync_interval, 1635 UINT flags); 1636 1637 HRESULT (STDMETHODCALLTYPE *GetBuffer)( 1638 IDXGISwapChain* This, 1639 UINT buffer_idx, 1640 REFIID riid, 1641 void **surface); 1642 1643 HRESULT (STDMETHODCALLTYPE *SetFullscreenState)( 1644 IDXGISwapChain* This, 1645 WINBOOL fullscreen, 1646 IDXGIOutput *target); 1647 1648 HRESULT (STDMETHODCALLTYPE *GetFullscreenState)( 1649 IDXGISwapChain* This, 1650 WINBOOL *fullscreen, 1651 IDXGIOutput **target); 1652 1653 HRESULT (STDMETHODCALLTYPE *GetDesc)( 1654 IDXGISwapChain* This, 1655 DXGI_SWAP_CHAIN_DESC *desc); 1656 1657 HRESULT (STDMETHODCALLTYPE *ResizeBuffers)( 1658 IDXGISwapChain* This, 1659 UINT buffer_count, 1660 UINT width, 1661 UINT height, 1662 DXGI_FORMAT format, 1663 UINT flags); 1664 1665 HRESULT (STDMETHODCALLTYPE *ResizeTarget)( 1666 IDXGISwapChain* This, 1667 const DXGI_MODE_DESC *target_mode_desc); 1668 1669 HRESULT (STDMETHODCALLTYPE *GetContainingOutput)( 1670 IDXGISwapChain* This, 1671 IDXGIOutput **output); 1672 1673 HRESULT (STDMETHODCALLTYPE *GetFrameStatistics)( 1674 IDXGISwapChain* This, 1675 DXGI_FRAME_STATISTICS *stats); 1676 1677 HRESULT (STDMETHODCALLTYPE *GetLastPresentCount)( 1678 IDXGISwapChain* This, 1679 UINT *last_present_count); 1680 1681 END_INTERFACE 1682 } IDXGISwapChainVtbl; 1683 interface IDXGISwapChain { 1684 CONST_VTBL IDXGISwapChainVtbl* lpVtbl; 1685 }; 1686 1687 #ifdef COBJMACROS 1688 #ifndef WIDL_C_INLINE_WRAPPERS 1689 /*** IUnknown methods ***/ 1690 #define IDXGISwapChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1691 #define IDXGISwapChain_AddRef(This) (This)->lpVtbl->AddRef(This) 1692 #define IDXGISwapChain_Release(This) (This)->lpVtbl->Release(This) 1693 /*** IDXGIObject methods ***/ 1694 #define IDXGISwapChain_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 1695 #define IDXGISwapChain_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 1696 #define IDXGISwapChain_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 1697 #define IDXGISwapChain_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 1698 /*** IDXGIDeviceSubObject methods ***/ 1699 #define IDXGISwapChain_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device) 1700 /*** IDXGISwapChain methods ***/ 1701 #define IDXGISwapChain_Present(This,sync_interval,flags) (This)->lpVtbl->Present(This,sync_interval,flags) 1702 #define IDXGISwapChain_GetBuffer(This,buffer_idx,riid,surface) (This)->lpVtbl->GetBuffer(This,buffer_idx,riid,surface) 1703 #define IDXGISwapChain_SetFullscreenState(This,fullscreen,target) (This)->lpVtbl->SetFullscreenState(This,fullscreen,target) 1704 #define IDXGISwapChain_GetFullscreenState(This,fullscreen,target) (This)->lpVtbl->GetFullscreenState(This,fullscreen,target) 1705 #define IDXGISwapChain_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc) 1706 #define IDXGISwapChain_ResizeBuffers(This,buffer_count,width,height,format,flags) (This)->lpVtbl->ResizeBuffers(This,buffer_count,width,height,format,flags) 1707 #define IDXGISwapChain_ResizeTarget(This,target_mode_desc) (This)->lpVtbl->ResizeTarget(This,target_mode_desc) 1708 #define IDXGISwapChain_GetContainingOutput(This,output) (This)->lpVtbl->GetContainingOutput(This,output) 1709 #define IDXGISwapChain_GetFrameStatistics(This,stats) (This)->lpVtbl->GetFrameStatistics(This,stats) 1710 #define IDXGISwapChain_GetLastPresentCount(This,last_present_count) (This)->lpVtbl->GetLastPresentCount(This,last_present_count) 1711 #else 1712 /*** IUnknown methods ***/ 1713 static FORCEINLINE HRESULT IDXGISwapChain_QueryInterface(IDXGISwapChain* This,REFIID riid,void **ppvObject) { 1714 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1715 } 1716 static FORCEINLINE ULONG IDXGISwapChain_AddRef(IDXGISwapChain* This) { 1717 return This->lpVtbl->AddRef(This); 1718 } 1719 static FORCEINLINE ULONG IDXGISwapChain_Release(IDXGISwapChain* This) { 1720 return This->lpVtbl->Release(This); 1721 } 1722 /*** IDXGIObject methods ***/ 1723 static FORCEINLINE HRESULT IDXGISwapChain_SetPrivateData(IDXGISwapChain* This,REFGUID guid,UINT data_size,const void *data) { 1724 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 1725 } 1726 static FORCEINLINE HRESULT IDXGISwapChain_SetPrivateDataInterface(IDXGISwapChain* This,REFGUID guid,const IUnknown *object) { 1727 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 1728 } 1729 static FORCEINLINE HRESULT IDXGISwapChain_GetPrivateData(IDXGISwapChain* This,REFGUID guid,UINT *data_size,void *data) { 1730 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 1731 } 1732 static FORCEINLINE HRESULT IDXGISwapChain_GetParent(IDXGISwapChain* This,REFIID riid,void **parent) { 1733 return This->lpVtbl->GetParent(This,riid,parent); 1734 } 1735 /*** IDXGIDeviceSubObject methods ***/ 1736 static FORCEINLINE HRESULT IDXGISwapChain_GetDevice(IDXGISwapChain* This,REFIID riid,void **device) { 1737 return This->lpVtbl->GetDevice(This,riid,device); 1738 } 1739 /*** IDXGISwapChain methods ***/ 1740 static FORCEINLINE HRESULT IDXGISwapChain_Present(IDXGISwapChain* This,UINT sync_interval,UINT flags) { 1741 return This->lpVtbl->Present(This,sync_interval,flags); 1742 } 1743 static FORCEINLINE HRESULT IDXGISwapChain_GetBuffer(IDXGISwapChain* This,UINT buffer_idx,REFIID riid,void **surface) { 1744 return This->lpVtbl->GetBuffer(This,buffer_idx,riid,surface); 1745 } 1746 static FORCEINLINE HRESULT IDXGISwapChain_SetFullscreenState(IDXGISwapChain* This,WINBOOL fullscreen,IDXGIOutput *target) { 1747 return This->lpVtbl->SetFullscreenState(This,fullscreen,target); 1748 } 1749 static FORCEINLINE HRESULT IDXGISwapChain_GetFullscreenState(IDXGISwapChain* This,WINBOOL *fullscreen,IDXGIOutput **target) { 1750 return This->lpVtbl->GetFullscreenState(This,fullscreen,target); 1751 } 1752 static FORCEINLINE HRESULT IDXGISwapChain_GetDesc(IDXGISwapChain* This,DXGI_SWAP_CHAIN_DESC *desc) { 1753 return This->lpVtbl->GetDesc(This,desc); 1754 } 1755 static FORCEINLINE HRESULT IDXGISwapChain_ResizeBuffers(IDXGISwapChain* This,UINT buffer_count,UINT width,UINT height,DXGI_FORMAT format,UINT flags) { 1756 return This->lpVtbl->ResizeBuffers(This,buffer_count,width,height,format,flags); 1757 } 1758 static FORCEINLINE HRESULT IDXGISwapChain_ResizeTarget(IDXGISwapChain* This,const DXGI_MODE_DESC *target_mode_desc) { 1759 return This->lpVtbl->ResizeTarget(This,target_mode_desc); 1760 } 1761 static FORCEINLINE HRESULT IDXGISwapChain_GetContainingOutput(IDXGISwapChain* This,IDXGIOutput **output) { 1762 return This->lpVtbl->GetContainingOutput(This,output); 1763 } 1764 static FORCEINLINE HRESULT IDXGISwapChain_GetFrameStatistics(IDXGISwapChain* This,DXGI_FRAME_STATISTICS *stats) { 1765 return This->lpVtbl->GetFrameStatistics(This,stats); 1766 } 1767 static FORCEINLINE HRESULT IDXGISwapChain_GetLastPresentCount(IDXGISwapChain* This,UINT *last_present_count) { 1768 return This->lpVtbl->GetLastPresentCount(This,last_present_count); 1769 } 1770 #endif 1771 #endif 1772 1773 #endif 1774 1775 HRESULT STDMETHODCALLTYPE IDXGISwapChain_Present_Proxy( 1776 IDXGISwapChain* This, 1777 UINT sync_interval, 1778 UINT flags); 1779 void __RPC_STUB IDXGISwapChain_Present_Stub( 1780 IRpcStubBuffer* This, 1781 IRpcChannelBuffer* pRpcChannelBuffer, 1782 PRPC_MESSAGE pRpcMessage, 1783 DWORD* pdwStubPhase); 1784 HRESULT STDMETHODCALLTYPE IDXGISwapChain_GetBuffer_Proxy( 1785 IDXGISwapChain* This, 1786 UINT buffer_idx, 1787 REFIID riid, 1788 void **surface); 1789 void __RPC_STUB IDXGISwapChain_GetBuffer_Stub( 1790 IRpcStubBuffer* This, 1791 IRpcChannelBuffer* pRpcChannelBuffer, 1792 PRPC_MESSAGE pRpcMessage, 1793 DWORD* pdwStubPhase); 1794 HRESULT STDMETHODCALLTYPE IDXGISwapChain_SetFullscreenState_Proxy( 1795 IDXGISwapChain* This, 1796 WINBOOL fullscreen, 1797 IDXGIOutput *target); 1798 void __RPC_STUB IDXGISwapChain_SetFullscreenState_Stub( 1799 IRpcStubBuffer* This, 1800 IRpcChannelBuffer* pRpcChannelBuffer, 1801 PRPC_MESSAGE pRpcMessage, 1802 DWORD* pdwStubPhase); 1803 HRESULT STDMETHODCALLTYPE IDXGISwapChain_GetFullscreenState_Proxy( 1804 IDXGISwapChain* This, 1805 WINBOOL *fullscreen, 1806 IDXGIOutput **target); 1807 void __RPC_STUB IDXGISwapChain_GetFullscreenState_Stub( 1808 IRpcStubBuffer* This, 1809 IRpcChannelBuffer* pRpcChannelBuffer, 1810 PRPC_MESSAGE pRpcMessage, 1811 DWORD* pdwStubPhase); 1812 HRESULT STDMETHODCALLTYPE IDXGISwapChain_GetDesc_Proxy( 1813 IDXGISwapChain* This, 1814 DXGI_SWAP_CHAIN_DESC *desc); 1815 void __RPC_STUB IDXGISwapChain_GetDesc_Stub( 1816 IRpcStubBuffer* This, 1817 IRpcChannelBuffer* pRpcChannelBuffer, 1818 PRPC_MESSAGE pRpcMessage, 1819 DWORD* pdwStubPhase); 1820 HRESULT STDMETHODCALLTYPE IDXGISwapChain_ResizeBuffers_Proxy( 1821 IDXGISwapChain* This, 1822 UINT buffer_count, 1823 UINT width, 1824 UINT height, 1825 DXGI_FORMAT format, 1826 UINT flags); 1827 void __RPC_STUB IDXGISwapChain_ResizeBuffers_Stub( 1828 IRpcStubBuffer* This, 1829 IRpcChannelBuffer* pRpcChannelBuffer, 1830 PRPC_MESSAGE pRpcMessage, 1831 DWORD* pdwStubPhase); 1832 HRESULT STDMETHODCALLTYPE IDXGISwapChain_ResizeTarget_Proxy( 1833 IDXGISwapChain* This, 1834 const DXGI_MODE_DESC *target_mode_desc); 1835 void __RPC_STUB IDXGISwapChain_ResizeTarget_Stub( 1836 IRpcStubBuffer* This, 1837 IRpcChannelBuffer* pRpcChannelBuffer, 1838 PRPC_MESSAGE pRpcMessage, 1839 DWORD* pdwStubPhase); 1840 HRESULT STDMETHODCALLTYPE IDXGISwapChain_GetContainingOutput_Proxy( 1841 IDXGISwapChain* This, 1842 IDXGIOutput **output); 1843 void __RPC_STUB IDXGISwapChain_GetContainingOutput_Stub( 1844 IRpcStubBuffer* This, 1845 IRpcChannelBuffer* pRpcChannelBuffer, 1846 PRPC_MESSAGE pRpcMessage, 1847 DWORD* pdwStubPhase); 1848 HRESULT STDMETHODCALLTYPE IDXGISwapChain_GetFrameStatistics_Proxy( 1849 IDXGISwapChain* This, 1850 DXGI_FRAME_STATISTICS *stats); 1851 void __RPC_STUB IDXGISwapChain_GetFrameStatistics_Stub( 1852 IRpcStubBuffer* This, 1853 IRpcChannelBuffer* pRpcChannelBuffer, 1854 PRPC_MESSAGE pRpcMessage, 1855 DWORD* pdwStubPhase); 1856 HRESULT STDMETHODCALLTYPE IDXGISwapChain_GetLastPresentCount_Proxy( 1857 IDXGISwapChain* This, 1858 UINT *last_present_count); 1859 void __RPC_STUB IDXGISwapChain_GetLastPresentCount_Stub( 1860 IRpcStubBuffer* This, 1861 IRpcChannelBuffer* pRpcChannelBuffer, 1862 PRPC_MESSAGE pRpcMessage, 1863 DWORD* pdwStubPhase); 1864 1865 #endif /* __IDXGISwapChain_INTERFACE_DEFINED__ */ 1866 1867 #define DXGI_MWA_NO_WINDOW_CHANGES 0x1 1868 #define DXGI_MWA_NO_ALT_ENTER 0x2 1869 #define DXGI_MWA_NO_PRINT_SCREEN 0x4 1870 #define DXGI_MWA_VALID 0x7 1871 /***************************************************************************** 1872 * IDXGIFactory interface 1873 */ 1874 #ifndef __IDXGIFactory_INTERFACE_DEFINED__ 1875 #define __IDXGIFactory_INTERFACE_DEFINED__ 1876 1877 DEFINE_GUID(IID_IDXGIFactory, 0x7b7166ec, 0x21c7, 0x44ae, 0xb2,0x1a, 0xc9,0xae,0x32,0x1a,0xe3,0x69); 1878 #if defined(__cplusplus) && !defined(CINTERFACE) 1879 MIDL_INTERFACE("7b7166ec-21c7-44ae-b21a-c9ae321ae369") 1880 IDXGIFactory : public IDXGIObject 1881 { 1882 virtual HRESULT STDMETHODCALLTYPE EnumAdapters( 1883 UINT adapter_idx, 1884 IDXGIAdapter **adapter) = 0; 1885 1886 virtual HRESULT STDMETHODCALLTYPE MakeWindowAssociation( 1887 HWND window, 1888 UINT flags) = 0; 1889 1890 virtual HRESULT STDMETHODCALLTYPE GetWindowAssociation( 1891 HWND *window) = 0; 1892 1893 virtual HRESULT STDMETHODCALLTYPE CreateSwapChain( 1894 IUnknown *device, 1895 DXGI_SWAP_CHAIN_DESC *desc, 1896 IDXGISwapChain **swapchain) = 0; 1897 1898 virtual HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter( 1899 HMODULE swrast, 1900 IDXGIAdapter **adapter) = 0; 1901 1902 }; 1903 #ifdef __CRT_UUID_DECL 1904 __CRT_UUID_DECL(IDXGIFactory, 0x7b7166ec, 0x21c7, 0x44ae, 0xb2,0x1a, 0xc9,0xae,0x32,0x1a,0xe3,0x69) 1905 #endif 1906 #else 1907 typedef struct IDXGIFactoryVtbl { 1908 BEGIN_INTERFACE 1909 1910 /*** IUnknown methods ***/ 1911 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1912 IDXGIFactory* This, 1913 REFIID riid, 1914 void **ppvObject); 1915 1916 ULONG (STDMETHODCALLTYPE *AddRef)( 1917 IDXGIFactory* This); 1918 1919 ULONG (STDMETHODCALLTYPE *Release)( 1920 IDXGIFactory* This); 1921 1922 /*** IDXGIObject methods ***/ 1923 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 1924 IDXGIFactory* This, 1925 REFGUID guid, 1926 UINT data_size, 1927 const void *data); 1928 1929 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 1930 IDXGIFactory* This, 1931 REFGUID guid, 1932 const IUnknown *object); 1933 1934 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 1935 IDXGIFactory* This, 1936 REFGUID guid, 1937 UINT *data_size, 1938 void *data); 1939 1940 HRESULT (STDMETHODCALLTYPE *GetParent)( 1941 IDXGIFactory* This, 1942 REFIID riid, 1943 void **parent); 1944 1945 /*** IDXGIFactory methods ***/ 1946 HRESULT (STDMETHODCALLTYPE *EnumAdapters)( 1947 IDXGIFactory* This, 1948 UINT adapter_idx, 1949 IDXGIAdapter **adapter); 1950 1951 HRESULT (STDMETHODCALLTYPE *MakeWindowAssociation)( 1952 IDXGIFactory* This, 1953 HWND window, 1954 UINT flags); 1955 1956 HRESULT (STDMETHODCALLTYPE *GetWindowAssociation)( 1957 IDXGIFactory* This, 1958 HWND *window); 1959 1960 HRESULT (STDMETHODCALLTYPE *CreateSwapChain)( 1961 IDXGIFactory* This, 1962 IUnknown *device, 1963 DXGI_SWAP_CHAIN_DESC *desc, 1964 IDXGISwapChain **swapchain); 1965 1966 HRESULT (STDMETHODCALLTYPE *CreateSoftwareAdapter)( 1967 IDXGIFactory* This, 1968 HMODULE swrast, 1969 IDXGIAdapter **adapter); 1970 1971 END_INTERFACE 1972 } IDXGIFactoryVtbl; 1973 interface IDXGIFactory { 1974 CONST_VTBL IDXGIFactoryVtbl* lpVtbl; 1975 }; 1976 1977 #ifdef COBJMACROS 1978 #ifndef WIDL_C_INLINE_WRAPPERS 1979 /*** IUnknown methods ***/ 1980 #define IDXGIFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1981 #define IDXGIFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 1982 #define IDXGIFactory_Release(This) (This)->lpVtbl->Release(This) 1983 /*** IDXGIObject methods ***/ 1984 #define IDXGIFactory_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 1985 #define IDXGIFactory_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 1986 #define IDXGIFactory_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 1987 #define IDXGIFactory_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 1988 /*** IDXGIFactory methods ***/ 1989 #define IDXGIFactory_EnumAdapters(This,adapter_idx,adapter) (This)->lpVtbl->EnumAdapters(This,adapter_idx,adapter) 1990 #define IDXGIFactory_MakeWindowAssociation(This,window,flags) (This)->lpVtbl->MakeWindowAssociation(This,window,flags) 1991 #define IDXGIFactory_GetWindowAssociation(This,window) (This)->lpVtbl->GetWindowAssociation(This,window) 1992 #define IDXGIFactory_CreateSwapChain(This,device,desc,swapchain) (This)->lpVtbl->CreateSwapChain(This,device,desc,swapchain) 1993 #define IDXGIFactory_CreateSoftwareAdapter(This,swrast,adapter) (This)->lpVtbl->CreateSoftwareAdapter(This,swrast,adapter) 1994 #else 1995 /*** IUnknown methods ***/ 1996 static FORCEINLINE HRESULT IDXGIFactory_QueryInterface(IDXGIFactory* This,REFIID riid,void **ppvObject) { 1997 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1998 } 1999 static FORCEINLINE ULONG IDXGIFactory_AddRef(IDXGIFactory* This) { 2000 return This->lpVtbl->AddRef(This); 2001 } 2002 static FORCEINLINE ULONG IDXGIFactory_Release(IDXGIFactory* This) { 2003 return This->lpVtbl->Release(This); 2004 } 2005 /*** IDXGIObject methods ***/ 2006 static FORCEINLINE HRESULT IDXGIFactory_SetPrivateData(IDXGIFactory* This,REFGUID guid,UINT data_size,const void *data) { 2007 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 2008 } 2009 static FORCEINLINE HRESULT IDXGIFactory_SetPrivateDataInterface(IDXGIFactory* This,REFGUID guid,const IUnknown *object) { 2010 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 2011 } 2012 static FORCEINLINE HRESULT IDXGIFactory_GetPrivateData(IDXGIFactory* This,REFGUID guid,UINT *data_size,void *data) { 2013 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 2014 } 2015 static FORCEINLINE HRESULT IDXGIFactory_GetParent(IDXGIFactory* This,REFIID riid,void **parent) { 2016 return This->lpVtbl->GetParent(This,riid,parent); 2017 } 2018 /*** IDXGIFactory methods ***/ 2019 static FORCEINLINE HRESULT IDXGIFactory_EnumAdapters(IDXGIFactory* This,UINT adapter_idx,IDXGIAdapter **adapter) { 2020 return This->lpVtbl->EnumAdapters(This,adapter_idx,adapter); 2021 } 2022 static FORCEINLINE HRESULT IDXGIFactory_MakeWindowAssociation(IDXGIFactory* This,HWND window,UINT flags) { 2023 return This->lpVtbl->MakeWindowAssociation(This,window,flags); 2024 } 2025 static FORCEINLINE HRESULT IDXGIFactory_GetWindowAssociation(IDXGIFactory* This,HWND *window) { 2026 return This->lpVtbl->GetWindowAssociation(This,window); 2027 } 2028 static FORCEINLINE HRESULT IDXGIFactory_CreateSwapChain(IDXGIFactory* This,IUnknown *device,DXGI_SWAP_CHAIN_DESC *desc,IDXGISwapChain **swapchain) { 2029 return This->lpVtbl->CreateSwapChain(This,device,desc,swapchain); 2030 } 2031 static FORCEINLINE HRESULT IDXGIFactory_CreateSoftwareAdapter(IDXGIFactory* This,HMODULE swrast,IDXGIAdapter **adapter) { 2032 return This->lpVtbl->CreateSoftwareAdapter(This,swrast,adapter); 2033 } 2034 #endif 2035 #endif 2036 2037 #endif 2038 2039 HRESULT STDMETHODCALLTYPE IDXGIFactory_EnumAdapters_Proxy( 2040 IDXGIFactory* This, 2041 UINT adapter_idx, 2042 IDXGIAdapter **adapter); 2043 void __RPC_STUB IDXGIFactory_EnumAdapters_Stub( 2044 IRpcStubBuffer* This, 2045 IRpcChannelBuffer* pRpcChannelBuffer, 2046 PRPC_MESSAGE pRpcMessage, 2047 DWORD* pdwStubPhase); 2048 HRESULT STDMETHODCALLTYPE IDXGIFactory_MakeWindowAssociation_Proxy( 2049 IDXGIFactory* This, 2050 HWND window, 2051 UINT flags); 2052 void __RPC_STUB IDXGIFactory_MakeWindowAssociation_Stub( 2053 IRpcStubBuffer* This, 2054 IRpcChannelBuffer* pRpcChannelBuffer, 2055 PRPC_MESSAGE pRpcMessage, 2056 DWORD* pdwStubPhase); 2057 HRESULT STDMETHODCALLTYPE IDXGIFactory_GetWindowAssociation_Proxy( 2058 IDXGIFactory* This, 2059 HWND *window); 2060 void __RPC_STUB IDXGIFactory_GetWindowAssociation_Stub( 2061 IRpcStubBuffer* This, 2062 IRpcChannelBuffer* pRpcChannelBuffer, 2063 PRPC_MESSAGE pRpcMessage, 2064 DWORD* pdwStubPhase); 2065 HRESULT STDMETHODCALLTYPE IDXGIFactory_CreateSwapChain_Proxy( 2066 IDXGIFactory* This, 2067 IUnknown *device, 2068 DXGI_SWAP_CHAIN_DESC *desc, 2069 IDXGISwapChain **swapchain); 2070 void __RPC_STUB IDXGIFactory_CreateSwapChain_Stub( 2071 IRpcStubBuffer* This, 2072 IRpcChannelBuffer* pRpcChannelBuffer, 2073 PRPC_MESSAGE pRpcMessage, 2074 DWORD* pdwStubPhase); 2075 HRESULT STDMETHODCALLTYPE IDXGIFactory_CreateSoftwareAdapter_Proxy( 2076 IDXGIFactory* This, 2077 HMODULE swrast, 2078 IDXGIAdapter **adapter); 2079 void __RPC_STUB IDXGIFactory_CreateSoftwareAdapter_Stub( 2080 IRpcStubBuffer* This, 2081 IRpcChannelBuffer* pRpcChannelBuffer, 2082 PRPC_MESSAGE pRpcMessage, 2083 DWORD* pdwStubPhase); 2084 2085 #endif /* __IDXGIFactory_INTERFACE_DEFINED__ */ 2086 2087 HRESULT __stdcall CreateDXGIFactory(REFIID riid,void **factory); 2088 2089 /***************************************************************************** 2090 * IDXGIDevice interface 2091 */ 2092 #ifndef __IDXGIDevice_INTERFACE_DEFINED__ 2093 #define __IDXGIDevice_INTERFACE_DEFINED__ 2094 2095 DEFINE_GUID(IID_IDXGIDevice, 0x54ec77fa, 0x1377, 0x44e6, 0x8c,0x32, 0x88,0xfd,0x5f,0x44,0xc8,0x4c); 2096 #if defined(__cplusplus) && !defined(CINTERFACE) 2097 MIDL_INTERFACE("54ec77fa-1377-44e6-8c32-88fd5f44c84c") 2098 IDXGIDevice : public IDXGIObject 2099 { 2100 virtual HRESULT STDMETHODCALLTYPE GetAdapter( 2101 IDXGIAdapter **adapter) = 0; 2102 2103 virtual HRESULT STDMETHODCALLTYPE CreateSurface( 2104 const DXGI_SURFACE_DESC *desc, 2105 UINT surface_count, 2106 DXGI_USAGE usage, 2107 const DXGI_SHARED_RESOURCE *shared_resource, 2108 IDXGISurface **surface) = 0; 2109 2110 virtual HRESULT STDMETHODCALLTYPE QueryResourceResidency( 2111 IUnknown *const *resources, 2112 DXGI_RESIDENCY *residency, 2113 UINT resource_count) = 0; 2114 2115 virtual HRESULT STDMETHODCALLTYPE SetGPUThreadPriority( 2116 INT priority) = 0; 2117 2118 virtual HRESULT STDMETHODCALLTYPE GetGPUThreadPriority( 2119 INT *priority) = 0; 2120 2121 }; 2122 #ifdef __CRT_UUID_DECL 2123 __CRT_UUID_DECL(IDXGIDevice, 0x54ec77fa, 0x1377, 0x44e6, 0x8c,0x32, 0x88,0xfd,0x5f,0x44,0xc8,0x4c) 2124 #endif 2125 #else 2126 typedef struct IDXGIDeviceVtbl { 2127 BEGIN_INTERFACE 2128 2129 /*** IUnknown methods ***/ 2130 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2131 IDXGIDevice* This, 2132 REFIID riid, 2133 void **ppvObject); 2134 2135 ULONG (STDMETHODCALLTYPE *AddRef)( 2136 IDXGIDevice* This); 2137 2138 ULONG (STDMETHODCALLTYPE *Release)( 2139 IDXGIDevice* This); 2140 2141 /*** IDXGIObject methods ***/ 2142 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 2143 IDXGIDevice* This, 2144 REFGUID guid, 2145 UINT data_size, 2146 const void *data); 2147 2148 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 2149 IDXGIDevice* This, 2150 REFGUID guid, 2151 const IUnknown *object); 2152 2153 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 2154 IDXGIDevice* This, 2155 REFGUID guid, 2156 UINT *data_size, 2157 void *data); 2158 2159 HRESULT (STDMETHODCALLTYPE *GetParent)( 2160 IDXGIDevice* This, 2161 REFIID riid, 2162 void **parent); 2163 2164 /*** IDXGIDevice methods ***/ 2165 HRESULT (STDMETHODCALLTYPE *GetAdapter)( 2166 IDXGIDevice* This, 2167 IDXGIAdapter **adapter); 2168 2169 HRESULT (STDMETHODCALLTYPE *CreateSurface)( 2170 IDXGIDevice* This, 2171 const DXGI_SURFACE_DESC *desc, 2172 UINT surface_count, 2173 DXGI_USAGE usage, 2174 const DXGI_SHARED_RESOURCE *shared_resource, 2175 IDXGISurface **surface); 2176 2177 HRESULT (STDMETHODCALLTYPE *QueryResourceResidency)( 2178 IDXGIDevice* This, 2179 IUnknown *const *resources, 2180 DXGI_RESIDENCY *residency, 2181 UINT resource_count); 2182 2183 HRESULT (STDMETHODCALLTYPE *SetGPUThreadPriority)( 2184 IDXGIDevice* This, 2185 INT priority); 2186 2187 HRESULT (STDMETHODCALLTYPE *GetGPUThreadPriority)( 2188 IDXGIDevice* This, 2189 INT *priority); 2190 2191 END_INTERFACE 2192 } IDXGIDeviceVtbl; 2193 interface IDXGIDevice { 2194 CONST_VTBL IDXGIDeviceVtbl* lpVtbl; 2195 }; 2196 2197 #ifdef COBJMACROS 2198 #ifndef WIDL_C_INLINE_WRAPPERS 2199 /*** IUnknown methods ***/ 2200 #define IDXGIDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2201 #define IDXGIDevice_AddRef(This) (This)->lpVtbl->AddRef(This) 2202 #define IDXGIDevice_Release(This) (This)->lpVtbl->Release(This) 2203 /*** IDXGIObject methods ***/ 2204 #define IDXGIDevice_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 2205 #define IDXGIDevice_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 2206 #define IDXGIDevice_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 2207 #define IDXGIDevice_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 2208 /*** IDXGIDevice methods ***/ 2209 #define IDXGIDevice_GetAdapter(This,adapter) (This)->lpVtbl->GetAdapter(This,adapter) 2210 #define IDXGIDevice_CreateSurface(This,desc,surface_count,usage,shared_resource,surface) (This)->lpVtbl->CreateSurface(This,desc,surface_count,usage,shared_resource,surface) 2211 #define IDXGIDevice_QueryResourceResidency(This,resources,residency,resource_count) (This)->lpVtbl->QueryResourceResidency(This,resources,residency,resource_count) 2212 #define IDXGIDevice_SetGPUThreadPriority(This,priority) (This)->lpVtbl->SetGPUThreadPriority(This,priority) 2213 #define IDXGIDevice_GetGPUThreadPriority(This,priority) (This)->lpVtbl->GetGPUThreadPriority(This,priority) 2214 #else 2215 /*** IUnknown methods ***/ 2216 static FORCEINLINE HRESULT IDXGIDevice_QueryInterface(IDXGIDevice* This,REFIID riid,void **ppvObject) { 2217 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2218 } 2219 static FORCEINLINE ULONG IDXGIDevice_AddRef(IDXGIDevice* This) { 2220 return This->lpVtbl->AddRef(This); 2221 } 2222 static FORCEINLINE ULONG IDXGIDevice_Release(IDXGIDevice* This) { 2223 return This->lpVtbl->Release(This); 2224 } 2225 /*** IDXGIObject methods ***/ 2226 static FORCEINLINE HRESULT IDXGIDevice_SetPrivateData(IDXGIDevice* This,REFGUID guid,UINT data_size,const void *data) { 2227 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 2228 } 2229 static FORCEINLINE HRESULT IDXGIDevice_SetPrivateDataInterface(IDXGIDevice* This,REFGUID guid,const IUnknown *object) { 2230 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 2231 } 2232 static FORCEINLINE HRESULT IDXGIDevice_GetPrivateData(IDXGIDevice* This,REFGUID guid,UINT *data_size,void *data) { 2233 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 2234 } 2235 static FORCEINLINE HRESULT IDXGIDevice_GetParent(IDXGIDevice* This,REFIID riid,void **parent) { 2236 return This->lpVtbl->GetParent(This,riid,parent); 2237 } 2238 /*** IDXGIDevice methods ***/ 2239 static FORCEINLINE HRESULT IDXGIDevice_GetAdapter(IDXGIDevice* This,IDXGIAdapter **adapter) { 2240 return This->lpVtbl->GetAdapter(This,adapter); 2241 } 2242 static FORCEINLINE HRESULT IDXGIDevice_CreateSurface(IDXGIDevice* This,const DXGI_SURFACE_DESC *desc,UINT surface_count,DXGI_USAGE usage,const DXGI_SHARED_RESOURCE *shared_resource,IDXGISurface **surface) { 2243 return This->lpVtbl->CreateSurface(This,desc,surface_count,usage,shared_resource,surface); 2244 } 2245 static FORCEINLINE HRESULT IDXGIDevice_QueryResourceResidency(IDXGIDevice* This,IUnknown *const *resources,DXGI_RESIDENCY *residency,UINT resource_count) { 2246 return This->lpVtbl->QueryResourceResidency(This,resources,residency,resource_count); 2247 } 2248 static FORCEINLINE HRESULT IDXGIDevice_SetGPUThreadPriority(IDXGIDevice* This,INT priority) { 2249 return This->lpVtbl->SetGPUThreadPriority(This,priority); 2250 } 2251 static FORCEINLINE HRESULT IDXGIDevice_GetGPUThreadPriority(IDXGIDevice* This,INT *priority) { 2252 return This->lpVtbl->GetGPUThreadPriority(This,priority); 2253 } 2254 #endif 2255 #endif 2256 2257 #endif 2258 2259 HRESULT STDMETHODCALLTYPE IDXGIDevice_GetAdapter_Proxy( 2260 IDXGIDevice* This, 2261 IDXGIAdapter **adapter); 2262 void __RPC_STUB IDXGIDevice_GetAdapter_Stub( 2263 IRpcStubBuffer* This, 2264 IRpcChannelBuffer* pRpcChannelBuffer, 2265 PRPC_MESSAGE pRpcMessage, 2266 DWORD* pdwStubPhase); 2267 HRESULT STDMETHODCALLTYPE IDXGIDevice_CreateSurface_Proxy( 2268 IDXGIDevice* This, 2269 const DXGI_SURFACE_DESC *desc, 2270 UINT surface_count, 2271 DXGI_USAGE usage, 2272 const DXGI_SHARED_RESOURCE *shared_resource, 2273 IDXGISurface **surface); 2274 void __RPC_STUB IDXGIDevice_CreateSurface_Stub( 2275 IRpcStubBuffer* This, 2276 IRpcChannelBuffer* pRpcChannelBuffer, 2277 PRPC_MESSAGE pRpcMessage, 2278 DWORD* pdwStubPhase); 2279 HRESULT STDMETHODCALLTYPE IDXGIDevice_QueryResourceResidency_Proxy( 2280 IDXGIDevice* This, 2281 IUnknown *const *resources, 2282 DXGI_RESIDENCY *residency, 2283 UINT resource_count); 2284 void __RPC_STUB IDXGIDevice_QueryResourceResidency_Stub( 2285 IRpcStubBuffer* This, 2286 IRpcChannelBuffer* pRpcChannelBuffer, 2287 PRPC_MESSAGE pRpcMessage, 2288 DWORD* pdwStubPhase); 2289 HRESULT STDMETHODCALLTYPE IDXGIDevice_SetGPUThreadPriority_Proxy( 2290 IDXGIDevice* This, 2291 INT priority); 2292 void __RPC_STUB IDXGIDevice_SetGPUThreadPriority_Stub( 2293 IRpcStubBuffer* This, 2294 IRpcChannelBuffer* pRpcChannelBuffer, 2295 PRPC_MESSAGE pRpcMessage, 2296 DWORD* pdwStubPhase); 2297 HRESULT STDMETHODCALLTYPE IDXGIDevice_GetGPUThreadPriority_Proxy( 2298 IDXGIDevice* This, 2299 INT *priority); 2300 void __RPC_STUB IDXGIDevice_GetGPUThreadPriority_Stub( 2301 IRpcStubBuffer* This, 2302 IRpcChannelBuffer* pRpcChannelBuffer, 2303 PRPC_MESSAGE pRpcMessage, 2304 DWORD* pdwStubPhase); 2305 2306 #endif /* __IDXGIDevice_INTERFACE_DEFINED__ */ 2307 2308 typedef enum DXGI_ADAPTER_FLAG { 2309 DXGI_ADAPTER_FLAG_NONE = 0, 2310 DXGI_ADAPTER_FLAG_REMOTE = 1, 2311 DXGI_ADAPTER_FLAG_FORCE_DWORD = 0xffffffff 2312 } DXGI_ADAPTER_FLAG; 2313 typedef struct DXGI_ADAPTER_DESC1 { 2314 WCHAR Description[128]; 2315 UINT VendorId; 2316 UINT DeviceId; 2317 UINT SubSysId; 2318 UINT Revision; 2319 SIZE_T DedicatedVideoMemory; 2320 SIZE_T DedicatedSystemMemory; 2321 SIZE_T SharedSystemMemory; 2322 LUID AdapterLuid; 2323 UINT Flags; 2324 } DXGI_ADAPTER_DESC1; 2325 /***************************************************************************** 2326 * IDXGIAdapter1 interface 2327 */ 2328 #ifndef __IDXGIAdapter1_INTERFACE_DEFINED__ 2329 #define __IDXGIAdapter1_INTERFACE_DEFINED__ 2330 2331 DEFINE_GUID(IID_IDXGIAdapter1, 0x29038f61, 0x3839, 0x4626, 0x91,0xfd, 0x08,0x68,0x79,0x01,0x1a,0x05); 2332 #if defined(__cplusplus) && !defined(CINTERFACE) 2333 MIDL_INTERFACE("29038f61-3839-4626-91fd-086879011a05") 2334 IDXGIAdapter1 : public IDXGIAdapter 2335 { 2336 virtual HRESULT STDMETHODCALLTYPE GetDesc1( 2337 DXGI_ADAPTER_DESC1 *pDesc) = 0; 2338 2339 }; 2340 #ifdef __CRT_UUID_DECL 2341 __CRT_UUID_DECL(IDXGIAdapter1, 0x29038f61, 0x3839, 0x4626, 0x91,0xfd, 0x08,0x68,0x79,0x01,0x1a,0x05) 2342 #endif 2343 #else 2344 typedef struct IDXGIAdapter1Vtbl { 2345 BEGIN_INTERFACE 2346 2347 /*** IUnknown methods ***/ 2348 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2349 IDXGIAdapter1* This, 2350 REFIID riid, 2351 void **ppvObject); 2352 2353 ULONG (STDMETHODCALLTYPE *AddRef)( 2354 IDXGIAdapter1* This); 2355 2356 ULONG (STDMETHODCALLTYPE *Release)( 2357 IDXGIAdapter1* This); 2358 2359 /*** IDXGIObject methods ***/ 2360 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 2361 IDXGIAdapter1* This, 2362 REFGUID guid, 2363 UINT data_size, 2364 const void *data); 2365 2366 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 2367 IDXGIAdapter1* This, 2368 REFGUID guid, 2369 const IUnknown *object); 2370 2371 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 2372 IDXGIAdapter1* This, 2373 REFGUID guid, 2374 UINT *data_size, 2375 void *data); 2376 2377 HRESULT (STDMETHODCALLTYPE *GetParent)( 2378 IDXGIAdapter1* This, 2379 REFIID riid, 2380 void **parent); 2381 2382 /*** IDXGIAdapter methods ***/ 2383 HRESULT (STDMETHODCALLTYPE *EnumOutputs)( 2384 IDXGIAdapter1* This, 2385 UINT output_idx, 2386 IDXGIOutput **output); 2387 2388 HRESULT (STDMETHODCALLTYPE *GetDesc)( 2389 IDXGIAdapter1* This, 2390 DXGI_ADAPTER_DESC *desc); 2391 2392 HRESULT (STDMETHODCALLTYPE *CheckInterfaceSupport)( 2393 IDXGIAdapter1* This, 2394 REFGUID guid, 2395 LARGE_INTEGER *umd_version); 2396 2397 /*** IDXGIAdapter1 methods ***/ 2398 HRESULT (STDMETHODCALLTYPE *GetDesc1)( 2399 IDXGIAdapter1* This, 2400 DXGI_ADAPTER_DESC1 *pDesc); 2401 2402 END_INTERFACE 2403 } IDXGIAdapter1Vtbl; 2404 interface IDXGIAdapter1 { 2405 CONST_VTBL IDXGIAdapter1Vtbl* lpVtbl; 2406 }; 2407 2408 #ifdef COBJMACROS 2409 #ifndef WIDL_C_INLINE_WRAPPERS 2410 /*** IUnknown methods ***/ 2411 #define IDXGIAdapter1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2412 #define IDXGIAdapter1_AddRef(This) (This)->lpVtbl->AddRef(This) 2413 #define IDXGIAdapter1_Release(This) (This)->lpVtbl->Release(This) 2414 /*** IDXGIObject methods ***/ 2415 #define IDXGIAdapter1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 2416 #define IDXGIAdapter1_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 2417 #define IDXGIAdapter1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 2418 #define IDXGIAdapter1_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 2419 /*** IDXGIAdapter methods ***/ 2420 #define IDXGIAdapter1_EnumOutputs(This,output_idx,output) (This)->lpVtbl->EnumOutputs(This,output_idx,output) 2421 #define IDXGIAdapter1_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc) 2422 #define IDXGIAdapter1_CheckInterfaceSupport(This,guid,umd_version) (This)->lpVtbl->CheckInterfaceSupport(This,guid,umd_version) 2423 /*** IDXGIAdapter1 methods ***/ 2424 #define IDXGIAdapter1_GetDesc1(This,pDesc) (This)->lpVtbl->GetDesc1(This,pDesc) 2425 #else 2426 /*** IUnknown methods ***/ 2427 static FORCEINLINE HRESULT IDXGIAdapter1_QueryInterface(IDXGIAdapter1* This,REFIID riid,void **ppvObject) { 2428 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2429 } 2430 static FORCEINLINE ULONG IDXGIAdapter1_AddRef(IDXGIAdapter1* This) { 2431 return This->lpVtbl->AddRef(This); 2432 } 2433 static FORCEINLINE ULONG IDXGIAdapter1_Release(IDXGIAdapter1* This) { 2434 return This->lpVtbl->Release(This); 2435 } 2436 /*** IDXGIObject methods ***/ 2437 static FORCEINLINE HRESULT IDXGIAdapter1_SetPrivateData(IDXGIAdapter1* This,REFGUID guid,UINT data_size,const void *data) { 2438 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 2439 } 2440 static FORCEINLINE HRESULT IDXGIAdapter1_SetPrivateDataInterface(IDXGIAdapter1* This,REFGUID guid,const IUnknown *object) { 2441 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 2442 } 2443 static FORCEINLINE HRESULT IDXGIAdapter1_GetPrivateData(IDXGIAdapter1* This,REFGUID guid,UINT *data_size,void *data) { 2444 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 2445 } 2446 static FORCEINLINE HRESULT IDXGIAdapter1_GetParent(IDXGIAdapter1* This,REFIID riid,void **parent) { 2447 return This->lpVtbl->GetParent(This,riid,parent); 2448 } 2449 /*** IDXGIAdapter methods ***/ 2450 static FORCEINLINE HRESULT IDXGIAdapter1_EnumOutputs(IDXGIAdapter1* This,UINT output_idx,IDXGIOutput **output) { 2451 return This->lpVtbl->EnumOutputs(This,output_idx,output); 2452 } 2453 static FORCEINLINE HRESULT IDXGIAdapter1_GetDesc(IDXGIAdapter1* This,DXGI_ADAPTER_DESC *desc) { 2454 return This->lpVtbl->GetDesc(This,desc); 2455 } 2456 static FORCEINLINE HRESULT IDXGIAdapter1_CheckInterfaceSupport(IDXGIAdapter1* This,REFGUID guid,LARGE_INTEGER *umd_version) { 2457 return This->lpVtbl->CheckInterfaceSupport(This,guid,umd_version); 2458 } 2459 /*** IDXGIAdapter1 methods ***/ 2460 static FORCEINLINE HRESULT IDXGIAdapter1_GetDesc1(IDXGIAdapter1* This,DXGI_ADAPTER_DESC1 *pDesc) { 2461 return This->lpVtbl->GetDesc1(This,pDesc); 2462 } 2463 #endif 2464 #endif 2465 2466 #endif 2467 2468 HRESULT STDMETHODCALLTYPE IDXGIAdapter1_GetDesc1_Proxy( 2469 IDXGIAdapter1* This, 2470 DXGI_ADAPTER_DESC1 *pDesc); 2471 void __RPC_STUB IDXGIAdapter1_GetDesc1_Stub( 2472 IRpcStubBuffer* This, 2473 IRpcChannelBuffer* pRpcChannelBuffer, 2474 PRPC_MESSAGE pRpcMessage, 2475 DWORD* pdwStubPhase); 2476 2477 #endif /* __IDXGIAdapter1_INTERFACE_DEFINED__ */ 2478 2479 /***************************************************************************** 2480 * IDXGIFactory1 interface 2481 */ 2482 #ifndef __IDXGIFactory1_INTERFACE_DEFINED__ 2483 #define __IDXGIFactory1_INTERFACE_DEFINED__ 2484 2485 DEFINE_GUID(IID_IDXGIFactory1, 0x770aae78, 0xf26f, 0x4dba, 0xa8,0x29, 0x25,0x3c,0x83,0xd1,0xb3,0x87); 2486 #if defined(__cplusplus) && !defined(CINTERFACE) 2487 MIDL_INTERFACE("770aae78-f26f-4dba-a829-253c83d1b387") 2488 IDXGIFactory1 : public IDXGIFactory 2489 { 2490 virtual HRESULT STDMETHODCALLTYPE EnumAdapters1( 2491 UINT Adapter, 2492 IDXGIAdapter1 **ppAdapter) = 0; 2493 2494 virtual WINBOOL STDMETHODCALLTYPE IsCurrent( 2495 ) = 0; 2496 2497 }; 2498 #ifdef __CRT_UUID_DECL 2499 __CRT_UUID_DECL(IDXGIFactory1, 0x770aae78, 0xf26f, 0x4dba, 0xa8,0x29, 0x25,0x3c,0x83,0xd1,0xb3,0x87) 2500 #endif 2501 #else 2502 typedef struct IDXGIFactory1Vtbl { 2503 BEGIN_INTERFACE 2504 2505 /*** IUnknown methods ***/ 2506 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2507 IDXGIFactory1* This, 2508 REFIID riid, 2509 void **ppvObject); 2510 2511 ULONG (STDMETHODCALLTYPE *AddRef)( 2512 IDXGIFactory1* This); 2513 2514 ULONG (STDMETHODCALLTYPE *Release)( 2515 IDXGIFactory1* This); 2516 2517 /*** IDXGIObject methods ***/ 2518 HRESULT (STDMETHODCALLTYPE *SetPrivateData)( 2519 IDXGIFactory1* This, 2520 REFGUID guid, 2521 UINT data_size, 2522 const void *data); 2523 2524 HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)( 2525 IDXGIFactory1* This, 2526 REFGUID guid, 2527 const IUnknown *object); 2528 2529 HRESULT (STDMETHODCALLTYPE *GetPrivateData)( 2530 IDXGIFactory1* This, 2531 REFGUID guid, 2532 UINT *data_size, 2533 void *data); 2534 2535 HRESULT (STDMETHODCALLTYPE *GetParent)( 2536 IDXGIFactory1* This, 2537 REFIID riid, 2538 void **parent); 2539 2540 /*** IDXGIFactory methods ***/ 2541 HRESULT (STDMETHODCALLTYPE *EnumAdapters)( 2542 IDXGIFactory1* This, 2543 UINT adapter_idx, 2544 IDXGIAdapter **adapter); 2545 2546 HRESULT (STDMETHODCALLTYPE *MakeWindowAssociation)( 2547 IDXGIFactory1* This, 2548 HWND window, 2549 UINT flags); 2550 2551 HRESULT (STDMETHODCALLTYPE *GetWindowAssociation)( 2552 IDXGIFactory1* This, 2553 HWND *window); 2554 2555 HRESULT (STDMETHODCALLTYPE *CreateSwapChain)( 2556 IDXGIFactory1* This, 2557 IUnknown *device, 2558 DXGI_SWAP_CHAIN_DESC *desc, 2559 IDXGISwapChain **swapchain); 2560 2561 HRESULT (STDMETHODCALLTYPE *CreateSoftwareAdapter)( 2562 IDXGIFactory1* This, 2563 HMODULE swrast, 2564 IDXGIAdapter **adapter); 2565 2566 /*** IDXGIFactory1 methods ***/ 2567 HRESULT (STDMETHODCALLTYPE *EnumAdapters1)( 2568 IDXGIFactory1* This, 2569 UINT Adapter, 2570 IDXGIAdapter1 **ppAdapter); 2571 2572 WINBOOL (STDMETHODCALLTYPE *IsCurrent)( 2573 IDXGIFactory1* This); 2574 2575 END_INTERFACE 2576 } IDXGIFactory1Vtbl; 2577 interface IDXGIFactory1 { 2578 CONST_VTBL IDXGIFactory1Vtbl* lpVtbl; 2579 }; 2580 2581 #ifdef COBJMACROS 2582 #ifndef WIDL_C_INLINE_WRAPPERS 2583 /*** IUnknown methods ***/ 2584 #define IDXGIFactory1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2585 #define IDXGIFactory1_AddRef(This) (This)->lpVtbl->AddRef(This) 2586 #define IDXGIFactory1_Release(This) (This)->lpVtbl->Release(This) 2587 /*** IDXGIObject methods ***/ 2588 #define IDXGIFactory1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data) 2589 #define IDXGIFactory1_SetPrivateDataInterface(This,guid,object) (This)->lpVtbl->SetPrivateDataInterface(This,guid,object) 2590 #define IDXGIFactory1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data) 2591 #define IDXGIFactory1_GetParent(This,riid,parent) (This)->lpVtbl->GetParent(This,riid,parent) 2592 /*** IDXGIFactory methods ***/ 2593 #define IDXGIFactory1_EnumAdapters(This,adapter_idx,adapter) (This)->lpVtbl->EnumAdapters(This,adapter_idx,adapter) 2594 #define IDXGIFactory1_MakeWindowAssociation(This,window,flags) (This)->lpVtbl->MakeWindowAssociation(This,window,flags) 2595 #define IDXGIFactory1_GetWindowAssociation(This,window) (This)->lpVtbl->GetWindowAssociation(This,window) 2596 #define IDXGIFactory1_CreateSwapChain(This,device,desc,swapchain) (This)->lpVtbl->CreateSwapChain(This,device,desc,swapchain) 2597 #define IDXGIFactory1_CreateSoftwareAdapter(This,swrast,adapter) (This)->lpVtbl->CreateSoftwareAdapter(This,swrast,adapter) 2598 /*** IDXGIFactory1 methods ***/ 2599 #define IDXGIFactory1_EnumAdapters1(This,Adapter,ppAdapter) (This)->lpVtbl->EnumAdapters1(This,Adapter,ppAdapter) 2600 #define IDXGIFactory1_IsCurrent(This) (This)->lpVtbl->IsCurrent(This) 2601 #else 2602 /*** IUnknown methods ***/ 2603 static FORCEINLINE HRESULT IDXGIFactory1_QueryInterface(IDXGIFactory1* This,REFIID riid,void **ppvObject) { 2604 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2605 } 2606 static FORCEINLINE ULONG IDXGIFactory1_AddRef(IDXGIFactory1* This) { 2607 return This->lpVtbl->AddRef(This); 2608 } 2609 static FORCEINLINE ULONG IDXGIFactory1_Release(IDXGIFactory1* This) { 2610 return This->lpVtbl->Release(This); 2611 } 2612 /*** IDXGIObject methods ***/ 2613 static FORCEINLINE HRESULT IDXGIFactory1_SetPrivateData(IDXGIFactory1* This,REFGUID guid,UINT data_size,const void *data) { 2614 return This->lpVtbl->SetPrivateData(This,guid,data_size,data); 2615 } 2616 static FORCEINLINE HRESULT IDXGIFactory1_SetPrivateDataInterface(IDXGIFactory1* This,REFGUID guid,const IUnknown *object) { 2617 return This->lpVtbl->SetPrivateDataInterface(This,guid,object); 2618 } 2619 static FORCEINLINE HRESULT IDXGIFactory1_GetPrivateData(IDXGIFactory1* This,REFGUID guid,UINT *data_size,void *data) { 2620 return This->lpVtbl->GetPrivateData(This,guid,data_size,data); 2621 } 2622 static FORCEINLINE HRESULT IDXGIFactory1_GetParent(IDXGIFactory1* This,REFIID riid,void **parent) { 2623 return This->lpVtbl->GetParent(This,riid,parent); 2624 } 2625 /*** IDXGIFactory methods ***/ 2626 static FORCEINLINE HRESULT IDXGIFactory1_EnumAdapters(IDXGIFactory1* This,UINT adapter_idx,IDXGIAdapter **adapter) { 2627 return This->lpVtbl->EnumAdapters(This,adapter_idx,adapter); 2628 } 2629 static FORCEINLINE HRESULT IDXGIFactory1_MakeWindowAssociation(IDXGIFactory1* This,HWND window,UINT flags) { 2630 return This->lpVtbl->MakeWindowAssociation(This,window,flags); 2631 } 2632 static FORCEINLINE HRESULT IDXGIFactory1_GetWindowAssociation(IDXGIFactory1* This,HWND *window) { 2633 return This->lpVtbl->GetWindowAssociation(This,window); 2634 } 2635 static FORCEINLINE HRESULT IDXGIFactory1_CreateSwapChain(IDXGIFactory1* This,IUnknown *device,DXGI_SWAP_CHAIN_DESC *desc,IDXGISwapChain **swapchain) { 2636 return This->lpVtbl->CreateSwapChain(This,device,desc,swapchain); 2637 } 2638 static FORCEINLINE HRESULT IDXGIFactory1_CreateSoftwareAdapter(IDXGIFactory1* This,HMODULE swrast,IDXGIAdapter **adapter) { 2639 return This->lpVtbl->CreateSoftwareAdapter(This,swrast,adapter); 2640 } 2641 /*** IDXGIFactory1 methods ***/ 2642 static FORCEINLINE HRESULT IDXGIFactory1_EnumAdapters1(IDXGIFactory1* This,UINT Adapter,IDXGIAdapter1 **ppAdapter) { 2643 return This->lpVtbl->EnumAdapters1(This,Adapter,ppAdapter); 2644 } 2645 static FORCEINLINE WINBOOL IDXGIFactory1_IsCurrent(IDXGIFactory1* This) { 2646 return This->lpVtbl->IsCurrent(This); 2647 } 2648 #endif 2649 #endif 2650 2651 #endif 2652 2653 HRESULT STDMETHODCALLTYPE IDXGIFactory1_EnumAdapters1_Proxy( 2654 IDXGIFactory1* This, 2655 UINT Adapter, 2656 IDXGIAdapter1 **ppAdapter); 2657 void __RPC_STUB IDXGIFactory1_EnumAdapters1_Stub( 2658 IRpcStubBuffer* This, 2659 IRpcChannelBuffer* pRpcChannelBuffer, 2660 PRPC_MESSAGE pRpcMessage, 2661 DWORD* pdwStubPhase); 2662 WINBOOL STDMETHODCALLTYPE IDXGIFactory1_IsCurrent_Proxy( 2663 IDXGIFactory1* This); 2664 void __RPC_STUB IDXGIFactory1_IsCurrent_Stub( 2665 IRpcStubBuffer* This, 2666 IRpcChannelBuffer* pRpcChannelBuffer, 2667 PRPC_MESSAGE pRpcMessage, 2668 DWORD* pdwStubPhase); 2669 2670 #endif /* __IDXGIFactory1_INTERFACE_DEFINED__ */ 2671 2672 /* Begin additional prototypes for all interfaces */ 2673 2674 2675 /* End additional prototypes */ 2676 2677 #ifdef __cplusplus 2678 } 2679 #endif 2680 2681 #endif /* __dxgi_h__ */ 2682