source: Daodan/MinGW/include/d3d9.h@ 1051

Last change on this file since 1051 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

File size: 75.4 KB
Line 
1/*
2
3 d3d9.h - Header file for the Direct3D9 API
4
5 Written by Filip Navara <xnavara@volny.cz>
6
7 This library is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
11*/
12
13#ifndef _D3D9_H
14#define _D3D9_H
15#if __GNUC__ >=3
16#pragma GCC system_header
17#endif
18
19#ifndef DIRECT3D_VERSION
20#define DIRECT3D_VERSION 0x0900
21#endif
22
23#if (DIRECT3D_VERSION >= 0x0900)
24
25#include <objbase.h>
26#include "d3d9types.h"
27#include "d3d9caps.h"
28
29#define D3D_SDK_VERSION 31
30#define D3DCREATE_FPU_PRESERVE 0x02
31#define D3DCREATE_MULTITHREADED 0x04
32#define D3DCREATE_PUREDEVICE 0x10
33#define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x20
34#define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x40
35#define D3DCREATE_MIXED_VERTEXPROCESSING 0x80
36#define D3DSPD_IUNKNOWN 1
37#define D3DSGR_NO_CALIBRATION 0
38#define D3DSGR_CALIBRATE 1
39#define MAKE_D3DHRESULT(code) MAKE_HRESULT(1,0x876,code)
40#define MAKE_D3DSTATUS(code) MAKE_HRESULT(0,0x876,code)
41#define D3D_OK 0
42#define D3DOK_NOAUTOGEN MAKE_D3DSTATUS(2159)
43#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
44#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
45#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
46#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
47#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
48#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
49#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
50#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
51#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
52#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
53#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
54#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
55#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
56#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
57#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
58#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
59#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
60#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
61#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
62#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
63#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
64#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
65#define D3DADAPTER_DEFAULT 0
66#define D3DCURSOR_IMMEDIATE_UPDATE 1
67#define D3DENUM_HOST_ADAPTER 1
68#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 1
69#define D3DPV_DONOTCOPYDATA 1
70#define D3DENUM_NO_WHQL_LEVEL 2
71#define D3DPRESENT_BACK_BUFFERS_MAX 3
72#define VALID_D3DENUM_FLAGS 3
73#define D3DMAXNUMPRIMITIVES 0xFFFF
74#define D3DMAXNUMVERTICES 0xFFFF
75#define D3DCURRENT_DISPLAY_MODE 0xEFFFFF
76
77#ifdef __cplusplus
78extern "C" {
79#endif
80extern const GUID IID_IDirect3D9;
81extern const GUID IID_IDirect3DDevice9;
82extern const GUID IID_IDirect3DVolume9;
83extern const GUID IID_IDirect3DSwapChain9;
84extern const GUID IID_IDirect3DResource9;
85extern const GUID IID_IDirect3DSurface9;
86extern const GUID IID_IDirect3DVertexBuffer9;
87extern const GUID IID_IDirect3DIndexBuffer9;
88extern const GUID IID_IDirect3DBaseTexture9;
89extern const GUID IID_IDirect3DCubeTexture9;
90extern const GUID IID_IDirect3DTexture9;
91extern const GUID IID_IDirect3DVolumeTexture9;
92extern const GUID IID_IDirect3DVertexDeclaration9;
93extern const GUID IID_IDirect3DVertexShader9;
94extern const GUID IID_IDirect3DPixelShader9;
95extern const GUID IID_IDirect3DStateBlock9;
96extern const GUID IID_IDirect3DQuery9;
97#ifdef __cplusplus
98};
99#endif
100
101typedef _COM_interface IDirect3D9 IDirect3D9;
102typedef _COM_interface IDirect3DDevice9 IDirect3DDevice9;
103typedef _COM_interface IDirect3DVolume9 IDirect3DVolume9;
104typedef _COM_interface IDirect3DSwapChain9 IDirect3DSwapChain9;
105typedef _COM_interface IDirect3DResource9 IDirect3DResource9;
106typedef _COM_interface IDirect3DSurface9 IDirect3DSurface9;
107typedef _COM_interface IDirect3DVertexBuffer9 IDirect3DVertexBuffer9;
108typedef _COM_interface IDirect3DIndexBuffer9 IDirect3DIndexBuffer9;
109typedef _COM_interface IDirect3DBaseTexture9 IDirect3DBaseTexture9;
110typedef _COM_interface IDirect3DCubeTexture9 IDirect3DCubeTexture9;
111typedef _COM_interface IDirect3DTexture9 IDirect3DTexture9;
112typedef _COM_interface IDirect3DVolumeTexture9 IDirect3DVolumeTexture9;
113typedef _COM_interface IDirect3DVertexDeclaration9 IDirect3DVertexDeclaration9;
114typedef _COM_interface IDirect3DVertexShader9 IDirect3DVertexShader9;
115typedef _COM_interface IDirect3DPixelShader9 IDirect3DPixelShader9;
116typedef _COM_interface IDirect3DStateBlock9 IDirect3DStateBlock9;
117typedef _COM_interface IDirect3DQuery9 IDirect3DQuery9;
118
119#undef INTERFACE
120#define INTERFACE IDirect3D9
121DECLARE_INTERFACE_(IDirect3D9,IUnknown)
122{
123 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
124 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
125 STDMETHOD_(ULONG,Release)(THIS) PURE;
126 STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
127 STDMETHOD_(UINT,GetAdapterCount)(THIS) PURE;
128 STDMETHOD(GetAdapterIdentifier)(THIS_ UINT,DWORD,D3DADAPTER_IDENTIFIER9*) PURE;
129 STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT,D3DFORMAT) PURE;
130 STDMETHOD(EnumAdapterModes)(THIS_ UINT,D3DFORMAT,UINT,D3DDISPLAYMODE*) PURE;
131 STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT,D3DDISPLAYMODE*) PURE;
132 STDMETHOD(CheckDeviceType)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT,BOOL) PURE;
133 STDMETHOD(CheckDeviceFormat)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,DWORD,D3DRESOURCETYPE,D3DFORMAT) PURE;
134 STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,BOOL,D3DMULTISAMPLE_TYPE,DWORD*) PURE;
135 STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT,D3DFORMAT) PURE;
136 STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT) PURE;
137 STDMETHOD(GetDeviceCaps)(THIS_ UINT,D3DDEVTYPE,D3DCAPS9*) PURE;
138 STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT) PURE;
139 STDMETHOD(CreateDevice)(THIS_ UINT,D3DDEVTYPE,HWND,DWORD,D3DPRESENT_PARAMETERS*,IDirect3DDevice9**) PURE;
140};
141typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9;
142
143#if !defined(__cplusplus) || defined(CINTERFACE)
144#define IDirect3D9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
145#define IDirect3D9_AddRef(p) (p)->lpVtbl->AddRef(p)
146#define IDirect3D9_Release(p) (p)->lpVtbl->Release(p)
147#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
148#define IDirect3D9_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
149#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
150#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
151#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
152#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
153#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
154#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
155#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
156#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
157#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
158#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
159#define IDirect3D9_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
160#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
161#else
162#define IDirect3D9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
163#define IDirect3D9_AddRef(p) (p)->AddRef()
164#define IDirect3D9_Release(p) (p)->Release()
165#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
166#define IDirect3D9_GetAdapterCount(p) (p)->GetAdapterCount()
167#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
168#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b)
169#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d)
170#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
171#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
172#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
173#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
174#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
175#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d)
176#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
177#define IDirect3D9_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
178#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
179#endif
180
181#undef INTERFACE
182#define INTERFACE IDirect3DDevice9
183DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
184{
185 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
186 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
187 STDMETHOD_(ULONG,Release)(THIS) PURE;
188 STDMETHOD(TestCooperativeLevel)(THIS) PURE;
189 STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE;
190 STDMETHOD(EvictManagedResources)(THIS) PURE;
191 STDMETHOD(GetDirect3D)(THIS_ IDirect3D9**) PURE;
192 STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9*) PURE;
193 STDMETHOD(GetDisplayMode)(THIS_ UINT,D3DDISPLAYMODE*) PURE;
194 STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS*) PURE;
195 STDMETHOD(SetCursorProperties)(THIS_ UINT,UINT,IDirect3DSurface9*) PURE;
196 STDMETHOD_(void,SetCursorPosition)(THIS_ int,int,DWORD) PURE;
197 STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL) PURE;
198 STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS*,IDirect3DSwapChain9**) PURE;
199 STDMETHOD(GetSwapChain)(THIS_ UINT,IDirect3DSwapChain9**) PURE;
200 STDMETHOD_(UINT,GetNumberOfSwapChains)(THIS) PURE;
201 STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS*) PURE;
202 STDMETHOD(Present)(THIS_ CONST RECT*,CONST RECT*,HWND,CONST RGNDATA*) PURE;
203 STDMETHOD(GetBackBuffer)(THIS_ UINT,UINT,D3DBACKBUFFER_TYPE,IDirect3DSurface9**) PURE;
204 STDMETHOD(GetRasterStatus)(THIS_ UINT,D3DRASTER_STATUS*) PURE;
205 STDMETHOD(SetDialogBoxMode)(THIS_ BOOL) PURE;
206 STDMETHOD_(void,SetGammaRamp)(THIS_ UINT,DWORD,CONST D3DGAMMARAMP*) PURE;
207 STDMETHOD_(void,GetGammaRamp)(THIS_ UINT,D3DGAMMARAMP*) PURE;
208 STDMETHOD(CreateTexture)(THIS_ UINT,UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DTexture9**,HANDLE*) PURE;
209 STDMETHOD(CreateVolumeTexture)(THIS_ UINT,UINT,UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DVolumeTexture9**,HANDLE*) PURE;
210 STDMETHOD(CreateCubeTexture)(THIS_ UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DCubeTexture9**, HANDLE*) PURE;
211 STDMETHOD(CreateVertexBuffer)(THIS_ UINT,DWORD,DWORD,D3DPOOL,IDirect3DVertexBuffer9**, HANDLE*) PURE;
212 STDMETHOD(CreateIndexBuffer)(THIS_ UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DIndexBuffer9**,HANDLE*) PURE;
213 STDMETHOD(CreateRenderTarget)(THIS_ UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9**,HANDLE*) PURE;
214 STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9**,HANDLE*) PURE;
215 STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9*,CONST RECT*,IDirect3DSurface9*,CONST POINT*) PURE;
216 STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9*,IDirect3DBaseTexture9*) PURE;
217 STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9*,IDirect3DSurface9*) PURE;
218 STDMETHOD(GetFrontBufferData)(THIS_ UINT,IDirect3DSurface9*) PURE;
219 STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9*,CONST RECT*,IDirect3DSurface9*,CONST RECT*,D3DTEXTUREFILTERTYPE) PURE;
220 STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9*,CONST RECT*,D3DCOLOR) PURE;
221 STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT,UINT,D3DFORMAT,D3DPOOL,IDirect3DSurface9**,HANDLE*) PURE;
222 STDMETHOD(SetRenderTarget)(THIS_ DWORD,IDirect3DSurface9*) PURE;
223 STDMETHOD(GetRenderTarget)(THIS_ DWORD,IDirect3DSurface9**) PURE;
224 STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9*) PURE;
225 STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9**) PURE;
226 STDMETHOD(BeginScene)(THIS) PURE;
227 STDMETHOD(EndScene)(THIS) PURE;
228 STDMETHOD(Clear)(THIS_ DWORD,CONST D3DRECT*,DWORD,D3DCOLOR,float,DWORD) PURE;
229 STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE;
230 STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE,D3DMATRIX*) PURE;
231 STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE;
232 STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9*) PURE;
233 STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9*) PURE;
234 STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9*) PURE;
235 STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9*) PURE;
236 STDMETHOD(SetLight)(THIS_ DWORD,CONST D3DLIGHT9*) PURE;
237 STDMETHOD(GetLight)(THIS_ DWORD,D3DLIGHT9*) PURE;
238 STDMETHOD(LightEnable)(THIS_ DWORD,BOOL) PURE;
239 STDMETHOD(GetLightEnable)(THIS_ DWORD,BOOL*) PURE;
240 STDMETHOD(SetClipPlane)(THIS_ DWORD,CONST float*) PURE;
241 STDMETHOD(GetClipPlane)(THIS_ DWORD,float*) PURE;
242 STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD) PURE;
243 STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD*) PURE;
244 STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE,IDirect3DStateBlock9**) PURE;
245 STDMETHOD(BeginStateBlock)(THIS) PURE;
246 STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9**) PURE;
247 STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9*) PURE;
248 STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9*) PURE;
249 STDMETHOD(GetTexture)(THIS_ DWORD,IDirect3DBaseTexture9**) PURE;
250 STDMETHOD(SetTexture)(THIS_ DWORD,IDirect3DBaseTexture9*) PURE;
251 STDMETHOD(GetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,DWORD*) PURE;
252 STDMETHOD(SetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,DWORD) PURE;
253 STDMETHOD(GetSamplerState)(THIS_ DWORD,D3DSAMPLERSTATETYPE,DWORD*) PURE;
254 STDMETHOD(SetSamplerState)(THIS_ DWORD,D3DSAMPLERSTATETYPE,DWORD) PURE;
255 STDMETHOD(ValidateDevice)(THIS_ DWORD*) PURE;
256 STDMETHOD(SetPaletteEntries)(THIS_ UINT,CONST PALETTEENTRY*) PURE;
257 STDMETHOD(GetPaletteEntries)(THIS_ UINT,PALETTEENTRY*) PURE;
258 STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT) PURE;
259 STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT*) PURE;
260 STDMETHOD(SetScissorRect)(THIS_ CONST RECT*) PURE;
261 STDMETHOD(GetScissorRect)(THIS_ RECT*) PURE;
262 STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL) PURE;
263 STDMETHOD_(BOOL,GetSoftwareVertexProcessing)(THIS) PURE;
264 STDMETHOD(SetNPatchMode)(THIS_ float) PURE;
265 STDMETHOD_(float,GetNPatchMode)(THIS) PURE;
266 STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE,UINT,UINT) PURE;
267 STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE,INT,UINT,UINT,UINT,UINT) PURE;
268 STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE,UINT,CONST void*,UINT) PURE;
269 STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE,UINT,UINT,UINT,CONST void*,D3DFORMAT,CONST void*,UINT) PURE;
270 STDMETHOD(ProcessVertices)(THIS_ UINT,UINT,UINT,IDirect3DVertexBuffer9*,IDirect3DVertexDeclaration9*,DWORD) PURE;
271 STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9*,IDirect3DVertexDeclaration9**) PURE;
272 STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9*) PURE;
273 STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9**) PURE;
274 STDMETHOD(SetFVF)(THIS_ DWORD) PURE;
275 STDMETHOD(GetFVF)(THIS_ DWORD*) PURE;
276 STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD*,IDirect3DVertexShader9**) PURE;
277 STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9*) PURE;
278 STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9**) PURE;
279 STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT,CONST float*,UINT) PURE;
280 STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT,float*,UINT) PURE;
281 STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT,CONST int*,UINT) PURE;
282 STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT,int*,UINT) PURE;
283 STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT,CONST BOOL*,UINT) PURE;
284 STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT,BOOL*,UINT) PURE;
285 STDMETHOD(SetStreamSource)(THIS_ UINT,IDirect3DVertexBuffer9*,UINT,UINT) PURE;
286 STDMETHOD(GetStreamSource)(THIS_ UINT,IDirect3DVertexBuffer9**,UINT*,UINT*) PURE;
287 STDMETHOD(SetStreamSourceFreq)(THIS_ UINT,UINT) PURE;
288 STDMETHOD(GetStreamSourceFreq)(THIS_ UINT,UINT*) PURE;
289 STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9*) PURE;
290 STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9**) PURE;
291 STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD*,IDirect3DPixelShader9**) PURE;
292 STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9*) PURE;
293 STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9**) PURE;
294 STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT,CONST float*,UINT) PURE;
295 STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT,float*,UINT) PURE;
296 STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT,CONST int*,UINT) PURE;
297 STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT,int*,UINT) PURE;
298 STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT,CONST BOOL*,UINT) PURE;
299 STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT,BOOL*,UINT) PURE;
300 STDMETHOD(DrawRectPatch)(THIS_ UINT,CONST float*,CONST D3DRECTPATCH_INFO*) PURE;
301 STDMETHOD(DrawTriPatch)(THIS_ UINT,CONST float*,CONST D3DTRIPATCH_INFO*) PURE;
302 STDMETHOD(DeletePatch)(THIS_ UINT) PURE;
303 STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE,IDirect3DQuery9**) PURE;
304};
305typedef struct IDirect3DDevice9 *LPDIRECT3DDEVICE9, *PDIRECT3DDEVICE9;
306
307#if !defined(__cplusplus) || defined(CINTERFACE)
308#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
309#define IDirect3DDevice9_AddRef(p) (p)->lpVtbl->AddRef(p)
310#define IDirect3DDevice9_Release(p) (p)->lpVtbl->Release(p)
311#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
312#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
313#define IDirect3DDevice9_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
314#define IDirect3DDevice9_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
315#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
316#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
317#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
318#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
319#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
320#define IDirect3DDevice9_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
321#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
322#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
323#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
324#define IDirect3DDevice9_Reset(p,a) (p)->lpVtbl->Reset(p,a)
325#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
326#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
327#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
328#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
329#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
330#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
331#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
332#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)
333#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
334#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
335#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
336#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
337#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
338#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
339#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
340#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b)
341#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
342#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
343#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
344#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
345#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
346#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
347#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
348#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
349#define IDirect3DDevice9_BeginScene(p) (p)->lpVtbl->BeginScene(p)
350#define IDirect3DDevice9_EndScene(p) (p)->lpVtbl->EndScene(p)
351#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
352#define IDirect3DDevice9_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
353#define IDirect3DDevice9_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
354#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
355#define IDirect3DDevice9_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
356#define IDirect3DDevice9_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
357#define IDirect3DDevice9_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
358#define IDirect3DDevice9_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
359#define IDirect3DDevice9_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
360#define IDirect3DDevice9_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
361#define IDirect3DDevice9_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
362#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
363#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
364#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
365#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
366#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
367#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
368#define IDirect3DDevice9_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
369#define IDirect3DDevice9_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
370#define IDirect3DDevice9_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
371#define IDirect3DDevice9_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
372#define IDirect3DDevice9_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
373#define IDirect3DDevice9_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
374#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
375#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
376#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
377#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
378#define IDirect3DDevice9_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
379#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
380#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
381#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
382#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
383#define IDirect3DDevice9_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
384#define IDirect3DDevice9_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
385#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
386#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
387#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
388#define IDirect3DDevice9_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
389#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
390#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
391#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
392#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
393#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
394#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
395#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
396#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
397#define IDirect3DDevice9_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
398#define IDirect3DDevice9_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
399#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b)
400#define IDirect3DDevice9_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
401#define IDirect3DDevice9_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
402#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
403#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
404#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
405#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
406#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
407#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
408#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
409#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
410#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
411#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
412#define IDirect3DDevice9_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
413#define IDirect3DDevice9_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
414#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
415#define IDirect3DDevice9_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
416#define IDirect3DDevice9_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
417#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
418#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
419#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
420#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
421#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
422#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
423#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
424#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
425#define IDirect3DDevice9_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
426#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b)
427#else
428#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
429#define IDirect3DDevice9_AddRef(p) (p)->AddRef()
430#define IDirect3DDevice9_Release(p) (p)->Release()
431#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
432#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
433#define IDirect3DDevice9_EvictManagedResources(p) (p)->EvictManagedResources()
434#define IDirect3DDevice9_GetDirect3D(p,a) (p)->GetDirect3D(a)
435#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
436#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b)
437#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
438#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
439#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
440#define IDirect3DDevice9_ShowCursor(p,a) (p)->ShowCursor(a)
441#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
442#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b)
443#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains()
444#define IDirect3DDevice9_Reset(p,a) (p)->Reset(a)
445#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
446#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d)
447#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b)
448#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a)
449#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c)
450#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b)
451#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h)
452#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
453#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g)
454#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f)
455#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f)
456#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
457#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
458#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d)
459#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
460#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b)
461#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b)
462#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e)
463#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c)
464#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
465#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
466#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b)
467#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a)
468#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
469#define IDirect3DDevice9_BeginScene(p) (p)->BeginScene()
470#define IDirect3DDevice9_EndScene(p) (p)->EndScene()
471#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
472#define IDirect3DDevice9_SetTransform(p,a,b) (p)->SetTransform(a,b)
473#define IDirect3DDevice9_GetTransform(p,a,b) (p)->GetTransform(a,b)
474#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
475#define IDirect3DDevice9_SetViewport(p,a) (p)->SetViewport(a)
476#define IDirect3DDevice9_GetViewport(p,a) (p)->GetViewport(a)
477#define IDirect3DDevice9_SetMaterial(p,a) (p)->SetMaterial(a)
478#define IDirect3DDevice9_GetMaterial(p,a) (p)->GetMaterial(a)
479#define IDirect3DDevice9_SetLight(p,a,b) (p)->SetLight(a,b)
480#define IDirect3DDevice9_GetLight(p,a,b) (p)->GetLight(a,b)
481#define IDirect3DDevice9_LightEnable(p,a,b) (p)->LightEnable(a,b)
482#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
483#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
484#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
485#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
486#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
487#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
488#define IDirect3DDevice9_BeginStateBlock(p) (p)->BeginStateBlock()
489#define IDirect3DDevice9_EndStateBlock(p,a) (p)->EndStateBlock(a)
490#define IDirect3DDevice9_SetClipStatus(p,a) (p)->SetClipStatus(a)
491#define IDirect3DDevice9_GetClipStatus(p,a) (p)->GetClipStatus(a)
492#define IDirect3DDevice9_GetTexture(p,a,b) (p)->GetTexture(a,b)
493#define IDirect3DDevice9_SetTexture(p,a,b) (p)->SetTexture(a,b)
494#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
495#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
496#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c)
497#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c)
498#define IDirect3DDevice9_ValidateDevice(p,a) (p)->ValidateDevice(a)
499#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
500#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
501#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
502#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
503#define IDirect3DDevice9_SetScissorRect(p,a) (p)->SetScissorRect(a)
504#define IDirect3DDevice9_GetScissorRect(p,a) (p)->GetScissorRect(a)
505#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a)
506#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing()
507#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->SetNPatchMode(a)
508#define IDirect3DDevice9_GetNPatchMode(p) (p)->GetNPatchMode()
509#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
510#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
511#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
512#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
513#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f)
514#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b)
515#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a)
516#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a)
517#define IDirect3DDevice9_SetFVF(p,a) (p)->SetFVF(a)
518#define IDirect3DDevice9_GetFVF(p,a) (p)->GetFVF(a)
519#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b)
520#define IDirect3DDevice9_SetVertexShader(p,a) (p)->SetVertexShader(a)
521#define IDirect3DDevice9_GetVertexShader(p,a) (p)->GetVertexShader(a)
522#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c)
523#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c)
524#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c)
525#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c)
526#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c)
527#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c)
528#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d)
529#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d)
530#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b)
531#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b)
532#define IDirect3DDevice9_SetIndices(p,a) (p)->SetIndices(a)
533#define IDirect3DDevice9_GetIndices(p,a) (p)->GetIndices(a)
534#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
535#define IDirect3DDevice9_SetPixelShader(p,a) (p)->SetPixelShader(a)
536#define IDirect3DDevice9_GetPixelShader(p,a) (p)->GetPixelShader(a)
537#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c)
538#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c)
539#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c)
540#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c)
541#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c)
542#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c)
543#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
544#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
545#define IDirect3DDevice9_DeletePatch(p,a) (p)->DeletePatch(a)
546#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->CreateQuery(a,b)
547#endif
548
549#undef INTERFACE
550#define INTERFACE IDirect3DVolume9
551DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown)
552{
553 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
554 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
555 STDMETHOD_(ULONG,Release)(THIS) PURE;
556 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
557 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
558 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
559 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
560 STDMETHOD(GetContainer)(THIS_ REFIID,void**) PURE;
561 STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC*) PURE;
562 STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX*,CONST D3DBOX*,DWORD) PURE;
563 STDMETHOD(UnlockBox)(THIS) PURE;
564};
565typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9;
566
567#if !defined(__cplusplus) || defined(CINTERFACE)
568#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
569#define IDirect3DVolume9_AddRef(p) (p)->lpVtbl->AddRef(p)
570#define IDirect3DVolume9_Release(p) (p)->lpVtbl->Release(p)
571#define IDirect3DVolume9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
572#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
573#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
574#define IDirect3DVolume9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
575#define IDirect3DVolume9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
576#define IDirect3DVolume9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
577#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
578#define IDirect3DVolume9_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
579#else
580#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
581#define IDirect3DVolume9_AddRef(p) (p)->AddRef()
582#define IDirect3DVolume9_Release(p) (p)->Release()
583#define IDirect3DVolume9_GetDevice(p,a) (p)->GetDevice(a)
584#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
585#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
586#define IDirect3DVolume9_FreePrivateData(p,a) (p)->FreePrivateData(a)
587#define IDirect3DVolume9_GetContainer(p,a,b) (p)->GetContainer(a,b)
588#define IDirect3DVolume9_GetDesc(p,a) (p)->GetDesc(a)
589#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
590#define IDirect3DVolume9_UnlockBox(p) (p)->UnlockBox()
591#endif
592
593#undef INTERFACE
594#define INTERFACE IDirect3DSwapChain9
595DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
596{
597 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
598 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
599 STDMETHOD_(ULONG,Release)(THIS) PURE;
600 STDMETHOD(Present)(THIS_ CONST RECT*,CONST RECT*,HWND,CONST RGNDATA*,DWORD) PURE;
601 STDMETHOD(GetFrontBufferData)(THIS_ IDirect3DSurface9*) PURE;
602 STDMETHOD(GetBackBuffer)(THIS_ UINT,D3DBACKBUFFER_TYPE,IDirect3DSurface9**) PURE;
603 STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS*) PURE;
604 STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE*) PURE;
605 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
606 STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS*) PURE;
607};
608typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9;
609
610#if !defined(__cplusplus) || defined(CINTERFACE)
611#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
612#define IDirect3DSwapChain9_AddRef(p) (p)->lpVtbl->AddRef(p)
613#define IDirect3DSwapChain9_Release(p) (p)->lpVtbl->Release(p)
614#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->lpVtbl->Present(p,a,b,c,d,e)
615#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->lpVtbl->GetFrontBufferData(p,a)
616#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
617#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
618#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
619#define IDirect3DSwapChain9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
620#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->lpVtbl->GetPresentParameters(p,a)
621#else
622#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
623#define IDirect3DSwapChain9_AddRef(p) (p)->AddRef()
624#define IDirect3DSwapChain9_Release(p) (p)->Release()
625#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->Present(a,b,c,d,e)
626#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->GetFrontBufferData(a)
627#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
628#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
629#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
630#define IDirect3DSwapChain9_GetDevice(p,a) (p)->GetDevice(a)
631#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->GetPresentParameters(a)
632#endif
633
634#undef INTERFACE
635#define INTERFACE IDirect3DResource9
636DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
637{
638 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
639 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
640 STDMETHOD_(ULONG,Release)(THIS) PURE;
641 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
642 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
643 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
644 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
645 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
646 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
647 STDMETHOD_(void,PreLoad)(THIS) PURE;
648 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
649};
650typedef struct IDirect3DResource9 *LPDIRECT3DRESOURCE9, *PDIRECT3DRESOURCE9;
651
652#if !defined(__cplusplus) || defined(CINTERFACE)
653#define IDirect3DResource9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
654#define IDirect3DResource9_AddRef(p) (p)->lpVtbl->AddRef(p)
655#define IDirect3DResource9_Release(p) (p)->lpVtbl->Release(p)
656#define IDirect3DResource9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
657#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
658#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
659#define IDirect3DResource9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
660#define IDirect3DResource9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
661#define IDirect3DResource9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
662#define IDirect3DResource9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
663#define IDirect3DResource9_GetType(p) (p)->lpVtbl->GetType(p)
664#else
665#define IDirect3DResource9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
666#define IDirect3DResource9_AddRef(p) (p)->AddRef()
667#define IDirect3DResource9_Release(p) (p)->Release()
668#define IDirect3DResource9_GetDevice(p,a) (p)->GetDevice(a)
669#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
670#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
671#define IDirect3DResource9_FreePrivateData(p,a) (p)->FreePrivateData(a)
672#define IDirect3DResource9_SetPriority(p,a) (p)->SetPriority(a)
673#define IDirect3DResource9_GetPriority(p) (p)->GetPriority()
674#define IDirect3DResource9_PreLoad(p) (p)->PreLoad()
675#define IDirect3DResource9_GetType(p) (p)->GetType()
676#endif
677
678#undef INTERFACE
679#define INTERFACE IDirect3DSurface9
680DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9)
681{
682 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
683 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
684 STDMETHOD_(ULONG,Release)(THIS) PURE;
685 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
686 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
687 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
688 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
689 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
690 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
691 STDMETHOD_(void,PreLoad)(THIS) PURE;
692 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
693 STDMETHOD(GetContainer)(THIS_ REFIID,void**) PURE;
694 STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC*) PURE;
695 STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE;
696 STDMETHOD(UnlockRect)(THIS) PURE;
697 STDMETHOD(GetDC)(THIS_ HDC*) PURE;
698 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
699};
700typedef struct IDirect3DSurface9 *LPDIRECT3DSURFACE9, *PDIRECT3DSURFACE9;
701
702#if !defined(__cplusplus) || defined(CINTERFACE)
703#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
704#define IDirect3DSurface9_AddRef(p) (p)->lpVtbl->AddRef(p)
705#define IDirect3DSurface9_Release(p) (p)->lpVtbl->Release(p)
706#define IDirect3DSurface9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
707#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
708#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
709#define IDirect3DSurface9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
710#define IDirect3DSurface9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
711#define IDirect3DSurface9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
712#define IDirect3DSurface9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
713#define IDirect3DSurface9_GetType(p) (p)->lpVtbl->GetType(p)
714#define IDirect3DSurface9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
715#define IDirect3DSurface9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
716#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
717#define IDirect3DSurface9_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
718#define IDirect3DSurface9_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
719#define IDirect3DSurface9_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
720#else
721#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
722#define IDirect3DSurface9_AddRef(p) (p)->AddRef()
723#define IDirect3DSurface9_Release(p) (p)->Release()
724#define IDirect3DSurface9_GetDevice(p,a) (p)->GetDevice(a)
725#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
726#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
727#define IDirect3DSurface9_FreePrivateData(p,a) (p)->FreePrivateData(a)
728#define IDirect3DSurface9_SetPriority(p,a) (p)->SetPriority(a)
729#define IDirect3DSurface9_GetPriority(p) (p)->GetPriority()
730#define IDirect3DSurface9_PreLoad(p) (p)->PreLoad()
731#define IDirect3DSurface9_GetType(p) (p)->GetType()
732#define IDirect3DSurface9_GetContainer(p,a,b) (p)->GetContainer(a,b)
733#define IDirect3DSurface9_GetDesc(p,a) (p)->GetDesc(a)
734#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
735#define IDirect3DSurface9_UnlockRect(p) (p)->UnlockRect()
736#define IDirect3DSurface9_GetDC(p,a) (p)->GetDC(a)
737#define IDirect3DSurface9_ReleaseDC(p,a) (p)->ReleaseDC(a)
738#endif
739
740#undef INTERFACE
741#define INTERFACE IDirect3DVertexBuffer9
742DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
743{
744 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
745 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
746 STDMETHOD_(ULONG,Release)(THIS) PURE;
747 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
748 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
749 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
750 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
751 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
752 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
753 STDMETHOD_(void,PreLoad)(THIS) PURE;
754 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
755 STDMETHOD(Lock)(THIS_ UINT,UINT,void**,DWORD) PURE;
756 STDMETHOD(Unlock)(THIS) PURE;
757 STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC*) PURE;
758};
759typedef struct IDirect3DVertexBuffer9 *LPDIRECT3DVERTEXBUFFER9, *PDIRECT3DVERTEXBUFFER9;
760
761#if !defined(__cplusplus) || defined(CINTERFACE)
762#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
763#define IDirect3DVertexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
764#define IDirect3DVertexBuffer9_Release(p) (p)->lpVtbl->Release(p)
765#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
766#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
767#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
768#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
769#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
770#define IDirect3DVertexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
771#define IDirect3DVertexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
772#define IDirect3DVertexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
773#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
774#define IDirect3DVertexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
775#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
776#else
777#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
778#define IDirect3DVertexBuffer9_AddRef(p) (p)->AddRef()
779#define IDirect3DVertexBuffer9_Release(p) (p)->Release()
780#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
781#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
782#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
783#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
784#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
785#define IDirect3DVertexBuffer9_GetPriority(p) (p)->GetPriority()
786#define IDirect3DVertexBuffer9_PreLoad(p) (p)->PreLoad()
787#define IDirect3DVertexBuffer9_GetType(p) (p)->GetType()
788#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
789#define IDirect3DVertexBuffer9_Unlock(p) (p)->Unlock()
790#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
791#endif
792
793#undef INTERFACE
794#define INTERFACE IDirect3DIndexBuffer9
795DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
796{
797 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
798 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
799 STDMETHOD_(ULONG,Release)(THIS) PURE;
800 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
801 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
802 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
803 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
804 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
805 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
806 STDMETHOD_(void,PreLoad)(THIS) PURE;
807 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
808 STDMETHOD(Lock)(THIS_ UINT,UINT,void**,DWORD) PURE;
809 STDMETHOD(Unlock)(THIS) PURE;
810 STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC*) PURE;
811};
812typedef struct IDirect3DIndexBuffer9 *LPDIRECT3DINDEXBUFFER9, *PDIRECT3DINDEXBUFFER9;
813
814#if !defined(__cplusplus) || defined(CINTERFACE)
815#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
816#define IDirect3DIndexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
817#define IDirect3DIndexBuffer9_Release(p) (p)->lpVtbl->Release(p)
818#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
819#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
820#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
821#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
822#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
823#define IDirect3DIndexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
824#define IDirect3DIndexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
825#define IDirect3DIndexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
826#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
827#define IDirect3DIndexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
828#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
829#else
830#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
831#define IDirect3DIndexBuffer9_AddRef(p) (p)->AddRef()
832#define IDirect3DIndexBuffer9_Release(p) (p)->Release()
833#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
834#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
835#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
836#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
837#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
838#define IDirect3DIndexBuffer9_GetPriority(p) (p)->GetPriority()
839#define IDirect3DIndexBuffer9_PreLoad(p) (p)->PreLoad()
840#define IDirect3DIndexBuffer9_GetType(p) (p)->GetType()
841#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
842#define IDirect3DIndexBuffer9_Unlock(p) (p)->Unlock()
843#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
844#endif
845
846#undef INTERFACE
847#define INTERFACE IDirect3DBaseTexture9
848DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
849{
850 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
851 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
852 STDMETHOD_(ULONG,Release)(THIS) PURE;
853 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
854 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
855 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
856 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
857 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
858 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
859 STDMETHOD_(void,PreLoad)(THIS) PURE;
860 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
861 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
862 STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
863 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
864 STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
865 STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
866 STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
867};
868typedef struct IDirect3DBaseTexture9 *LPDIRECT3DBASETEXTURE9, *PDIRECT3DBASETEXTURE9;
869
870#if !defined(__cplusplus) || defined(CINTERFACE)
871#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
872#define IDirect3DBaseTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
873#define IDirect3DBaseTexture9_Release(p) (p)->lpVtbl->Release(p)
874#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
875#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
876#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
877#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
878#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
879#define IDirect3DBaseTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
880#define IDirect3DBaseTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
881#define IDirect3DBaseTexture9_GetType(p) (p)->lpVtbl->GetType(p)
882#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
883#define IDirect3DBaseTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
884#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
885#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
886#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
887#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
888#else
889#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
890#define IDirect3DBaseTexture9_AddRef(p) (p)->AddRef()
891#define IDirect3DBaseTexture9_Release(p) (p)->Release()
892#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->GetDevice(a)
893#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
894#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
895#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
896#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->SetPriority(a)
897#define IDirect3DBaseTexture9_GetPriority(p) (p)->GetPriority()
898#define IDirect3DBaseTexture9_PreLoad(p) (p)->PreLoad()
899#define IDirect3DBaseTexture9_GetType(p) (p)->GetType()
900#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->SetLOD(a)
901#define IDirect3DBaseTexture9_GetLOD(p) (p)->GetLOD()
902#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->GetLevelCount()
903#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
904#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
905#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
906#endif
907
908#undef INTERFACE
909#define INTERFACE IDirect3DCubeTexture9
910DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
911{
912 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
913 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
914 STDMETHOD_(ULONG,Release)(THIS) PURE;
915 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
916 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
917 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
918 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
919 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
920 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
921 STDMETHOD_(void,PreLoad)(THIS) PURE;
922 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
923 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
924 STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
925 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
926 STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
927 STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
928 STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
929 STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DSURFACE_DESC*) PURE; \
930 STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES,UINT,IDirect3DSurface9**) PURE; \
931 STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES,UINT,D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE; \
932 STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES,UINT) PURE; \
933 STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES,CONST RECT*) PURE;
934};
935typedef struct IDirect3DCubeTexture9 *LPDIRECT3DCUBETEXTURE9, *PDIRECT3DCUBETEXTURE9;
936
937#if !defined(__cplusplus) || defined(CINTERFACE)
938#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
939#define IDirect3DCubeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
940#define IDirect3DCubeTexture9_Release(p) (p)->lpVtbl->Release(p)
941#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
942#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
943#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
944#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
945#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
946#define IDirect3DCubeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
947#define IDirect3DCubeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
948#define IDirect3DCubeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
949#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
950#define IDirect3DCubeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
951#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
952#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
953#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
954#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
955#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
956#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
957#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
958#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
959#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
960#else
961#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
962#define IDirect3DCubeTexture9_AddRef(p) (p)->AddRef()
963#define IDirect3DCubeTexture9_Release(p) (p)->Release()
964#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->GetDevice(a)
965#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
966#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
967#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
968#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->SetPriority(a)
969#define IDirect3DCubeTexture9_GetPriority(p) (p)->GetPriority()
970#define IDirect3DCubeTexture9_PreLoad(p) (p)->PreLoad()
971#define IDirect3DCubeTexture9_GetType(p) (p)->GetType()
972#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->SetLOD(a)
973#define IDirect3DCubeTexture9_GetLOD(p) (p)->GetLOD()
974#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->GetLevelCount()
975#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
976#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
977#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
978#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
979#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
980#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
981#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
982#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
983#endif
984
985#undef INTERFACE
986#define INTERFACE IDirect3DTexture9
987DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
988{
989 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
990 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
991 STDMETHOD_(ULONG,Release)(THIS) PURE;
992 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
993 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
994 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
995 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
996 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
997 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
998 STDMETHOD_(void,PreLoad)(THIS) PURE;
999 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
1000 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
1001 STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
1002 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
1003 STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
1004 STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
1005 STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
1006 STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DSURFACE_DESC*) PURE;
1007 STDMETHOD(GetSurfaceLevel)(THIS_ UINT,IDirect3DSurface9**) PURE;
1008 STDMETHOD(LockRect)(THIS_ UINT,D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE;
1009 STDMETHOD(UnlockRect)(THIS_ UINT) PURE;
1010 STDMETHOD(AddDirtyRect)(THIS_ CONST RECT*) PURE;
1011};
1012typedef struct IDirect3DTexture9 *LPDIRECT3DTEXTURE9, *PDIRECT3DTEXTURE9;
1013
1014#if !defined(__cplusplus) || defined(CINTERFACE)
1015#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1016#define IDirect3DTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
1017#define IDirect3DTexture9_Release(p) (p)->lpVtbl->Release(p)
1018#define IDirect3DTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1019#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
1020#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
1021#define IDirect3DTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
1022#define IDirect3DTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
1023#define IDirect3DTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
1024#define IDirect3DTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
1025#define IDirect3DTexture9_GetType(p) (p)->lpVtbl->GetType(p)
1026#define IDirect3DTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
1027#define IDirect3DTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
1028#define IDirect3DTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
1029#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
1030#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
1031#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
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#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1039#define IDirect3DTexture9_AddRef(p) (p)->AddRef()
1040#define IDirect3DTexture9_Release(p) (p)->Release()
1041#define IDirect3DTexture9_GetDevice(p,a) (p)->GetDevice(a)
1042#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
1043#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
1044#define IDirect3DTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
1045#define IDirect3DTexture9_SetPriority(p,a) (p)->SetPriority(a)
1046#define IDirect3DTexture9_GetPriority(p) (p)->GetPriority()
1047#define IDirect3DTexture9_PreLoad(p) (p)->PreLoad()
1048#define IDirect3DTexture9_GetType(p) (p)->GetType()
1049#define IDirect3DTexture9_SetLOD(p,a) (p)->SetLOD(a)
1050#define IDirect3DTexture9_GetLOD(p) (p)->GetLOD()
1051#define IDirect3DTexture9_GetLevelCount(p) (p)->GetLevelCount()
1052#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
1053#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
1054#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
1055#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
1056#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
1057#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
1058#define IDirect3DTexture9_UnlockRect(p,a) (p)->UnlockRect(a)
1059#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
1060#endif
1061
1062#undef INTERFACE
1063#define INTERFACE IDirect3DVolumeTexture9
1064DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
1065{
1066 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1067 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1068 STDMETHOD_(ULONG,Release)(THIS) PURE;
1069 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
1070 STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
1071 STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
1072 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
1073 STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
1074 STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
1075 STDMETHOD_(void,PreLoad)(THIS) PURE;
1076 STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
1077 STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
1078 STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
1079 STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
1080 STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
1081 STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
1082 STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
1083 STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DVOLUME_DESC*) PURE;
1084 STDMETHOD(GetVolumeLevel)(THIS_ UINT,IDirect3DVolume9**) PURE;
1085 STDMETHOD(LockBox)(THIS_ UINT,D3DLOCKED_BOX*,CONST D3DBOX*,DWORD) PURE;
1086 STDMETHOD(UnlockBox)(THIS_ UINT) PURE;
1087 STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX*) PURE;
1088};
1089typedef struct IDirect3DVolumeTexture9 *LPDIRECT3DVOLUMETEXTURE9, *PDIRECT3DVOLUMETEXTURE9;
1090
1091#if !defined(__cplusplus) || defined(CINTERFACE)
1092#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1093#define IDirect3DVolumeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
1094#define IDirect3DVolumeTexture9_Release(p) (p)->lpVtbl->Release(p)
1095#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1096#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
1097#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
1098#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
1099#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
1100#define IDirect3DVolumeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
1101#define IDirect3DVolumeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
1102#define IDirect3DVolumeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
1103#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
1104#define IDirect3DVolumeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
1105#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
1106#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
1107#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
1108#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
1109#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
1110#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
1111#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
1112#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
1113#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
1114#else
1115#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1116#define IDirect3DVolumeTexture9_AddRef(p) (p)->AddRef()
1117#define IDirect3DVolumeTexture9_Release(p) (p)->Release()
1118#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->GetDevice(a)
1119#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
1120#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
1121#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
1122#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->SetPriority(a)
1123#define IDirect3DVolumeTexture9_GetPriority(p) (p)->GetPriority()
1124#define IDirect3DVolumeTexture9_PreLoad(p) (p)->PreLoad()
1125#define IDirect3DVolumeTexture9_GetType(p) (p)->GetType()
1126#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->SetLOD(a)
1127#define IDirect3DVolumeTexture9_GetLOD(p) (p)->GetLOD()
1128#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->GetLevelCount()
1129#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
1130#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
1131#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
1132#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
1133#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
1134#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
1135#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->UnlockBox(a)
1136#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
1137#endif
1138
1139#undef INTERFACE
1140#define INTERFACE IDirect3DVertexDeclaration9
1141DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown)
1142{
1143 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1144 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1145 STDMETHOD_(ULONG,Release)(THIS) PURE;
1146 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
1147 STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9*,UINT*) PURE;
1148};
1149typedef struct IDirect3DVertexDeclaration9 *LPDIRECT3DVERTEXDECLARATION9, *PDIRECT3DVERTEXDECLARATION9;
1150
1151#if !defined(__cplusplus) || defined(CINTERFACE)
1152#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1153#define IDirect3DVertexDeclaration9_AddRef(p) (p)->lpVtbl->AddRef(p)
1154#define IDirect3DVertexDeclaration9_Release(p) (p)->lpVtbl->Release(p)
1155#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1156#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->lpVtbl->GetDeclaration(p,a,b)
1157#else
1158#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1159#define IDirect3DVertexDeclaration9_AddRef(p) (p)->AddRef()
1160#define IDirect3DVertexDeclaration9_Release(p) (p)->Release()
1161#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->GetDevice(a)
1162#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->GetDeclaration(a,b)
1163#endif
1164
1165#undef INTERFACE
1166#define INTERFACE IDirect3DVertexShader9
1167DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown)
1168{
1169 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1170 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1171 STDMETHOD_(ULONG,Release)(THIS) PURE;
1172 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
1173 STDMETHOD(GetFunction)(THIS_ void*,UINT*) PURE;
1174};
1175typedef struct IDirect3DVertexShader9 *LPDIRECT3DVERTEXSHADER9, *PDIRECT3DVERTEXSHADER9;
1176
1177#if !defined(__cplusplus) || defined(CINTERFACE)
1178#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1179#define IDirect3DVertexShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
1180#define IDirect3DVertexShader9_Release(p) (p)->lpVtbl->Release(p)
1181#define IDirect3DVertexShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1182#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
1183#else
1184#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1185#define IDirect3DVertexShader9_AddRef(p) (p)->AddRef()
1186#define IDirect3DVertexShader9_Release(p) (p)->Release()
1187#define IDirect3DVertexShader9_GetDevice(p,a) (p)->GetDevice(a)
1188#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
1189#endif
1190
1191#undef INTERFACE
1192#define INTERFACE IDirect3DPixelShader9
1193DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown)
1194{
1195 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1196 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1197 STDMETHOD_(ULONG,Release)(THIS) PURE;
1198 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
1199 STDMETHOD(GetFunction)(THIS_ void*,UINT*) PURE;
1200};
1201typedef struct IDirect3DPixelShader9 *LPDIRECT3DPIXELSHADER9, *PDIRECT3DPIXELSHADER9;
1202
1203#if !defined(__cplusplus) || defined(CINTERFACE)
1204#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1205#define IDirect3DPixelShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
1206#define IDirect3DPixelShader9_Release(p) (p)->lpVtbl->Release(p)
1207#define IDirect3DPixelShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1208#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
1209#else
1210#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1211#define IDirect3DPixelShader9_AddRef(p) (p)->AddRef()
1212#define IDirect3DPixelShader9_Release(p) (p)->Release()
1213#define IDirect3DPixelShader9_GetDevice(p,a) (p)->GetDevice(a)
1214#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
1215#endif
1216
1217#undef INTERFACE
1218#define INTERFACE IDirect3DStateBlock9
1219DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown)
1220{
1221 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1222 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1223 STDMETHOD_(ULONG,Release)(THIS) PURE;
1224 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
1225 STDMETHOD(Capture)(THIS) PURE;
1226 STDMETHOD(Apply)(THIS) PURE;
1227};
1228typedef struct IDirect3DStateBlock9 *LPDIRECT3DSTATEBLOCK9, *PDIRECT3DSTATEBLOCK9;
1229
1230#if !defined(__cplusplus) || defined(CINTERFACE)
1231#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1232#define IDirect3DStateBlock9_AddRef(p) (p)->lpVtbl->AddRef(p)
1233#define IDirect3DStateBlock9_Release(p) (p)->lpVtbl->Release(p)
1234#define IDirect3DStateBlock9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1235#define IDirect3DStateBlock9_Capture(p) (p)->lpVtbl->Capture(p)
1236#define IDirect3DStateBlock9_Apply(p) (p)->lpVtbl->Apply(p)
1237#else
1238#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1239#define IDirect3DStateBlock9_AddRef(p) (p)->AddRef()
1240#define IDirect3DStateBlock9_Release(p) (p)->Release()
1241#define IDirect3DStateBlock9_GetDevice(p,a) (p)->GetDevice(a)
1242#define IDirect3DStateBlock9_Capture(p) (p)->Capture()
1243#define IDirect3DStateBlock9_Apply(p) (p)->Apply()
1244#endif
1245
1246#undef INTERFACE
1247#define INTERFACE IDirect3DQuery9
1248DECLARE_INTERFACE_(IDirect3DQuery9,IUnknown)
1249{
1250 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
1251 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1252 STDMETHOD_(ULONG,Release)(THIS) PURE;
1253 STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
1254 STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE;
1255 STDMETHOD_(DWORD, GetDataSize)(THIS) PURE;
1256 STDMETHOD(Issue)(THIS_ DWORD) PURE;
1257 STDMETHOD(GetData)(THIS_ void*,DWORD,DWORD) PURE;
1258};
1259typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9;
1260
1261#if !defined(__cplusplus) || defined(CINTERFACE)
1262#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1263#define IDirect3DQuery9_AddRef(p) (p)->lpVtbl->AddRef(p)
1264#define IDirect3DQuery9_Release(p) (p)->lpVtbl->Release(p)
1265#define IDirect3DQuery9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1266#define IDirect3DQuery9_GetType(p) (p)->lpVtbl->GetType(p)
1267#define IDirect3DQuery9_GetDataSize(p) (p)->lpVtbl->GetDataSize(p)
1268#define IDirect3DQuery9_Issue(p,a) (p)->lpVtbl->Issue(p,a)
1269#define IDirect3DQuery9_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c)
1270#else
1271#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1272#define IDirect3DQuery9_AddRef(p) (p)->AddRef()
1273#define IDirect3DQuery9_Release(p) (p)->Release()
1274#define IDirect3DQuery9_GetDevice(p,a) (p)->GetDevice(a)
1275#define IDirect3DQuery9_GetType(p) (p)->GetType()
1276#define IDirect3DQuery9_GetDataSize(p) (p)->GetDataSize()
1277#define IDirect3DQuery9_Issue(p,a) (p)->Issue(a)
1278#define IDirect3DQuery9_GetData(p,a,b,c) (p)->GetData(a,b,c)
1279#endif
1280
1281#ifdef __cplusplus
1282extern "C" IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
1283#else
1284extern IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
1285#endif
1286
1287#endif
1288#endif
Note: See TracBrowser for help on using the repository browser.