ReactOS 0.4.17-dev-934-g091855f
dxgi1_2.idl
Go to the documentation of this file.
1/*
2 * Copyright 2014 Jacek Caban for CodeWeavers
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19import "dxgi.idl";
20
23
26
32
33typedef enum DXGI_ALPHA_MODE {
40
42{
46
47typedef struct DXGI_OUTDUPL_DESC
48{
53
55{
59
61{
66
68{
75
77{
87
88typedef struct DXGI_MODE_DESC1
89{
98
99[
100 object,
101 uuid(191cfac3-a341-470d-b26e-a864f428319c),
102 local,
104]
106{
109 );
110
112 [in] UINT timeout_in_milliseconds,
114 [out] IDXGIResource **desktop_resource
115 );
116
118 [in] UINT dirty_rects_buffer_size,
119 [out] RECT *dirty_rects_buffer,
120 [out] UINT *dirty_rects_buffer_size_required
121 );
122
124 [in] UINT move_rects_buffer_size,
125 [out] DXGI_OUTDUPL_MOVE_RECT *move_rect_buffer,
126 [out] UINT *move_rects_buffer_size_required
127 );
128
130 [in] UINT pointer_shape_buffer_size,
131 [out] void *pointer_shape_buffer,
132 [out] UINT *pointer_shape_buffer_size_required,
133 [out] DXGI_OUTDUPL_POINTER_SHAPE_INFO *pointer_shape_info
134 );
135
137 [out] DXGI_MAPPED_RECT *locked_rect
138 );
139
141
143}
144
145[
146 object,
147 uuid(aba496dd-b617-4cb8-a866-bc44d7eb1fa2),
148 local,
150]
152{
154 [in] REFIID iid,
155 [out] void **parent_resource,
156 [out] UINT *subresource_idx
157 );
158}
159
160[
161 object,
162 uuid(30961379-4609-4a41-998e-54fe567ee0c1),
163 local,
165]
167{
169 UINT index,
170 [out] IDXGISurface2 **surface
171 );
174 [in] DWORD access,
175 [in] const WCHAR *name,
176 [out] HANDLE *handle
177 );
178}
179
180[
181 object,
182 uuid(ea9dbf1a-c88e-4486-854a-98aa0138f30c),
183 local,
185]
187{
190}
191
192[
193 object,
194 uuid(05008617-fbfd-4051-a790-144884b4f6a9),
195 local,
197]
198interface IDXGIDevice2 : IDXGIDevice1
199{
201 [in] UINT NumResources,
202 [in, size_is(NumResources)] IDXGIResource *const *ppResources,
204
206 [in] UINT NumResources,
207 [in, size_is(NumResources)] IDXGIResource *const *ppResources,
208 [out, size_is(NumResources)] BOOL *pDiscarded);
209
211 [in] HANDLE hEvent);
212}
213
214typedef enum DXGI_SCALING {
215 DXGI_SCALING_STRETCH = 0,
219
220typedef struct DXGI_SWAP_CHAIN_DESC1 {
233
240
247
248[
249 object,
250 uuid(790a45f7-0d42-4876-983a-0a55cfe6f4aa),
251 local,
253]
255{
257 [out] DXGI_SWAP_CHAIN_DESC1 *pDesc);
258
261
263 [out] HWND *pHwnd);
264
266 [in] REFIID refiid,
267 [out] void **ppUnk);
268
270 [in] UINT SyncInterval,
271 [in] UINT PresentFlags,
272 [in] const DXGI_PRESENT_PARAMETERS *pPresentParameters);
273
275
277 [out] IDXGIOutput **ppRestrictToOutput);
278
280 [in] const DXGI_RGBA *pColor);
281
283 [out] DXGI_RGBA *pColor);
284
286 [in] DXGI_MODE_ROTATION Rotation);
287
289 [out] DXGI_MODE_ROTATION *pRotation);
290}
291
292[
293 object,
294 uuid(50c83a1c-e072-4c48-87b0-3630fa36a6d0),
295 local,
297]
298interface IDXGIFactory2 : IDXGIFactory1
299{
301
304 [in] HWND hWnd,
305 [in] const DXGI_SWAP_CHAIN_DESC1 *pDesc,
306 [in] const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,
307 [in] IDXGIOutput *pRestrictToOutput,
308 [out] IDXGISwapChain1 **ppSwapChain);
309
312 [in] IUnknown *pWindow,
313 [in] const DXGI_SWAP_CHAIN_DESC1 *pDesc,
314 [in] IDXGIOutput *pRestrictToOutput,
315 [out] IDXGISwapChain1 **ppSwapChain);
316
318 [in] HANDLE hResource,
319 [out] LUID *pLuid);
320
322 [in] HWND WindowHandle,
323 [in] UINT wMsg,
324 [out] DWORD *pdwCookie);
325
327 [in] HANDLE hEvent,
328 [out] DWORD *pdwCookie);
329
331 [in] DWORD dwCookie);
332
334 [in] HWND WindowHandle,
335 [in] UINT wMsg,
336 [out] DWORD *pdwCookie);
337
339 [in] HANDLE hEvent,
340 [out] DWORD *pdwCookie);
341
343 [in] DWORD dwCookie);
344
347 [in] const DXGI_SWAP_CHAIN_DESC1 *pDesc,
348 [in] IDXGIOutput *pRestrictToOutput,
349 [out] IDXGISwapChain1 **ppSwapChain);
350}
351
353 DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY,
357 DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY
359
367
368typedef struct DXGI_ADAPTER_DESC2 {
382
383[
384 object,
385 uuid(0aa1ae0a-fa0e-4b84-8644-e05ff8e5acb5),
386 local,
388]
390{
392}
393
394[
395 object,
396 uuid(00cddea8-939b-4b83-a340-a685226666cc),
397 local,
399]
401{
404 [in] UINT flags,
405 [in, out] UINT *num_modes,
407 );
408
410 [in] const DXGI_MODE_DESC1 *mode_to_match,
411 [out] DXGI_MODE_DESC1 *closest_match,
412 [in] IUnknown *concerned_device
413 );
414
416 [in] IDXGIResource *destination
417 );
418
420 [in] IUnknown *device,
421 [out] IDXGIOutputDuplication **output_duplication
422 );
423}
HWND hWnd
Definition: settings.c:17
int enum_format
Definition: bitmap.c:513
enum DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY
enum DXGI_GRAPHICS_PREEMPTION_GRANULARITY
const DWORD DXGI_SHARED_RESOURCE_READ
Definition: dxgi1_2.idl:24
_DXGI_OFFER_RESOURCE_PRIORITY
Definition: dxgi1_2.idl:27
@ DXGI_OFFER_RESOURCE_PRIORITY_LOW
Definition: dxgi1_2.idl:28
@ DXGI_OFFER_RESOURCE_PRIORITY_NORMAL
Definition: dxgi1_2.idl:29
@ DXGI_OFFER_RESOURCE_PRIORITY_HIGH
Definition: dxgi1_2.idl:30
const UINT DXGI_ENUM_MODES_STEREO
Definition: dxgi1_2.idl:21
enum _DXGI_OFFER_RESOURCE_PRIORITY DXGI_OFFER_RESOURCE_PRIORITY
const DWORD DXGI_SHARED_RESOURCE_WRITE
Definition: dxgi1_2.idl:25
enum DXGI_SCALING
DXGI_COMPUTE_PREEMPTION_GRANULARITY
Definition: dxgi1_2.idl:360
@ DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY
Definition: dxgi1_2.idl:361
@ DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY
Definition: dxgi1_2.idl:363
@ DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY
Definition: dxgi1_2.idl:362
@ DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY
Definition: dxgi1_2.idl:365
@ DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY
Definition: dxgi1_2.idl:364
DXGI_OUTDUPL_POINTER_SHAPE_TYPE
Definition: dxgi1_2.idl:61
@ DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR
Definition: dxgi1_2.idl:63
@ DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME
Definition: dxgi1_2.idl:62
@ DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR
Definition: dxgi1_2.idl:64
enum DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY
enum DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY
const UINT DXGI_ENUM_MODES_DISABLED_STEREO
Definition: dxgi1_2.idl:22
DXGI_ALPHA_MODE
Definition: dxgi1_2.idl:33
@ DXGI_ALPHA_MODE_FORCE_DWORD
Definition: dxgi1_2.idl:38
@ DXGI_ALPHA_MODE_STRAIGHT
Definition: dxgi1_2.idl:36
@ DXGI_ALPHA_MODE_UNSPECIFIED
Definition: dxgi1_2.idl:34
@ DXGI_ALPHA_MODE_IGNORE
Definition: dxgi1_2.idl:37
@ DXGI_ALPHA_MODE_PREMULTIPLIED
Definition: dxgi1_2.idl:35
DXGI_SWAP_EFFECT
Definition: dxgi.idl:64
UINT DXGI_USAGE
Definition: dxgi.idl:42
DXGI_FORMAT
Definition: dxgiformat.idl:22
DXGI_MODE_SCALING
Definition: dxgitype.idl:45
DXGI_MODE_SCANLINE_ORDER
Definition: dxgitype.idl:37
DXGI_MODE_ROTATION
Definition: dxgitype.idl:28
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define local
Definition: zutil.h:30
FxDevice * pDevice
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750
GLuint index
Definition: glext.h:6031
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLuint in
Definition: glext.h:9616
GLbitfield flags
Definition: glext.h:7161
GLuint GLint GLboolean GLint GLenum access
Definition: glext.h:7866
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
unsigned int UINT
Definition: sysinfo.c:13
HRESULT GetDesc2([out] DXGI_ADAPTER_DESC2 *pDesc)
void SetStereoEnabled(BOOL enabled)
HRESULT GetDisplaySurfaceData1([in] IDXGIResource *destination)
HRESULT GetDisplayModeList1([in] DXGI_FORMAT enum_format, [in] UINT flags, [in, out] UINT *num_modes, [out] DXGI_MODE_DESC1 *desc)
HRESULT FindClosestMatchingMode1([in] const DXGI_MODE_DESC1 *mode_to_match, [out] DXGI_MODE_DESC1 *closest_match, [in] IUnknown *concerned_device)
HRESULT DuplicateOutput([in] IUnknown *device, [out] IDXGIOutputDuplication **output_duplication)
HRESULT AcquireNextFrame([in] UINT timeout_in_milliseconds, [out] DXGI_OUTDUPL_FRAME_INFO *frame_info, [out] IDXGIResource **desktop_resource)
HRESULT GetFramePointerShape([in] UINT pointer_shape_buffer_size, [out] void *pointer_shape_buffer, [out] UINT *pointer_shape_buffer_size_required, [out] DXGI_OUTDUPL_POINTER_SHAPE_INFO *pointer_shape_info)
void GetDesc([out] DXGI_OUTDUPL_DESC *desc)
HRESULT GetFrameDirtyRects([in] UINT dirty_rects_buffer_size, [out] RECT *dirty_rects_buffer, [out] UINT *dirty_rects_buffer_size_required)
HRESULT MapDesktopSurface([out] DXGI_MAPPED_RECT *locked_rect)
HRESULT GetFrameMoveRects([in] UINT move_rects_buffer_size, [out] DXGI_OUTDUPL_MOVE_RECT *move_rect_buffer, [out] UINT *move_rects_buffer_size_required)
HRESULT UnMapDesktopSurface()
HRESULT CreateSubresourceSurface(UINT index, [out] IDXGISurface2 **surface)
HRESULT CreateSharedHandle([in] const SECURITY_ATTRIBUTES *attributes, [in] DWORD access, [in] const WCHAR *name, [out] HANDLE *handle)
HRESULT GetResource([in] REFIID iid, [out] void **parent_resource, [out] UINT *subresource_idx)
HRESULT GetRotation([out] DXGI_MODE_ROTATION *pRotation)
HRESULT GetBackgroundColor([out] DXGI_RGBA *pColor)
HRESULT SetBackgroundColor([in] const DXGI_RGBA *pColor)
HRESULT GetFullscreenDesc([out] DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pDesc)
HRESULT GetRestrictToOutput([out] IDXGIOutput **ppRestrictToOutput)
HRESULT SetRotation([in] DXGI_MODE_ROTATION Rotation)
HRESULT GetDesc1([out] DXGI_SWAP_CHAIN_DESC1 *pDesc)
HRESULT GetHwnd([out] HWND *pHwnd)
BOOL IsTemporaryMonoSupported()
HRESULT GetCoreWindow([in] REFIID refiid, [out] void **ppUnk)
HRESULT Present1([in] UINT SyncInterval, [in] UINT PresentFlags, [in] const DXGI_PRESENT_PARAMETERS *pPresentParameters)
BOOL IsWindowedStereoEnabled()
void UnregisterOcclusionStatus([in] DWORD dwCookie)
HRESULT OfferResources([in] UINT NumResources, [in, size_is(NumResources)] IDXGIResource *const *ppResources, [in] DXGI_OFFER_RESOURCE_PRIORITY Priority)
HRESULT CreateSwapChainForHwnd([in] IUnknown *pDevice, [in] HWND hWnd, [in] const DXGI_SWAP_CHAIN_DESC1 *pDesc, [in] const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc, [in] IDXGIOutput *pRestrictToOutput, [out] IDXGISwapChain1 **ppSwapChain)
void UnregisterStereoStatus([in] DWORD dwCookie)
HRESULT ReclaimResources([in] UINT NumResources, [in, size_is(NumResources)] IDXGIResource *const *ppResources, [out, size_is(NumResources)] BOOL *pDiscarded)
HRESULT RegisterStereoStatusWindow([in] HWND WindowHandle, [in] UINT wMsg, [out] DWORD *pdwCookie)
HRESULT RegisterStereoStatusEvent([in] HANDLE hEvent, [out] DWORD *pdwCookie)
HRESULT CreateSwapChainForComposition([in] IUnknown *pDevice, [in] const DXGI_SWAP_CHAIN_DESC1 *pDesc, [in] IDXGIOutput *pRestrictToOutput, [out] IDXGISwapChain1 **ppSwapChain)
HRESULT RegisterOcclusionStatusWindow([in] HWND WindowHandle, [in] UINT wMsg, [out] DWORD *pdwCookie)
HRESULT CreateSwapChainForCoreWindow([in] IUnknown *pDevice, [in] IUnknown *pWindow, [in] const DXGI_SWAP_CHAIN_DESC1 *pDesc, [in] IDXGIOutput *pRestrictToOutput, [out] IDXGISwapChain1 **ppSwapChain)
HRESULT RegisterOcclusionStatusEvent([in] HANDLE hEvent, [out] DWORD *pdwCookie)
HRESULT GetSharedResourceAdapterLuid([in] HANDLE hResource, [out] LUID *pLuid)
HRESULT EnqueueSetEvent([in] HANDLE hEvent)
Definition: msctf.idl:532
#define d
Definition: ke_i.h:81
#define e
Definition: ke_i.h:82
D3D11_SHADER_VARIABLE_DESC desc
Definition: reflection.c:1683
static HANDLE hEvent
Definition: comm.c:54
static HANDLE ACCESS_MASK ULONG attributes
Definition: om.c:94
short WCHAR
Definition: pedump.c:58
#define REFIID
Definition: guiddef.h:118
WCHAR Description[128]
Definition: dxgi1_2.idl:369
SIZE_T SharedSystemMemory
Definition: dxgi1_2.idl:376
DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity
Definition: dxgi1_2.idl:379
DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity
Definition: dxgi1_2.idl:380
SIZE_T DedicatedSystemMemory
Definition: dxgi1_2.idl:375
SIZE_T DedicatedVideoMemory
Definition: dxgi1_2.idl:374
DXGI_MODE_SCALING Scaling
Definition: dxgi1_2.idl:95
DXGI_MODE_SCANLINE_ORDER ScanlineOrdering
Definition: dxgi1_2.idl:94
DXGI_RATIONAL RefreshRate
Definition: dxgi1_2.idl:92
DXGI_FORMAT Format
Definition: dxgi1_2.idl:93
BOOL DesktopImageInSystemMemory
Definition: dxgi1_2.idl:51
DXGI_MODE_DESC ModeDesc
Definition: dxgi1_2.idl:49
DXGI_MODE_ROTATION Rotation
Definition: dxgi1_2.idl:50
LARGE_INTEGER LastMouseUpdateTime
Definition: dxgi1_2.idl:79
DXGI_OUTDUPL_POINTER_POSITION PointerPosition
Definition: dxgi1_2.idl:83
LARGE_INTEGER LastPresentTime
Definition: dxgi1_2.idl:78
DXGI_FORMAT Format
Definition: dxgi1_2.idl:223
DXGI_ALPHA_MODE AlphaMode
Definition: dxgi1_2.idl:230
DXGI_USAGE BufferUsage
Definition: dxgi1_2.idl:226
DXGI_SWAP_EFFECT SwapEffect
Definition: dxgi1_2.idl:229
DXGI_SAMPLE_DESC SampleDesc
Definition: dxgi1_2.idl:225
DXGI_SCALING Scaling
Definition: dxgi1_2.idl:228
DXGI_MODE_SCANLINE_ORDER ScanlineOrdering
Definition: dxgi1_2.idl:236
DXGI_MODE_SCALING Scaling
Definition: dxgi1_2.idl:237
Definition: dcommon.idl:28
Definition: devices.h:37
Definition: name.c:39
ULONG_PTR SIZE_T
Definition: typedefs.h:80
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:655
ncacn_np pointer_default(unique)] interface winspool
Definition: winspool.idl:865