ReactOS 0.4.17-dev-966-gf06eace
d3d9.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2003 Jason Edmeades
3 * Raphael Junqueira
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 */
19
20#ifndef _D3D9_H_
21#define _D3D9_H_
22
23#ifndef DIRECT3D_VERSION
24#define DIRECT3D_VERSION 0x0900
25#endif
26
27#include <stdlib.h>
28
29#define COM_NO_WINDOWS_H
30#include <objbase.h>
31#include <windows.h>
32#include <d3d9types.h>
33#include <d3d9caps.h>
34
35/*****************************************************************************
36 * Behavior Flags for IDirect3D8::CreateDevice
37 */
38#define D3DCREATE_FPU_PRESERVE __MSABI_LONG(0x00000002)
39#define D3DCREATE_MULTITHREADED __MSABI_LONG(0x00000004)
40#define D3DCREATE_PUREDEVICE __MSABI_LONG(0x00000010)
41#define D3DCREATE_SOFTWARE_VERTEXPROCESSING __MSABI_LONG(0x00000020)
42#define D3DCREATE_HARDWARE_VERTEXPROCESSING __MSABI_LONG(0x00000040)
43#define D3DCREATE_MIXED_VERTEXPROCESSING __MSABI_LONG(0x00000080)
44#define D3DCREATE_DISABLE_DRIVER_MANAGEMENT __MSABI_LONG(0x00000100)
45#define D3DCREATE_ADAPTERGROUP_DEVICE __MSABI_LONG(0x00000200)
46#define D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX __MSABI_LONG(0x00000400)
47#define D3DCREATE_NOWINDOWCHANGES __MSABI_LONG(0x00000800)
48#define D3DCREATE_DISABLE_PSGP_THREADING __MSABI_LONG(0x00002000)
49#define D3DCREATE_ENABLE_PRESENTSTATS __MSABI_LONG(0x00004000)
50#define D3DCREATE_DISABLE_PRINTSCREEN __MSABI_LONG(0x00008000)
51#define D3DCREATE_SCREENSAVER __MSABI_LONG(0x10000000)
52
53/*****************************************************************************
54 * Flags for SetPrivateData
55 */
56#define D3DSPD_IUNKNOWN __MSABI_LONG(0x00000001)
57
58
59/*****************************************************************************
60 * #defines and error codes
61 */
62#define D3D_SDK_VERSION 32
63#define D3DADAPTER_DEFAULT 0
64#define D3DENUM_WHQL_LEVEL __MSABI_LONG(0x00000002)
65#define D3DPRESENT_DONOTWAIT __MSABI_LONG(1)
66#define D3DPRESENT_LINEAR_CONTENT __MSABI_LONG(2)
67#define D3DPRESENT_BACK_BUFFERS_MAX __MSABI_LONG(3)
68#define D3DPRESENT_BACK_BUFFERS_MAX_EX __MSABI_LONG(30)
69#define D3DSGR_NO_CALIBRATION __MSABI_LONG(0x00000000)
70#define D3DSGR_CALIBRATE __MSABI_LONG(0x00000001)
71#define D3DCURSOR_IMMEDIATE_UPDATE __MSABI_LONG(0x00000001)
72
73#define _FACD3D 0x876
74#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
75#define MAKE_D3DSTATUS( code ) MAKE_HRESULT( 0, _FACD3D, code )
76
77/*****************************************************************************
78 * Direct3D Errors
79 */
80#define D3D_OK S_OK
81#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
82#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
83#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
84#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
85#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
86#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
87#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
88#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
89#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
90#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
91#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
92#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
93#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
94#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
95#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
96#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
97#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
98#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
99#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
100#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
101#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
102#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
103#define D3DOK_NOAUTOGEN MAKE_D3DSTATUS(2159)
104
105#define D3DERR_DEVICEREMOVED MAKE_D3DHRESULT(2160)
106#define D3DERR_DEVICEHUNG MAKE_D3DHRESULT(2164)
107#define S_NOT_RESIDENT MAKE_D3DSTATUS(2165)
108#define S_RESIDENT_IN_SHARED_MEMORY MAKE_D3DSTATUS(2166)
109#define S_PRESENT_MODE_CHANGED MAKE_D3DSTATUS(2167)
110#define S_PRESENT_OCCLUDED MAKE_D3DSTATUS(2168)
111#define D3DERR_UNSUPPORTEDOVERLAY MAKE_D3DHRESULT(2171)
112#define D3DERR_UNSUPPORTEDOVERLAYFORMAT MAKE_D3DHRESULT(2172)
113#define D3DERR_CANNOTPROTECTCONTENT MAKE_D3DHRESULT(2173)
114#define D3DERR_UNSUPPORTEDCRYPTO MAKE_D3DHRESULT(2174)
115#define D3DERR_PRESENT_STATISTICS_DISJOINT MAKE_D3DHRESULT(2180)
116
117
118/*****************************************************************************
119 * Predeclare the interfaces
120 */
121DEFINE_GUID(IID_IDirect3D9, 0x81BDCBCA, 0x64D4, 0x426D, 0xAE, 0x8D, 0xAD, 0x1, 0x47, 0xF4, 0x27, 0x5C);
122typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9;
123
124DEFINE_GUID(IID_IDirect3DDevice9, 0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb);
126
127DEFINE_GUID(IID_IDirect3DResource9, 0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4);
128typedef struct IDirect3DResource9 *LPDIRECT3DRESOURCE9, *PDIRECT3DRESOURCE9;
129
130DEFINE_GUID(IID_IDirect3DVertexBuffer9, 0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3);
131typedef struct IDirect3DVertexBuffer9 *LPDIRECT3DVERTEXBUFFER9, *PDIRECT3DVERTEXBUFFER9;
132
133DEFINE_GUID(IID_IDirect3DVolume9, 0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1);
134typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9;
135
136DEFINE_GUID(IID_IDirect3DSwapChain9, 0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b);
137typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9;
138
139DEFINE_GUID(IID_IDirect3DSurface9, 0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b);
141
142DEFINE_GUID(IID_IDirect3DIndexBuffer9, 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35);
143typedef struct IDirect3DIndexBuffer9 *LPDIRECT3DINDEXBUFFER9, *PDIRECT3DINDEXBUFFER9;
144
145DEFINE_GUID(IID_IDirect3DBaseTexture9, 0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce);
146typedef struct IDirect3DBaseTexture9 *LPDIRECT3DBASETEXTURE9, *PDIRECT3DBASETEXTURE9;
147
148DEFINE_GUID(IID_IDirect3DTexture9, 0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5);
149typedef struct IDirect3DTexture9 *LPDIRECT3DTEXTURE9, *PDIRECT3DTEXTURE9;
150
151DEFINE_GUID(IID_IDirect3DCubeTexture9, 0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f);
152typedef struct IDirect3DCubeTexture9 *LPDIRECT3DCUBETEXTURE9, *PDIRECT3DCUBETEXTURE9;
153
154DEFINE_GUID(IID_IDirect3DVolumeTexture9, 0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6);
155typedef struct IDirect3DVolumeTexture9 *LPDIRECT3DVOLUMETEXTURE9, *PDIRECT3DVOLUMETEXTURE9;
156
157DEFINE_GUID(IID_IDirect3DVertexDeclaration9, 0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46);
158typedef struct IDirect3DVertexDeclaration9 *LPDIRECT3DVERTEXDECLARATION9;
159
160DEFINE_GUID(IID_IDirect3DVertexShader9, 0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36);
161typedef struct IDirect3DVertexShader9 *LPDIRECT3DVERTEXSHADER9;
162
163DEFINE_GUID(IID_IDirect3DPixelShader9, 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89);
164typedef struct IDirect3DPixelShader9 *LPDIRECT3DPIXELSHADER9;
165
166DEFINE_GUID(IID_IDirect3DStateBlock9, 0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b);
167typedef struct IDirect3DStateBlock9 *LPDIRECT3DSTATEBLOCK9;
168
169DEFINE_GUID(IID_IDirect3DQuery9, 0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc);
170typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9;
171
172/*****************************************************************************
173 * IDirect3D9 interface
174 */
175#undef INTERFACE
176#define INTERFACE IDirect3D9
178{
179 /*** IUnknown methods ***/
183 /*** IDirect3D9 methods ***/
184 STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
185 STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
186 STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
187 STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;
188 STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode) PURE;
189 STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE* pMode) PURE;
190 STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter, D3DDEVTYPE DevType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) PURE;
192 STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels) PURE;
193 STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
197 STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
198};
199#undef INTERFACE
200
201#ifdef __CRT_UUID_DECL
202__CRT_UUID_DECL(IDirect3D9, 0x81BDCBCA, 0x64D4, 0x426D, 0xAE, 0x8D, 0xAD, 0x1, 0x47, 0xF4, 0x27, 0x5C);
203#endif
204
205#if !defined(__cplusplus) || defined(CINTERFACE)
206/*** IUnknown methods ***/
207#define IDirect3D9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
208#define IDirect3D9_AddRef(p) (p)->lpVtbl->AddRef(p)
209#define IDirect3D9_Release(p) (p)->lpVtbl->Release(p)
210/*** IDirect3D9 methods ***/
211#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
212#define IDirect3D9_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
213#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
214#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
215#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
216#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
217#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
218#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
219#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
220#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
221#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
222#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
223#define IDirect3D9_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
224#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
225#else
226/*** IUnknown methods ***/
227#define IDirect3D9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
228#define IDirect3D9_AddRef(p) (p)->AddRef()
229#define IDirect3D9_Release(p) (p)->Release()
230/*** IDirect3D9 methods ***/
231#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
232#define IDirect3D9_GetAdapterCount(p) (p)->GetAdapterCount()
233#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
234#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b)
235#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d)
236#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
237#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
238#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
239#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
240#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
241#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d)
242#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
243#define IDirect3D9_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
244#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
245#endif
246
247/*****************************************************************************
248 * IDirect3DVolume9 interface
249 */
250#define INTERFACE IDirect3DVolume9
252{
253 /*** IUnknown methods ***/
257 /*** IDirect3DVolume9 methods ***/
258 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
259 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
260 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
261 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
262 STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
263 STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC* pDesc) PURE;
264 STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags) PURE;
265 STDMETHOD(UnlockBox)(THIS) PURE;
266};
267#undef INTERFACE
268
269#ifdef __CRT_UUID_DECL
270__CRT_UUID_DECL(IDirect3DVolume9, 0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1);
271#endif
272
273#if !defined(__cplusplus) || defined(CINTERFACE)
274/*** IUnknown methods ***/
275#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
276#define IDirect3DVolume9_AddRef(p) (p)->lpVtbl->AddRef(p)
277#define IDirect3DVolume9_Release(p) (p)->lpVtbl->Release(p)
278/*** IDirect3DVolume9 methods ***/
279#define IDirect3DVolume9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
280#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
281#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
282#define IDirect3DVolume9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
283#define IDirect3DVolume9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
284#define IDirect3DVolume9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
285#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
286#define IDirect3DVolume9_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
287#else
288/*** IUnknown methods ***/
289#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
290#define IDirect3DVolume9_AddRef(p) (p)->AddRef()
291#define IDirect3DVolume9_Release(p) (p)->Release()
292/*** IDirect3DVolume9 methods ***/
293#define IDirect3DVolume9_GetDevice(p,a) (p)->GetDevice(a)
294#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
295#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
296#define IDirect3DVolume9_FreePrivateData(p,a) (p)->FreePrivateData(a)
297#define IDirect3DVolume9_GetContainer(p,a,b) (p)->GetContainer(a,b)
298#define IDirect3DVolume9_GetDesc(p,a) (p)->GetDesc(a)
299#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
300#define IDirect3DVolume9_UnlockBox(p) (p)->UnlockBox()
301#endif
302
303/*****************************************************************************
304 * IDirect3DSwapChain9 interface
305 */
306#define INTERFACE IDirect3DSwapChain9
307DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
308{
309 /*** IUnknown methods ***/
313 /*** IDirect3DSwapChain9 methods ***/
314 STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
315 const RGNDATA *dirty_region, DWORD flags) PURE;
316 STDMETHOD(GetFrontBufferData)(THIS_ struct IDirect3DSurface9 *pDestSurface) PURE;
317 STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface9 **ppBackBuffer) PURE;
318 STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS *pRasterStatus) PURE;
319 STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE *pMode) PURE;
320 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **ppDevice) PURE;
321 STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS *pPresentationParameters) PURE;
322};
323#undef INTERFACE
324
325#ifdef __CRT_UUID_DECL
326__CRT_UUID_DECL(IDirect3DSwapChain9, 0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b);
327#endif
328
329#if !defined(__cplusplus) || defined(CINTERFACE)
330/*** IUnknown methods ***/
331#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
332#define IDirect3DSwapChain9_AddRef(p) (p)->lpVtbl->AddRef(p)
333#define IDirect3DSwapChain9_Release(p) (p)->lpVtbl->Release(p)
334/*** IDirect3DSwapChain9 methods ***/
335#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->lpVtbl->Present(p,a,b,c,d,e)
336#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->lpVtbl->GetFrontBufferData(p,a)
337#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
338#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
339#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
340#define IDirect3DSwapChain9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
341#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->lpVtbl->GetPresentParameters(p,a)
342#else
343/*** IUnknown methods ***/
344#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
345#define IDirect3DSwapChain9_AddRef(p) (p)->AddRef()
346#define IDirect3DSwapChain9_Release(p) (p)->Release()
347/*** IDirect3DSwapChain9 methods ***/
348#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->Present(a,b,c,d,e)
349#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->GetFrontBufferData(a)
350#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
351#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
352#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
353#define IDirect3DSwapChain9_GetDevice(p,a) (p)->GetDevice(a)
354#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->GetPresentParameters(a)
355#endif
356
357/*****************************************************************************
358 * IDirect3DResource9 interface
359 */
360#define INTERFACE IDirect3DResource9
361DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
362{
363 /*** IUnknown methods ***/
367 /*** IDirect3DResource9 methods ***/
368 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
369 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
370 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
371 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
373 STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
374 STDMETHOD_(void, PreLoad)(THIS) PURE;
376};
377#undef INTERFACE
378
379#ifdef __CRT_UUID_DECL
380__CRT_UUID_DECL(IDirect3DResource9, 0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4);
381#endif
382
383#if !defined(__cplusplus) || defined(CINTERFACE)
384/*** IUnknown methods ***/
385#define IDirect3DResource9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
386#define IDirect3DResource9_AddRef(p) (p)->lpVtbl->AddRef(p)
387#define IDirect3DResource9_Release(p) (p)->lpVtbl->Release(p)
388/*** IDirect3DResource9 methods ***/
389#define IDirect3DResource9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
390#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
391#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
392#define IDirect3DResource9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
393#define IDirect3DResource9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
394#define IDirect3DResource9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
395#define IDirect3DResource9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
396#define IDirect3DResource9_GetType(p) (p)->lpVtbl->GetType(p)
397#else
398/*** IUnknown methods ***/
399#define IDirect3DResource9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
400#define IDirect3DResource9_AddRef(p) (p)->AddRef()
401#define IDirect3DResource9_Release(p) (p)->Release()
402/*** IDirect3DResource9 methods ***/
403#define IDirect3DResource9_GetDevice(p,a) (p)->GetDevice(a)
404#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
405#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
406#define IDirect3DResource9_FreePrivateData(p,a) (p)->FreePrivateData(a)
407#define IDirect3DResource9_SetPriority(p,a) (p)->SetPriority(a)
408#define IDirect3DResource9_GetPriority(p) (p)->GetPriority()
409#define IDirect3DResource9_PreLoad(p) (p)->PreLoad()
410#define IDirect3DResource9_GetType(p) (p)->GetType()
411#endif
412
413/*****************************************************************************
414 * IDirect3DSurface9 interface
415 */
416#define INTERFACE IDirect3DSurface9
418{
419 /*** IUnknown methods ***/
423 /*** IDirect3DResource9 methods ***/
424 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
425 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
426 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
427 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
429 STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
430 STDMETHOD_(void, PreLoad)(THIS) PURE;
432 /*** IDirect3DSurface9 methods ***/
433 STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
434 STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC* pDesc) PURE;
435 STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
436 STDMETHOD(UnlockRect)(THIS) PURE;
437 STDMETHOD(GetDC)(THIS_ HDC* phdc) PURE;
439};
440#undef INTERFACE
441
442#ifdef __CRT_UUID_DECL
443__CRT_UUID_DECL(IDirect3DSurface9, 0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b);
444#endif
445
446#if !defined(__cplusplus) || defined(CINTERFACE)
447/*** IUnknown methods ***/
448#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
449#define IDirect3DSurface9_AddRef(p) (p)->lpVtbl->AddRef(p)
450#define IDirect3DSurface9_Release(p) (p)->lpVtbl->Release(p)
451/*** IDirect3DSurface9 methods: IDirect3DResource9 ***/
452#define IDirect3DSurface9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
453#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
454#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
455#define IDirect3DSurface9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
456#define IDirect3DSurface9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
457#define IDirect3DSurface9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
458#define IDirect3DSurface9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
459#define IDirect3DSurface9_GetType(p) (p)->lpVtbl->GetType(p)
460/*** IDirect3DSurface9 methods ***/
461#define IDirect3DSurface9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
462#define IDirect3DSurface9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
463#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
464#define IDirect3DSurface9_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
465#define IDirect3DSurface9_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
466#define IDirect3DSurface9_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
467#else
468/*** IUnknown methods ***/
469#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
470#define IDirect3DSurface9_AddRef(p) (p)->AddRef()
471#define IDirect3DSurface9_Release(p) (p)->Release()
472/*** IDirect3DSurface9 methods: IDirect3DResource9 ***/
473#define IDirect3DSurface9_GetDevice(p,a) (p)->GetDevice(a)
474#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
475#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
476#define IDirect3DSurface9_FreePrivateData(p,a) (p)->FreePrivateData(a)
477#define IDirect3DSurface9_SetPriority(p,a) (p)->SetPriority(a)
478#define IDirect3DSurface9_GetPriority(p) (p)->GetPriority()
479#define IDirect3DSurface9_PreLoad(p) (p)->PreLoad()
480#define IDirect3DSurface9_GetType(p) (p)->GetType()
481/*** IDirect3DSurface9 methods ***/
482#define IDirect3DSurface9_GetContainer(p,a,b) (p)->GetContainer(a,b)
483#define IDirect3DSurface9_GetDesc(p,a) (p)->GetDesc(a)
484#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
485#define IDirect3DSurface9_UnlockRect(p) (p)->UnlockRect()
486#define IDirect3DSurface9_GetDC(p,a) (p)->GetDC(a)
487#define IDirect3DSurface9_ReleaseDC(p,a) (p)->ReleaseDC(a)
488#endif
489
490/*****************************************************************************
491 * IDirect3DVertexBuffer9 interface
492 */
493#define INTERFACE IDirect3DVertexBuffer9
494DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
495{
496 /*** IUnknown methods ***/
500 /*** IDirect3DResource9 methods ***/
501 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
502 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
503 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
504 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
506 STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
507 STDMETHOD_(void, PreLoad)(THIS) PURE;
509 /*** IDirect3DVertexBuffer9 methods ***/
510 STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE;
512 STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC* pDesc) PURE;
513};
514#undef INTERFACE
515
516#ifdef __CRT_UUID_DECL
517__CRT_UUID_DECL(IDirect3DVertexBuffer9, 0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3);
518#endif
519
520#if !defined(__cplusplus) || defined(CINTERFACE)
521/*** IUnknown methods ***/
522#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
523#define IDirect3DVertexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
524#define IDirect3DVertexBuffer9_Release(p) (p)->lpVtbl->Release(p)
525/*** IDirect3DVertexBuffer9 methods: IDirect3DResource9 ***/
526#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
527#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
528#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
529#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
530#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
531#define IDirect3DVertexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
532#define IDirect3DVertexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
533#define IDirect3DVertexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
534/*** IDirect3DVertexBuffer9 methods ***/
535#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
536#define IDirect3DVertexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
537#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
538#else
539/*** IUnknown methods ***/
540#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
541#define IDirect3DVertexBuffer9_AddRef(p) (p)->AddRef()
542#define IDirect3DVertexBuffer9_Release(p) (p)->Release()
543/*** IDirect3DVertexBuffer9 methods: IDirect3DResource9 ***/
544#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
545#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
546#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
547#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
548#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
549#define IDirect3DVertexBuffer9_GetPriority(p) (p)->GetPriority()
550#define IDirect3DVertexBuffer9_PreLoad(p) (p)->PreLoad()
551#define IDirect3DVertexBuffer9_GetType(p) (p)->GetType()
552/*** IDirect3DVertexBuffer9 methods ***/
553#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
554#define IDirect3DVertexBuffer9_Unlock(p) (p)->Unlock()
555#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
556#endif
557
558/*****************************************************************************
559 * IDirect3DIndexBuffer9 interface
560 */
561#define INTERFACE IDirect3DIndexBuffer9
562DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
563{
564 /*** IUnknown methods ***/
568 /*** IDirect3DResource9 methods ***/
569 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
570 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
571 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
572 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
574 STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
575 STDMETHOD_(void, PreLoad)(THIS) PURE;
577 /*** IDirect3DIndexBuffer9 methods ***/
578 STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE;
580 STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC* pDesc) PURE;
581};
582#undef INTERFACE
583
584#ifdef __CRT_UUID_DECL
585__CRT_UUID_DECL(IDirect3DIndexBuffer9, 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35);
586#endif
587
588#if !defined(__cplusplus) || defined(CINTERFACE)
589/*** IUnknown methods ***/
590#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
591#define IDirect3DIndexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
592#define IDirect3DIndexBuffer9_Release(p) (p)->lpVtbl->Release(p)
593/*** IDirect3DIndexBuffer9 methods: IDirect3DResource9 ***/
594#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
595#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
596#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
597#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
598#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
599#define IDirect3DIndexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
600#define IDirect3DIndexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
601#define IDirect3DIndexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
602/*** IDirect3DIndexBuffer9 methods ***/
603#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
604#define IDirect3DIndexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
605#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
606#else
607/*** IUnknown methods ***/
608#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
609#define IDirect3DIndexBuffer9_AddRef(p) (p)->AddRef()
610#define IDirect3DIndexBuffer9_Release(p) (p)->Release()
611/*** IDirect3DIndexBuffer9 methods: IDirect3DResource9 ***/
612#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
613#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
614#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
615#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
616#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
617#define IDirect3DIndexBuffer9_GetPriority(p) (p)->GetPriority()
618#define IDirect3DIndexBuffer9_PreLoad(p) (p)->PreLoad()
619#define IDirect3DIndexBuffer9_GetType(p) (p)->GetType()
620/*** IDirect3DIndexBuffer9 methods ***/
621#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
622#define IDirect3DIndexBuffer9_Unlock(p) (p)->Unlock()
623#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
624#endif
625
626/*****************************************************************************
627 * IDirect3DBaseTexture9 interface
628 */
629#define INTERFACE IDirect3DBaseTexture9
630DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
631{
632 /*** IUnknown methods ***/
636 /*** IDirect3DResource9 methods ***/
637 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
638 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
639 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
640 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
642 STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
643 STDMETHOD_(void, PreLoad)(THIS) PURE;
645 /*** IDirect3DBaseTexture9 methods ***/
646 STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
647 STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
648 STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
649 STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
650 STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
651 STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
652};
653#undef INTERFACE
654
655#ifdef __CRT_UUID_DECL
656__CRT_UUID_DECL(IDirect3DBaseTexture9, 0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce);
657#endif
658
659#if !defined(__cplusplus) || defined(CINTERFACE)
660/*** IUnknown methods ***/
661#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
662#define IDirect3DBaseTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
663#define IDirect3DBaseTexture9_Release(p) (p)->lpVtbl->Release(p)
664/*** IDirect3DBaseTexture9 methods: IDirect3DResource9 ***/
665#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
666#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
667#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
668#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
669#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
670#define IDirect3DBaseTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
671#define IDirect3DBaseTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
672#define IDirect3DBaseTexture9_GetType(p) (p)->lpVtbl->GetType(p)
673/*** IDirect3DBaseTexture9 methods ***/
674#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
675#define IDirect3DBaseTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
676#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
677#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
678#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
679#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
680#else
681/*** IUnknown methods ***/
682#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
683#define IDirect3DBaseTexture9_AddRef(p) (p)->AddRef()
684#define IDirect3DBaseTexture9_Release(p) (p)->Release()
685/*** IDirect3DBaseTexture9 methods: IDirect3DResource9 ***/
686#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->GetDevice(a)
687#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
688#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
689#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
690#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->SetPriority(a)
691#define IDirect3DBaseTexture9_GetPriority(p) (p)->GetPriority()
692#define IDirect3DBaseTexture9_PreLoad(p) (p)->PreLoad()
693#define IDirect3DBaseTexture9_GetType(p) (p)->GetType()
694/*** IDirect3DBaseTexture9 methods ***/
695#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->SetLOD(a)
696#define IDirect3DBaseTexture9_GetLOD(p) (p)->GetLOD()
697#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->GetLevelCount()
698#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
699#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
700#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
701#endif
702
703/*****************************************************************************
704 * IDirect3DCubeTexture9 interface
705 */
706#define INTERFACE IDirect3DCubeTexture9
707DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
708{
709 /*** IUnknown methods ***/
713 /*** IDirect3DResource9 methods ***/
714 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
715 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
716 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
717 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
719 STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
720 STDMETHOD_(void, PreLoad)(THIS) PURE;
722 /*** IDirect3DBaseTexture9 methods ***/
723 STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
724 STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
725 STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
726 STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
727 STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
728 STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
729 /*** IDirect3DCubeTexture9 methods ***/
730 STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC* pDesc) PURE;
731 STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface) PURE;
733 D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
734 STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level) PURE;
735 STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES face, const RECT *dirty_rect) PURE;
736};
737#undef INTERFACE
738
739#ifdef __CRT_UUID_DECL
740__CRT_UUID_DECL(IDirect3DCubeTexture9, 0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f);
741#endif
742
743#if !defined(__cplusplus) || defined(CINTERFACE)
744/*** IUnknown methods ***/
745#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
746#define IDirect3DCubeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
747#define IDirect3DCubeTexture9_Release(p) (p)->lpVtbl->Release(p)
748/*** IDirect3DCubeTexture9 methods: IDirect3DResource9 ***/
749#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
750#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
751#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
752#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
753#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
754#define IDirect3DCubeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
755#define IDirect3DCubeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
756#define IDirect3DCubeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
757/*** IDirect3DCubeTexture9 methods: IDirect3DBaseTexture9 ***/
758#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
759#define IDirect3DCubeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
760#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
761#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
762#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
763#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
764/*** IDirect3DCubeTexture9 methods ***/
765#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
766#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
767#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
768#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
769#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
770#else
771/*** IUnknown methods ***/
772#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
773#define IDirect3DCubeTexture9_AddRef(p) (p)->AddRef()
774#define IDirect3DCubeTexture9_Release(p) (p)->Release()
775/*** IDirect3DCubeTexture9 methods: IDirect3DResource9 ***/
776#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->GetDevice(a)
777#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
778#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
779#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
780#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->SetPriority(a)
781#define IDirect3DCubeTexture9_GetPriority(p) (p)->GetPriority()
782#define IDirect3DCubeTexture9_PreLoad(p) (p)->PreLoad()
783#define IDirect3DCubeTexture9_GetType(p) (p)->GetType()
784/*** IDirect3DCubeTexture9 methods: IDirect3DBaseTexture9 ***/
785#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->SetLOD(a)
786#define IDirect3DCubeTexture9_GetLOD(p) (p)->GetLOD()
787#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->GetLevelCount()
788#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
789#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
790#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
791/*** IDirect3DCubeTexture9 methods ***/
792#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
793#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
794#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
795#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
796#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
797#endif
798
799/*****************************************************************************
800 * IDirect3DTexture9 interface
801 */
802#define INTERFACE IDirect3DTexture9
803DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
804{
805 /*** IUnknown methods ***/
809 /*** IDirect3DResource9 methods ***/
810 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
811 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
812 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
813 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
815 STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
816 STDMETHOD_(void, PreLoad)(THIS) PURE;
818 /*** IDirect3DBaseTexture9 methods ***/
819 STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
820 STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
821 STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
822 STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
823 STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
824 STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
825 /*** IDirect3DTexture9 methods ***/
826 STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DSURFACE_DESC* pDesc) PURE;
827 STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level, IDirect3DSurface9** ppSurfaceLevel) PURE;
828 STDMETHOD(LockRect)(THIS_ UINT level, D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags) PURE;
829 STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
830 STDMETHOD(AddDirtyRect)(THIS_ const RECT *dirty_rect) PURE;
831};
832#undef INTERFACE
833
834#ifdef __CRT_UUID_DECL
835__CRT_UUID_DECL(IDirect3DTexture9, 0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5);
836#endif
837
838#if !defined(__cplusplus) || defined(CINTERFACE)
839/*** IUnknown methods ***/
840#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
841#define IDirect3DTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
842#define IDirect3DTexture9_Release(p) (p)->lpVtbl->Release(p)
843/*** IDirect3DTexture9 methods: IDirect3DResource9 ***/
844#define IDirect3DTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
845#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
846#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
847#define IDirect3DTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
848#define IDirect3DTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
849#define IDirect3DTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
850#define IDirect3DTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
851#define IDirect3DTexture9_GetType(p) (p)->lpVtbl->GetType(p)
852/*** IDirect3DTexture9 methods: IDirect3DBaseTexture9 ***/
853#define IDirect3DTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
854#define IDirect3DTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
855#define IDirect3DTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
856#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
857#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
858#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
859/*** IDirect3DTexture9 methods ***/
860#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
861#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
862#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
863#define IDirect3DTexture9_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
864#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
865#else
866/*** IUnknown methods ***/
867#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
868#define IDirect3DTexture9_AddRef(p) (p)->AddRef()
869#define IDirect3DTexture9_Release(p) (p)->Release()
870/*** IDirect3DTexture9 methods: IDirect3DResource9 ***/
871#define IDirect3DTexture9_GetDevice(p,a) (p)->GetDevice(a)
872#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
873#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
874#define IDirect3DTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
875#define IDirect3DTexture9_SetPriority(p,a) (p)->SetPriority(a)
876#define IDirect3DTexture9_GetPriority(p) (p)->GetPriority()
877#define IDirect3DTexture9_PreLoad(p) (p)->PreLoad()
878#define IDirect3DTexture9_GetType(p) (p)->GetType()
879/*** IDirect3DTexture9 methods: IDirect3DBaseTexture9 ***/
880#define IDirect3DTexture9_SetLOD(p,a) (p)->SetLOD(a)
881#define IDirect3DTexture9_GetLOD(p) (p)->GetLOD()
882#define IDirect3DTexture9_GetLevelCount(p) (p)->GetLevelCount()
883#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
884#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
885#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
886/*** IDirect3DTexture9 methods ***/
887#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
888#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
889#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
890#define IDirect3DTexture9_UnlockRect(p,a) (p)->UnlockRect(a)
891#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
892#endif
893
894/*****************************************************************************
895 * IDirect3DVolumeTexture9 interface
896 */
897#define INTERFACE IDirect3DVolumeTexture9
898DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
899{
900 /*** IUnknown methods ***/
904 /*** IDirect3DResource9 methods ***/
905 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
906 STDMETHOD(SetPrivateData)(THIS_ REFGUID guid, const void *data, DWORD data_size, DWORD flags) PURE;
907 STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
908 STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
910 STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
911 STDMETHOD_(void, PreLoad)(THIS) PURE;
913 /*** IDirect3DBaseTexture9 methods ***/
914 STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
915 STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
916 STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
917 STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
918 STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
919 STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
920 /*** IDirect3DVolumeTexture9 methods ***/
921 STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DVOLUME_DESC *pDesc) PURE;
922 STDMETHOD(GetVolumeLevel)(THIS_ UINT Level, IDirect3DVolume9** ppVolumeLevel) PURE;
923 STDMETHOD(LockBox)(THIS_ UINT level, D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags) PURE;
924 STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
925 STDMETHOD(AddDirtyBox)(THIS_ const D3DBOX *dirty_box) PURE;
926};
927#undef INTERFACE
928
929#ifdef __CRT_UUID_DECL
930__CRT_UUID_DECL(IDirect3DVolumeTexture9, 0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6);
931#endif
932
933#if !defined(__cplusplus) || defined(CINTERFACE)
934/*** IUnknown methods ***/
935#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
936#define IDirect3DVolumeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
937#define IDirect3DVolumeTexture9_Release(p) (p)->lpVtbl->Release(p)
938/*** IDirect3DVolumeTexture9 methods: IDirect3DResource9 ***/
939#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
940#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
941#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
942#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
943#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
944#define IDirect3DVolumeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
945#define IDirect3DVolumeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
946#define IDirect3DVolumeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
947/*** IDirect3DVolumeTexture9 methods: IDirect3DBaseTexture9 ***/
948#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
949#define IDirect3DVolumeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
950#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
951#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
952#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
953#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
954/*** IDirect3DVolumeTexture9 methods ***/
955#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
956#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
957#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
958#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
959#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
960#else
961/*** IUnknown methods ***/
962#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
963#define IDirect3DVolumeTexture9_AddRef(p) (p)->AddRef()
964#define IDirect3DVolumeTexture9_Release(p) (p)->Release()
965/*** IDirect3DVolumeTexture9 methods: IDirect3DResource9 ***/
966#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->GetDevice(a)
967#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
968#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
969#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
970#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->SetPriority(a)
971#define IDirect3DVolumeTexture9_GetPriority(p) (p)->GetPriority()
972#define IDirect3DVolumeTexture9_PreLoad(p) (p)->PreLoad()
973#define IDirect3DVolumeTexture9_GetType(p) (p)->GetType()
974/*** IDirect3DVolumeTexture9 methods: IDirect3DBaseTexture9 ***/
975#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->SetLOD(a)
976#define IDirect3DVolumeTexture9_GetLOD(p) (p)->GetLOD()
977#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->GetLevelCount()
978#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
979#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
980#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
981/*** IDirect3DVolumeTexture9 methods ***/
982#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
983#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
984#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
985#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->UnlockBox(a)
986#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
987#endif
988
989/*****************************************************************************
990 * IDirect3DVertexDeclaration9 interface
991 */
992#define INTERFACE IDirect3DVertexDeclaration9
993DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown)
994{
995 /*** IUnknown methods ***/
999 /*** IDirect3DVertexDeclaration9 methods ***/
1000 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
1001 STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9*, UINT* pNumElements) PURE;
1002};
1003#undef INTERFACE
1004
1005#ifdef __CRT_UUID_DECL
1006__CRT_UUID_DECL(IDirect3DVertexDeclaration9, 0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46);
1007#endif
1008
1009#if !defined(__cplusplus) || defined(CINTERFACE)
1010/*** IUnknown methods ***/
1011#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1012#define IDirect3DVertexDeclaration9_AddRef(p) (p)->lpVtbl->AddRef(p)
1013#define IDirect3DVertexDeclaration9_Release(p) (p)->lpVtbl->Release(p)
1014/*** IDirect3DVertexShader9 methods ***/
1015#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1016#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->lpVtbl->GetDeclaration(p,a,b)
1017#else
1018/*** IUnknown methods ***/
1019#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1020#define IDirect3DVertexDeclaration9_AddRef(p) (p)->AddRef()
1021#define IDirect3DVertexDeclaration9_Release(p) (p)->Release()
1022/*** IDirect3DVertexShader9 methods ***/
1023#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->GetDevice(a)
1024#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->GetDeclaration(a,b)
1025#endif
1026
1027/*****************************************************************************
1028 * IDirect3DVertexShader9 interface
1029 */
1030#define INTERFACE IDirect3DVertexShader9
1031DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown)
1032{
1033 /*** IUnknown methods ***/
1037 /*** IDirect3DVertexShader9 methods ***/
1038 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
1039 STDMETHOD(GetFunction)(THIS_ void*, UINT* pSizeOfData) PURE;
1040};
1041#undef INTERFACE
1042
1043#ifdef __CRT_UUID_DECL
1044__CRT_UUID_DECL(IDirect3DVertexShader9, 0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36);
1045#endif
1046
1047#if !defined(__cplusplus) || defined(CINTERFACE)
1048/*** IUnknown methods ***/
1049#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1050#define IDirect3DVertexShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
1051#define IDirect3DVertexShader9_Release(p) (p)->lpVtbl->Release(p)
1052/*** IDirect3DVertexShader9 methods ***/
1053#define IDirect3DVertexShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1054#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
1055#else
1056/*** IUnknown methods ***/
1057#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1058#define IDirect3DVertexShader9_AddRef(p) (p)->AddRef()
1059#define IDirect3DVertexShader9_Release(p) (p)->Release()
1060/*** IDirect3DVertexShader9 methods ***/
1061#define IDirect3DVertexShader9_GetDevice(p,a) (p)->GetDevice(a)
1062#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
1063#endif
1064
1065/*****************************************************************************
1066 * IDirect3DPixelShader9 interface
1067 */
1068#define INTERFACE IDirect3DPixelShader9
1069DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown)
1070{
1071 /*** IUnknown methods ***/
1075 /*** IDirect3DPixelShader9 methods ***/
1076 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
1077 STDMETHOD(GetFunction)(THIS_ void*, UINT* pSizeOfData) PURE;
1078};
1079#undef INTERFACE
1080
1081#ifdef __CRT_UUID_DECL
1082__CRT_UUID_DECL(IDirect3DPixelShader9, 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89);
1083#endif
1084
1085#if !defined(__cplusplus) || defined(CINTERFACE)
1086/*** IUnknown methods ***/
1087#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1088#define IDirect3DPixelShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
1089#define IDirect3DPixelShader9_Release(p) (p)->lpVtbl->Release(p)
1090/*** IDirect3DPixelShader9 methods ***/
1091#define IDirect3DPixelShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1092#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
1093#else
1094/*** IUnknown methods ***/
1095#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1096#define IDirect3DPixelShader9_AddRef(p) (p)->AddRef()
1097#define IDirect3DPixelShader9_Release(p) (p)->Release()
1098/*** IDirect3DPixelShader9 methods ***/
1099#define IDirect3DPixelShader9_GetDevice(p,a) (p)->GetDevice(a)
1100#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
1101#endif
1102
1103/*****************************************************************************
1104 * IDirect3DStateBlock9 interface
1105 */
1106#define INTERFACE IDirect3DStateBlock9
1107DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown)
1108{
1109 /*** IUnknown methods ***/
1113 /*** IDirect3DStateBlock9 methods ***/
1114 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
1115 STDMETHOD(Capture)(THIS) PURE;
1116 STDMETHOD(Apply)(THIS) PURE;
1117};
1118#undef INTERFACE
1119
1120#ifdef __CRT_UUID_DECL
1121__CRT_UUID_DECL(IDirect3DStateBlock9, 0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b);
1122#endif
1123
1124#if !defined(__cplusplus) || defined(CINTERFACE)
1125/*** IUnknown methods ***/
1126#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1127#define IDirect3DStateBlock9_AddRef(p) (p)->lpVtbl->AddRef(p)
1128#define IDirect3DStateBlock9_Release(p) (p)->lpVtbl->Release(p)
1129/*** IDirect3DStateBlock9 methods ***/
1130#define IDirect3DStateBlock9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1131#define IDirect3DStateBlock9_Capture(p) (p)->lpVtbl->Capture(p)
1132#define IDirect3DStateBlock9_Apply(p) (p)->lpVtbl->Apply(p)
1133#else
1134/*** IUnknown methods ***/
1135#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1136#define IDirect3DStateBlock9_AddRef(p) (p)->AddRef()
1137#define IDirect3DStateBlock9_Release(p) (p)->Release()
1138/*** IDirect3DStateBlock9 methods ***/
1139#define IDirect3DStateBlock9_GetDevice(p,a) (p)->GetDevice(a)
1140#define IDirect3DStateBlock9_Capture(p) (p)->Capture()
1141#define IDirect3DStateBlock9_Apply(p) (p)->Apply()
1142#endif
1143
1144/*****************************************************************************
1145 * IDirect3DQuery9 interface
1146 */
1147#define INTERFACE IDirect3DQuery9
1149{
1150 /*** IUnknown methods ***/
1154 /*** IDirect3DQuery9 methods ***/
1155 STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
1157 STDMETHOD_(DWORD, GetDataSize)(THIS) PURE;
1158 STDMETHOD(Issue)(THIS_ DWORD dwIssueFlags) PURE;
1159 STDMETHOD(GetData)(THIS_ void* pData, DWORD dwSize, DWORD dwGetDataFlags) PURE;
1160};
1161#undef INTERFACE
1162
1163#ifdef __CRT_UUID_DECL
1164__CRT_UUID_DECL(IDirect3DQuery9, 0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc);
1165#endif
1166
1167#if !defined(__cplusplus) || defined(CINTERFACE)
1168/*** IUnknown methods ***/
1169#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1170#define IDirect3DQuery9_AddRef(p) (p)->lpVtbl->AddRef(p)
1171#define IDirect3DQuery9_Release(p) (p)->lpVtbl->Release(p)
1172/*** IDirect3DQuery9 ***/
1173#define IDirect3DQuery9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1174#define IDirect3DQuery9_GetType(p) (p)->lpVtbl->GetType(p)
1175#define IDirect3DQuery9_GetDataSize(p) (p)->lpVtbl->GetDataSize(p)
1176#define IDirect3DQuery9_Issue(p,a) (p)->lpVtbl->Issue(p,a)
1177#define IDirect3DQuery9_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c)
1178#else
1179/*** IUnknown methods ***/
1180#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1181#define IDirect3DQuery9_AddRef(p) (p)->AddRef()
1182#define IDirect3DQuery9_Release(p) (p)->Release()
1183/*** IDirect3DQuery9 ***/
1184#define IDirect3DQuery9_GetDevice(p,a) (p)->GetDevice(a)
1185#define IDirect3DQuery9_GetType(p) (p)->GetType()
1186#define IDirect3DQuery9_GetDataSize(p) (p)->GetDataSize()
1187#define IDirect3DQuery9_Issue(p,a) (p)->Issue(a)
1188#define IDirect3DQuery9_GetData(p,a,b,c) (p)->GetData(a,b,c)
1189#endif
1190
1191/*****************************************************************************
1192 * IDirect3DDevice9 interface
1193 */
1194#define INTERFACE IDirect3DDevice9
1196{
1197 /*** IUnknown methods ***/
1201 /*** IDirect3DDevice9 methods ***/
1202 STDMETHOD(TestCooperativeLevel)(THIS) PURE;
1203 STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
1204 STDMETHOD(EvictManagedResources)(THIS) PURE;
1205 STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE;
1207 STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, D3DDISPLAYMODE* pMode) PURE;
1208 STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
1209 STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap) PURE;
1210 STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y, DWORD Flags) PURE;
1212 STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain) PURE;
1213 STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
1214 STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
1215 STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
1216 STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect,
1217 HWND dst_window_override, const RGNDATA *dirty_region) PURE;
1218 STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
1219 STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
1220 STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
1221 STDMETHOD_(void, SetGammaRamp)(THIS_ UINT swapchain_idx, DWORD flags, const D3DGAMMARAMP *ramp) PURE;
1222 STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
1223 STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
1224 STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
1225 STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle) PURE;
1226 STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle) PURE;
1227 STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
1228 STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
1229 STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
1230 STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9 *src_surface, const RECT *src_rect,
1231 IDirect3DSurface9 *dst_surface, const POINT *dst_point) PURE;
1232 STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
1233 STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
1234 STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
1235 STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9 *src_surface, const RECT *src_rect,
1236 IDirect3DSurface9 *dst_surface, const RECT *dst_rect, D3DTEXTUREFILTERTYPE filter) PURE;
1237 STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9 *surface, const RECT *rect, D3DCOLOR color) PURE;
1238 STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
1239 STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
1240 STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
1241 STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE;
1242 STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
1243 STDMETHOD(BeginScene)(THIS) PURE;
1244 STDMETHOD(EndScene)(THIS) PURE;
1245 STDMETHOD(Clear)(THIS_ DWORD rect_count, const D3DRECT *rects, DWORD flags,
1246 D3DCOLOR color, float z, DWORD stencil) PURE;
1249 STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
1250 STDMETHOD(SetViewport)(THIS_ const D3DVIEWPORT9 *viewport) PURE;
1251 STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
1252 STDMETHOD(SetMaterial)(THIS_ const D3DMATERIAL9 *material) PURE;
1253 STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
1254 STDMETHOD(SetLight)(THIS_ DWORD index, const D3DLIGHT9 *light) PURE;
1255 STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
1256 STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
1257 STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
1258 STDMETHOD(SetClipPlane)(THIS_ DWORD index, const float *plane) PURE;
1259 STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
1262 STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
1263 STDMETHOD(BeginStateBlock)(THIS) PURE;
1264 STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
1265 STDMETHOD(SetClipStatus)(THIS_ const D3DCLIPSTATUS9 *clip_status) PURE;
1266 STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
1267 STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
1268 STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
1269 STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue) PURE;
1270 STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE;
1271 STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
1272 STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
1273 STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
1274 STDMETHOD(SetPaletteEntries)(THIS_ UINT palette_idx, const PALETTEENTRY *entries) PURE;
1275 STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
1276 STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
1277 STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
1278 STDMETHOD(SetScissorRect)(THIS_ const RECT *rect) PURE;
1279 STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
1280 STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
1281 STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
1282 STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE;
1283 STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
1284 STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
1285 STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
1286 STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type,
1287 UINT primitive_count, const void *data, UINT stride) PURE;
1288 STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT min_vertex_idx, UINT vertex_count,
1289 UINT primitive_count, const void *index_data, D3DFORMAT index_format, const void *data, UINT stride) PURE;
1290 STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
1291 STDMETHOD(CreateVertexDeclaration)(THIS_ const D3DVERTEXELEMENT9 *elements,
1292 IDirect3DVertexDeclaration9 **declaration) PURE;
1293 STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
1294 STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
1295 STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
1296 STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
1297 STDMETHOD(CreateVertexShader)(THIS_ const DWORD *byte_code, IDirect3DVertexShader9 **shader) PURE;
1298 STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
1299 STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
1300 STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT reg_idx, const float *data, UINT count) PURE;
1301 STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
1302 STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT reg_idx, const int *data, UINT count) PURE;
1303 STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
1304 STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT reg_idx, const BOOL *data, UINT count) PURE;
1305 STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
1306 STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
1307 STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
1308 STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE;
1309 STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
1310 STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
1311 STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
1312 STDMETHOD(CreatePixelShader)(THIS_ const DWORD *byte_code, IDirect3DPixelShader9 **shader) PURE;
1313 STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
1314 STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
1315 STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT reg_idx, const float *data, UINT count) PURE;
1316 STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
1317 STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT reg_idx, const int *data, UINT count) PURE;
1318 STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
1319 STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT reg_idx, const BOOL *data, UINT count) PURE;
1320 STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
1321 STDMETHOD(DrawRectPatch)(THIS_ UINT handle, const float *segment_count, const D3DRECTPATCH_INFO *patch_info) PURE;
1322 STDMETHOD(DrawTriPatch)(THIS_ UINT handle, const float *segment_count, const D3DTRIPATCH_INFO *patch_info) PURE;
1323 STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
1324 STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
1325};
1326#undef INTERFACE
1327
1328#ifdef __CRT_UUID_DECL
1329__CRT_UUID_DECL(IDirect3DDevice9, 0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb);
1330#endif
1331
1332#if !defined(__cplusplus) || defined(CINTERFACE)
1333/*** IUnknown methods ***/
1334#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1335#define IDirect3DDevice9_AddRef(p) (p)->lpVtbl->AddRef(p)
1336#define IDirect3DDevice9_Release(p) (p)->lpVtbl->Release(p)
1337/*** IDirect3DDevice9 methods ***/
1338#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
1339#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
1340#define IDirect3DDevice9_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
1341#define IDirect3DDevice9_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
1342#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
1343#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
1344#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
1345#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
1346#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
1347#define IDirect3DDevice9_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
1348#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
1349#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
1350#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
1351#define IDirect3DDevice9_Reset(p,a) (p)->lpVtbl->Reset(p,a)
1352#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
1353#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
1354#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
1355#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
1356#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
1357#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
1358#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
1359#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
1360#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
1361#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
1362#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
1363#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
1364#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
1365#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
1366#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
1367#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b)
1368#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
1369#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
1370#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
1371#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
1372#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
1373#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
1374#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
1375#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
1376#define IDirect3DDevice9_BeginScene(p) (p)->lpVtbl->BeginScene(p)
1377#define IDirect3DDevice9_EndScene(p) (p)->lpVtbl->EndScene(p)
1378#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
1379#define IDirect3DDevice9_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
1380#define IDirect3DDevice9_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
1381#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
1382#define IDirect3DDevice9_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
1383#define IDirect3DDevice9_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
1384#define IDirect3DDevice9_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1385#define IDirect3DDevice9_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1386#define IDirect3DDevice9_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
1387#define IDirect3DDevice9_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
1388#define IDirect3DDevice9_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
1389#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
1390#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
1391#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
1392#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
1393#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
1394#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
1395#define IDirect3DDevice9_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
1396#define IDirect3DDevice9_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
1397#define IDirect3DDevice9_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
1398#define IDirect3DDevice9_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
1399#define IDirect3DDevice9_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
1400#define IDirect3DDevice9_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
1401#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
1402#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
1403#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
1404#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
1405#define IDirect3DDevice9_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
1406#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
1407#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
1408#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
1409#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
1410#define IDirect3DDevice9_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
1411#define IDirect3DDevice9_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
1412#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
1413#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
1414#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
1415#define IDirect3DDevice9_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
1416#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
1417#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
1418#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
1419#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
1420#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
1421#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
1422#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
1423#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
1424#define IDirect3DDevice9_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
1425#define IDirect3DDevice9_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
1426#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b)
1427#define IDirect3DDevice9_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
1428#define IDirect3DDevice9_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
1429#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
1430#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
1431#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
1432#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
1433#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
1434#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
1435#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
1436#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
1437#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
1438#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
1439#define IDirect3DDevice9_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
1440#define IDirect3DDevice9_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
1441#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
1442#define IDirect3DDevice9_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
1443#define IDirect3DDevice9_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
1444#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
1445#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
1446#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
1447#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
1448#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
1449#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
1450#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
1451#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
1452#define IDirect3DDevice9_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
1453#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b)
1454#else
1455/*** IUnknown methods ***/
1456#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1457#define IDirect3DDevice9_AddRef(p) (p)->AddRef()
1458#define IDirect3DDevice9_Release(p) (p)->Release()
1459/*** IDirect3DDevice9 methods ***/
1460#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
1461#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
1462#define IDirect3DDevice9_EvictManagedResources(p) (p)->EvictManagedResources()
1463#define IDirect3DDevice9_GetDirect3D(p,a) (p)->GetDirect3D(a)
1464#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
1465#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b)
1466#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
1467#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
1468#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
1469#define IDirect3DDevice9_ShowCursor(p,a) (p)->ShowCursor(a)
1470#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
1471#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b)
1472#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains()
1473#define IDirect3DDevice9_Reset(p,a) (p)->Reset(a)
1474#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
1475#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d)
1476#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b)
1477#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a)
1478#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c)
1479#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b)
1480#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h)
1481#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
1482#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g)
1483#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f)
1484#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f)
1485#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
1486#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
1487#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d)
1488#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
1489#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b)
1490#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b)
1491#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e)
1492#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c)
1493#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
1494#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
1495#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b)
1496#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a)
1497#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
1498#define IDirect3DDevice9_BeginScene(p) (p)->BeginScene()
1499#define IDirect3DDevice9_EndScene(p) (p)->EndScene()
1500#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
1501#define IDirect3DDevice9_SetTransform(p,a,b) (p)->SetTransform(a,b)
1502#define IDirect3DDevice9_GetTransform(p,a,b) (p)->GetTransform(a,b)
1503#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
1504#define IDirect3DDevice9_SetViewport(p,a) (p)->SetViewport(a)
1505#define IDirect3DDevice9_GetViewport(p,a) (p)->GetViewport(a)
1506#define IDirect3DDevice9_SetMaterial(p,a) (p)->SetMaterial(a)
1507#define IDirect3DDevice9_GetMaterial(p,a) (p)->GetMaterial(a)
1508#define IDirect3DDevice9_SetLight(p,a,b) (p)->SetLight(a,b)
1509#define IDirect3DDevice9_GetLight(p,a,b) (p)->GetLight(a,b)
1510#define IDirect3DDevice9_LightEnable(p,a,b) (p)->LightEnable(a,b)
1511#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
1512#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
1513#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
1514#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
1515#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
1516#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
1517#define IDirect3DDevice9_BeginStateBlock(p) (p)->BeginStateBlock()
1518#define IDirect3DDevice9_EndStateBlock(p,a) (p)->EndStateBlock(a)
1519#define IDirect3DDevice9_SetClipStatus(p,a) (p)->SetClipStatus(a)
1520#define IDirect3DDevice9_GetClipStatus(p,a) (p)->GetClipStatus(a)
1521#define IDirect3DDevice9_GetTexture(p,a,b) (p)->GetTexture(a,b)
1522#define IDirect3DDevice9_SetTexture(p,a,b) (p)->SetTexture(a,b)
1523#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
1524#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
1525#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c)
1526#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c)
1527#define IDirect3DDevice9_ValidateDevice(p,a) (p)->ValidateDevice(a)
1528#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
1529#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
1530#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
1531#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
1532#define IDirect3DDevice9_SetScissorRect(p,a) (p)->SetScissorRect(a)
1533#define IDirect3DDevice9_GetScissorRect(p,a) (p)->GetScissorRect(a)
1534#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a)
1535#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing()
1536#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->SetNPatchMode(a)
1537#define IDirect3DDevice9_GetNPatchMode(p) (p)->GetNPatchMode()
1538#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
1539#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
1540#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
1541#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
1542#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f)
1543#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b)
1544#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a)
1545#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a)
1546#define IDirect3DDevice9_SetFVF(p,a) (p)->SetFVF(a)
1547#define IDirect3DDevice9_GetFVF(p,a) (p)->GetFVF(a)
1548#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b)
1549#define IDirect3DDevice9_SetVertexShader(p,a) (p)->SetVertexShader(a)
1550#define IDirect3DDevice9_GetVertexShader(p,a) (p)->GetVertexShader(a)
1551#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c)
1552#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c)
1553#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c)
1554#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c)
1555#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c)
1556#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c)
1557#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d)
1558#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d)
1559#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b)
1560#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b)
1561#define IDirect3DDevice9_SetIndices(p,a) (p)->SetIndices(a)
1562#define IDirect3DDevice9_GetIndices(p,a) (p)->GetIndices(a)
1563#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
1564#define IDirect3DDevice9_SetPixelShader(p,a) (p)->SetPixelShader(a)
1565#define IDirect3DDevice9_GetPixelShader(p,a) (p)->GetPixelShader(a)
1566#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c)
1567#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c)
1568#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c)
1569#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c)
1570#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c)
1571#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c)
1572#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
1573#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
1574#define IDirect3DDevice9_DeletePatch(p,a) (p)->DeletePatch(a)
1575#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->CreateQuery(a,b)
1576#endif
1577
1578
1579#if !defined(D3D_DISABLE_9EX)
1580
1581typedef struct IDirect3D9Ex *LPDIRECT3D9EX, *PDIRECT3D9EX;
1582typedef struct IDirect3DSwapChain9Ex *LPDIRECT3DSWAPCHAIN9EX, *PDIRECT3DSWAPCHAIN9EX;
1584
1585#ifdef __CRT_UUID_DECL
1586__CRT_UUID_DECL(IDirect3D9Ex, 0x02177241, 0x69fc, 0x400c, 0x8f, 0xf1, 0x93, 0xa4, 0x4d, 0xf6, 0x86, 0x1d);
1587#endif
1588DEFINE_GUID(IID_IDirect3D9Ex, 0x02177241, 0x69fc, 0x400c, 0x8f, 0xf1, 0x93, 0xa4, 0x4d, 0xf6, 0x86, 0x1d);
1589
1590#define INTERFACE IDirect3D9Ex
1591DECLARE_INTERFACE_(IDirect3D9Ex, IDirect3D9)
1592{
1593 /* IUnknown */
1597 /* IDirect3D9 */
1598 STDMETHOD(RegisterSoftwareDevice)(THIS_ void *init) PURE;
1599 STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
1600 STDMETHOD(GetAdapterIdentifier)(THIS_ UINT adapter_idx, DWORD flags, D3DADAPTER_IDENTIFIER9 *identifier) PURE;
1601 STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT adapter_idx, D3DFORMAT format) PURE;
1602 STDMETHOD(EnumAdapterModes)(THIS_ UINT adapter_idx, D3DFORMAT format, UINT mode_idx, D3DDISPLAYMODE *mode) PURE;
1603 STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT adapter_idx, D3DDISPLAYMODE *mode) PURE;
1605 D3DFORMAT display_format, D3DFORMAT backbuffer_format, BOOL windowed) PURE;
1608 STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT adapter_idx, D3DDEVTYPE device_type, D3DFORMAT surface_format,
1609 BOOL windowed, D3DMULTISAMPLE_TYPE multisample_type, DWORD *quality_levels) PURE;
1611 D3DFORMAT adapter_format, D3DFORMAT rt_format, D3DFORMAT ds_format) PURE;
1613 D3DFORMAT src_format, D3DFORMAT dst_format) PURE;
1616 STDMETHOD(CreateDevice)(THIS_ UINT adapter_idx, D3DDEVTYPE device_type, HWND focus_window, DWORD flags,
1618 /* IDirect3D9Ex */
1619 STDMETHOD_(UINT, GetAdapterModeCountEx)(THIS_ UINT adapter_idx, const D3DDISPLAYMODEFILTER *filter) PURE;
1620 STDMETHOD(EnumAdapterModesEx)(THIS_ UINT adapter_idx, const D3DDISPLAYMODEFILTER *filter,
1621 UINT mode_idx, D3DDISPLAYMODEEX *mode) PURE;
1622 STDMETHOD(GetAdapterDisplayModeEx)(THIS_ UINT adapter_idx,
1624 STDMETHOD(CreateDeviceEx)(THIS_ UINT adapter_idx, D3DDEVTYPE device_type, HWND focus_window, DWORD flags,
1626 STDMETHOD(GetAdapterLUID)(THIS_ UINT adapter_idx, LUID *luid) PURE;
1627};
1628#undef INTERFACE
1629
1630#if !defined(__cplusplus) || defined(CINTERFACE)
1631/* IUnknown */
1632#define IDirect3D9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1633#define IDirect3D9Ex_AddRef(p) (p)->lpVtbl->AddRef(p)
1634#define IDirect3D9Ex_Release(p) (p)->lpVtbl->Release(p)
1635/* IDirect3D9 */
1636#define IDirect3D9Ex_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
1637#define IDirect3D9Ex_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
1638#define IDirect3D9Ex_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
1639#define IDirect3D9Ex_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
1640#define IDirect3D9Ex_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
1641#define IDirect3D9Ex_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
1642#define IDirect3D9Ex_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
1643#define IDirect3D9Ex_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
1644#define IDirect3D9Ex_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
1645#define IDirect3D9Ex_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
1646#define IDirect3D9Ex_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
1647#define IDirect3D9Ex_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
1648#define IDirect3D9Ex_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
1649#define IDirect3D9Ex_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
1650/* IDirect3D9Ex */
1651#define IDirect3D9Ex_GetAdapterModeCountEx(p,a,b) (p)->lpVtbl->GetAdapterModeCountEx(p,a,b)
1652#define IDirect3D9Ex_EnumAdapterModesEx(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModesEx(p,a,b,c,d)
1653#define IDirect3D9Ex_GetAdapterDisplayModeEx(p,a,b,c) (p)->lpVtbl->GetAdapterDisplayModeEx(p,a,b,c)
1654#define IDirect3D9Ex_CreateDeviceEx(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateDeviceEx(p,a,b,c,d,e,f,g)
1655#define IDirect3D9Ex_GetAdapterLUID(p,a,b) (p)->lpVtbl->GetAdapterLUID(p,a,b)
1656#else
1657/* IUnknown */
1658#define IDirect3D9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1659#define IDirect3D9Ex_AddRef(p) (p)->AddRef()
1660#define IDirect3D9Ex_Release(p) (p)->Release()
1661/* IDirect3D9 */
1662#define IDirect3D9Ex_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
1663#define IDirect3D9Ex_GetAdapterCount(p) (p)->GetAdapterCount()
1664#define IDirect3D9Ex_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
1665#define IDirect3D9Ex_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b)
1666#define IDirect3D9Ex_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d)
1667#define IDirect3D9Ex_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
1668#define IDirect3D9Ex_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
1669#define IDirect3D9Ex_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
1670#define IDirect3D9Ex_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
1671#define IDirect3D9Ex_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
1672#define IDirect3D9Ex_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d)
1673#define IDirect3D9Ex_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
1674#define IDirect3D9Ex_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
1675#define IDirect3D9Ex_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
1676/* IDirect3D9Ex */
1677#define IDirect3D9Ex_GetAdapterModeCountEx(p,a,b) (p)->GetAdapterModeCountEx(a,b)
1678#define IDirect3D9Ex_EnumAdapterModesEx(p,a,b,c,d) (p)->EnumAdapterModesEx(a,b,c,d)
1679#define IDirect3D9Ex_GetAdapterDisplayModeEx(p,a,b,c) (p)->GetAdapterDisplayModeEx(a,b,c)
1680#define IDirect3D9Ex_CreateDeviceEx(p,a,b,c,d,e,f,g) (p)->CreateDeviceEx(a,b,c,d,e,f,g)
1681#define IDirect3D9Ex_GetAdapterLUID(p,a,b) (p)->GetAdapterLUID(a,b)
1682#endif
1683
1684#ifdef __CRT_UUID_DECL
1685__CRT_UUID_DECL(IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3);
1686#endif
1687DEFINE_GUID(IID_IDirect3DSwapChain9Ex, 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3);
1688
1689#define INTERFACE IDirect3DSwapChain9Ex
1690DECLARE_INTERFACE_(IDirect3DSwapChain9Ex, IDirect3DSwapChain9)
1691{
1692 /* IUnknown */
1696 /* IDirect3DSwapChain9 */
1697 STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
1698 const RGNDATA *dirty_region, DWORD flags) PURE;
1699 STDMETHOD(GetFrontBufferData)(THIS_ struct IDirect3DSurface9 *dst_surface) PURE;
1700 STDMETHOD(GetBackBuffer)(THIS_ UINT backbuffer_idx, D3DBACKBUFFER_TYPE backbuffer_type,
1701 struct IDirect3DSurface9 **backbuffer) PURE;
1702 STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS *raster_status) PURE;
1703 STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE *mode) PURE;
1705 STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS *parameters) PURE;
1706 /* IDirect3DSwapChain9Ex */
1707 STDMETHOD(GetLastPresentCount)(THIS_ UINT *last_present_count) PURE;
1708 STDMETHOD(GetPresentStats)(THIS_ D3DPRESENTSTATS *stats) PURE;
1709 STDMETHOD(GetDisplayModeEx)(THIS_ D3DDISPLAYMODEEX *mode, D3DDISPLAYROTATION *rotation) PURE;
1710};
1711#undef INTERFACE
1712
1713#if !defined(__cplusplus) || defined(CINTERFACE)
1714/* IUnknown */
1715#define IDirect3DSwapChain9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1716#define IDirect3DSwapChain9Ex_AddRef(p) (p)->lpVtbl->AddRef(p)
1717#define IDirect3DSwapChain9Ex_Release(p) (p)->lpVtbl->Release(p)
1718/* IDirect3DSwapChain9 */
1719#define IDirect3DSwapChain9Ex_Present(p,a,b,c,d,e) (p)->lpVtbl->Present(p,a,b,c,d,e)
1720#define IDirect3DSwapChain9Ex_GetFrontBufferData(p,a) (p)->lpVtbl->GetFrontBufferData(p,a)
1721#define IDirect3DSwapChain9Ex_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
1722#define IDirect3DSwapChain9Ex_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
1723#define IDirect3DSwapChain9Ex_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
1724#define IDirect3DSwapChain9Ex_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1725#define IDirect3DSwapChain9Ex_GetPresentParameters(p,a) (p)->lpVtbl->GetPresentParameters(p,a)
1726/* IDirect3DSwapChain9Ex */
1727#define IDirect3DSwapChain9Ex_GetLastPresentCount(p,a) (p)->lpVtbl->GetLastPresentCount(p,a)
1728#define IDirect3DSwapChain9Ex_GetPresentStats(p,a) (p)->lpVtbl->GetPresentStats(p,a)
1729#define IDirect3DSwapChain9Ex_GetDisplayModeEx(p,a,b) (p)->lpVtbl->GetDisplayModeEx(p,a,b)
1730#else
1731/* IUnknown */
1732#define IDirect3DSwapChain9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1733#define IDirect3DSwapChain9Ex_AddRef(p) (p)->AddRef()
1734#define IDirect3DSwapChain9Ex_Release(p) (p)->Release()
1735/* IDirect3DSwapChain9 */
1736#define IDirect3DSwapChain9Ex_Present(p,a,b,c,d,e) (p)->Present(a,b,c,d,e)
1737#define IDirect3DSwapChain9Ex_GetFrontBufferData(p,a) (p)->GetFrontBufferData(a)
1738#define IDirect3DSwapChain9Ex_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
1739#define IDirect3DSwapChain9Ex_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
1740#define IDirect3DSwapChain9Ex_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
1741#define IDirect3DSwapChain9Ex_GetDevice(p,a) (p)->GetDevice(a)
1742#define IDirect3DSwapChain9Ex_GetPresentParameters(p,a) (p)->GetPresentParameters(a)
1743/* IDirect3DSwapChain9Ex */
1744#define IDirect3DSwapChain9Ex_GetLastPresentCount(p,a) (p)->GetLastPresentCount(a)
1745#define IDirect3DSwapChain9Ex_GetPresentStats(p,a) (p)->GetPresentStats(a)
1746#define IDirect3DSwapChain9Ex_GetDisplayModeEx(p,a,b) (p)->GetDisplayModeEx(a,b)
1747#endif
1748
1749#ifdef __CRT_UUID_DECL
1750__CRT_UUID_DECL(IDirect3DDevice9Ex, 0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a);
1751#endif
1752DEFINE_GUID(IID_IDirect3DDevice9Ex, 0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a);
1753
1754#define INTERFACE IDirect3DDevice9Ex
1756{
1757 /* IUnknown */
1761 /* IDirect3DDevice9 */
1762 STDMETHOD(TestCooperativeLevel)(THIS) PURE;
1763 STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
1764 STDMETHOD(EvictManagedResources)(THIS) PURE;
1765 STDMETHOD(GetDirect3D)(THIS_ IDirect3D9 **d3d9) PURE;
1767 STDMETHOD(GetDisplayMode)(THIS_ UINT swapchain_idx, D3DDISPLAYMODE *mode) PURE;
1769 STDMETHOD(SetCursorProperties)(THIS_ UINT hotspot_x, UINT hotspot_y, IDirect3DSurface9 *bitmap) PURE;
1770 STDMETHOD_(void, SetCursorPosition)(THIS_ int x, int y, DWORD flags) PURE;
1772 STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS *parameters,
1773 IDirect3DSwapChain9 **swapchain) PURE;
1774 STDMETHOD(GetSwapChain)(THIS_ UINT swapchain_idx, IDirect3DSwapChain9 **swapchain) PURE;
1775 STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
1777 STDMETHOD(Present)(THIS_ const RECT *src_rect, const RECT *dst_rect,
1778 HWND dst_window_override, const RGNDATA *dirty_region) PURE;
1779 STDMETHOD(GetBackBuffer)(THIS_ UINT swapchain_idx, UINT backbuffer_idx,
1780 D3DBACKBUFFER_TYPE backbuffer_type, IDirect3DSurface9 **backbuffer) PURE;
1781 STDMETHOD(GetRasterStatus)(THIS_ UINT swapchain_idx, D3DRASTER_STATUS *raster_status) PURE;
1782 STDMETHOD(SetDialogBoxMode)(THIS_ BOOL enable) PURE;
1783 STDMETHOD_(void, SetGammaRamp)(THIS_ UINT swapchain_idx, DWORD flags, const D3DGAMMARAMP *ramp) PURE;
1784 STDMETHOD_(void, GetGammaRamp)(THIS_ UINT swapchain_idx, D3DGAMMARAMP *ramp) PURE;
1786 D3DFORMAT format, D3DPOOL pool, IDirect3DTexture9 **texture, HANDLE *shared_handle) PURE;
1787 STDMETHOD(CreateVolumeTexture)(THIS_ UINT width, UINT height, UINT depth, UINT levels, DWORD usage,
1788 D3DFORMAT format, D3DPOOL pool, IDirect3DVolumeTexture9 **texture, HANDLE *shared_handle) PURE;
1789 STDMETHOD(CreateCubeTexture)(THIS_ UINT edge_length, UINT levels, DWORD usage,
1790 D3DFORMAT format, D3DPOOL pool, IDirect3DCubeTexture9 **texture, HANDLE *shared_handle) PURE;
1791 STDMETHOD(CreateVertexBuffer)(THIS_ UINT size, DWORD usage, DWORD fvf, D3DPOOL pool,
1792 IDirect3DVertexBuffer9 **buffer, HANDLE *shared_handle) PURE;
1794 IDirect3DIndexBuffer9 **buffer, HANDLE *shared_handle) PURE;
1795 STDMETHOD(CreateRenderTarget)(THIS_ UINT width, UINT height, D3DFORMAT format,
1796 D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality, BOOL lockable,
1797 IDirect3DSurface9 **surface, HANDLE *shared_handle) PURE;
1798 STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT width, UINT height, D3DFORMAT format,
1799 D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality, BOOL discard,
1800 IDirect3DSurface9 **surface, HANDLE *shared_handle) PURE;
1801 STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9 *src_surface, const RECT *src_rect,
1802 IDirect3DSurface9 *dst_surface, const POINT *dst_point) PURE;
1803 STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9 *src_texture, IDirect3DBaseTexture9 *dst_texture) PURE;
1804 STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9 *render_target, IDirect3DSurface9 *dst_surface) PURE;
1805 STDMETHOD(GetFrontBufferData)(THIS_ UINT swapchain_idx, IDirect3DSurface9 *dst_surface) PURE;
1806 STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9 *src_surface, const RECT *src_rect,
1807 IDirect3DSurface9 *dst_surface, const RECT *dst_rect, D3DTEXTUREFILTERTYPE filter) PURE;
1808 STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9 *surface, const RECT *rect, D3DCOLOR colour) PURE;
1809 STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT width, UINT height, D3DFORMAT format, D3DPOOL pool,
1810 IDirect3DSurface9 **surface, HANDLE *shared_handle) PURE;
1811 STDMETHOD(SetRenderTarget)(THIS_ DWORD idx, IDirect3DSurface9 *surface) PURE;
1812 STDMETHOD(GetRenderTarget)(THIS_ DWORD idx, IDirect3DSurface9 **surface) PURE;
1813 STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9 *depth_stencil) PURE;
1814 STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9 **depth_stencil) PURE;
1815 STDMETHOD(BeginScene)(THIS) PURE;
1816 STDMETHOD(EndScene)(THIS) PURE;
1817 STDMETHOD(Clear)(THIS_ DWORD rect_count, const D3DRECT *rects, DWORD flags,
1818 D3DCOLOR colour, float z, DWORD stencil) PURE;
1821 STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix) PURE;
1822 STDMETHOD(SetViewport)(THIS_ const D3DVIEWPORT9 *viewport) PURE;
1823 STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9 *viewport) PURE;
1824 STDMETHOD(SetMaterial)(THIS_ const D3DMATERIAL9 *material) PURE;
1825 STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9 *material) PURE;
1826 STDMETHOD(SetLight)(THIS_ DWORD idx, const D3DLIGHT9 *light) PURE;
1828 STDMETHOD(LightEnable)(THIS_ DWORD idx, BOOL enable) PURE;
1829 STDMETHOD(GetLightEnable)(THIS_ DWORD idx, BOOL *enable) PURE;
1830 STDMETHOD(SetClipPlane)(THIS_ DWORD idx, const float *plane) PURE;
1831 STDMETHOD(GetClipPlane)(THIS_ DWORD idx, float *plane) PURE;
1834 STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE type, IDirect3DStateBlock9 **stateblock) PURE;
1835 STDMETHOD(BeginStateBlock)(THIS) PURE;
1836 STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9 **stateblock) PURE;
1837 STDMETHOD(SetClipStatus)(THIS_ const D3DCLIPSTATUS9 *clip_status) PURE;
1838 STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9 *clip_status) PURE;
1839 STDMETHOD(GetTexture)(THIS_ DWORD stage, IDirect3DBaseTexture9 **texture) PURE;
1840 STDMETHOD(SetTexture)(THIS_ DWORD stage, IDirect3DBaseTexture9 *texture) PURE;
1841 STDMETHOD(GetTextureStageState)(THIS_ DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD *value) PURE;
1842 STDMETHOD(SetTextureStageState)(THIS_ DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD value) PURE;
1843 STDMETHOD(GetSamplerState)(THIS_ DWORD sampler_idx, D3DSAMPLERSTATETYPE state, DWORD *value) PURE;
1844 STDMETHOD(SetSamplerState)(THIS_ DWORD sampler_idx, D3DSAMPLERSTATETYPE state, DWORD value) PURE;
1845 STDMETHOD(ValidateDevice)(THIS_ DWORD *pass_count) PURE;
1846 STDMETHOD(SetPaletteEntries)(THIS_ UINT palette_idx, const PALETTEENTRY *entries) PURE;
1847 STDMETHOD(GetPaletteEntries)(THIS_ UINT palette_idx, PALETTEENTRY *entries) PURE;
1848 STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT palette_idx) PURE;
1849 STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *palette_idx) PURE;
1850 STDMETHOD(SetScissorRect)(THIS_ const RECT *rect) PURE;
1851 STDMETHOD(GetScissorRect)(THIS_ RECT *rect) PURE;
1852 STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL software) PURE;
1853 STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
1854 STDMETHOD(SetNPatchMode)(THIS_ float segment_count) PURE;
1855 STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
1856 STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT start_vertex, UINT primitive_count) PURE;
1857 STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE primitive_type, INT base_vertex_idx, UINT min_vertex_idx,
1858 UINT vertex_count, UINT start_idx, UINT primitive_count) PURE;
1859 STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type,
1860 UINT primitive_count, const void *data, UINT stride) PURE;
1861 STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE primitive_type, UINT min_vertex_idx, UINT vertex_count,
1862 UINT primitive_count, const void *index_data, D3DFORMAT index_format, const void *data, UINT stride) PURE;
1863 STDMETHOD(ProcessVertices)(THIS_ UINT src_start_idx, UINT dst_idx, UINT vertex_count,
1864 IDirect3DVertexBuffer9 *dst_buffer, IDirect3DVertexDeclaration9 *declaration, DWORD flags) PURE;
1865 STDMETHOD(CreateVertexDeclaration)(THIS_ const D3DVERTEXELEMENT9 *elements,
1866 IDirect3DVertexDeclaration9 **declaration) PURE;
1867 STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9 *declaration) PURE;
1868 STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9 **declaration) PURE;
1869 STDMETHOD(SetFVF)(THIS_ DWORD fvf) PURE;
1870 STDMETHOD(GetFVF)(THIS_ DWORD *fvf) PURE;
1871 STDMETHOD(CreateVertexShader)(THIS_ const DWORD *byte_code, IDirect3DVertexShader9 **shader) PURE;
1872 STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9 *shader) PURE;
1873 STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9 **shader) PURE;
1874 STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT reg_idx, const float *data, UINT count) PURE;
1875 STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT reg_idx, float *data, UINT count) PURE;
1876 STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT reg_idx, const int *data, UINT count) PURE;
1877 STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT reg_idx, int *data, UINT count) PURE;
1878 STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT reg_idx, const BOOL *data, UINT count) PURE;
1879 STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT reg_idx, BOOL *data, UINT count) PURE;
1880 STDMETHOD(SetStreamSource)(THIS_ UINT stream_idx, IDirect3DVertexBuffer9 *buffer, UINT offset, UINT stride) PURE;
1881 STDMETHOD(GetStreamSource)(THIS_ UINT stream_idx, IDirect3DVertexBuffer9 **buffer, UINT *offset, UINT *stride) PURE;
1882 STDMETHOD(SetStreamSourceFreq)(THIS_ UINT stream_idx, UINT frequency) PURE;
1883 STDMETHOD(GetStreamSourceFreq)(THIS_ UINT stream_idx, UINT *frequency) PURE;
1884 STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9 *buffer) PURE;
1885 STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9 **buffer) PURE;
1886 STDMETHOD(CreatePixelShader)(THIS_ const DWORD *byte_code, IDirect3DPixelShader9 **shader) PURE;
1887 STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9 *shader) PURE;
1888 STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9 **shader) PURE;
1889 STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT reg_idx, const float *data, UINT count) PURE;
1890 STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT reg_idx, float *data, UINT count) PURE;
1891 STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT reg_idx, const int *data, UINT count) PURE;
1892 STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT reg_idx, int *data, UINT count) PURE;
1893 STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT reg_idx, const BOOL *data, UINT count) PURE;
1894 STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT reg_idx, BOOL *data, UINT count) PURE;
1895 STDMETHOD(DrawRectPatch)(THIS_ UINT handle, const float *segment_count, const D3DRECTPATCH_INFO *patch_info) PURE;
1896 STDMETHOD(DrawTriPatch)(THIS_ UINT handle, const float *segment_count, const D3DTRIPATCH_INFO *patch_info) PURE;
1897 STDMETHOD(DeletePatch)(THIS_ UINT handle) PURE;
1898 STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE type, IDirect3DQuery9 **query) PURE;
1899 /* IDirect3DDevice9Ex */
1900 STDMETHOD(SetConvolutionMonoKernel)(THIS_ UINT width, UINT height, float *rows, float *columns) PURE;
1901 STDMETHOD(ComposeRects)(THIS_ IDirect3DSurface9 *src_surface, IDirect3DSurface9 *dst_surface,
1902 IDirect3DVertexBuffer9 *src_descs, UINT rect_count, IDirect3DVertexBuffer9 *dst_descs,
1903 D3DCOMPOSERECTSOP operation, INT offset_x, INT offset_y) PURE;
1904 STDMETHOD(PresentEx)(THIS_ const RECT *src_rect, const RECT *dst_rect,
1905 HWND dst_window_override, const RGNDATA *dirty_region, DWORD flags) PURE;
1906 STDMETHOD(GetGPUThreadPriority)(THIS_ INT *priority) PURE;
1907 STDMETHOD(SetGPUThreadPriority)(THIS_ INT priority) PURE;
1908 STDMETHOD(WaitForVBlank)(THIS_ UINT swapchain_idx) PURE;
1909 STDMETHOD(CheckResourceResidency)(THIS_ IDirect3DResource9 **resources, UINT32 resource_count) PURE;
1910 STDMETHOD(SetMaximumFrameLatency)(THIS_ UINT max_latency) PURE;
1911 STDMETHOD(GetMaximumFrameLatency)(THIS_ UINT *max_latency) PURE;
1912 STDMETHOD(CheckDeviceState)(THIS_ HWND dst_window) PURE;
1913 STDMETHOD(CreateRenderTargetEx)(THIS_ UINT width, UINT height, D3DFORMAT format,
1914 D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality, BOOL lockable,
1915 IDirect3DSurface9 **surface, HANDLE *shared_handle, DWORD usage) PURE;
1916 STDMETHOD(CreateOffscreenPlainSurfaceEx)(THIS_ UINT width, UINT Height, D3DFORMAT format,
1917 D3DPOOL pool, IDirect3DSurface9 **surface, HANDLE *shared_handle, DWORD usage) PURE;
1918 STDMETHOD(CreateDepthStencilSurfaceEx)(THIS_ UINT width, UINT height, D3DFORMAT format,
1919 D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality, BOOL discard,
1920 IDirect3DSurface9 **surface, HANDLE *shared_handle, DWORD usage) PURE;
1922 STDMETHOD(GetDisplayModeEx)(THIS_ UINT swapchain_idx, D3DDISPLAYMODEEX *mode, D3DDISPLAYROTATION *rotation) PURE;
1923};
1924#undef INTERFACE
1925
1926#if !defined(__cplusplus) || defined(CINTERFACE)
1927/* IUnknown */
1928#define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1929#define IDirect3DDevice9Ex_AddRef(p) (p)->lpVtbl->AddRef(p)
1930#define IDirect3DDevice9Ex_Release(p) (p)->lpVtbl->Release(p)
1931/* IDirect3DDevice9 */
1932#define IDirect3DDevice9Ex_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
1933#define IDirect3DDevice9Ex_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
1934#define IDirect3DDevice9Ex_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
1935#define IDirect3DDevice9Ex_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
1936#define IDirect3DDevice9Ex_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
1937#define IDirect3DDevice9Ex_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
1938#define IDirect3DDevice9Ex_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
1939#define IDirect3DDevice9Ex_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
1940#define IDirect3DDevice9Ex_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
1941#define IDirect3DDevice9Ex_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
1942#define IDirect3DDevice9Ex_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
1943#define IDirect3DDevice9Ex_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
1944#define IDirect3DDevice9Ex_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
1945#define IDirect3DDevice9Ex_Reset(p,a) (p)->lpVtbl->Reset(p,a)
1946#define IDirect3DDevice9Ex_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
1947#define IDirect3DDevice9Ex_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
1948#define IDirect3DDevice9Ex_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
1949#define IDirect3DDevice9Ex_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
1950#define IDirect3DDevice9Ex_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
1951#define IDirect3DDevice9Ex_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
1952#define IDirect3DDevice9Ex_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
1953#define IDirect3DDevice9Ex_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
1954#define IDirect3DDevice9Ex_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
1955#define IDirect3DDevice9Ex_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
1956#define IDirect3DDevice9Ex_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
1957#define IDirect3DDevice9Ex_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
1958#define IDirect3DDevice9Ex_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
1959#define IDirect3DDevice9Ex_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
1960#define IDirect3DDevice9Ex_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
1961#define IDirect3DDevice9Ex_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b)
1962#define IDirect3DDevice9Ex_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
1963#define IDirect3DDevice9Ex_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
1964#define IDirect3DDevice9Ex_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
1965#define IDirect3DDevice9Ex_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
1966#define IDirect3DDevice9Ex_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
1967#define IDirect3DDevice9Ex_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
1968#define IDirect3DDevice9Ex_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
1969#define IDirect3DDevice9Ex_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
1970#define IDirect3DDevice9Ex_BeginScene(p) (p)->lpVtbl->BeginScene(p)
1971#define IDirect3DDevice9Ex_EndScene(p) (p)->lpVtbl->EndScene(p)
1972#define IDirect3DDevice9Ex_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
1973#define IDirect3DDevice9Ex_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
1974#define IDirect3DDevice9Ex_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
1975#define IDirect3DDevice9Ex_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
1976#define IDirect3DDevice9Ex_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
1977#define IDirect3DDevice9Ex_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
1978#define IDirect3DDevice9Ex_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
1979#define IDirect3DDevice9Ex_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
1980#define IDirect3DDevice9Ex_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
1981#define IDirect3DDevice9Ex_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
1982#define IDirect3DDevice9Ex_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
1983#define IDirect3DDevice9Ex_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
1984#define IDirect3DDevice9Ex_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
1985#define IDirect3DDevice9Ex_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
1986#define IDirect3DDevice9Ex_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
1987#define IDirect3DDevice9Ex_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
1988#define IDirect3DDevice9Ex_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
1989#define IDirect3DDevice9Ex_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
1990#define IDirect3DDevice9Ex_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
1991#define IDirect3DDevice9Ex_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
1992#define IDirect3DDevice9Ex_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
1993#define IDirect3DDevice9Ex_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
1994#define IDirect3DDevice9Ex_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
1995#define IDirect3DDevice9Ex_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
1996#define IDirect3DDevice9Ex_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
1997#define IDirect3DDevice9Ex_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
1998#define IDirect3DDevice9Ex_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
1999#define IDirect3DDevice9Ex_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
2000#define IDirect3DDevice9Ex_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
2001#define IDirect3DDevice9Ex_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
2002#define IDirect3DDevice9Ex_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
2003#define IDirect3DDevice9Ex_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
2004#define IDirect3DDevice9Ex_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
2005#define IDirect3DDevice9Ex_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
2006#define IDirect3DDevice9Ex_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
2007#define IDirect3DDevice9Ex_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
2008#define IDirect3DDevice9Ex_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
2009#define IDirect3DDevice9Ex_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
2010#define IDirect3DDevice9Ex_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
2011#define IDirect3DDevice9Ex_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
2012#define IDirect3DDevice9Ex_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
2013#define IDirect3DDevice9Ex_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
2014#define IDirect3DDevice9Ex_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
2015#define IDirect3DDevice9Ex_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
2016#define IDirect3DDevice9Ex_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
2017#define IDirect3DDevice9Ex_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
2018#define IDirect3DDevice9Ex_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
2019#define IDirect3DDevice9Ex_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
2020#define IDirect3DDevice9Ex_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b)
2021#define IDirect3DDevice9Ex_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
2022#define IDirect3DDevice9Ex_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
2023#define IDirect3DDevice9Ex_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
2024#define IDirect3DDevice9Ex_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
2025#define IDirect3DDevice9Ex_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
2026#define IDirect3DDevice9Ex_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
2027#define IDirect3DDevice9Ex_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
2028#define IDirect3DDevice9Ex_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
2029#define IDirect3DDevice9Ex_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
2030#define IDirect3DDevice9Ex_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
2031#define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
2032#define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
2033#define IDirect3DDevice9Ex_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
2034#define IDirect3DDevice9Ex_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
2035#define IDirect3DDevice9Ex_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
2036#define IDirect3DDevice9Ex_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
2037#define IDirect3DDevice9Ex_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
2038#define IDirect3DDevice9Ex_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
2039#define IDirect3DDevice9Ex_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
2040#define IDirect3DDevice9Ex_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
2041#define IDirect3DDevice9Ex_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
2042#define IDirect3DDevice9Ex_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
2043#define IDirect3DDevice9Ex_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
2044#define IDirect3DDevice9Ex_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
2045#define IDirect3DDevice9Ex_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
2046#define IDirect3DDevice9Ex_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
2047#define IDirect3DDevice9Ex_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b)
2048/* IDirect3DDevice9Ex */
2049#define IDirect3DDevice9Ex_SetConvolutionMonoKernel(p,a,b,c,d) (p)->lpVtbl->SetConvolutionMonoKernel(p,a,b,c,d)
2050#define IDirect3DDevice9Ex_ComposeRects(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ComposeRects(p,a,b,c,d,e,f,g,h)
2051#define IDirect3DDevice9Ex_PresentEx(p,a,b,c,d,e) (p)->lpVtbl->PresentEx(p,a,b,c,d,e)
2052#define IDirect3DDevice9Ex_GetGPUThreadPriority(p,a) (p)->lpVtbl->GetGPUThreadPriority(p,a)
2053#define IDirect3DDevice9Ex_SetGPUThreadPriority(p,a) (p)->lpVtbl->SetGPUThreadPriority(p,a)
2054#define IDirect3DDevice9Ex_WaitForVBlank(p,a) (p)->lpVtbl->WaitForVBlank(p,a)
2055#define IDirect3DDevice9Ex_CheckResourceResidency(p,a,b) (p)->lpVtbl->CheckResourceResidency(p,a,b)
2056#define IDirect3DDevice9Ex_SetMaximumFrameLatency(p,a) (p)->lpVtbl->SetMaximumFrameLatency(p,a)
2057#define IDirect3DDevice9Ex_GetMaximumFrameLatency(p,a) (p)->lpVtbl->GetMaximumFrameLatency(p,a)
2058#define IDirect3DDevice9Ex_CheckDeviceState(p,a) (p)->lpVtbl->CheckDeviceState(p,a)
2059#define IDirect3DDevice9Ex_CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i)
2060#define IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)
2061#define IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)
2062#define IDirect3DDevice9Ex_ResetEx(p,a,b) (p)->lpVtbl->ResetEx(p,a,b)
2063#define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c) (p)->lpVtbl->GetDisplayModeEx(p,a,b,c)
2064#else
2065/* IUnknown */
2066#define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
2067#define IDirect3DDevice9Ex_AddRef(p) (p)->AddRef()
2068#define IDirect3DDevice9Ex_Release(p) (p)->Release()
2069/* IDirect3DDevice9 */
2070#define IDirect3DDevice9Ex_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
2071#define IDirect3DDevice9Ex_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
2072#define IDirect3DDevice9Ex_EvictManagedResources(p) (p)->EvictManagedResources()
2073#define IDirect3DDevice9Ex_GetDirect3D(p,a) (p)->GetDirect3D(a)
2074#define IDirect3DDevice9Ex_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
2075#define IDirect3DDevice9Ex_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b)
2076#define IDirect3DDevice9Ex_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
2077#define IDirect3DDevice9Ex_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
2078#define IDirect3DDevice9Ex_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
2079#define IDirect3DDevice9Ex_ShowCursor(p,a) (p)->ShowCursor(a)
2080#define IDirect3DDevice9Ex_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
2081#define IDirect3DDevice9Ex_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b)
2082#define IDirect3DDevice9Ex_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains()
2083#define IDirect3DDevice9Ex_Reset(p,a) (p)->Reset(a)
2084#define IDirect3DDevice9Ex_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
2085#define IDirect3DDevice9Ex_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d)
2086#define IDirect3DDevice9Ex_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b)
2087#define IDirect3DDevice9Ex_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a)
2088#define IDirect3DDevice9Ex_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c)
2089#define IDirect3DDevice9Ex_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b)
2090#define IDirect3DDevice9Ex_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h)
2091#define IDirect3DDevice9Ex_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
2092#define IDirect3DDevice9Ex_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g)
2093#define IDirect3DDevice9Ex_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f)
2094#define IDirect3DDevice9Ex_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f)
2095#define IDirect3DDevice9Ex_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
2096#define IDirect3DDevice9Ex_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
2097#define IDirect3DDevice9Ex_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d)
2098#define IDirect3DDevice9Ex_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
2099#define IDirect3DDevice9Ex_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b)
2100#define IDirect3DDevice9Ex_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b)
2101#define IDirect3DDevice9Ex_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e)
2102#define IDirect3DDevice9Ex_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c)
2103#define IDirect3DDevice9Ex_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
2104#define IDirect3DDevice9Ex_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
2105#define IDirect3DDevice9Ex_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b)
2106#define IDirect3DDevice9Ex_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a)
2107#define IDirect3DDevice9Ex_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
2108#define IDirect3DDevice9Ex_BeginScene(p) (p)->BeginScene()
2109#define IDirect3DDevice9Ex_EndScene(p) (p)->EndScene()
2110#define IDirect3DDevice9Ex_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
2111#define IDirect3DDevice9Ex_SetTransform(p,a,b) (p)->SetTransform(a,b)
2112#define IDirect3DDevice9Ex_GetTransform(p,a,b) (p)->GetTransform(a,b)
2113#define IDirect3DDevice9Ex_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
2114#define IDirect3DDevice9Ex_SetViewport(p,a) (p)->SetViewport(a)
2115#define IDirect3DDevice9Ex_GetViewport(p,a) (p)->GetViewport(a)
2116#define IDirect3DDevice9Ex_SetMaterial(p,a) (p)->SetMaterial(a)
2117#define IDirect3DDevice9Ex_GetMaterial(p,a) (p)->GetMaterial(a)
2118#define IDirect3DDevice9Ex_SetLight(p,a,b) (p)->SetLight(a,b)
2119#define IDirect3DDevice9Ex_GetLight(p,a,b) (p)->GetLight(a,b)
2120#define IDirect3DDevice9Ex_LightEnable(p,a,b) (p)->LightEnable(a,b)
2121#define IDirect3DDevice9Ex_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
2122#define IDirect3DDevice9Ex_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
2123#define IDirect3DDevice9Ex_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
2124#define IDirect3DDevice9Ex_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
2125#define IDirect3DDevice9Ex_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
2126#define IDirect3DDevice9Ex_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
2127#define IDirect3DDevice9Ex_BeginStateBlock(p) (p)->BeginStateBlock()
2128#define IDirect3DDevice9Ex_EndStateBlock(p,a) (p)->EndStateBlock(a)
2129#define IDirect3DDevice9Ex_SetClipStatus(p,a) (p)->SetClipStatus(a)
2130#define IDirect3DDevice9Ex_GetClipStatus(p,a) (p)->GetClipStatus(a)
2131#define IDirect3DDevice9Ex_GetTexture(p,a,b) (p)->GetTexture(a,b)
2132#define IDirect3DDevice9Ex_SetTexture(p,a,b) (p)->SetTexture(a,b)
2133#define IDirect3DDevice9Ex_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
2134#define IDirect3DDevice9Ex_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
2135#define IDirect3DDevice9Ex_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c)
2136#define IDirect3DDevice9Ex_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c)
2137#define IDirect3DDevice9Ex_ValidateDevice(p,a) (p)->ValidateDevice(a)
2138#define IDirect3DDevice9Ex_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
2139#define IDirect3DDevice9Ex_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
2140#define IDirect3DDevice9Ex_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
2141#define IDirect3DDevice9Ex_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
2142#define IDirect3DDevice9Ex_SetScissorRect(p,a) (p)->SetScissorRect(a)
2143#define IDirect3DDevice9Ex_GetScissorRect(p,a) (p)->GetScissorRect(a)
2144#define IDirect3DDevice9Ex_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a)
2145#define IDirect3DDevice9Ex_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing()
2146#define IDirect3DDevice9Ex_SetNPatchMode(p,a) (p)->SetNPatchMode(a)
2147#define IDirect3DDevice9Ex_GetNPatchMode(p) (p)->GetNPatchMode()
2148#define IDirect3DDevice9Ex_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
2149#define IDirect3DDevice9Ex_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
2150#define IDirect3DDevice9Ex_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
2151#define IDirect3DDevice9Ex_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
2152#define IDirect3DDevice9Ex_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f)
2153#define IDirect3DDevice9Ex_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b)
2154#define IDirect3DDevice9Ex_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a)
2155#define IDirect3DDevice9Ex_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a)
2156#define IDirect3DDevice9Ex_SetFVF(p,a) (p)->SetFVF(a)
2157#define IDirect3DDevice9Ex_GetFVF(p,a) (p)->GetFVF(a)
2158#define IDirect3DDevice9Ex_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b)
2159#define IDirect3DDevice9Ex_SetVertexShader(p,a) (p)->SetVertexShader(a)
2160#define IDirect3DDevice9Ex_GetVertexShader(p,a) (p)->GetVertexShader(a)
2161#define IDirect3DDevice9Ex_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c)
2162#define IDirect3DDevice9Ex_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c)
2163#define IDirect3DDevice9Ex_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c)
2164#define IDirect3DDevice9Ex_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c)
2165#define IDirect3DDevice9Ex_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c)
2166#define IDirect3DDevice9Ex_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c)
2167#define IDirect3DDevice9Ex_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d)
2168#define IDirect3DDevice9Ex_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d)
2169#define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b)
2170#define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b)
2171#define IDirect3DDevice9Ex_SetIndices(p,a) (p)->SetIndices(a)
2172#define IDirect3DDevice9Ex_GetIndices(p,a) (p)->GetIndices(a)
2173#define IDirect3DDevice9Ex_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
2174#define IDirect3DDevice9Ex_SetPixelShader(p,a) (p)->SetPixelShader(a)
2175#define IDirect3DDevice9Ex_GetPixelShader(p,a) (p)->GetPixelShader(a)
2176#define IDirect3DDevice9Ex_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c)
2177#define IDirect3DDevice9Ex_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c)
2178#define IDirect3DDevice9Ex_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c)
2179#define IDirect3DDevice9Ex_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c)
2180#define IDirect3DDevice9Ex_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c)
2181#define IDirect3DDevice9Ex_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c)
2182#define IDirect3DDevice9Ex_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
2183#define IDirect3DDevice9Ex_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
2184#define IDirect3DDevice9Ex_DeletePatch(p,a) (p)->DeletePatch(a)
2185#define IDirect3DDevice9Ex_CreateQuery(p,a,b) (p)->CreateQuery(a,b)
2186/* IDirect3DDevice9Ex */
2187#define IDirect3DDevice9Ex_SetConvolutionMonoKernel(p,a,b,c,d) (p)->SetConvolutionMonoKernel(a,b,c,d)
2188#define IDirect3DDevice9Ex_ComposeRects(p,a,b,c,d,e,f,g,h) (p)->ComposeRects(a,b,c,d,e,f,g,h)
2189#define IDirect3DDevice9Ex_PresentEx(p,a,b,c,d,e) (p)->PresentEx(a,b,c,d,e)
2190#define IDirect3DDevice9Ex_GetGPUThreadPriority(p,a) (p)->GetGPUThreadPriority(a)
2191#define IDirect3DDevice9Ex_SetGPUThreadPriority(p,a) (p)->SetGPUThreadPriority(a)
2192#define IDirect3DDevice9Ex_WaitForVBlank(p,a) (p)->WaitForVBlank(a)
2193#define IDirect3DDevice9Ex_CheckResourceResidency(p,a,b) (p)->CheckResourceResidency(a,b)
2194#define IDirect3DDevice9Ex_SetMaximumFrameLatency(p,a) (p)->SetMaximumFrameLatency(a)
2195#define IDirect3DDevice9Ex_GetMaximumFrameLatency(p,a) (p)->GetMaximumFrameLatency(a)
2196#define IDirect3DDevice9Ex_CheckDeviceState(p,a) (p)->CheckDeviceState(a)
2197#define IDirect3DDevice9Ex_CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i) (p)->CreateRenderTargetEx(a,b,c,d,e,f,g,h,i)
2198#define IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g) (p)->CreateOffscreenPlainSurfaceEx(a,b,c,d,e,f,g)
2199#define IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i) (p)->CreateDepthStencilSurfaceEx(a,b,c,d,e,f,g,h,i)
2200#define IDirect3DDevice9Ex_ResetEx(p,a,b) (p)->ResetEx(a,b)
2201#define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c) (p)->GetDisplayModeEx(a,b,c)
2202#endif
2203
2204#endif /* !defined(D3D_DISABLE_9EX) */
2205
2206#ifdef __cplusplus
2207extern "C" {
2208#endif /* defined(__cplusplus) */
2209
2211int WINAPI D3DPERF_EndEvent(void);
2217
2219#ifndef D3D_DISABLE_9EX
2220HRESULT WINAPI Direct3DCreate9Ex(UINT sdk_version, IDirect3D9Ex **d3d9ex);
2221#endif
2222
2223#ifdef __cplusplus
2224} /* extern "C" */
2225#endif /* defined(__cplusplus) */
2226
2227
2228#endif /* _D3D9_H_ */
static T & Reset(T &sei, UINT flags=SEE_MASK_FLAG_NO_UI)
Type
Definition: Type.h:7
static int state
Definition: maze.c:121
operation
Definition: copy.c:29
#define index(s, c)
Definition: various.h:29
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
Definition: bufpool.h:50
RECT rect
Definition: combotst.c:67
UINT Depth
Definition: d3d12.idl:4644
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
enum _D3DBACKBUFFER_TYPE D3DBACKBUFFER_TYPE
enum _D3DRESOURCETYPE D3DRESOURCETYPE
enum _D3DDEVTYPE D3DDEVTYPE
enum _D3DPOOL D3DPOOL
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
enum _D3DFORMAT D3DFORMAT
enum _D3DCUBEMAP_FACES D3DCUBEMAP_FACES
enum _D3DTEXTUREFILTERTYPE D3DTEXTUREFILTERTYPE
enum _D3DMULTISAMPLE_TYPE D3DMULTISAMPLE_TYPE
enum _D3DSTATEBLOCKTYPE D3DSTATEBLOCKTYPE
struct IDirect3DSwapChain9Ex * PDIRECT3DSWAPCHAIN9EX
Definition: d3d9.h:1582
struct IDirect3D9Ex * LPDIRECT3D9EX
Definition: d3d9.h:1581
struct IDirect3DDevice9 * LPDIRECT3DDEVICE9
Definition: d3d9.h:125
struct IDirect3DDevice9Ex * LPDIRECT3DDEVICE9EX
Definition: d3d9.h:1583
struct IDirect3DCubeTexture9 * LPDIRECT3DCUBETEXTURE9
Definition: d3d9.h:152
struct IDirect3DCubeTexture9 * PDIRECT3DCUBETEXTURE9
Definition: d3d9.h:152
struct IDirect3DVertexBuffer9 * LPDIRECT3DVERTEXBUFFER9
Definition: d3d9.h:131
HRESULT WINAPI Direct3DCreate9Ex(UINT sdk_version, IDirect3D9Ex **d3d9ex)
Definition: d3d9_main.c:56
struct IDirect3DQuery9 * LPDIRECT3DQUERY9
Definition: d3d9.h:170
struct IDirect3DVertexDeclaration9 * LPDIRECT3DVERTEXDECLARATION9
Definition: d3d9.h:158
struct IDirect3DSwapChain9 * LPDIRECT3DSWAPCHAIN9
Definition: d3d9.h:137
struct IDirect3DVolume9 * PDIRECT3DVOLUME9
Definition: d3d9.h:134
struct IDirect3DPixelShader9 * LPDIRECT3DPIXELSHADER9
Definition: d3d9.h:164
struct IDirect3DSurface9 * LPDIRECT3DSURFACE9
Definition: d3d9.h:140
struct IDirect3DResource9 * PDIRECT3DRESOURCE9
Definition: d3d9.h:128
struct IDirect3DVolumeTexture9 * PDIRECT3DVOLUMETEXTURE9
Definition: d3d9.h:155
struct IDirect3DVertexShader9 * LPDIRECT3DVERTEXSHADER9
Definition: d3d9.h:161
struct IDirect3DTexture9 * PDIRECT3DTEXTURE9
Definition: d3d9.h:149
struct IDirect3DSwapChain9 * PDIRECT3DSWAPCHAIN9
Definition: d3d9.h:137
struct IDirect3DDevice9Ex * PDIRECT3DDEVICE9EX
Definition: d3d9.h:1583
int WINAPI D3DPERF_EndEvent(void)
Definition: d3d9_main.c:235
struct IDirect3DSwapChain9Ex * LPDIRECT3DSWAPCHAIN9EX
Definition: d3d9.h:1582
struct IDirect3DResource9 * LPDIRECT3DRESOURCE9
Definition: d3d9.h:128
int WINAPI D3DPERF_BeginEvent(D3DCOLOR color, const WCHAR *name)
Definition: d3d9_main.c:225
struct IDirect3D9Ex * PDIRECT3D9EX
Definition: d3d9.h:1581
void WINAPI D3DPERF_SetRegion(D3DCOLOR color, const WCHAR *name)
Definition: d3d9_main.c:279
IDirect3D9 *WINAPI Direct3DCreate9(UINT sdk_version)
Definition: d3d9.c:57
struct IDirect3DVolume9 * LPDIRECT3DVOLUME9
Definition: d3d9.h:134
struct IDirect3D9 * PDIRECT3D9
Definition: d3d9.h:122
struct IDirect3DIndexBuffer9 * LPDIRECT3DINDEXBUFFER9
Definition: d3d9.h:143
struct IDirect3DIndexBuffer9 * PDIRECT3DINDEXBUFFER9
Definition: d3d9.h:143
void WINAPI D3DPERF_SetOptions(DWORD options)
Definition: d3d9_main.c:254
struct IDirect3DQuery9 * PDIRECT3DQUERY9
Definition: d3d9.h:170
DWORD WINAPI D3DPERF_GetStatus(void)
Definition: d3d9_main.c:244
struct IDirect3DVertexBuffer9 * PDIRECT3DVERTEXBUFFER9
Definition: d3d9.h:131
struct IDirect3DBaseTexture9 * LPDIRECT3DBASETEXTURE9
Definition: d3d9.h:146
struct IDirect3DSurface9 * PDIRECT3DSURFACE9
Definition: d3d9.h:140
struct IDirect3DTexture9 * LPDIRECT3DTEXTURE9
Definition: d3d9.h:149
struct IDirect3DVolumeTexture9 * LPDIRECT3DVOLUMETEXTURE9
Definition: d3d9.h:155
void WINAPI D3DPERF_SetMarker(D3DCOLOR color, const WCHAR *name)
Definition: d3d9_main.c:271
BOOL WINAPI D3DPERF_QueryRepeatFrame(void)
Definition: d3d9_main.c:262
struct IDirect3DBaseTexture9 * PDIRECT3DBASETEXTURE9
Definition: d3d9.h:146
struct IDirect3D9 * LPDIRECT3D9
Definition: d3d9.h:122
struct IDirect3DStateBlock9 * LPDIRECT3DSTATEBLOCK9
Definition: d3d9.h:167
D3DDISPLAYROTATION
Definition: d3d9types.h:1589
enum _D3DQUERYTYPE D3DQUERYTYPE
enum _D3DSAMPLERSTATETYPE D3DSAMPLERSTATETYPE
enum _D3DCOMPOSERECTSOP D3DCOMPOSERECTSOP
D3DPRIMITIVETYPE
Definition: d3dtypes.h:822
D3DRENDERSTATETYPE
Definition: d3dtypes.h:874
device_type
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT _Out_ UINT * Height
Definition: dispmprt.h:1445
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT * Width
Definition: dispmprt.h:1444
_In_ ULONG _In_ UCHAR Level
Definition: dispmprt.h:1329
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
Definition: dispmprt.h:1318
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
Definition: dispmprt.h:245
HMONITOR GetAdapterMonitor(LPCSTR lpszDeviceName)
Definition: adapter.c:393
HRESULT CheckDeviceType(LPD3D9_DRIVERCAPS pDriverCaps, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed)
Definition: format.c:224
HRESULT CheckDeviceFormatConversion(LPD3D9_DRIVERCAPS pDriverCaps, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat)
Definition: format.c:495
HRESULT CheckDepthStencilMatch(LPD3D9_DRIVERCAPS pDriverCaps, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat)
Definition: format.c:539
HRESULT CheckDeviceFormat(LPD3D9_DRIVERCAPS pDriverCaps, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat)
Definition: format.c:326
WORD face[3]
Definition: mesh.c:4854
unsigned int idx
Definition: utils.c:40
#define Y(I)
GUID guid
Definition: version.c:147
DWORD IDirect3DSurface9
Definition: dxva2api.idl:23
DWORD IDirect3DDevice9
Definition: dxva2api.idl:22
DWORD IDirect3DDevice9Ex
Definition: dxvahd.idl:22
static void depth_stencil(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
Definition: ffp_gl.c:766
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
static BYTE * GetData(BYTE *pData, ULONG *pLength)
Definition: assembly.c:114
return pList GetDevice()
FxCmResList * resources
PWCHAR pValue
ULONG Handle
Definition: gdb_input.c:15
GLint GLint GLsizei GLsizei GLsizei depth
Definition: gl.h:1546
GLint level
Definition: gl.h:1546
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLint GLint GLsizei width
Definition: gl.h:1546
GLenum GLuint texture
Definition: glext.h:6295
GLsizei stride
Definition: glext.h:5848
GLuint buffer
Definition: glext.h:5915
GLsizeiptr size
Definition: glext.h:5919
GLintptr offset
Definition: glext.h:5920
GLuint color
Definition: glext.h:6243
GLuint shader
Definition: glext.h:6030
GLuint GLenum matrix
Definition: glext.h:9407
GLenum mode
Definition: glext.h:6217
GLbitfield flags
Definition: glext.h:7161
GLsizei levels
Definition: glext.h:7884
GLboolean enable
Definition: glext.h:11120
GLsizeiptr const GLvoid GLenum usage
Definition: glext.h:5919
GLint GLfloat GLint stencil
Definition: glext.h:6260
GLdouble GLdouble z
Definition: glext.h:5874
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum plane
Definition: glfuncs.h:270
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum light
Definition: glfuncs.h:170
unsigned int UINT
Definition: sysinfo.c:13
@ SetPriority
Definition: halhw.h:216
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
Definition: hidpi.h:384
#define X(b, s)
static D3D_DRIVER_TYPE HMODULE UINT const D3D_FEATURE_LEVEL UINT UINT sdk_version
Definition: hlsl_d3d11.c:29
_In_ ULONG Mode
Definition: hubbusif.h:303
REFIID riid
Definition: atlbase.h:39
DeviceType
Definition: mmdrv.h:42
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
HDC hdc
Definition: main.c:9
static HDC
Definition: imagelist.c:88
static void Clear(void)
Definition: treeview.c:388
int vertex_count
Definition: d3drm.c:3528
static const char * dst_format
Definition: dib.c:1339
static const BYTE ramp[17]
Definition: dib.c:2957
static LARGE_INTEGER * frequency
Definition: time.c:38
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:83
static int priority
Definition: timer.c:163
static BYTE parameters[]
Definition: asn.c:558
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
short WCHAR
Definition: pedump.c:58
void DrawPrimitive(IN HDC hDC, IN const RECT &RPrimitive, IN OutPrimitive PrimitiveID)
Definition: primitives.cpp:80
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define REFIID
Definition: guiddef.h:118
@ Unlock
Definition: ntsecapi.h:294
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
int WINAPI ShowCursor(_In_ BOOL)
Definition: cursoricon.c:3081
HDC WINAPI GetDC(_In_opt_ HWND)
Definition: dcommon.idl:28
Definition: scsiwmi.h:51
Definition: uimain.c:89
Definition: palette.c:466
Definition: devices.h:37
Definition: filter.c:165
Definition: name.c:39
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830
int32_t INT
Definition: typedefs.h:58
uint32_t UINT32
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
Definition: pdh_main.c:64
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
UINT WINAPI GetPaletteEntries(HPALETTE hpal, UINT iStartIndex, UINT cEntries, LPPALETTEENTRY ppe)
Definition: palette.c:64
#define GetType(This)
Definition: conio.h:54
#define WINAPI
Definition: msvc.h:6
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
BOOL WINAPI GetTransform(HDC, DWORD, XFORM *)
UINT WINAPI SetPaletteEntries(_In_ HPALETTE hpal, _In_ UINT iStart, _In_ UINT cEntries, _In_reads_(cEntries) CONST PALETTEENTRY *pPalEntries)
static int init
Definition: wintirpc.c:33