Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/dxdiag.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /* | |
| 2 * Copyright (C) 2004 Raphael Junqueira | |
| 3 * | |
| 4 * This library is free software; you can redistribute it and/or | |
| 5 * modify it under the terms of the GNU Lesser General Public | |
| 6 * License as published by the Free Software Foundation; either | |
| 7 * version 2.1 of the License, or (at your option) any later version. | |
| 8 * | |
| 9 * This library is distributed in the hope that it will be useful, | |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 12 * Lesser General Public License for more details. | |
| 13 * | |
| 14 * You should have received a copy of the GNU Lesser General Public | |
| 15 * License along with this library; if not, write to the Free Software | |
| 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| 17 */ | |
| 18 | |
| 19 #ifndef __WINE_DXDIAG_H | |
| 20 #define __WINE_DXDIAG_H | |
| 21 | |
| 22 #include <ole2.h> | |
| 23 | |
| 24 #ifdef __cplusplus | |
| 25 extern "C" { | |
| 26 #endif /* defined(__cplusplus) */ | |
| 27 | |
| 28 /***************************************************************************** | |
| 29 * #defines and error codes | |
| 30 */ | |
| 31 #define DXDIAG_DX9_SDK_VERSION 111 | |
| 32 | |
| 33 #define _FACDXDIAG 0x007 | |
| 34 #define MAKE_DXDIAGHRESULT( code ) MAKE_HRESULT( 1, _FACDXDIAG, code ) | |
| 35 | |
| 36 /* | |
| 37 * DXDiag Errors | |
| 38 */ | |
| 39 #define DXDIAG_E_INSUFFICIENT_BUFFER MAKE_DXDIAGHRESULT(0x007A) | |
| 40 | |
| 41 | |
| 42 /***************************************************************************** | |
| 43 * DXDiag structures Typedefs | |
| 44 */ | |
| 45 typedef struct _DXDIAG_INIT_PARAMS { | |
| 46 DWORD dwSize; | |
| 47 DWORD dwDxDiagHeaderVersion; | |
| 48 BOOL bAllowWHQLChecks; | |
| 49 VOID* pReserved; | |
| 50 } DXDIAG_INIT_PARAMS; | |
| 51 | |
| 52 | |
| 53 /***************************************************************************** | |
| 54 * Predeclare the interfaces | |
| 55 */ | |
| 56 /* CLSIDs */ | |
| 57 DEFINE_GUID(CLSID_DxDiagProvider, 0xA65B8071, 0x3BFE, 0x4213, 0x9A, 0x5B, 0x49, 0x1D, 0xA4, 0x46, 0x1C, 0xA7); | |
| 58 | |
| 59 /* IIDs */ | |
| 60 DEFINE_GUID(IID_IDxDiagProvider, 0x9C6B4CB0, 0x23F8, 0x49CC, 0xA3, 0xED, 0x45, 0xA5, 0x50, 0x00, 0xA6, 0xD2); | |
| 61 DEFINE_GUID(IID_IDxDiagContainer, 0x7D0F462F, 0x4064, 0x4862, 0xBC, 0x7F, 0x93, 0x3E, 0x50, 0x58, 0xC1, 0x0F); | |
| 62 | |
| 63 /* typedef definitions */ | |
| 64 typedef struct IDxDiagProvider *LPDXDIAGPROVIDER, *PDXDIAGPROVIDER; | |
| 65 typedef struct IDxDiagContainer *LPDXDIAGCONTAINER, *PDXDIAGCONTAINER; | |
| 66 | |
| 67 /***************************************************************************** | |
| 68 * IDxDiagContainer interface | |
| 69 */ | |
| 70 #ifdef __WINESRC__ | |
| 71 #undef GetProp | |
| 72 #endif | |
| 73 | |
| 74 #define INTERFACE IDxDiagContainer | |
| 75 DECLARE_INTERFACE_(IDxDiagContainer,IUnknown) | |
| 76 { | |
| 77 /*** IUnknown methods ***/ | |
| 78 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; | |
| 79 STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| 80 STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| 81 /*** IDxDiagContainer methods ***/ | |
| 82 STDMETHOD(GetNumberOfChildContainers)(THIS_ DWORD* pdwCount) PURE; | |
| 83 STDMETHOD(EnumChildContainerNames)(THIS_ DWORD dwIndex, LPWSTR pwszContainer, DWORD cchContainer) PURE; | |
| 84 STDMETHOD(GetChildContainer)(THIS_ LPCWSTR pwszContainer, IDxDiagContainer** ppInstance) PURE; | |
| 85 STDMETHOD(GetNumberOfProps)(THIS_ DWORD* pdwCount) PURE; | |
| 86 STDMETHOD(EnumPropNames)(THIS_ DWORD dwIndex, LPWSTR pwszPropName, DWORD cchPropName) PURE; | |
| 87 STDMETHOD(GetProp)(THIS_ LPCWSTR pwszPropName, VARIANT* pvarProp) PURE; | |
| 88 }; | |
| 89 #undef INTERFACE | |
| 90 | |
| 91 #if !defined(__cplusplus) || defined(CINTERFACE) | |
| 92 /*** IUnknown methods ***/ | |
| 93 #define IDxDiagContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | |
| 94 #define IDxDiagContainer_AddRef(p) (p)->lpVtbl->AddRef(p) | |
| 95 #define IDxDiagContainer_Release(p) (p)->lpVtbl->Release(p) | |
| 96 /*** IDxDiagContainer methods ***/ | |
| 97 #define IDxDiagContainer_GetNumberOfChildContainers(p,a) (p)->lpVtbl->GetNumberOfChildContainers(p,a) | |
| 98 #define IDxDiagContainer_EnumChildContainerNames(p,a,b,c) (p)->lpVtbl->EnumChildContainerNames(p,a,b,c) | |
| 99 #define IDxDiagContainer_GetChildContainer(p,a,b) (p)->lpVtbl->GetChildContainer(p,a,b) | |
| 100 #define IDxDiagContainer_GetNumberOfProps(p,a) (p)->lpVtbl->GetNumberOfProps(p,a) | |
| 101 #define IDxDiagContainer_EnumPropNames(p,a,b,c) (p)->lpVtbl->EnumPropNames(p,a,b,c) | |
| 102 #define IDxDiagContainer_GetProp(p,a,b) (p)->lpVtbl->GetProp(p,a,b) | |
| 103 #else | |
| 104 /*** IUnknown methods ***/ | |
| 105 #define IDxDiagContainer_QueryInterface(p,a,b) (p)->QueryInterface(a,b) | |
| 106 #define IDxDiagContainer_AddRef(p) (p)->AddRef() | |
| 107 #define IDxDiagContainer_Release(p) (p)->Release() | |
| 108 /*** IDxDiagContainer methods ***/ | |
| 109 #define IDxDiagContainer_GetNumberOfChildContainers(p,a) (p)->GetNumberOfChildContainers(a) | |
| 110 #define IDxDiagContainer_EnumChildContainerNames(p,a,b,c) (p)->EnumChildContainerNames(a,b,c) | |
| 111 #define IDxDiagContainer_GetChildContainer(p,a,b) (p)->GetChildContainer(a,b) | |
| 112 #define IDxDiagContainer_GetNumberOfProps(p,a) (p)->GetNumberOfProps(a) | |
| 113 #define IDxDiagContainer_EnumPropNames(p,a,b,c) (p)->EnumPropNames(a,b,c) | |
| 114 #define IDxDiagContainer_GetProp(p,a,b) (p)->GetProp(a,b) | |
| 115 #endif | |
| 116 | |
| 117 /***************************************************************************** | |
| 118 * IDxDiagProvider interface | |
| 119 */ | |
| 120 #define INTERFACE IDxDiagProvider | |
| 121 DECLARE_INTERFACE_(IDxDiagProvider,IUnknown) | |
| 122 { | |
| 123 /*** IUnknown methods ***/ | |
| 124 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; | |
| 125 STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| 126 STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| 127 /*** IDxDiagProvider methods ***/ | |
| 128 STDMETHOD(Initialize)(THIS_ DXDIAG_INIT_PARAMS* pParams) PURE; | |
| 129 STDMETHOD(GetRootContainer)(THIS_ IDxDiagContainer** ppInstance) PURE; | |
| 130 }; | |
| 131 #undef INTERFACE | |
| 132 | |
| 133 #if !defined(__cplusplus) || defined(CINTERFACE) | |
| 134 /*** IUnknown methods ***/ | |
| 135 #define IDxDiagProvider_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | |
| 136 #define IDxDiagProvider_AddRef(p) (p)->lpVtbl->AddRef(p) | |
| 137 #define IDxDiagProvider_Release(p) (p)->lpVtbl->Release(p) | |
| 138 /*** IDxDiagProvider methods ***/ | |
| 139 #define IDxDiagProvider_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) | |
| 140 #define IDxDiagProvider_GetRootContainer(p,a) (p)->lpVtbl->GetRootContainer(p,a) | |
| 141 #else | |
| 142 /*** IUnknown methods ***/ | |
| 143 #define IDxDiagProvider_QueryInterface(p,a,b) (p)->QueryInterface(a,b) | |
| 144 #define IDxDiagProvider_AddRef(p) (p)->AddRef() | |
| 145 #define IDxDiagProvider_Release(p) (p)->Release() | |
| 146 /*** IDxDiagProvider methods ***/ | |
| 147 #define IDxDiagProvider_Initialize(p,a) (p)->Initialize(a) | |
| 148 #define IDxDiagProvider_GetRootContainer(p,a) (p)->GetRootContainer(a) | |
| 149 #endif | |
| 150 | |
| 151 #ifdef __cplusplus | |
| 152 } | |
| 153 #endif | |
| 154 | |
| 155 #endif |
