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