Subversion Repositories Games.Chess Giants

Rev

Details | Last modification | View Log | RSS feed

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