zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

dxgidebug.h (33812B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/dxgidebug.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __dxgidebug_h__
     17 #define __dxgidebug_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IDXGIInfoQueue_FWD_DEFINED__
     22 #define __IDXGIInfoQueue_FWD_DEFINED__
     23 typedef interface IDXGIInfoQueue IDXGIInfoQueue;
     24 #ifdef __cplusplus
     25 interface IDXGIInfoQueue;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IDXGIDebug_FWD_DEFINED__
     30 #define __IDXGIDebug_FWD_DEFINED__
     31 typedef interface IDXGIDebug IDXGIDebug;
     32 #ifdef __cplusplus
     33 interface IDXGIDebug;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IDXGIDebug1_FWD_DEFINED__
     38 #define __IDXGIDebug1_FWD_DEFINED__
     39 typedef interface IDXGIDebug1 IDXGIDebug1;
     40 #ifdef __cplusplus
     41 interface IDXGIDebug1;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 /* Headers for imported files */
     46 
     47 #include <oaidl.h>
     48 
     49 #ifdef __cplusplus
     50 extern "C" {
     51 #endif
     52 
     53 #define DXGI_DEBUG_BINARY_VERSION (1)
     54 
     55 typedef GUID DXGI_DEBUG_ID;
     56 DEFINE_GUID(DXGI_DEBUG_ALL,   0xe48ae283, 0xda80, 0x490b,0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x08);
     57 DEFINE_GUID(DXGI_DEBUG_DX,    0x35cdd7fc, 0x13b2, 0x421d,0xa5, 0xd7, 0x7e, 0x44, 0x51, 0x28, 0x7d, 0x64);
     58 DEFINE_GUID(DXGI_DEBUG_DXGI,  0x25cddaa4, 0xb1c6, 0x47e1,0xac, 0x3e, 0x98, 0x87, 0x5b, 0x5a, 0x2e, 0x2a);
     59 DEFINE_GUID(DXGI_DEBUG_APP,   0x06cd6e01, 0x4219, 0x4ebd,0x87, 0x09, 0x27, 0xed, 0x23, 0x36, 0x0c, 0x62);
     60 typedef enum DXGI_DEBUG_RLO_FLAGS {
     61     DXGI_DEBUG_RLO_SUMMARY = 0x1,
     62     DXGI_DEBUG_RLO_DETAIL = 0x2,
     63     DXGI_DEBUG_RLO_IGNORE_INTERNAL = 0x4,
     64     DXGI_DEBUG_RLO_ALL = 0x7
     65 } DXGI_DEBUG_RLO_FLAGS;
     66 typedef enum DXGI_INFO_QUEUE_MESSAGE_CATEGORY {
     67     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN = 0,
     68     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS = 1,
     69     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION = 2,
     70     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP = 3,
     71     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION = 4,
     72     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION = 5,
     73     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING = 6,
     74     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING = 7,
     75     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 8,
     76     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION = 9,
     77     DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER = 10
     78 } DXGI_INFO_QUEUE_MESSAGE_CATEGORY;
     79 typedef enum DXGI_INFO_QUEUE_MESSAGE_SEVERITY {
     80     DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION = 0,
     81     DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR = 1,
     82     DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING = 2,
     83     DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO = 3,
     84     DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE = 4
     85 } DXGI_INFO_QUEUE_MESSAGE_SEVERITY;
     86 typedef int DXGI_INFO_QUEUE_MESSAGE_ID;
     87 #define DXGI_INFO_QUEUE_MESSAGE_ID_STRING_FROM_APPLICATION 0
     88 typedef struct DXGI_INFO_QUEUE_MESSAGE {
     89     DXGI_DEBUG_ID Producer;
     90     DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category;
     91     DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity;
     92     DXGI_INFO_QUEUE_MESSAGE_ID ID;
     93     const char *pDescription;
     94     SIZE_T DescriptionByteLength;
     95 } DXGI_INFO_QUEUE_MESSAGE;
     96 typedef struct DXGI_INFO_QUEUE_FILTER_DESC {
     97     UINT NumCategories;
     98     DXGI_INFO_QUEUE_MESSAGE_CATEGORY *pCategoryList;
     99     UINT NumSeverities;
    100     DXGI_INFO_QUEUE_MESSAGE_SEVERITY *pSeverityList;
    101     UINT NumIDs;
    102     DXGI_INFO_QUEUE_MESSAGE_ID *pIDList;
    103 } DXGI_INFO_QUEUE_FILTER_DESC;
    104 typedef struct DXGI_INFO_QUEUE_FILTER {
    105     DXGI_INFO_QUEUE_FILTER_DESC AllowList;
    106     DXGI_INFO_QUEUE_FILTER_DESC DenyList;
    107 } DXGI_INFO_QUEUE_FILTER;
    108 #define DXGI_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024
    109 HRESULT WINAPI DXGIGetDebugInterface(REFIID riid, void **ppDebug);
    110 /*****************************************************************************
    111  * IDXGIInfoQueue interface
    112  */
    113 #ifndef __IDXGIInfoQueue_INTERFACE_DEFINED__
    114 #define __IDXGIInfoQueue_INTERFACE_DEFINED__
    115 
    116 DEFINE_GUID(IID_IDXGIInfoQueue, 0xd67441c7, 0x672a, 0x476f, 0x9e,0x82, 0xcd,0x55,0xb4,0x49,0x49,0xce);
    117 #if defined(__cplusplus) && !defined(CINTERFACE)
    118 MIDL_INTERFACE("d67441c7-672a-476f-9e82-cd55b44949ce")
    119 IDXGIInfoQueue : public IUnknown
    120 {
    121     virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit(
    122         DXGI_DEBUG_ID producer,
    123         UINT64 limit) = 0;
    124 
    125     virtual void STDMETHODCALLTYPE ClearStoredMessages(
    126         DXGI_DEBUG_ID producer) = 0;
    127 
    128     virtual HRESULT STDMETHODCALLTYPE GetMessage(
    129         DXGI_DEBUG_ID producer,
    130         UINT64 index,
    131         DXGI_INFO_QUEUE_MESSAGE *message,
    132         SIZE_T *length) = 0;
    133 
    134     virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilters(
    135         DXGI_DEBUG_ID producer) = 0;
    136 
    137     virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages(
    138         DXGI_DEBUG_ID producer) = 0;
    139 
    140     virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit(
    141         DXGI_DEBUG_ID producer) = 0;
    142 
    143     virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit(
    144         DXGI_DEBUG_ID producer) = 0;
    145 
    146     virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter(
    147         DXGI_DEBUG_ID producer) = 0;
    148 
    149     virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter(
    150         DXGI_DEBUG_ID producer) = 0;
    151 
    152     virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries(
    153         DXGI_DEBUG_ID producer,
    154         DXGI_INFO_QUEUE_FILTER *filter) = 0;
    155 
    156     virtual HRESULT STDMETHODCALLTYPE GetStorageFilter(
    157         DXGI_DEBUG_ID producer,
    158         DXGI_INFO_QUEUE_FILTER *filter,
    159         SIZE_T *length) = 0;
    160 
    161     virtual void STDMETHODCALLTYPE ClearStorageFilter(
    162         DXGI_DEBUG_ID producer) = 0;
    163 
    164     virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter(
    165         DXGI_DEBUG_ID producer) = 0;
    166 
    167     virtual HRESULT STDMETHODCALLTYPE PushDenyAllStorageFilter(
    168         DXGI_DEBUG_ID producer) = 0;
    169 
    170     virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter(
    171         DXGI_DEBUG_ID producer) = 0;
    172 
    173     virtual HRESULT STDMETHODCALLTYPE PushStorageFilter(
    174         DXGI_DEBUG_ID producer,
    175         DXGI_INFO_QUEUE_FILTER *filter) = 0;
    176 
    177     virtual void STDMETHODCALLTYPE PopStorageFilter(
    178         DXGI_DEBUG_ID producer) = 0;
    179 
    180     virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize(
    181         DXGI_DEBUG_ID producer) = 0;
    182 
    183     virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries(
    184         DXGI_DEBUG_ID producer,
    185         DXGI_INFO_QUEUE_FILTER *filter) = 0;
    186 
    187     virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter(
    188         DXGI_DEBUG_ID producer,
    189         DXGI_INFO_QUEUE_FILTER *filter,
    190         SIZE_T *length) = 0;
    191 
    192     virtual void STDMETHODCALLTYPE ClearRetrievalFilter(
    193         DXGI_DEBUG_ID producer) = 0;
    194 
    195     virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter(
    196         DXGI_DEBUG_ID producer) = 0;
    197 
    198     virtual HRESULT STDMETHODCALLTYPE PushDenyAllRetrievalFilter(
    199         DXGI_DEBUG_ID producer) = 0;
    200 
    201     virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter(
    202         DXGI_DEBUG_ID producer) = 0;
    203 
    204     virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter(
    205         DXGI_DEBUG_ID producer,
    206         DXGI_INFO_QUEUE_FILTER *filter) = 0;
    207 
    208     virtual void STDMETHODCALLTYPE PopRetrievalFilter(
    209         DXGI_DEBUG_ID producer) = 0;
    210 
    211     virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize(
    212         DXGI_DEBUG_ID producer) = 0;
    213 
    214     virtual HRESULT STDMETHODCALLTYPE AddMessage(
    215         DXGI_DEBUG_ID producer,
    216         DXGI_INFO_QUEUE_MESSAGE_CATEGORY category,
    217         DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
    218         DXGI_INFO_QUEUE_MESSAGE_ID id,
    219         LPCSTR description) = 0;
    220 
    221     virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage(
    222         DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
    223         LPCSTR description) = 0;
    224 
    225     virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory(
    226         DXGI_DEBUG_ID producer,
    227         DXGI_INFO_QUEUE_MESSAGE_CATEGORY category,
    228         WINBOOL enable) = 0;
    229 
    230     virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity(
    231         DXGI_DEBUG_ID producer,
    232         DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
    233         WINBOOL enable) = 0;
    234 
    235     virtual HRESULT STDMETHODCALLTYPE SetBreakOnID(
    236         DXGI_DEBUG_ID producer,
    237         DXGI_INFO_QUEUE_MESSAGE_ID id,
    238         WINBOOL enable) = 0;
    239 
    240     virtual WINBOOL STDMETHODCALLTYPE GetBreakOnCategory(
    241         DXGI_DEBUG_ID producer,
    242         DXGI_INFO_QUEUE_MESSAGE_CATEGORY category) = 0;
    243 
    244     virtual WINBOOL STDMETHODCALLTYPE GetBreakOnSeverity(
    245         DXGI_DEBUG_ID producer,
    246         DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity) = 0;
    247 
    248     virtual WINBOOL STDMETHODCALLTYPE GetBreakOnID(
    249         DXGI_DEBUG_ID producer,
    250         DXGI_INFO_QUEUE_MESSAGE_ID id) = 0;
    251 
    252     virtual void STDMETHODCALLTYPE SetMuteDebugOutput(
    253         DXGI_DEBUG_ID producer,
    254         WINBOOL mute) = 0;
    255 
    256     virtual WINBOOL STDMETHODCALLTYPE GetMuteDebugOutput(
    257         DXGI_DEBUG_ID producer) = 0;
    258 
    259 };
    260 #ifdef __CRT_UUID_DECL
    261 __CRT_UUID_DECL(IDXGIInfoQueue, 0xd67441c7, 0x672a, 0x476f, 0x9e,0x82, 0xcd,0x55,0xb4,0x49,0x49,0xce)
    262 #endif
    263 #else
    264 typedef struct IDXGIInfoQueueVtbl {
    265     BEGIN_INTERFACE
    266 
    267     /*** IUnknown methods ***/
    268     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    269         IDXGIInfoQueue *This,
    270         REFIID riid,
    271         void **ppvObject);
    272 
    273     ULONG (STDMETHODCALLTYPE *AddRef)(
    274         IDXGIInfoQueue *This);
    275 
    276     ULONG (STDMETHODCALLTYPE *Release)(
    277         IDXGIInfoQueue *This);
    278 
    279     /*** IDXGIInfoQueue methods ***/
    280     HRESULT (STDMETHODCALLTYPE *SetMessageCountLimit)(
    281         IDXGIInfoQueue *This,
    282         DXGI_DEBUG_ID producer,
    283         UINT64 limit);
    284 
    285     void (STDMETHODCALLTYPE *ClearStoredMessages)(
    286         IDXGIInfoQueue *This,
    287         DXGI_DEBUG_ID producer);
    288 
    289     HRESULT (STDMETHODCALLTYPE *GetMessage)(
    290         IDXGIInfoQueue *This,
    291         DXGI_DEBUG_ID producer,
    292         UINT64 index,
    293         DXGI_INFO_QUEUE_MESSAGE *message,
    294         SIZE_T *length);
    295 
    296     UINT64 (STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilters)(
    297         IDXGIInfoQueue *This,
    298         DXGI_DEBUG_ID producer);
    299 
    300     UINT64 (STDMETHODCALLTYPE *GetNumStoredMessages)(
    301         IDXGIInfoQueue *This,
    302         DXGI_DEBUG_ID producer);
    303 
    304     UINT64 (STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit)(
    305         IDXGIInfoQueue *This,
    306         DXGI_DEBUG_ID producer);
    307 
    308     UINT64 (STDMETHODCALLTYPE *GetMessageCountLimit)(
    309         IDXGIInfoQueue *This,
    310         DXGI_DEBUG_ID producer);
    311 
    312     UINT64 (STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter)(
    313         IDXGIInfoQueue *This,
    314         DXGI_DEBUG_ID producer);
    315 
    316     UINT64 (STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter)(
    317         IDXGIInfoQueue *This,
    318         DXGI_DEBUG_ID producer);
    319 
    320     HRESULT (STDMETHODCALLTYPE *AddStorageFilterEntries)(
    321         IDXGIInfoQueue *This,
    322         DXGI_DEBUG_ID producer,
    323         DXGI_INFO_QUEUE_FILTER *filter);
    324 
    325     HRESULT (STDMETHODCALLTYPE *GetStorageFilter)(
    326         IDXGIInfoQueue *This,
    327         DXGI_DEBUG_ID producer,
    328         DXGI_INFO_QUEUE_FILTER *filter,
    329         SIZE_T *length);
    330 
    331     void (STDMETHODCALLTYPE *ClearStorageFilter)(
    332         IDXGIInfoQueue *This,
    333         DXGI_DEBUG_ID producer);
    334 
    335     HRESULT (STDMETHODCALLTYPE *PushEmptyStorageFilter)(
    336         IDXGIInfoQueue *This,
    337         DXGI_DEBUG_ID producer);
    338 
    339     HRESULT (STDMETHODCALLTYPE *PushDenyAllStorageFilter)(
    340         IDXGIInfoQueue *This,
    341         DXGI_DEBUG_ID producer);
    342 
    343     HRESULT (STDMETHODCALLTYPE *PushCopyOfStorageFilter)(
    344         IDXGIInfoQueue *This,
    345         DXGI_DEBUG_ID producer);
    346 
    347     HRESULT (STDMETHODCALLTYPE *PushStorageFilter)(
    348         IDXGIInfoQueue *This,
    349         DXGI_DEBUG_ID producer,
    350         DXGI_INFO_QUEUE_FILTER *filter);
    351 
    352     void (STDMETHODCALLTYPE *PopStorageFilter)(
    353         IDXGIInfoQueue *This,
    354         DXGI_DEBUG_ID producer);
    355 
    356     UINT (STDMETHODCALLTYPE *GetStorageFilterStackSize)(
    357         IDXGIInfoQueue *This,
    358         DXGI_DEBUG_ID producer);
    359 
    360     HRESULT (STDMETHODCALLTYPE *AddRetrievalFilterEntries)(
    361         IDXGIInfoQueue *This,
    362         DXGI_DEBUG_ID producer,
    363         DXGI_INFO_QUEUE_FILTER *filter);
    364 
    365     HRESULT (STDMETHODCALLTYPE *GetRetrievalFilter)(
    366         IDXGIInfoQueue *This,
    367         DXGI_DEBUG_ID producer,
    368         DXGI_INFO_QUEUE_FILTER *filter,
    369         SIZE_T *length);
    370 
    371     void (STDMETHODCALLTYPE *ClearRetrievalFilter)(
    372         IDXGIInfoQueue *This,
    373         DXGI_DEBUG_ID producer);
    374 
    375     HRESULT (STDMETHODCALLTYPE *PushEmptyRetrievalFilter)(
    376         IDXGIInfoQueue *This,
    377         DXGI_DEBUG_ID producer);
    378 
    379     HRESULT (STDMETHODCALLTYPE *PushDenyAllRetrievalFilter)(
    380         IDXGIInfoQueue *This,
    381         DXGI_DEBUG_ID producer);
    382 
    383     HRESULT (STDMETHODCALLTYPE *PushCopyOfRetrievalFilter)(
    384         IDXGIInfoQueue *This,
    385         DXGI_DEBUG_ID producer);
    386 
    387     HRESULT (STDMETHODCALLTYPE *PushRetrievalFilter)(
    388         IDXGIInfoQueue *This,
    389         DXGI_DEBUG_ID producer,
    390         DXGI_INFO_QUEUE_FILTER *filter);
    391 
    392     void (STDMETHODCALLTYPE *PopRetrievalFilter)(
    393         IDXGIInfoQueue *This,
    394         DXGI_DEBUG_ID producer);
    395 
    396     UINT (STDMETHODCALLTYPE *GetRetrievalFilterStackSize)(
    397         IDXGIInfoQueue *This,
    398         DXGI_DEBUG_ID producer);
    399 
    400     HRESULT (STDMETHODCALLTYPE *AddMessage)(
    401         IDXGIInfoQueue *This,
    402         DXGI_DEBUG_ID producer,
    403         DXGI_INFO_QUEUE_MESSAGE_CATEGORY category,
    404         DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
    405         DXGI_INFO_QUEUE_MESSAGE_ID id,
    406         LPCSTR description);
    407 
    408     HRESULT (STDMETHODCALLTYPE *AddApplicationMessage)(
    409         IDXGIInfoQueue *This,
    410         DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
    411         LPCSTR description);
    412 
    413     HRESULT (STDMETHODCALLTYPE *SetBreakOnCategory)(
    414         IDXGIInfoQueue *This,
    415         DXGI_DEBUG_ID producer,
    416         DXGI_INFO_QUEUE_MESSAGE_CATEGORY category,
    417         WINBOOL enable);
    418 
    419     HRESULT (STDMETHODCALLTYPE *SetBreakOnSeverity)(
    420         IDXGIInfoQueue *This,
    421         DXGI_DEBUG_ID producer,
    422         DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
    423         WINBOOL enable);
    424 
    425     HRESULT (STDMETHODCALLTYPE *SetBreakOnID)(
    426         IDXGIInfoQueue *This,
    427         DXGI_DEBUG_ID producer,
    428         DXGI_INFO_QUEUE_MESSAGE_ID id,
    429         WINBOOL enable);
    430 
    431     WINBOOL (STDMETHODCALLTYPE *GetBreakOnCategory)(
    432         IDXGIInfoQueue *This,
    433         DXGI_DEBUG_ID producer,
    434         DXGI_INFO_QUEUE_MESSAGE_CATEGORY category);
    435 
    436     WINBOOL (STDMETHODCALLTYPE *GetBreakOnSeverity)(
    437         IDXGIInfoQueue *This,
    438         DXGI_DEBUG_ID producer,
    439         DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity);
    440 
    441     WINBOOL (STDMETHODCALLTYPE *GetBreakOnID)(
    442         IDXGIInfoQueue *This,
    443         DXGI_DEBUG_ID producer,
    444         DXGI_INFO_QUEUE_MESSAGE_ID id);
    445 
    446     void (STDMETHODCALLTYPE *SetMuteDebugOutput)(
    447         IDXGIInfoQueue *This,
    448         DXGI_DEBUG_ID producer,
    449         WINBOOL mute);
    450 
    451     WINBOOL (STDMETHODCALLTYPE *GetMuteDebugOutput)(
    452         IDXGIInfoQueue *This,
    453         DXGI_DEBUG_ID producer);
    454 
    455     END_INTERFACE
    456 } IDXGIInfoQueueVtbl;
    457 
    458 interface IDXGIInfoQueue {
    459     CONST_VTBL IDXGIInfoQueueVtbl* lpVtbl;
    460 };
    461 
    462 #ifdef COBJMACROS
    463 #ifndef WIDL_C_INLINE_WRAPPERS
    464 /*** IUnknown methods ***/
    465 #define IDXGIInfoQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    466 #define IDXGIInfoQueue_AddRef(This) (This)->lpVtbl->AddRef(This)
    467 #define IDXGIInfoQueue_Release(This) (This)->lpVtbl->Release(This)
    468 /*** IDXGIInfoQueue methods ***/
    469 #define IDXGIInfoQueue_SetMessageCountLimit(This,producer,limit) (This)->lpVtbl->SetMessageCountLimit(This,producer,limit)
    470 #define IDXGIInfoQueue_ClearStoredMessages(This,producer) (This)->lpVtbl->ClearStoredMessages(This,producer)
    471 #define IDXGIInfoQueue_GetMessage(This,producer,index,message,length) (This)->lpVtbl->GetMessage(This,producer,index,message,length)
    472 #define IDXGIInfoQueue_GetNumStoredMessagesAllowedByRetrievalFilters(This,producer) (This)->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilters(This,producer)
    473 #define IDXGIInfoQueue_GetNumStoredMessages(This,producer) (This)->lpVtbl->GetNumStoredMessages(This,producer)
    474 #define IDXGIInfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This,producer) (This)->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This,producer)
    475 #define IDXGIInfoQueue_GetMessageCountLimit(This,producer) (This)->lpVtbl->GetMessageCountLimit(This,producer)
    476 #define IDXGIInfoQueue_GetNumMessagesAllowedByStorageFilter(This,producer) (This)->lpVtbl->GetNumMessagesAllowedByStorageFilter(This,producer)
    477 #define IDXGIInfoQueue_GetNumMessagesDeniedByStorageFilter(This,producer) (This)->lpVtbl->GetNumMessagesDeniedByStorageFilter(This,producer)
    478 #define IDXGIInfoQueue_AddStorageFilterEntries(This,producer,filter) (This)->lpVtbl->AddStorageFilterEntries(This,producer,filter)
    479 #define IDXGIInfoQueue_GetStorageFilter(This,producer,filter,length) (This)->lpVtbl->GetStorageFilter(This,producer,filter,length)
    480 #define IDXGIInfoQueue_ClearStorageFilter(This,producer) (This)->lpVtbl->ClearStorageFilter(This,producer)
    481 #define IDXGIInfoQueue_PushEmptyStorageFilter(This,producer) (This)->lpVtbl->PushEmptyStorageFilter(This,producer)
    482 #define IDXGIInfoQueue_PushDenyAllStorageFilter(This,producer) (This)->lpVtbl->PushDenyAllStorageFilter(This,producer)
    483 #define IDXGIInfoQueue_PushCopyOfStorageFilter(This,producer) (This)->lpVtbl->PushCopyOfStorageFilter(This,producer)
    484 #define IDXGIInfoQueue_PushStorageFilter(This,producer,filter) (This)->lpVtbl->PushStorageFilter(This,producer,filter)
    485 #define IDXGIInfoQueue_PopStorageFilter(This,producer) (This)->lpVtbl->PopStorageFilter(This,producer)
    486 #define IDXGIInfoQueue_GetStorageFilterStackSize(This,producer) (This)->lpVtbl->GetStorageFilterStackSize(This,producer)
    487 #define IDXGIInfoQueue_AddRetrievalFilterEntries(This,producer,filter) (This)->lpVtbl->AddRetrievalFilterEntries(This,producer,filter)
    488 #define IDXGIInfoQueue_GetRetrievalFilter(This,producer,filter,length) (This)->lpVtbl->GetRetrievalFilter(This,producer,filter,length)
    489 #define IDXGIInfoQueue_ClearRetrievalFilter(This,producer) (This)->lpVtbl->ClearRetrievalFilter(This,producer)
    490 #define IDXGIInfoQueue_PushEmptyRetrievalFilter(This,producer) (This)->lpVtbl->PushEmptyRetrievalFilter(This,producer)
    491 #define IDXGIInfoQueue_PushDenyAllRetrievalFilter(This,producer) (This)->lpVtbl->PushDenyAllRetrievalFilter(This,producer)
    492 #define IDXGIInfoQueue_PushCopyOfRetrievalFilter(This,producer) (This)->lpVtbl->PushCopyOfRetrievalFilter(This,producer)
    493 #define IDXGIInfoQueue_PushRetrievalFilter(This,producer,filter) (This)->lpVtbl->PushRetrievalFilter(This,producer,filter)
    494 #define IDXGIInfoQueue_PopRetrievalFilter(This,producer) (This)->lpVtbl->PopRetrievalFilter(This,producer)
    495 #define IDXGIInfoQueue_GetRetrievalFilterStackSize(This,producer) (This)->lpVtbl->GetRetrievalFilterStackSize(This,producer)
    496 #define IDXGIInfoQueue_AddMessage(This,producer,category,severity,id,description) (This)->lpVtbl->AddMessage(This,producer,category,severity,id,description)
    497 #define IDXGIInfoQueue_AddApplicationMessage(This,severity,description) (This)->lpVtbl->AddApplicationMessage(This,severity,description)
    498 #define IDXGIInfoQueue_SetBreakOnCategory(This,producer,category,enable) (This)->lpVtbl->SetBreakOnCategory(This,producer,category,enable)
    499 #define IDXGIInfoQueue_SetBreakOnSeverity(This,producer,severity,enable) (This)->lpVtbl->SetBreakOnSeverity(This,producer,severity,enable)
    500 #define IDXGIInfoQueue_SetBreakOnID(This,producer,id,enable) (This)->lpVtbl->SetBreakOnID(This,producer,id,enable)
    501 #define IDXGIInfoQueue_GetBreakOnCategory(This,producer,category) (This)->lpVtbl->GetBreakOnCategory(This,producer,category)
    502 #define IDXGIInfoQueue_GetBreakOnSeverity(This,producer,severity) (This)->lpVtbl->GetBreakOnSeverity(This,producer,severity)
    503 #define IDXGIInfoQueue_GetBreakOnID(This,producer,id) (This)->lpVtbl->GetBreakOnID(This,producer,id)
    504 #define IDXGIInfoQueue_SetMuteDebugOutput(This,producer,mute) (This)->lpVtbl->SetMuteDebugOutput(This,producer,mute)
    505 #define IDXGIInfoQueue_GetMuteDebugOutput(This,producer) (This)->lpVtbl->GetMuteDebugOutput(This,producer)
    506 #else
    507 /*** IUnknown methods ***/
    508 static inline HRESULT IDXGIInfoQueue_QueryInterface(IDXGIInfoQueue* This,REFIID riid,void **ppvObject) {
    509     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    510 }
    511 static inline ULONG IDXGIInfoQueue_AddRef(IDXGIInfoQueue* This) {
    512     return This->lpVtbl->AddRef(This);
    513 }
    514 static inline ULONG IDXGIInfoQueue_Release(IDXGIInfoQueue* This) {
    515     return This->lpVtbl->Release(This);
    516 }
    517 /*** IDXGIInfoQueue methods ***/
    518 static inline HRESULT IDXGIInfoQueue_SetMessageCountLimit(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,UINT64 limit) {
    519     return This->lpVtbl->SetMessageCountLimit(This,producer,limit);
    520 }
    521 static inline void IDXGIInfoQueue_ClearStoredMessages(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    522     This->lpVtbl->ClearStoredMessages(This,producer);
    523 }
    524 static inline HRESULT IDXGIInfoQueue_GetMessage(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,UINT64 index,DXGI_INFO_QUEUE_MESSAGE *message,SIZE_T *length) {
    525     return This->lpVtbl->GetMessage(This,producer,index,message,length);
    526 }
    527 static inline UINT64 IDXGIInfoQueue_GetNumStoredMessagesAllowedByRetrievalFilters(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    528     return This->lpVtbl->GetNumStoredMessagesAllowedByRetrievalFilters(This,producer);
    529 }
    530 static inline UINT64 IDXGIInfoQueue_GetNumStoredMessages(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    531     return This->lpVtbl->GetNumStoredMessages(This,producer);
    532 }
    533 static inline UINT64 IDXGIInfoQueue_GetNumMessagesDiscardedByMessageCountLimit(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    534     return This->lpVtbl->GetNumMessagesDiscardedByMessageCountLimit(This,producer);
    535 }
    536 static inline UINT64 IDXGIInfoQueue_GetMessageCountLimit(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    537     return This->lpVtbl->GetMessageCountLimit(This,producer);
    538 }
    539 static inline UINT64 IDXGIInfoQueue_GetNumMessagesAllowedByStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    540     return This->lpVtbl->GetNumMessagesAllowedByStorageFilter(This,producer);
    541 }
    542 static inline UINT64 IDXGIInfoQueue_GetNumMessagesDeniedByStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    543     return This->lpVtbl->GetNumMessagesDeniedByStorageFilter(This,producer);
    544 }
    545 static inline HRESULT IDXGIInfoQueue_AddStorageFilterEntries(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_FILTER *filter) {
    546     return This->lpVtbl->AddStorageFilterEntries(This,producer,filter);
    547 }
    548 static inline HRESULT IDXGIInfoQueue_GetStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
    549     return This->lpVtbl->GetStorageFilter(This,producer,filter,length);
    550 }
    551 static inline void IDXGIInfoQueue_ClearStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    552     This->lpVtbl->ClearStorageFilter(This,producer);
    553 }
    554 static inline HRESULT IDXGIInfoQueue_PushEmptyStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    555     return This->lpVtbl->PushEmptyStorageFilter(This,producer);
    556 }
    557 static inline HRESULT IDXGIInfoQueue_PushDenyAllStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    558     return This->lpVtbl->PushDenyAllStorageFilter(This,producer);
    559 }
    560 static inline HRESULT IDXGIInfoQueue_PushCopyOfStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    561     return This->lpVtbl->PushCopyOfStorageFilter(This,producer);
    562 }
    563 static inline HRESULT IDXGIInfoQueue_PushStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_FILTER *filter) {
    564     return This->lpVtbl->PushStorageFilter(This,producer,filter);
    565 }
    566 static inline void IDXGIInfoQueue_PopStorageFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    567     This->lpVtbl->PopStorageFilter(This,producer);
    568 }
    569 static inline UINT IDXGIInfoQueue_GetStorageFilterStackSize(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    570     return This->lpVtbl->GetStorageFilterStackSize(This,producer);
    571 }
    572 static inline HRESULT IDXGIInfoQueue_AddRetrievalFilterEntries(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_FILTER *filter) {
    573     return This->lpVtbl->AddRetrievalFilterEntries(This,producer,filter);
    574 }
    575 static inline HRESULT IDXGIInfoQueue_GetRetrievalFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_FILTER *filter,SIZE_T *length) {
    576     return This->lpVtbl->GetRetrievalFilter(This,producer,filter,length);
    577 }
    578 static inline void IDXGIInfoQueue_ClearRetrievalFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    579     This->lpVtbl->ClearRetrievalFilter(This,producer);
    580 }
    581 static inline HRESULT IDXGIInfoQueue_PushEmptyRetrievalFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    582     return This->lpVtbl->PushEmptyRetrievalFilter(This,producer);
    583 }
    584 static inline HRESULT IDXGIInfoQueue_PushDenyAllRetrievalFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    585     return This->lpVtbl->PushDenyAllRetrievalFilter(This,producer);
    586 }
    587 static inline HRESULT IDXGIInfoQueue_PushCopyOfRetrievalFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    588     return This->lpVtbl->PushCopyOfRetrievalFilter(This,producer);
    589 }
    590 static inline HRESULT IDXGIInfoQueue_PushRetrievalFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_FILTER *filter) {
    591     return This->lpVtbl->PushRetrievalFilter(This,producer,filter);
    592 }
    593 static inline void IDXGIInfoQueue_PopRetrievalFilter(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    594     This->lpVtbl->PopRetrievalFilter(This,producer);
    595 }
    596 static inline UINT IDXGIInfoQueue_GetRetrievalFilterStackSize(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    597     return This->lpVtbl->GetRetrievalFilterStackSize(This,producer);
    598 }
    599 static inline HRESULT IDXGIInfoQueue_AddMessage(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_MESSAGE_CATEGORY category,DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,DXGI_INFO_QUEUE_MESSAGE_ID id,LPCSTR description) {
    600     return This->lpVtbl->AddMessage(This,producer,category,severity,id,description);
    601 }
    602 static inline HRESULT IDXGIInfoQueue_AddApplicationMessage(IDXGIInfoQueue* This,DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,LPCSTR description) {
    603     return This->lpVtbl->AddApplicationMessage(This,severity,description);
    604 }
    605 static inline HRESULT IDXGIInfoQueue_SetBreakOnCategory(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_MESSAGE_CATEGORY category,WINBOOL enable) {
    606     return This->lpVtbl->SetBreakOnCategory(This,producer,category,enable);
    607 }
    608 static inline HRESULT IDXGIInfoQueue_SetBreakOnSeverity(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,WINBOOL enable) {
    609     return This->lpVtbl->SetBreakOnSeverity(This,producer,severity,enable);
    610 }
    611 static inline HRESULT IDXGIInfoQueue_SetBreakOnID(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_MESSAGE_ID id,WINBOOL enable) {
    612     return This->lpVtbl->SetBreakOnID(This,producer,id,enable);
    613 }
    614 static inline WINBOOL IDXGIInfoQueue_GetBreakOnCategory(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_MESSAGE_CATEGORY category) {
    615     return This->lpVtbl->GetBreakOnCategory(This,producer,category);
    616 }
    617 static inline WINBOOL IDXGIInfoQueue_GetBreakOnSeverity(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity) {
    618     return This->lpVtbl->GetBreakOnSeverity(This,producer,severity);
    619 }
    620 static inline WINBOOL IDXGIInfoQueue_GetBreakOnID(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,DXGI_INFO_QUEUE_MESSAGE_ID id) {
    621     return This->lpVtbl->GetBreakOnID(This,producer,id);
    622 }
    623 static inline void IDXGIInfoQueue_SetMuteDebugOutput(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer,WINBOOL mute) {
    624     This->lpVtbl->SetMuteDebugOutput(This,producer,mute);
    625 }
    626 static inline WINBOOL IDXGIInfoQueue_GetMuteDebugOutput(IDXGIInfoQueue* This,DXGI_DEBUG_ID producer) {
    627     return This->lpVtbl->GetMuteDebugOutput(This,producer);
    628 }
    629 #endif
    630 #endif
    631 
    632 #endif
    633 
    634 
    635 #endif  /* __IDXGIInfoQueue_INTERFACE_DEFINED__ */
    636 
    637 /*****************************************************************************
    638  * IDXGIDebug interface
    639  */
    640 #ifndef __IDXGIDebug_INTERFACE_DEFINED__
    641 #define __IDXGIDebug_INTERFACE_DEFINED__
    642 
    643 DEFINE_GUID(IID_IDXGIDebug, 0x119e7452, 0xde9e, 0x40fe, 0x88,0x06, 0x88,0xf9,0x0c,0x12,0xb4,0x41);
    644 #if defined(__cplusplus) && !defined(CINTERFACE)
    645 MIDL_INTERFACE("119e7452-de9e-40fe-8806-88f90c12b441")
    646 IDXGIDebug : public IUnknown
    647 {
    648     virtual HRESULT STDMETHODCALLTYPE ReportLiveObjects(
    649         GUID apiid,
    650         DXGI_DEBUG_RLO_FLAGS flags) = 0;
    651 
    652 };
    653 #ifdef __CRT_UUID_DECL
    654 __CRT_UUID_DECL(IDXGIDebug, 0x119e7452, 0xde9e, 0x40fe, 0x88,0x06, 0x88,0xf9,0x0c,0x12,0xb4,0x41)
    655 #endif
    656 #else
    657 typedef struct IDXGIDebugVtbl {
    658     BEGIN_INTERFACE
    659 
    660     /*** IUnknown methods ***/
    661     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    662         IDXGIDebug *This,
    663         REFIID riid,
    664         void **ppvObject);
    665 
    666     ULONG (STDMETHODCALLTYPE *AddRef)(
    667         IDXGIDebug *This);
    668 
    669     ULONG (STDMETHODCALLTYPE *Release)(
    670         IDXGIDebug *This);
    671 
    672     /*** IDXGIDebug methods ***/
    673     HRESULT (STDMETHODCALLTYPE *ReportLiveObjects)(
    674         IDXGIDebug *This,
    675         GUID apiid,
    676         DXGI_DEBUG_RLO_FLAGS flags);
    677 
    678     END_INTERFACE
    679 } IDXGIDebugVtbl;
    680 
    681 interface IDXGIDebug {
    682     CONST_VTBL IDXGIDebugVtbl* lpVtbl;
    683 };
    684 
    685 #ifdef COBJMACROS
    686 #ifndef WIDL_C_INLINE_WRAPPERS
    687 /*** IUnknown methods ***/
    688 #define IDXGIDebug_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    689 #define IDXGIDebug_AddRef(This) (This)->lpVtbl->AddRef(This)
    690 #define IDXGIDebug_Release(This) (This)->lpVtbl->Release(This)
    691 /*** IDXGIDebug methods ***/
    692 #define IDXGIDebug_ReportLiveObjects(This,apiid,flags) (This)->lpVtbl->ReportLiveObjects(This,apiid,flags)
    693 #else
    694 /*** IUnknown methods ***/
    695 static inline HRESULT IDXGIDebug_QueryInterface(IDXGIDebug* This,REFIID riid,void **ppvObject) {
    696     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    697 }
    698 static inline ULONG IDXGIDebug_AddRef(IDXGIDebug* This) {
    699     return This->lpVtbl->AddRef(This);
    700 }
    701 static inline ULONG IDXGIDebug_Release(IDXGIDebug* This) {
    702     return This->lpVtbl->Release(This);
    703 }
    704 /*** IDXGIDebug methods ***/
    705 static inline HRESULT IDXGIDebug_ReportLiveObjects(IDXGIDebug* This,GUID apiid,DXGI_DEBUG_RLO_FLAGS flags) {
    706     return This->lpVtbl->ReportLiveObjects(This,apiid,flags);
    707 }
    708 #endif
    709 #endif
    710 
    711 #endif
    712 
    713 
    714 #endif  /* __IDXGIDebug_INTERFACE_DEFINED__ */
    715 
    716 /*****************************************************************************
    717  * IDXGIDebug1 interface
    718  */
    719 #ifndef __IDXGIDebug1_INTERFACE_DEFINED__
    720 #define __IDXGIDebug1_INTERFACE_DEFINED__
    721 
    722 DEFINE_GUID(IID_IDXGIDebug1, 0xc5a05f0c, 0x16f2, 0x4adf, 0x9f,0x4d, 0xa8,0xc4,0xd5,0x8a,0xc5,0x50);
    723 #if defined(__cplusplus) && !defined(CINTERFACE)
    724 MIDL_INTERFACE("c5a05f0c-16f2-4adf-9f4d-a8c4d58ac550")
    725 IDXGIDebug1 : public IDXGIDebug
    726 {
    727     virtual void STDMETHODCALLTYPE EnableLeakTrackingForThread(
    728         ) = 0;
    729 
    730     virtual void STDMETHODCALLTYPE DisableLeakTrackingForThread(
    731         ) = 0;
    732 
    733     virtual WINBOOL STDMETHODCALLTYPE IsLeakTrackingEnabledForThread(
    734         ) = 0;
    735 
    736 };
    737 #ifdef __CRT_UUID_DECL
    738 __CRT_UUID_DECL(IDXGIDebug1, 0xc5a05f0c, 0x16f2, 0x4adf, 0x9f,0x4d, 0xa8,0xc4,0xd5,0x8a,0xc5,0x50)
    739 #endif
    740 #else
    741 typedef struct IDXGIDebug1Vtbl {
    742     BEGIN_INTERFACE
    743 
    744     /*** IUnknown methods ***/
    745     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    746         IDXGIDebug1 *This,
    747         REFIID riid,
    748         void **ppvObject);
    749 
    750     ULONG (STDMETHODCALLTYPE *AddRef)(
    751         IDXGIDebug1 *This);
    752 
    753     ULONG (STDMETHODCALLTYPE *Release)(
    754         IDXGIDebug1 *This);
    755 
    756     /*** IDXGIDebug methods ***/
    757     HRESULT (STDMETHODCALLTYPE *ReportLiveObjects)(
    758         IDXGIDebug1 *This,
    759         GUID apiid,
    760         DXGI_DEBUG_RLO_FLAGS flags);
    761 
    762     /*** IDXGIDebug1 methods ***/
    763     void (STDMETHODCALLTYPE *EnableLeakTrackingForThread)(
    764         IDXGIDebug1 *This);
    765 
    766     void (STDMETHODCALLTYPE *DisableLeakTrackingForThread)(
    767         IDXGIDebug1 *This);
    768 
    769     WINBOOL (STDMETHODCALLTYPE *IsLeakTrackingEnabledForThread)(
    770         IDXGIDebug1 *This);
    771 
    772     END_INTERFACE
    773 } IDXGIDebug1Vtbl;
    774 
    775 interface IDXGIDebug1 {
    776     CONST_VTBL IDXGIDebug1Vtbl* lpVtbl;
    777 };
    778 
    779 #ifdef COBJMACROS
    780 #ifndef WIDL_C_INLINE_WRAPPERS
    781 /*** IUnknown methods ***/
    782 #define IDXGIDebug1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    783 #define IDXGIDebug1_AddRef(This) (This)->lpVtbl->AddRef(This)
    784 #define IDXGIDebug1_Release(This) (This)->lpVtbl->Release(This)
    785 /*** IDXGIDebug methods ***/
    786 #define IDXGIDebug1_ReportLiveObjects(This,apiid,flags) (This)->lpVtbl->ReportLiveObjects(This,apiid,flags)
    787 /*** IDXGIDebug1 methods ***/
    788 #define IDXGIDebug1_EnableLeakTrackingForThread(This) (This)->lpVtbl->EnableLeakTrackingForThread(This)
    789 #define IDXGIDebug1_DisableLeakTrackingForThread(This) (This)->lpVtbl->DisableLeakTrackingForThread(This)
    790 #define IDXGIDebug1_IsLeakTrackingEnabledForThread(This) (This)->lpVtbl->IsLeakTrackingEnabledForThread(This)
    791 #else
    792 /*** IUnknown methods ***/
    793 static inline HRESULT IDXGIDebug1_QueryInterface(IDXGIDebug1* This,REFIID riid,void **ppvObject) {
    794     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    795 }
    796 static inline ULONG IDXGIDebug1_AddRef(IDXGIDebug1* This) {
    797     return This->lpVtbl->AddRef(This);
    798 }
    799 static inline ULONG IDXGIDebug1_Release(IDXGIDebug1* This) {
    800     return This->lpVtbl->Release(This);
    801 }
    802 /*** IDXGIDebug methods ***/
    803 static inline HRESULT IDXGIDebug1_ReportLiveObjects(IDXGIDebug1* This,GUID apiid,DXGI_DEBUG_RLO_FLAGS flags) {
    804     return This->lpVtbl->ReportLiveObjects(This,apiid,flags);
    805 }
    806 /*** IDXGIDebug1 methods ***/
    807 static inline void IDXGIDebug1_EnableLeakTrackingForThread(IDXGIDebug1* This) {
    808     This->lpVtbl->EnableLeakTrackingForThread(This);
    809 }
    810 static inline void IDXGIDebug1_DisableLeakTrackingForThread(IDXGIDebug1* This) {
    811     This->lpVtbl->DisableLeakTrackingForThread(This);
    812 }
    813 static inline WINBOOL IDXGIDebug1_IsLeakTrackingEnabledForThread(IDXGIDebug1* This) {
    814     return This->lpVtbl->IsLeakTrackingEnabledForThread(This);
    815 }
    816 #endif
    817 #endif
    818 
    819 #endif
    820 
    821 
    822 #endif  /* __IDXGIDebug1_INTERFACE_DEFINED__ */
    823 
    824 /* Begin additional prototypes for all interfaces */
    825 
    826 
    827 /* End additional prototypes */
    828 
    829 #ifdef __cplusplus
    830 }
    831 #endif
    832 
    833 #endif /* __dxgidebug_h__ */