dxgidebug.h 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986
  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 8.01.0622 */
  3. /* @@MIDL_FILE_HEADING( ) */
  4. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  5. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  6. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  7. #endif
  8. /* verify that the <rpcsal.h> version is high enough to compile this file*/
  9. #ifndef __REQUIRED_RPCSAL_H_VERSION__
  10. #define __REQUIRED_RPCSAL_H_VERSION__ 100
  11. #endif
  12. #include "rpc.h"
  13. #include "rpcndr.h"
  14. #ifndef __RPCNDR_H_VERSION__
  15. #error this stub requires an updated version of <rpcndr.h>
  16. #endif /* __RPCNDR_H_VERSION__ */
  17. #ifndef COM_NO_WINDOWS_H
  18. #include "windows.h"
  19. #include "ole2.h"
  20. #endif /*COM_NO_WINDOWS_H*/
  21. #ifndef __dxgidebug_h__
  22. #define __dxgidebug_h__
  23. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  24. #pragma once
  25. #endif
  26. /* Forward Declarations */
  27. #ifndef __IDXGIInfoQueue_FWD_DEFINED__
  28. #define __IDXGIInfoQueue_FWD_DEFINED__
  29. typedef interface IDXGIInfoQueue IDXGIInfoQueue;
  30. #endif /* __IDXGIInfoQueue_FWD_DEFINED__ */
  31. #ifndef __IDXGIDebug_FWD_DEFINED__
  32. #define __IDXGIDebug_FWD_DEFINED__
  33. typedef interface IDXGIDebug IDXGIDebug;
  34. #endif /* __IDXGIDebug_FWD_DEFINED__ */
  35. #ifndef __IDXGIDebug1_FWD_DEFINED__
  36. #define __IDXGIDebug1_FWD_DEFINED__
  37. typedef interface IDXGIDebug1 IDXGIDebug1;
  38. #endif /* __IDXGIDebug1_FWD_DEFINED__ */
  39. /* header files for imported files */
  40. #include "oaidl.h"
  41. #include "ocidl.h"
  42. #ifdef __cplusplus
  43. extern "C"{
  44. #endif
  45. /* interface __MIDL_itf_dxgidebug_0000_0000 */
  46. /* [local] */
  47. #define DXGI_DEBUG_BINARY_VERSION ( 1 )
  48. typedef
  49. enum DXGI_DEBUG_RLO_FLAGS
  50. {
  51. DXGI_DEBUG_RLO_SUMMARY = 0x1,
  52. DXGI_DEBUG_RLO_DETAIL = 0x2,
  53. DXGI_DEBUG_RLO_IGNORE_INTERNAL = 0x4,
  54. DXGI_DEBUG_RLO_ALL = 0x7
  55. } DXGI_DEBUG_RLO_FLAGS;
  56. typedef GUID DXGI_DEBUG_ID;
  57. DEFINE_GUID(DXGI_DEBUG_ALL, 0xe48ae283, 0xda80, 0x490b, 0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x8);
  58. DEFINE_GUID(DXGI_DEBUG_DX, 0x35cdd7fc, 0x13b2, 0x421d, 0xa5, 0xd7, 0x7e, 0x44, 0x51, 0x28, 0x7d, 0x64);
  59. DEFINE_GUID(DXGI_DEBUG_DXGI, 0x25cddaa4, 0xb1c6, 0x47e1, 0xac, 0x3e, 0x98, 0x87, 0x5b, 0x5a, 0x2e, 0x2a);
  60. DEFINE_GUID(DXGI_DEBUG_APP, 0x6cd6e01, 0x4219, 0x4ebd, 0x87, 0x9, 0x27, 0xed, 0x23, 0x36, 0xc, 0x62);
  61. typedef
  62. enum DXGI_INFO_QUEUE_MESSAGE_CATEGORY
  63. {
  64. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN = 0,
  65. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN + 1 ) ,
  66. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS + 1 ) ,
  67. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION + 1 ) ,
  68. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP + 1 ) ,
  69. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION + 1 ) ,
  70. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION + 1 ) ,
  71. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING + 1 ) ,
  72. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING + 1 ) ,
  73. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1 ) ,
  74. DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER = ( DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION + 1 )
  75. } DXGI_INFO_QUEUE_MESSAGE_CATEGORY;
  76. typedef
  77. enum DXGI_INFO_QUEUE_MESSAGE_SEVERITY
  78. {
  79. DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION = 0,
  80. DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR = ( DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION + 1 ) ,
  81. DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING = ( DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR + 1 ) ,
  82. DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO = ( DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING + 1 ) ,
  83. DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE = ( DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO + 1 )
  84. } DXGI_INFO_QUEUE_MESSAGE_SEVERITY;
  85. typedef int DXGI_INFO_QUEUE_MESSAGE_ID;
  86. #define DXGI_INFO_QUEUE_MESSAGE_ID_STRING_FROM_APPLICATION 0
  87. typedef struct DXGI_INFO_QUEUE_MESSAGE
  88. {
  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. /* [annotation] */
  94. _Field_size_(DescriptionByteLength) const char *pDescription;
  95. SIZE_T DescriptionByteLength;
  96. } DXGI_INFO_QUEUE_MESSAGE;
  97. typedef struct DXGI_INFO_QUEUE_FILTER_DESC
  98. {
  99. UINT NumCategories;
  100. /* [annotation] */
  101. _Field_size_(NumCategories) DXGI_INFO_QUEUE_MESSAGE_CATEGORY *pCategoryList;
  102. UINT NumSeverities;
  103. /* [annotation] */
  104. _Field_size_(NumSeverities) DXGI_INFO_QUEUE_MESSAGE_SEVERITY *pSeverityList;
  105. UINT NumIDs;
  106. /* [annotation] */
  107. _Field_size_(NumIDs) DXGI_INFO_QUEUE_MESSAGE_ID *pIDList;
  108. } DXGI_INFO_QUEUE_FILTER_DESC;
  109. typedef struct DXGI_INFO_QUEUE_FILTER
  110. {
  111. DXGI_INFO_QUEUE_FILTER_DESC AllowList;
  112. DXGI_INFO_QUEUE_FILTER_DESC DenyList;
  113. } DXGI_INFO_QUEUE_FILTER;
  114. #define DXGI_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024
  115. HRESULT WINAPI DXGIGetDebugInterface(REFIID riid, void **ppDebug);
  116. extern RPC_IF_HANDLE __MIDL_itf_dxgidebug_0000_0000_v0_0_c_ifspec;
  117. extern RPC_IF_HANDLE __MIDL_itf_dxgidebug_0000_0000_v0_0_s_ifspec;
  118. #ifndef __IDXGIInfoQueue_INTERFACE_DEFINED__
  119. #define __IDXGIInfoQueue_INTERFACE_DEFINED__
  120. /* interface IDXGIInfoQueue */
  121. /* [unique][local][object][uuid] */
  122. EXTERN_C const IID IID_IDXGIInfoQueue;
  123. #if defined(__cplusplus) && !defined(CINTERFACE)
  124. MIDL_INTERFACE("D67441C7-672A-476f-9E82-CD55B44949CE")
  125. IDXGIInfoQueue : public IUnknown
  126. {
  127. public:
  128. virtual HRESULT STDMETHODCALLTYPE SetMessageCountLimit(
  129. /* [annotation] */
  130. _In_ DXGI_DEBUG_ID Producer,
  131. /* [annotation] */
  132. _In_ UINT64 MessageCountLimit) = 0;
  133. virtual void STDMETHODCALLTYPE ClearStoredMessages(
  134. /* [annotation] */
  135. _In_ DXGI_DEBUG_ID Producer) = 0;
  136. virtual HRESULT STDMETHODCALLTYPE GetMessage(
  137. /* [annotation] */
  138. _In_ DXGI_DEBUG_ID Producer,
  139. /* [annotation] */
  140. _In_ UINT64 MessageIndex,
  141. /* [annotation] */
  142. _Out_writes_bytes_opt_(*pMessageByteLength) DXGI_INFO_QUEUE_MESSAGE *pMessage,
  143. /* [annotation] */
  144. _Inout_ SIZE_T *pMessageByteLength) = 0;
  145. virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessagesAllowedByRetrievalFilters(
  146. /* [annotation] */
  147. _In_ DXGI_DEBUG_ID Producer) = 0;
  148. virtual UINT64 STDMETHODCALLTYPE GetNumStoredMessages(
  149. /* [annotation] */
  150. _In_ DXGI_DEBUG_ID Producer) = 0;
  151. virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDiscardedByMessageCountLimit(
  152. /* [annotation] */
  153. _In_ DXGI_DEBUG_ID Producer) = 0;
  154. virtual UINT64 STDMETHODCALLTYPE GetMessageCountLimit(
  155. /* [annotation] */
  156. _In_ DXGI_DEBUG_ID Producer) = 0;
  157. virtual UINT64 STDMETHODCALLTYPE GetNumMessagesAllowedByStorageFilter(
  158. /* [annotation] */
  159. _In_ DXGI_DEBUG_ID Producer) = 0;
  160. virtual UINT64 STDMETHODCALLTYPE GetNumMessagesDeniedByStorageFilter(
  161. /* [annotation] */
  162. _In_ DXGI_DEBUG_ID Producer) = 0;
  163. virtual HRESULT STDMETHODCALLTYPE AddStorageFilterEntries(
  164. /* [annotation] */
  165. _In_ DXGI_DEBUG_ID Producer,
  166. /* [annotation] */
  167. _In_ DXGI_INFO_QUEUE_FILTER *pFilter) = 0;
  168. virtual HRESULT STDMETHODCALLTYPE GetStorageFilter(
  169. /* [annotation] */
  170. _In_ DXGI_DEBUG_ID Producer,
  171. /* [annotation] */
  172. _Out_writes_bytes_opt_(*pFilterByteLength) DXGI_INFO_QUEUE_FILTER *pFilter,
  173. /* [annotation] */
  174. _Inout_ SIZE_T *pFilterByteLength) = 0;
  175. virtual void STDMETHODCALLTYPE ClearStorageFilter(
  176. /* [annotation] */
  177. _In_ DXGI_DEBUG_ID Producer) = 0;
  178. virtual HRESULT STDMETHODCALLTYPE PushEmptyStorageFilter(
  179. /* [annotation] */
  180. _In_ DXGI_DEBUG_ID Producer) = 0;
  181. virtual HRESULT STDMETHODCALLTYPE PushDenyAllStorageFilter(
  182. /* [annotation] */
  183. _In_ DXGI_DEBUG_ID Producer) = 0;
  184. virtual HRESULT STDMETHODCALLTYPE PushCopyOfStorageFilter(
  185. /* [annotation] */
  186. _In_ DXGI_DEBUG_ID Producer) = 0;
  187. virtual HRESULT STDMETHODCALLTYPE PushStorageFilter(
  188. /* [annotation] */
  189. _In_ DXGI_DEBUG_ID Producer,
  190. /* [annotation] */
  191. _In_ DXGI_INFO_QUEUE_FILTER *pFilter) = 0;
  192. virtual void STDMETHODCALLTYPE PopStorageFilter(
  193. /* [annotation] */
  194. _In_ DXGI_DEBUG_ID Producer) = 0;
  195. virtual UINT STDMETHODCALLTYPE GetStorageFilterStackSize(
  196. /* [annotation] */
  197. _In_ DXGI_DEBUG_ID Producer) = 0;
  198. virtual HRESULT STDMETHODCALLTYPE AddRetrievalFilterEntries(
  199. /* [annotation] */
  200. _In_ DXGI_DEBUG_ID Producer,
  201. /* [annotation] */
  202. _In_ DXGI_INFO_QUEUE_FILTER *pFilter) = 0;
  203. virtual HRESULT STDMETHODCALLTYPE GetRetrievalFilter(
  204. /* [annotation] */
  205. _In_ DXGI_DEBUG_ID Producer,
  206. /* [annotation] */
  207. _Out_writes_bytes_opt_(*pFilterByteLength) DXGI_INFO_QUEUE_FILTER *pFilter,
  208. /* [annotation] */
  209. _Inout_ SIZE_T *pFilterByteLength) = 0;
  210. virtual void STDMETHODCALLTYPE ClearRetrievalFilter(
  211. /* [annotation] */
  212. _In_ DXGI_DEBUG_ID Producer) = 0;
  213. virtual HRESULT STDMETHODCALLTYPE PushEmptyRetrievalFilter(
  214. /* [annotation] */
  215. _In_ DXGI_DEBUG_ID Producer) = 0;
  216. virtual HRESULT STDMETHODCALLTYPE PushDenyAllRetrievalFilter(
  217. /* [annotation] */
  218. _In_ DXGI_DEBUG_ID Producer) = 0;
  219. virtual HRESULT STDMETHODCALLTYPE PushCopyOfRetrievalFilter(
  220. /* [annotation] */
  221. _In_ DXGI_DEBUG_ID Producer) = 0;
  222. virtual HRESULT STDMETHODCALLTYPE PushRetrievalFilter(
  223. /* [annotation] */
  224. _In_ DXGI_DEBUG_ID Producer,
  225. /* [annotation] */
  226. _In_ DXGI_INFO_QUEUE_FILTER *pFilter) = 0;
  227. virtual void STDMETHODCALLTYPE PopRetrievalFilter(
  228. /* [annotation] */
  229. _In_ DXGI_DEBUG_ID Producer) = 0;
  230. virtual UINT STDMETHODCALLTYPE GetRetrievalFilterStackSize(
  231. /* [annotation] */
  232. _In_ DXGI_DEBUG_ID Producer) = 0;
  233. virtual HRESULT STDMETHODCALLTYPE AddMessage(
  234. /* [annotation] */
  235. _In_ DXGI_DEBUG_ID Producer,
  236. /* [annotation] */
  237. _In_ DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category,
  238. /* [annotation] */
  239. _In_ DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,
  240. /* [annotation] */
  241. _In_ DXGI_INFO_QUEUE_MESSAGE_ID ID,
  242. /* [annotation] */
  243. _In_ LPCSTR pDescription) = 0;
  244. virtual HRESULT STDMETHODCALLTYPE AddApplicationMessage(
  245. /* [annotation] */
  246. _In_ DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,
  247. /* [annotation] */
  248. _In_ LPCSTR pDescription) = 0;
  249. virtual HRESULT STDMETHODCALLTYPE SetBreakOnCategory(
  250. /* [annotation] */
  251. _In_ DXGI_DEBUG_ID Producer,
  252. /* [annotation] */
  253. _In_ DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category,
  254. /* [annotation] */
  255. _In_ BOOL bEnable) = 0;
  256. virtual HRESULT STDMETHODCALLTYPE SetBreakOnSeverity(
  257. /* [annotation] */
  258. _In_ DXGI_DEBUG_ID Producer,
  259. /* [annotation] */
  260. _In_ DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,
  261. /* [annotation] */
  262. _In_ BOOL bEnable) = 0;
  263. virtual HRESULT STDMETHODCALLTYPE SetBreakOnID(
  264. /* [annotation] */
  265. _In_ DXGI_DEBUG_ID Producer,
  266. /* [annotation] */
  267. _In_ DXGI_INFO_QUEUE_MESSAGE_ID ID,
  268. /* [annotation] */
  269. _In_ BOOL bEnable) = 0;
  270. virtual BOOL STDMETHODCALLTYPE GetBreakOnCategory(
  271. /* [annotation] */
  272. _In_ DXGI_DEBUG_ID Producer,
  273. /* [annotation] */
  274. _In_ DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category) = 0;
  275. virtual BOOL STDMETHODCALLTYPE GetBreakOnSeverity(
  276. /* [annotation] */
  277. _In_ DXGI_DEBUG_ID Producer,
  278. /* [annotation] */
  279. _In_ DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity) = 0;
  280. virtual BOOL STDMETHODCALLTYPE GetBreakOnID(
  281. /* [annotation] */
  282. _In_ DXGI_DEBUG_ID Producer,
  283. /* [annotation] */
  284. _In_ DXGI_INFO_QUEUE_MESSAGE_ID ID) = 0;
  285. virtual void STDMETHODCALLTYPE SetMuteDebugOutput(
  286. /* [annotation] */
  287. _In_ DXGI_DEBUG_ID Producer,
  288. /* [annotation] */
  289. _In_ BOOL bMute) = 0;
  290. virtual BOOL STDMETHODCALLTYPE GetMuteDebugOutput(
  291. /* [annotation] */
  292. _In_ DXGI_DEBUG_ID Producer) = 0;
  293. };
  294. #else /* C style interface */
  295. typedef struct IDXGIInfoQueueVtbl
  296. {
  297. BEGIN_INTERFACE
  298. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  299. IDXGIInfoQueue * This,
  300. /* [in] */ REFIID riid,
  301. /* [annotation][iid_is][out] */
  302. _COM_Outptr_ void **ppvObject);
  303. ULONG ( STDMETHODCALLTYPE *AddRef )(
  304. IDXGIInfoQueue * This);
  305. ULONG ( STDMETHODCALLTYPE *Release )(
  306. IDXGIInfoQueue * This);
  307. HRESULT ( STDMETHODCALLTYPE *SetMessageCountLimit )(
  308. IDXGIInfoQueue * This,
  309. /* [annotation] */
  310. _In_ DXGI_DEBUG_ID Producer,
  311. /* [annotation] */
  312. _In_ UINT64 MessageCountLimit);
  313. void ( STDMETHODCALLTYPE *ClearStoredMessages )(
  314. IDXGIInfoQueue * This,
  315. /* [annotation] */
  316. _In_ DXGI_DEBUG_ID Producer);
  317. HRESULT ( STDMETHODCALLTYPE *GetMessage )(
  318. IDXGIInfoQueue * This,
  319. /* [annotation] */
  320. _In_ DXGI_DEBUG_ID Producer,
  321. /* [annotation] */
  322. _In_ UINT64 MessageIndex,
  323. /* [annotation] */
  324. _Out_writes_bytes_opt_(*pMessageByteLength) DXGI_INFO_QUEUE_MESSAGE *pMessage,
  325. /* [annotation] */
  326. _Inout_ SIZE_T *pMessageByteLength);
  327. UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessagesAllowedByRetrievalFilters )(
  328. IDXGIInfoQueue * This,
  329. /* [annotation] */
  330. _In_ DXGI_DEBUG_ID Producer);
  331. UINT64 ( STDMETHODCALLTYPE *GetNumStoredMessages )(
  332. IDXGIInfoQueue * This,
  333. /* [annotation] */
  334. _In_ DXGI_DEBUG_ID Producer);
  335. UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDiscardedByMessageCountLimit )(
  336. IDXGIInfoQueue * This,
  337. /* [annotation] */
  338. _In_ DXGI_DEBUG_ID Producer);
  339. UINT64 ( STDMETHODCALLTYPE *GetMessageCountLimit )(
  340. IDXGIInfoQueue * This,
  341. /* [annotation] */
  342. _In_ DXGI_DEBUG_ID Producer);
  343. UINT64 ( STDMETHODCALLTYPE *GetNumMessagesAllowedByStorageFilter )(
  344. IDXGIInfoQueue * This,
  345. /* [annotation] */
  346. _In_ DXGI_DEBUG_ID Producer);
  347. UINT64 ( STDMETHODCALLTYPE *GetNumMessagesDeniedByStorageFilter )(
  348. IDXGIInfoQueue * This,
  349. /* [annotation] */
  350. _In_ DXGI_DEBUG_ID Producer);
  351. HRESULT ( STDMETHODCALLTYPE *AddStorageFilterEntries )(
  352. IDXGIInfoQueue * This,
  353. /* [annotation] */
  354. _In_ DXGI_DEBUG_ID Producer,
  355. /* [annotation] */
  356. _In_ DXGI_INFO_QUEUE_FILTER *pFilter);
  357. HRESULT ( STDMETHODCALLTYPE *GetStorageFilter )(
  358. IDXGIInfoQueue * This,
  359. /* [annotation] */
  360. _In_ DXGI_DEBUG_ID Producer,
  361. /* [annotation] */
  362. _Out_writes_bytes_opt_(*pFilterByteLength) DXGI_INFO_QUEUE_FILTER *pFilter,
  363. /* [annotation] */
  364. _Inout_ SIZE_T *pFilterByteLength);
  365. void ( STDMETHODCALLTYPE *ClearStorageFilter )(
  366. IDXGIInfoQueue * This,
  367. /* [annotation] */
  368. _In_ DXGI_DEBUG_ID Producer);
  369. HRESULT ( STDMETHODCALLTYPE *PushEmptyStorageFilter )(
  370. IDXGIInfoQueue * This,
  371. /* [annotation] */
  372. _In_ DXGI_DEBUG_ID Producer);
  373. HRESULT ( STDMETHODCALLTYPE *PushDenyAllStorageFilter )(
  374. IDXGIInfoQueue * This,
  375. /* [annotation] */
  376. _In_ DXGI_DEBUG_ID Producer);
  377. HRESULT ( STDMETHODCALLTYPE *PushCopyOfStorageFilter )(
  378. IDXGIInfoQueue * This,
  379. /* [annotation] */
  380. _In_ DXGI_DEBUG_ID Producer);
  381. HRESULT ( STDMETHODCALLTYPE *PushStorageFilter )(
  382. IDXGIInfoQueue * This,
  383. /* [annotation] */
  384. _In_ DXGI_DEBUG_ID Producer,
  385. /* [annotation] */
  386. _In_ DXGI_INFO_QUEUE_FILTER *pFilter);
  387. void ( STDMETHODCALLTYPE *PopStorageFilter )(
  388. IDXGIInfoQueue * This,
  389. /* [annotation] */
  390. _In_ DXGI_DEBUG_ID Producer);
  391. UINT ( STDMETHODCALLTYPE *GetStorageFilterStackSize )(
  392. IDXGIInfoQueue * This,
  393. /* [annotation] */
  394. _In_ DXGI_DEBUG_ID Producer);
  395. HRESULT ( STDMETHODCALLTYPE *AddRetrievalFilterEntries )(
  396. IDXGIInfoQueue * This,
  397. /* [annotation] */
  398. _In_ DXGI_DEBUG_ID Producer,
  399. /* [annotation] */
  400. _In_ DXGI_INFO_QUEUE_FILTER *pFilter);
  401. HRESULT ( STDMETHODCALLTYPE *GetRetrievalFilter )(
  402. IDXGIInfoQueue * This,
  403. /* [annotation] */
  404. _In_ DXGI_DEBUG_ID Producer,
  405. /* [annotation] */
  406. _Out_writes_bytes_opt_(*pFilterByteLength) DXGI_INFO_QUEUE_FILTER *pFilter,
  407. /* [annotation] */
  408. _Inout_ SIZE_T *pFilterByteLength);
  409. void ( STDMETHODCALLTYPE *ClearRetrievalFilter )(
  410. IDXGIInfoQueue * This,
  411. /* [annotation] */
  412. _In_ DXGI_DEBUG_ID Producer);
  413. HRESULT ( STDMETHODCALLTYPE *PushEmptyRetrievalFilter )(
  414. IDXGIInfoQueue * This,
  415. /* [annotation] */
  416. _In_ DXGI_DEBUG_ID Producer);
  417. HRESULT ( STDMETHODCALLTYPE *PushDenyAllRetrievalFilter )(
  418. IDXGIInfoQueue * This,
  419. /* [annotation] */
  420. _In_ DXGI_DEBUG_ID Producer);
  421. HRESULT ( STDMETHODCALLTYPE *PushCopyOfRetrievalFilter )(
  422. IDXGIInfoQueue * This,
  423. /* [annotation] */
  424. _In_ DXGI_DEBUG_ID Producer);
  425. HRESULT ( STDMETHODCALLTYPE *PushRetrievalFilter )(
  426. IDXGIInfoQueue * This,
  427. /* [annotation] */
  428. _In_ DXGI_DEBUG_ID Producer,
  429. /* [annotation] */
  430. _In_ DXGI_INFO_QUEUE_FILTER *pFilter);
  431. void ( STDMETHODCALLTYPE *PopRetrievalFilter )(
  432. IDXGIInfoQueue * This,
  433. /* [annotation] */
  434. _In_ DXGI_DEBUG_ID Producer);
  435. UINT ( STDMETHODCALLTYPE *GetRetrievalFilterStackSize )(
  436. IDXGIInfoQueue * This,
  437. /* [annotation] */
  438. _In_ DXGI_DEBUG_ID Producer);
  439. HRESULT ( STDMETHODCALLTYPE *AddMessage )(
  440. IDXGIInfoQueue * This,
  441. /* [annotation] */
  442. _In_ DXGI_DEBUG_ID Producer,
  443. /* [annotation] */
  444. _In_ DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category,
  445. /* [annotation] */
  446. _In_ DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,
  447. /* [annotation] */
  448. _In_ DXGI_INFO_QUEUE_MESSAGE_ID ID,
  449. /* [annotation] */
  450. _In_ LPCSTR pDescription);
  451. HRESULT ( STDMETHODCALLTYPE *AddApplicationMessage )(
  452. IDXGIInfoQueue * This,
  453. /* [annotation] */
  454. _In_ DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,
  455. /* [annotation] */
  456. _In_ LPCSTR pDescription);
  457. HRESULT ( STDMETHODCALLTYPE *SetBreakOnCategory )(
  458. IDXGIInfoQueue * This,
  459. /* [annotation] */
  460. _In_ DXGI_DEBUG_ID Producer,
  461. /* [annotation] */
  462. _In_ DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category,
  463. /* [annotation] */
  464. _In_ BOOL bEnable);
  465. HRESULT ( STDMETHODCALLTYPE *SetBreakOnSeverity )(
  466. IDXGIInfoQueue * This,
  467. /* [annotation] */
  468. _In_ DXGI_DEBUG_ID Producer,
  469. /* [annotation] */
  470. _In_ DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,
  471. /* [annotation] */
  472. _In_ BOOL bEnable);
  473. HRESULT ( STDMETHODCALLTYPE *SetBreakOnID )(
  474. IDXGIInfoQueue * This,
  475. /* [annotation] */
  476. _In_ DXGI_DEBUG_ID Producer,
  477. /* [annotation] */
  478. _In_ DXGI_INFO_QUEUE_MESSAGE_ID ID,
  479. /* [annotation] */
  480. _In_ BOOL bEnable);
  481. BOOL ( STDMETHODCALLTYPE *GetBreakOnCategory )(
  482. IDXGIInfoQueue * This,
  483. /* [annotation] */
  484. _In_ DXGI_DEBUG_ID Producer,
  485. /* [annotation] */
  486. _In_ DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category);
  487. BOOL ( STDMETHODCALLTYPE *GetBreakOnSeverity )(
  488. IDXGIInfoQueue * This,
  489. /* [annotation] */
  490. _In_ DXGI_DEBUG_ID Producer,
  491. /* [annotation] */
  492. _In_ DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity);
  493. BOOL ( STDMETHODCALLTYPE *GetBreakOnID )(
  494. IDXGIInfoQueue * This,
  495. /* [annotation] */
  496. _In_ DXGI_DEBUG_ID Producer,
  497. /* [annotation] */
  498. _In_ DXGI_INFO_QUEUE_MESSAGE_ID ID);
  499. void ( STDMETHODCALLTYPE *SetMuteDebugOutput )(
  500. IDXGIInfoQueue * This,
  501. /* [annotation] */
  502. _In_ DXGI_DEBUG_ID Producer,
  503. /* [annotation] */
  504. _In_ BOOL bMute);
  505. BOOL ( STDMETHODCALLTYPE *GetMuteDebugOutput )(
  506. IDXGIInfoQueue * This,
  507. /* [annotation] */
  508. _In_ DXGI_DEBUG_ID Producer);
  509. END_INTERFACE
  510. } IDXGIInfoQueueVtbl;
  511. interface IDXGIInfoQueue
  512. {
  513. CONST_VTBL struct IDXGIInfoQueueVtbl *lpVtbl;
  514. };
  515. #ifdef COBJMACROS
  516. #define IDXGIInfoQueue_QueryInterface(This,riid,ppvObject) \
  517. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  518. #define IDXGIInfoQueue_AddRef(This) \
  519. ( (This)->lpVtbl -> AddRef(This) )
  520. #define IDXGIInfoQueue_Release(This) \
  521. ( (This)->lpVtbl -> Release(This) )
  522. #define IDXGIInfoQueue_SetMessageCountLimit(This,Producer,MessageCountLimit) \
  523. ( (This)->lpVtbl -> SetMessageCountLimit(This,Producer,MessageCountLimit) )
  524. #define IDXGIInfoQueue_ClearStoredMessages(This,Producer) \
  525. ( (This)->lpVtbl -> ClearStoredMessages(This,Producer) )
  526. #define IDXGIInfoQueue_GetMessage(This,Producer,MessageIndex,pMessage,pMessageByteLength) \
  527. ( (This)->lpVtbl -> GetMessage(This,Producer,MessageIndex,pMessage,pMessageByteLength) )
  528. #define IDXGIInfoQueue_GetNumStoredMessagesAllowedByRetrievalFilters(This,Producer) \
  529. ( (This)->lpVtbl -> GetNumStoredMessagesAllowedByRetrievalFilters(This,Producer) )
  530. #define IDXGIInfoQueue_GetNumStoredMessages(This,Producer) \
  531. ( (This)->lpVtbl -> GetNumStoredMessages(This,Producer) )
  532. #define IDXGIInfoQueue_GetNumMessagesDiscardedByMessageCountLimit(This,Producer) \
  533. ( (This)->lpVtbl -> GetNumMessagesDiscardedByMessageCountLimit(This,Producer) )
  534. #define IDXGIInfoQueue_GetMessageCountLimit(This,Producer) \
  535. ( (This)->lpVtbl -> GetMessageCountLimit(This,Producer) )
  536. #define IDXGIInfoQueue_GetNumMessagesAllowedByStorageFilter(This,Producer) \
  537. ( (This)->lpVtbl -> GetNumMessagesAllowedByStorageFilter(This,Producer) )
  538. #define IDXGIInfoQueue_GetNumMessagesDeniedByStorageFilter(This,Producer) \
  539. ( (This)->lpVtbl -> GetNumMessagesDeniedByStorageFilter(This,Producer) )
  540. #define IDXGIInfoQueue_AddStorageFilterEntries(This,Producer,pFilter) \
  541. ( (This)->lpVtbl -> AddStorageFilterEntries(This,Producer,pFilter) )
  542. #define IDXGIInfoQueue_GetStorageFilter(This,Producer,pFilter,pFilterByteLength) \
  543. ( (This)->lpVtbl -> GetStorageFilter(This,Producer,pFilter,pFilterByteLength) )
  544. #define IDXGIInfoQueue_ClearStorageFilter(This,Producer) \
  545. ( (This)->lpVtbl -> ClearStorageFilter(This,Producer) )
  546. #define IDXGIInfoQueue_PushEmptyStorageFilter(This,Producer) \
  547. ( (This)->lpVtbl -> PushEmptyStorageFilter(This,Producer) )
  548. #define IDXGIInfoQueue_PushDenyAllStorageFilter(This,Producer) \
  549. ( (This)->lpVtbl -> PushDenyAllStorageFilter(This,Producer) )
  550. #define IDXGIInfoQueue_PushCopyOfStorageFilter(This,Producer) \
  551. ( (This)->lpVtbl -> PushCopyOfStorageFilter(This,Producer) )
  552. #define IDXGIInfoQueue_PushStorageFilter(This,Producer,pFilter) \
  553. ( (This)->lpVtbl -> PushStorageFilter(This,Producer,pFilter) )
  554. #define IDXGIInfoQueue_PopStorageFilter(This,Producer) \
  555. ( (This)->lpVtbl -> PopStorageFilter(This,Producer) )
  556. #define IDXGIInfoQueue_GetStorageFilterStackSize(This,Producer) \
  557. ( (This)->lpVtbl -> GetStorageFilterStackSize(This,Producer) )
  558. #define IDXGIInfoQueue_AddRetrievalFilterEntries(This,Producer,pFilter) \
  559. ( (This)->lpVtbl -> AddRetrievalFilterEntries(This,Producer,pFilter) )
  560. #define IDXGIInfoQueue_GetRetrievalFilter(This,Producer,pFilter,pFilterByteLength) \
  561. ( (This)->lpVtbl -> GetRetrievalFilter(This,Producer,pFilter,pFilterByteLength) )
  562. #define IDXGIInfoQueue_ClearRetrievalFilter(This,Producer) \
  563. ( (This)->lpVtbl -> ClearRetrievalFilter(This,Producer) )
  564. #define IDXGIInfoQueue_PushEmptyRetrievalFilter(This,Producer) \
  565. ( (This)->lpVtbl -> PushEmptyRetrievalFilter(This,Producer) )
  566. #define IDXGIInfoQueue_PushDenyAllRetrievalFilter(This,Producer) \
  567. ( (This)->lpVtbl -> PushDenyAllRetrievalFilter(This,Producer) )
  568. #define IDXGIInfoQueue_PushCopyOfRetrievalFilter(This,Producer) \
  569. ( (This)->lpVtbl -> PushCopyOfRetrievalFilter(This,Producer) )
  570. #define IDXGIInfoQueue_PushRetrievalFilter(This,Producer,pFilter) \
  571. ( (This)->lpVtbl -> PushRetrievalFilter(This,Producer,pFilter) )
  572. #define IDXGIInfoQueue_PopRetrievalFilter(This,Producer) \
  573. ( (This)->lpVtbl -> PopRetrievalFilter(This,Producer) )
  574. #define IDXGIInfoQueue_GetRetrievalFilterStackSize(This,Producer) \
  575. ( (This)->lpVtbl -> GetRetrievalFilterStackSize(This,Producer) )
  576. #define IDXGIInfoQueue_AddMessage(This,Producer,Category,Severity,ID,pDescription) \
  577. ( (This)->lpVtbl -> AddMessage(This,Producer,Category,Severity,ID,pDescription) )
  578. #define IDXGIInfoQueue_AddApplicationMessage(This,Severity,pDescription) \
  579. ( (This)->lpVtbl -> AddApplicationMessage(This,Severity,pDescription) )
  580. #define IDXGIInfoQueue_SetBreakOnCategory(This,Producer,Category,bEnable) \
  581. ( (This)->lpVtbl -> SetBreakOnCategory(This,Producer,Category,bEnable) )
  582. #define IDXGIInfoQueue_SetBreakOnSeverity(This,Producer,Severity,bEnable) \
  583. ( (This)->lpVtbl -> SetBreakOnSeverity(This,Producer,Severity,bEnable) )
  584. #define IDXGIInfoQueue_SetBreakOnID(This,Producer,ID,bEnable) \
  585. ( (This)->lpVtbl -> SetBreakOnID(This,Producer,ID,bEnable) )
  586. #define IDXGIInfoQueue_GetBreakOnCategory(This,Producer,Category) \
  587. ( (This)->lpVtbl -> GetBreakOnCategory(This,Producer,Category) )
  588. #define IDXGIInfoQueue_GetBreakOnSeverity(This,Producer,Severity) \
  589. ( (This)->lpVtbl -> GetBreakOnSeverity(This,Producer,Severity) )
  590. #define IDXGIInfoQueue_GetBreakOnID(This,Producer,ID) \
  591. ( (This)->lpVtbl -> GetBreakOnID(This,Producer,ID) )
  592. #define IDXGIInfoQueue_SetMuteDebugOutput(This,Producer,bMute) \
  593. ( (This)->lpVtbl -> SetMuteDebugOutput(This,Producer,bMute) )
  594. #define IDXGIInfoQueue_GetMuteDebugOutput(This,Producer) \
  595. ( (This)->lpVtbl -> GetMuteDebugOutput(This,Producer) )
  596. #endif /* COBJMACROS */
  597. #endif /* C style interface */
  598. #endif /* __IDXGIInfoQueue_INTERFACE_DEFINED__ */
  599. #ifndef __IDXGIDebug_INTERFACE_DEFINED__
  600. #define __IDXGIDebug_INTERFACE_DEFINED__
  601. /* interface IDXGIDebug */
  602. /* [unique][local][object][uuid] */
  603. EXTERN_C const IID IID_IDXGIDebug;
  604. #if defined(__cplusplus) && !defined(CINTERFACE)
  605. MIDL_INTERFACE("119E7452-DE9E-40fe-8806-88F90C12B441")
  606. IDXGIDebug : public IUnknown
  607. {
  608. public:
  609. virtual HRESULT STDMETHODCALLTYPE ReportLiveObjects(
  610. GUID apiid,
  611. DXGI_DEBUG_RLO_FLAGS flags) = 0;
  612. };
  613. #else /* C style interface */
  614. typedef struct IDXGIDebugVtbl
  615. {
  616. BEGIN_INTERFACE
  617. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  618. IDXGIDebug * This,
  619. /* [in] */ REFIID riid,
  620. /* [annotation][iid_is][out] */
  621. _COM_Outptr_ void **ppvObject);
  622. ULONG ( STDMETHODCALLTYPE *AddRef )(
  623. IDXGIDebug * This);
  624. ULONG ( STDMETHODCALLTYPE *Release )(
  625. IDXGIDebug * This);
  626. HRESULT ( STDMETHODCALLTYPE *ReportLiveObjects )(
  627. IDXGIDebug * This,
  628. GUID apiid,
  629. DXGI_DEBUG_RLO_FLAGS flags);
  630. END_INTERFACE
  631. } IDXGIDebugVtbl;
  632. interface IDXGIDebug
  633. {
  634. CONST_VTBL struct IDXGIDebugVtbl *lpVtbl;
  635. };
  636. #ifdef COBJMACROS
  637. #define IDXGIDebug_QueryInterface(This,riid,ppvObject) \
  638. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  639. #define IDXGIDebug_AddRef(This) \
  640. ( (This)->lpVtbl -> AddRef(This) )
  641. #define IDXGIDebug_Release(This) \
  642. ( (This)->lpVtbl -> Release(This) )
  643. #define IDXGIDebug_ReportLiveObjects(This,apiid,flags) \
  644. ( (This)->lpVtbl -> ReportLiveObjects(This,apiid,flags) )
  645. #endif /* COBJMACROS */
  646. #endif /* C style interface */
  647. #endif /* __IDXGIDebug_INTERFACE_DEFINED__ */
  648. #ifndef __IDXGIDebug1_INTERFACE_DEFINED__
  649. #define __IDXGIDebug1_INTERFACE_DEFINED__
  650. /* interface IDXGIDebug1 */
  651. /* [unique][local][object][uuid] */
  652. EXTERN_C const IID IID_IDXGIDebug1;
  653. #if defined(__cplusplus) && !defined(CINTERFACE)
  654. MIDL_INTERFACE("c5a05f0c-16f2-4adf-9f4d-a8c4d58ac550")
  655. IDXGIDebug1 : public IDXGIDebug
  656. {
  657. public:
  658. virtual void STDMETHODCALLTYPE EnableLeakTrackingForThread( void) = 0;
  659. virtual void STDMETHODCALLTYPE DisableLeakTrackingForThread( void) = 0;
  660. virtual BOOL STDMETHODCALLTYPE IsLeakTrackingEnabledForThread( void) = 0;
  661. };
  662. #else /* C style interface */
  663. typedef struct IDXGIDebug1Vtbl
  664. {
  665. BEGIN_INTERFACE
  666. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  667. IDXGIDebug1 * This,
  668. /* [in] */ REFIID riid,
  669. /* [annotation][iid_is][out] */
  670. _COM_Outptr_ void **ppvObject);
  671. ULONG ( STDMETHODCALLTYPE *AddRef )(
  672. IDXGIDebug1 * This);
  673. ULONG ( STDMETHODCALLTYPE *Release )(
  674. IDXGIDebug1 * This);
  675. HRESULT ( STDMETHODCALLTYPE *ReportLiveObjects )(
  676. IDXGIDebug1 * This,
  677. GUID apiid,
  678. DXGI_DEBUG_RLO_FLAGS flags);
  679. void ( STDMETHODCALLTYPE *EnableLeakTrackingForThread )(
  680. IDXGIDebug1 * This);
  681. void ( STDMETHODCALLTYPE *DisableLeakTrackingForThread )(
  682. IDXGIDebug1 * This);
  683. BOOL ( STDMETHODCALLTYPE *IsLeakTrackingEnabledForThread )(
  684. IDXGIDebug1 * This);
  685. END_INTERFACE
  686. } IDXGIDebug1Vtbl;
  687. interface IDXGIDebug1
  688. {
  689. CONST_VTBL struct IDXGIDebug1Vtbl *lpVtbl;
  690. };
  691. #ifdef COBJMACROS
  692. #define IDXGIDebug1_QueryInterface(This,riid,ppvObject) \
  693. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  694. #define IDXGIDebug1_AddRef(This) \
  695. ( (This)->lpVtbl -> AddRef(This) )
  696. #define IDXGIDebug1_Release(This) \
  697. ( (This)->lpVtbl -> Release(This) )
  698. #define IDXGIDebug1_ReportLiveObjects(This,apiid,flags) \
  699. ( (This)->lpVtbl -> ReportLiveObjects(This,apiid,flags) )
  700. #define IDXGIDebug1_EnableLeakTrackingForThread(This) \
  701. ( (This)->lpVtbl -> EnableLeakTrackingForThread(This) )
  702. #define IDXGIDebug1_DisableLeakTrackingForThread(This) \
  703. ( (This)->lpVtbl -> DisableLeakTrackingForThread(This) )
  704. #define IDXGIDebug1_IsLeakTrackingEnabledForThread(This) \
  705. ( (This)->lpVtbl -> IsLeakTrackingEnabledForThread(This) )
  706. #endif /* COBJMACROS */
  707. #endif /* C style interface */
  708. #endif /* __IDXGIDebug1_INTERFACE_DEFINED__ */
  709. /* interface __MIDL_itf_dxgidebug_0000_0003 */
  710. /* [local] */
  711. DEFINE_GUID(IID_IDXGIInfoQueue,0xD67441C7,0x672A,0x476f,0x9E,0x82,0xCD,0x55,0xB4,0x49,0x49,0xCE);
  712. DEFINE_GUID(IID_IDXGIDebug,0x119E7452,0xDE9E,0x40fe,0x88,0x06,0x88,0xF9,0x0C,0x12,0xB4,0x41);
  713. DEFINE_GUID(IID_IDXGIDebug1,0xc5a05f0c,0x16f2,0x4adf,0x9f,0x4d,0xa8,0xc4,0xd5,0x8a,0xc5,0x50);
  714. extern RPC_IF_HANDLE __MIDL_itf_dxgidebug_0000_0003_v0_0_c_ifspec;
  715. extern RPC_IF_HANDLE __MIDL_itf_dxgidebug_0000_0003_v0_0_s_ifspec;
  716. /* Additional Prototypes for ALL interfaces */
  717. /* end of Additional Prototypes */
  718. #ifdef __cplusplus
  719. }
  720. #endif
  721. #endif