RetroArch
d3d8.h
Go to the documentation of this file.
1 /*==========================================================================;
2  *
3  * Copyright (C) Microsoft Corporation. All Rights Reserved.
4  *
5  * File: d3d8.h
6  * Content: Direct3D include file
7  *
8  ****************************************************************************/
9 
10 #ifndef _D3D8_H_
11 #define _D3D8_H_
12 
13 #ifndef DIRECT3D_VERSION
14 #define DIRECT3D_VERSION 0x0800
15 #endif
16 
17 /* include this file content only if compiling for DX8 interfaces */
18 #if(DIRECT3D_VERSION >= 0x0800)
19 
20 /* This identifier is passed to Direct3DCreate8 in order to ensure that an
21  * application was built against the correct header files. This number is
22  * incremented whenever a header (or other) change would require applications
23  * to be rebuilt. If the version doesn't match, Direct3DCreate8 will fail.
24  * (The number itself has no meaning.)*/
25 
26 #define D3D_SDK_VERSION 220
27 
28 
29 #include <stdlib.h>
30 
31 #define COM_NO_WINDOWS_H
32 #include <objbase.h>
33 
34 #include <windows.h>
35 
36 #if !defined(HMONITOR_DECLARED) && (WINVER < 0x0500)
37  #define HMONITOR_DECLARED
38  DECLARE_HANDLE(HMONITOR);
39 #endif
40 
41 #define D3DAPI WINAPI
42 
43 /*
44  * Interface IID's
45  */
46 #if defined( _WIN32 ) && !defined( _NO_COM)
47 
48 /* IID_IDirect3D8 */
49 /* {1DD9E8DA-1C77-4d40-B0CF-98FEFDFF9512} */
50 DEFINE_GUID(IID_IDirect3D8, 0x1dd9e8da, 0x1c77, 0x4d40, 0xb0, 0xcf, 0x98, 0xfe, 0xfd, 0xff, 0x95, 0x12);
51 
52 /* IID_IDirect3DDevice8 */
53 /* {7385E5DF-8FE8-41D5-86B6-D7B48547B6CF} */
54 DEFINE_GUID(IID_IDirect3DDevice8, 0x7385e5df, 0x8fe8, 0x41d5, 0x86, 0xb6, 0xd7, 0xb4, 0x85, 0x47, 0xb6, 0xcf);
55 
56 /* IID_IDirect3DResource8 */
57 /* {1B36BB7B-09B7-410a-B445-7D1430D7B33F} */
58 DEFINE_GUID(IID_IDirect3DResource8, 0x1b36bb7b, 0x9b7, 0x410a, 0xb4, 0x45, 0x7d, 0x14, 0x30, 0xd7, 0xb3, 0x3f);
59 
60 /* IID_IDirect3DBaseTexture8 */
61 /* {B4211CFA-51B9-4a9f-AB78-DB99B2BB678E} */
62 DEFINE_GUID(IID_IDirect3DBaseTexture8, 0xb4211cfa, 0x51b9, 0x4a9f, 0xab, 0x78, 0xdb, 0x99, 0xb2, 0xbb, 0x67, 0x8e);
63 
64 /* IID_IDirect3DTexture8 */
65 /* {E4CDD575-2866-4f01-B12E-7EECE1EC9358} */
66 DEFINE_GUID(IID_IDirect3DTexture8, 0xe4cdd575, 0x2866, 0x4f01, 0xb1, 0x2e, 0x7e, 0xec, 0xe1, 0xec, 0x93, 0x58);
67 
68 /* IID_IDirect3DCubeTexture8 */
69 /* {3EE5B968-2ACA-4c34-8BB5-7E0C3D19B750} */
70 DEFINE_GUID(IID_IDirect3DCubeTexture8, 0x3ee5b968, 0x2aca, 0x4c34, 0x8b, 0xb5, 0x7e, 0x0c, 0x3d, 0x19, 0xb7, 0x50);
71 
72 /* IID_IDirect3DVolumeTexture8 */
73 /* {4B8AAAFA-140F-42ba-9131-597EAFAA2EAD} */
74 DEFINE_GUID(IID_IDirect3DVolumeTexture8, 0x4b8aaafa, 0x140f, 0x42ba, 0x91, 0x31, 0x59, 0x7e, 0xaf, 0xaa, 0x2e, 0xad);
75 
76 /* IID_IDirect3DVertexBuffer8 */
77 /* {8AEEEAC7-05F9-44d4-B591-000B0DF1CB95} */
78 DEFINE_GUID(IID_IDirect3DVertexBuffer8, 0x8aeeeac7, 0x05f9, 0x44d4, 0xb5, 0x91, 0x00, 0x0b, 0x0d, 0xf1, 0xcb, 0x95);
79 
80 /* IID_IDirect3DIndexBuffer8 */
81 /* {0E689C9A-053D-44a0-9D92-DB0E3D750F86} */
82 DEFINE_GUID(IID_IDirect3DIndexBuffer8, 0x0e689c9a, 0x053d, 0x44a0, 0x9d, 0x92, 0xdb, 0x0e, 0x3d, 0x75, 0x0f, 0x86);
83 
84 /* IID_IDirect3DSurface8 */
85 /* {B96EEBCA-B326-4ea5-882F-2FF5BAE021DD} */
86 DEFINE_GUID(IID_IDirect3DSurface8, 0xb96eebca, 0xb326, 0x4ea5, 0x88, 0x2f, 0x2f, 0xf5, 0xba, 0xe0, 0x21, 0xdd);
87 
88 /* IID_IDirect3DVolume8 */
89 /* {BD7349F5-14F1-42e4-9C79-972380DB40C0} */
90 DEFINE_GUID(IID_IDirect3DVolume8, 0xbd7349f5, 0x14f1, 0x42e4, 0x9c, 0x79, 0x97, 0x23, 0x80, 0xdb, 0x40, 0xc0);
91 
92 /* IID_IDirect3DSwapChain8 */
93 /* {928C088B-76B9-4C6B-A536-A590853876CD} */
94 DEFINE_GUID(IID_IDirect3DSwapChain8, 0x928c088b, 0x76b9, 0x4c6b, 0xa5, 0x36, 0xa5, 0x90, 0x85, 0x38, 0x76, 0xcd);
95 
96 #endif
97 
98 #ifdef __cplusplus
99 
100 interface IDirect3D8;
101 interface IDirect3DDevice8;
102 
103 interface IDirect3DResource8;
104 interface IDirect3DBaseTexture8;
105 interface IDirect3DTexture8;
106 interface IDirect3DVolumeTexture8;
107 interface IDirect3DCubeTexture8;
108 
109 interface IDirect3DVertexBuffer8;
110 interface IDirect3DIndexBuffer8;
111 
112 interface IDirect3DSurface8;
113 interface IDirect3DVolume8;
114 
115 interface IDirect3DSwapChain8;
116 
117 #endif
118 
119 
120 typedef interface IDirect3D8 IDirect3D8;
132 
133 #include "d3d8types.h"
134 #include "d3d8caps.h"
135 
136 
137 #ifdef __cplusplus
138 extern "C" {
139 #endif
140 
141 /*
142  * DLL Function for creating a Direct3D8 object. This object supports
143  * enumeration and allows the creation of Direct3DDevice8 objects.
144  * Pass the value of the constant D3D_SDK_VERSION to this function, so
145  * that the run-time can validate that your application was compiled
146  * against the right headers.
147  */
148 
150 
151 /*
152  * Direct3D interfaces
153  */
154 
155 #undef INTERFACE
156 #define INTERFACE IDirect3D8
157 
159 {
160  /*** IUnknown methods ***/
161  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
162  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
163  STDMETHOD_(ULONG,Release)(THIS) PURE;
164 
165  /*** IDirect3D8 methods ***/
166  STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
167  STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
168  STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter,DWORD Flags,D3DADAPTER_IDENTIFIER8* pIdentifier) PURE;
169  STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter) PURE;
170  STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter,UINT Mode,D3DDISPLAYMODE* pMode) PURE;
171  STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter,D3DDISPLAYMODE* pMode) PURE;
172  STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter,D3DDEVTYPE CheckType,D3DFORMAT DisplayFormat,D3DFORMAT BackBufferFormat,BOOL Windowed) PURE;
173  STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,DWORD Usage,D3DRESOURCETYPE RType,D3DFORMAT CheckFormat) PURE;
174  STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT SurfaceFormat,BOOL Windowed,D3DMULTISAMPLE_TYPE MultiSampleType) PURE;
175  STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DFORMAT AdapterFormat,D3DFORMAT RenderTargetFormat,D3DFORMAT DepthStencilFormat) PURE;
176  STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,D3DCAPS8* pCaps) PURE;
177  STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
178  STDMETHOD(CreateDevice)(THIS_ UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DDevice8** ppReturnedDeviceInterface) PURE;
179 };
180 
182 
183 #if !defined(__cplusplus) || defined(CINTERFACE)
184 #define IDirect3D8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
185 #define IDirect3D8_AddRef(p) (p)->lpVtbl->AddRef(p)
186 #define IDirect3D8_Release(p) (p)->lpVtbl->Release(p)
187 #define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
188 #define IDirect3D8_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
189 #define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
190 #define IDirect3D8_GetAdapterModeCount(p,a) (p)->lpVtbl->GetAdapterModeCount(p,a)
191 #define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->lpVtbl->EnumAdapterModes(p,a,b,c)
192 #define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
193 #define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
194 #define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
195 #define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e)
196 #define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
197 #define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
198 #define IDirect3D8_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
199 #define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
200 #else
201 #define IDirect3D8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
202 #define IDirect3D8_AddRef(p) (p)->AddRef()
203 #define IDirect3D8_Release(p) (p)->Release()
204 #define IDirect3D8_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
205 #define IDirect3D8_GetAdapterCount(p) (p)->GetAdapterCount()
206 #define IDirect3D8_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
207 #define IDirect3D8_GetAdapterModeCount(p,a) (p)->GetAdapterModeCount(a)
208 #define IDirect3D8_EnumAdapterModes(p,a,b,c) (p)->EnumAdapterModes(a,b,c)
209 #define IDirect3D8_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
210 #define IDirect3D8_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
211 #define IDirect3D8_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
212 #define IDirect3D8_CheckDeviceMultiSampleType(p,a,b,c,d,e) (p)->CheckDeviceMultiSampleType(a,b,c,d,e)
213 #define IDirect3D8_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
214 #define IDirect3D8_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
215 #define IDirect3D8_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
216 #define IDirect3D8_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
217 #endif
218 
219 #undef INTERFACE
220 #define INTERFACE IDirect3DDevice8
221 
223 {
224  /*** IUnknown methods ***/
225  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
226  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
227  STDMETHOD_(ULONG,Release)(THIS) PURE;
228 
229  /*** IDirect3DDevice8 methods ***/
230  STDMETHOD(TestCooperativeLevel)(THIS) PURE;
231  STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
232  STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE;
233  STDMETHOD(GetDirect3D)(THIS_ IDirect3D8** ppD3D8) PURE;
234  STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS8* pCaps) PURE;
235  STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE* pMode) PURE;
236  STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
237  STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot,UINT YHotSpot,IDirect3DSurface8* pCursorBitmap) PURE;
238  STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y,DWORD Flags) PURE;
239  STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE;
240  STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DSwapChain8** pSwapChain) PURE;
241  STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
242  STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion) PURE;
243  STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8** ppBackBuffer) PURE;
244  STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS* pRasterStatus) PURE;
245  STDMETHOD_(void, SetGammaRamp)(THIS_ DWORD Flags,CONST D3DGAMMARAMP* pRamp) PURE;
246  STDMETHOD_(void, GetGammaRamp)(THIS_ D3DGAMMARAMP* pRamp) PURE;
247  STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8** ppTexture) PURE;
248  STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8** ppVolumeTexture) PURE;
249  STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8** ppCubeTexture) PURE;
250  STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8** ppVertexBuffer) PURE;
251  STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8** ppIndexBuffer) PURE;
252  STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8** ppSurface) PURE;
253  STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8** ppSurface) PURE;
254  STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8** ppSurface) PURE;
255  STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8* pSourceSurface,CONST RECT* pSourceRectsArray,UINT cRects,IDirect3DSurface8* pDestinationSurface,CONST POINT* pDestPointsArray) PURE;
256  STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8* pSourceTexture,IDirect3DBaseTexture8* pDestinationTexture) PURE;
257  STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8* pDestSurface) PURE;
258  STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8* pRenderTarget,IDirect3DSurface8* pNewZStencil) PURE;
259  STDMETHOD(GetRenderTarget)(THIS_ IDirect3DSurface8** ppRenderTarget) PURE;
260  STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8** ppZStencilSurface) PURE;
261  STDMETHOD(BeginScene)(THIS) PURE;
262  STDMETHOD(EndScene)(THIS) PURE;
263  STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE;
264  STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX* pMatrix) PURE;
265  STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX* pMatrix) PURE;
266  STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE;
267  STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT8* pViewport) PURE;
268  STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8* pViewport) PURE;
269  STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL8* pMaterial) PURE;
270  STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8* pMaterial) PURE;
271  STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT8*) PURE;
272  STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8*) PURE;
273  STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE;
274  STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL* pEnable) PURE;
275  STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float* pPlane) PURE;
276  STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float* pPlane) PURE;
277  STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE;
278  STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD* pValue) PURE;
279  STDMETHOD(BeginStateBlock)(THIS) PURE;
280  STDMETHOD(EndStateBlock)(THIS_ DWORD* pToken) PURE;
281  STDMETHOD(ApplyStateBlock)(THIS_ DWORD Token) PURE;
282  STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE;
283  STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE;
284  STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD* pToken) PURE;
285  STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8* pClipStatus) PURE;
286  STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8* pClipStatus) PURE;
287  STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8** ppTexture) PURE;
288  STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8* pTexture) PURE;
289  STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD* pValue) PURE;
290  STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE;
291  STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
292  STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void* pDevInfoStruct,DWORD DevInfoStructSize) PURE;
293  STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY* pEntries) PURE;
294  STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
295  STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
296  STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
297  STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE;
298  STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE;
299  STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
300  STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void* pIndexData,D3DFORMAT IndexDataFormat,CONST void* pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE;
301  STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8* pDestBuffer,DWORD Flags) PURE;
302  STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pDeclaration,CONST DWORD* pFunction,DWORD* pHandle,DWORD Usage) PURE;
303  STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE;
304  STDMETHOD(GetVertexShader)(THIS_ DWORD* pHandle) PURE;
305  STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE;
306  STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD Register,CONST void* pConstantData,DWORD ConstantCount) PURE;
307  STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void* pConstantData,DWORD ConstantCount) PURE;
308  STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void* pData,DWORD* pSizeOfData) PURE;
309  STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void* pData,DWORD* pSizeOfData) PURE;
310  STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8* pStreamData,UINT Stride) PURE;
311  STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8** ppStreamData,UINT* pStride) PURE;
312  STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8* pIndexData,UINT BaseVertexIndex) PURE;
313  STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8** ppIndexData,UINT* pBaseVertexIndex) PURE;
314  STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction,DWORD* pHandle) PURE;
315  STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE;
316  STDMETHOD(GetPixelShader)(THIS_ DWORD* pHandle) PURE;
317  STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE;
318  STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD Register,CONST void* pConstantData,DWORD ConstantCount) PURE;
319  STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void* pConstantData,DWORD ConstantCount) PURE;
320  STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void* pData,DWORD* pSizeOfData) PURE;
321  STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float* pNumSegs,CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
322  STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float* pNumSegs,CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
323  STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
324 };
325 
327 
328 #if !defined(__cplusplus) || defined(CINTERFACE)
329 #define IDirect3DDevice8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
330 #define IDirect3DDevice8_AddRef(p) (p)->lpVtbl->AddRef(p)
331 #define IDirect3DDevice8_Release(p) (p)->lpVtbl->Release(p)
332 #define IDirect3DDevice8_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
333 #define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
334 #define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->lpVtbl->ResourceManagerDiscardBytes(p,a)
335 #define IDirect3DDevice8_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
336 #define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
337 #define IDirect3DDevice8_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
338 #define IDirect3DDevice8_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
339 #define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
340 #define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
341 #define IDirect3DDevice8_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
342 #define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
343 #define IDirect3DDevice8_Reset(p,a) (p)->lpVtbl->Reset(p,a)
344 #define IDirect3DDevice8_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
345 #define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
346 #define IDirect3DDevice8_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
347 #define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->lpVtbl->SetGammaRamp(p,a,b)
348 #define IDirect3DDevice8_GetGammaRamp(p,a) (p)->lpVtbl->GetGammaRamp(p,a)
349 #define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g)
350 #define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h)
351 #define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f)
352 #define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e)
353 #define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e)
354 #define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f)
355 #define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e)
356 #define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->lpVtbl->CreateImageSurface(p,a,b,c,d)
357 #define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->lpVtbl->CopyRects(p,a,b,c,d,e)
358 #define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
359 #define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->lpVtbl->GetFrontBuffer(p,a)
360 #define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
361 #define IDirect3DDevice8_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
362 #define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
363 #define IDirect3DDevice8_BeginScene(p) (p)->lpVtbl->BeginScene(p)
364 #define IDirect3DDevice8_EndScene(p) (p)->lpVtbl->EndScene(p)
365 #define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
366 #define IDirect3DDevice8_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
367 #define IDirect3DDevice8_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
368 #define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
369 #define IDirect3DDevice8_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
370 #define IDirect3DDevice8_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
371 #define IDirect3DDevice8_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
372 #define IDirect3DDevice8_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
373 #define IDirect3DDevice8_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
374 #define IDirect3DDevice8_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
375 #define IDirect3DDevice8_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
376 #define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
377 #define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
378 #define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
379 #define IDirect3DDevice8_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
380 #define IDirect3DDevice8_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
381 #define IDirect3DDevice8_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
382 #define IDirect3DDevice8_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
383 #define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a)
384 #define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a)
385 #define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a)
386 #define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
387 #define IDirect3DDevice8_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
388 #define IDirect3DDevice8_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
389 #define IDirect3DDevice8_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
390 #define IDirect3DDevice8_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
391 #define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
392 #define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
393 #define IDirect3DDevice8_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
394 #define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
395 #define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
396 #define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
397 #define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
398 #define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
399 #define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
400 #define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e)
401 #define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
402 #define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
403 #define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e)
404 #define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->lpVtbl->CreateVertexShader(p,a,b,c,d)
405 #define IDirect3DDevice8_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
406 #define IDirect3DDevice8_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
407 #define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->lpVtbl->DeleteVertexShader(p,a)
408 #define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstant(p,a,b,c)
409 #define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstant(p,a,b,c)
410 #define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->lpVtbl->GetVertexShaderDeclaration(p,a,b,c)
411 #define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->lpVtbl->GetVertexShaderFunction(p,a,b,c)
412 #define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->lpVtbl->SetStreamSource(p,a,b,c)
413 #define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->lpVtbl->GetStreamSource(p,a,b,c)
414 #define IDirect3DDevice8_SetIndices(p,a,b) (p)->lpVtbl->SetIndices(p,a,b)
415 #define IDirect3DDevice8_GetIndices(p,a,b) (p)->lpVtbl->GetIndices(p,a,b)
416 #define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
417 #define IDirect3DDevice8_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
418 #define IDirect3DDevice8_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
419 #define IDirect3DDevice8_DeletePixelShader(p,a) (p)->lpVtbl->DeletePixelShader(p,a)
420 #define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstant(p,a,b,c)
421 #define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstant(p,a,b,c)
422 #define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->lpVtbl->GetPixelShaderFunction(p,a,b,c)
423 #define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
424 #define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
425 #define IDirect3DDevice8_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
426 #else
427 #define IDirect3DDevice8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
428 #define IDirect3DDevice8_AddRef(p) (p)->AddRef()
429 #define IDirect3DDevice8_Release(p) (p)->Release()
430 #define IDirect3DDevice8_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
431 #define IDirect3DDevice8_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
432 #define IDirect3DDevice8_ResourceManagerDiscardBytes(p,a) (p)->ResourceManagerDiscardBytes(a)
433 #define IDirect3DDevice8_GetDirect3D(p,a) (p)->GetDirect3D(a)
434 #define IDirect3DDevice8_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
435 #define IDirect3DDevice8_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
436 #define IDirect3DDevice8_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
437 #define IDirect3DDevice8_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
438 #define IDirect3DDevice8_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
439 #define IDirect3DDevice8_ShowCursor(p,a) (p)->ShowCursor(a)
440 #define IDirect3DDevice8_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
441 #define IDirect3DDevice8_Reset(p,a) (p)->Reset(a)
442 #define IDirect3DDevice8_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
443 #define IDirect3DDevice8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
444 #define IDirect3DDevice8_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
445 #define IDirect3DDevice8_SetGammaRamp(p,a,b) (p)->SetGammaRamp(a,b)
446 #define IDirect3DDevice8_GetGammaRamp(p,a) (p)->GetGammaRamp(a)
447 #define IDirect3DDevice8_CreateTexture(p,a,b,c,d,e,f,g) (p)->CreateTexture(a,b,c,d,e,f,g)
448 #define IDirect3DDevice8_CreateVolumeTexture(p,a,b,c,d,e,f,g,h) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h)
449 #define IDirect3DDevice8_CreateCubeTexture(p,a,b,c,d,e,f) (p)->CreateCubeTexture(a,b,c,d,e,f)
450 #define IDirect3DDevice8_CreateVertexBuffer(p,a,b,c,d,e) (p)->CreateVertexBuffer(a,b,c,d,e)
451 #define IDirect3DDevice8_CreateIndexBuffer(p,a,b,c,d,e) (p)->CreateIndexBuffer(a,b,c,d,e)
452 #define IDirect3DDevice8_CreateRenderTarget(p,a,b,c,d,e,f) (p)->CreateRenderTarget(a,b,c,d,e,f)
453 #define IDirect3DDevice8_CreateDepthStencilSurface(p,a,b,c,d,e) (p)->CreateDepthStencilSurface(a,b,c,d,e)
454 #define IDirect3DDevice8_CreateImageSurface(p,a,b,c,d) (p)->CreateImageSurface(a,b,c,d)
455 #define IDirect3DDevice8_CopyRects(p,a,b,c,d,e) (p)->CopyRects(a,b,c,d,e)
456 #define IDirect3DDevice8_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
457 #define IDirect3DDevice8_GetFrontBuffer(p,a) (p)->GetFrontBuffer(a)
458 #define IDirect3DDevice8_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
459 #define IDirect3DDevice8_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
460 #define IDirect3DDevice8_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
461 #define IDirect3DDevice8_BeginScene(p) (p)->BeginScene()
462 #define IDirect3DDevice8_EndScene(p) (p)->EndScene()
463 #define IDirect3DDevice8_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
464 #define IDirect3DDevice8_SetTransform(p,a,b) (p)->SetTransform(a,b)
465 #define IDirect3DDevice8_GetTransform(p,a,b) (p)->GetTransform(a,b)
466 #define IDirect3DDevice8_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
467 #define IDirect3DDevice8_SetViewport(p,a) (p)->SetViewport(a)
468 #define IDirect3DDevice8_GetViewport(p,a) (p)->GetViewport(a)
469 #define IDirect3DDevice8_SetMaterial(p,a) (p)->SetMaterial(a)
470 #define IDirect3DDevice8_GetMaterial(p,a) (p)->GetMaterial(a)
471 #define IDirect3DDevice8_SetLight(p,a,b) (p)->SetLight(a,b)
472 #define IDirect3DDevice8_GetLight(p,a,b) (p)->GetLight(a,b)
473 #define IDirect3DDevice8_LightEnable(p,a,b) (p)->LightEnable(a,b)
474 #define IDirect3DDevice8_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
475 #define IDirect3DDevice8_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
476 #define IDirect3DDevice8_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
477 #define IDirect3DDevice8_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
478 #define IDirect3DDevice8_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
479 #define IDirect3DDevice8_BeginStateBlock(p) (p)->BeginStateBlock()
480 #define IDirect3DDevice8_EndStateBlock(p,a) (p)->EndStateBlock(a)
481 #define IDirect3DDevice8_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a)
482 #define IDirect3DDevice8_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a)
483 #define IDirect3DDevice8_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a)
484 #define IDirect3DDevice8_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
485 #define IDirect3DDevice8_SetClipStatus(p,a) (p)->SetClipStatus(a)
486 #define IDirect3DDevice8_GetClipStatus(p,a) (p)->GetClipStatus(a)
487 #define IDirect3DDevice8_GetTexture(p,a,b) (p)->GetTexture(a,b)
488 #define IDirect3DDevice8_SetTexture(p,a,b) (p)->SetTexture(a,b)
489 #define IDirect3DDevice8_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
490 #define IDirect3DDevice8_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
491 #define IDirect3DDevice8_ValidateDevice(p,a) (p)->ValidateDevice(a)
492 #define IDirect3DDevice8_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c)
493 #define IDirect3DDevice8_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
494 #define IDirect3DDevice8_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
495 #define IDirect3DDevice8_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
496 #define IDirect3DDevice8_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
497 #define IDirect3DDevice8_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
498 #define IDirect3DDevice8_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->DrawIndexedPrimitive(a,b,c,d,e)
499 #define IDirect3DDevice8_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
500 #define IDirect3DDevice8_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
501 #define IDirect3DDevice8_ProcessVertices(p,a,b,c,d,e) (p)->ProcessVertices(a,b,c,d,e)
502 #define IDirect3DDevice8_CreateVertexShader(p,a,b,c,d) (p)->CreateVertexShader(a,b,c,d)
503 #define IDirect3DDevice8_SetVertexShader(p,a) (p)->SetVertexShader(a)
504 #define IDirect3DDevice8_GetVertexShader(p,a) (p)->GetVertexShader(a)
505 #define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->DeleteVertexShader(a)
506 #define IDirect3DDevice8_SetVertexShaderConstant(p,a,b,c) (p)->SetVertexShaderConstant(a,b,c)
507 #define IDirect3DDevice8_GetVertexShaderConstant(p,a,b,c) (p)->GetVertexShaderConstant(a,b,c)
508 #define IDirect3DDevice8_GetVertexShaderDeclaration(p,a,b,c) (p)->GetVertexShaderDeclaration(a,b,c)
509 #define IDirect3DDevice8_GetVertexShaderFunction(p,a,b,c) (p)->GetVertexShaderFunction(a,b,c)
510 #define IDirect3DDevice8_SetStreamSource(p,a,b,c) (p)->SetStreamSource(a,b,c)
511 #define IDirect3DDevice8_GetStreamSource(p,a,b,c) (p)->GetStreamSource(a,b,c)
512 #define IDirect3DDevice8_SetIndices(p,a,b) (p)->SetIndices(a,b)
513 #define IDirect3DDevice8_GetIndices(p,a,b) (p)->GetIndices(a,b)
514 #define IDirect3DDevice8_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
515 #define IDirect3DDevice8_SetPixelShader(p,a) (p)->SetPixelShader(a)
516 #define IDirect3DDevice8_GetPixelShader(p,a) (p)->GetPixelShader(a)
517 #define IDirect3DDevice8_DeletePixelShader(p,a) (p)->DeletePixelShader(a)
518 #define IDirect3DDevice8_SetPixelShaderConstant(p,a,b,c) (p)->SetPixelShaderConstant(a,b,c)
519 #define IDirect3DDevice8_GetPixelShaderConstant(p,a,b,c) (p)->GetPixelShaderConstant(a,b,c)
520 #define IDirect3DDevice8_GetPixelShaderFunction(p,a,b,c) (p)->GetPixelShaderFunction(a,b,c)
521 #define IDirect3DDevice8_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
522 #define IDirect3DDevice8_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
523 #define IDirect3DDevice8_DeletePatch(p,a) (p)->DeletePatch(a)
524 #endif
525 
526 #undef INTERFACE
527 #define INTERFACE IDirect3DSwapChain8
528 
530 {
531  /*** IUnknown methods ***/
532  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
533  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
534  STDMETHOD_(ULONG,Release)(THIS) PURE;
535 
536  /*** IDirect3DSwapChain8 methods ***/
537  STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion) PURE;
538  STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8** ppBackBuffer) PURE;
539 };
540 
542 
543 #if !defined(__cplusplus) || defined(CINTERFACE)
544 #define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
545 #define IDirect3DSwapChain8_AddRef(p) (p)->lpVtbl->AddRef(p)
546 #define IDirect3DSwapChain8_Release(p) (p)->lpVtbl->Release(p)
547 #define IDirect3DSwapChain8_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
548 #define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
549 #else
550 #define IDirect3DSwapChain8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
551 #define IDirect3DSwapChain8_AddRef(p) (p)->AddRef()
552 #define IDirect3DSwapChain8_Release(p) (p)->Release()
553 #define IDirect3DSwapChain8_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
554 #define IDirect3DSwapChain8_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
555 #endif
556 
557 #undef INTERFACE
558 #define INTERFACE IDirect3DResource8
559 
561 {
562  /*** IUnknown methods ***/
563  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
564  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
565  STDMETHOD_(ULONG,Release)(THIS) PURE;
566 
567  /*** IDirect3DResource8 methods ***/
568  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
569  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
570  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
571  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
572  STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
573  STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
574  STDMETHOD_(void, PreLoad)(THIS) PURE;
575  STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
576 };
577 
579 
580 #if !defined(__cplusplus) || defined(CINTERFACE)
581 #define IDirect3DResource8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
582 #define IDirect3DResource8_AddRef(p) (p)->lpVtbl->AddRef(p)
583 #define IDirect3DResource8_Release(p) (p)->lpVtbl->Release(p)
584 #define IDirect3DResource8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
585 #define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
586 #define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
587 #define IDirect3DResource8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
588 #define IDirect3DResource8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
589 #define IDirect3DResource8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
590 #define IDirect3DResource8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
591 #define IDirect3DResource8_GetType(p) (p)->lpVtbl->GetType(p)
592 #else
593 #define IDirect3DResource8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
594 #define IDirect3DResource8_AddRef(p) (p)->AddRef()
595 #define IDirect3DResource8_Release(p) (p)->Release()
596 #define IDirect3DResource8_GetDevice(p,a) (p)->GetDevice(a)
597 #define IDirect3DResource8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
598 #define IDirect3DResource8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
599 #define IDirect3DResource8_FreePrivateData(p,a) (p)->FreePrivateData(a)
600 #define IDirect3DResource8_SetPriority(p,a) (p)->SetPriority(a)
601 #define IDirect3DResource8_GetPriority(p) (p)->GetPriority()
602 #define IDirect3DResource8_PreLoad(p) (p)->PreLoad()
603 #define IDirect3DResource8_GetType(p) (p)->GetType()
604 #endif
605 
606 #undef INTERFACE
607 #define INTERFACE IDirect3DBaseTexture8
608 
610 {
611  /*** IUnknown methods ***/
612  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
613  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
614  STDMETHOD_(ULONG,Release)(THIS) PURE;
615 
616  /*** IDirect3DResource8 methods ***/
617  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
618  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
619  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
620  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
621  STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
622  STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
623  STDMETHOD_(void, PreLoad)(THIS) PURE;
624  STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
625  STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
626  STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
627  STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
628 };
629 
631 
632 #if !defined(__cplusplus) || defined(CINTERFACE)
633 #define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
634 #define IDirect3DBaseTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
635 #define IDirect3DBaseTexture8_Release(p) (p)->lpVtbl->Release(p)
636 #define IDirect3DBaseTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
637 #define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
638 #define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
639 #define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
640 #define IDirect3DBaseTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
641 #define IDirect3DBaseTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
642 #define IDirect3DBaseTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
643 #define IDirect3DBaseTexture8_GetType(p) (p)->lpVtbl->GetType(p)
644 #define IDirect3DBaseTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
645 #define IDirect3DBaseTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
646 #define IDirect3DBaseTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
647 #else
648 #define IDirect3DBaseTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
649 #define IDirect3DBaseTexture8_AddRef(p) (p)->AddRef()
650 #define IDirect3DBaseTexture8_Release(p) (p)->Release()
651 #define IDirect3DBaseTexture8_GetDevice(p,a) (p)->GetDevice(a)
652 #define IDirect3DBaseTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
653 #define IDirect3DBaseTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
654 #define IDirect3DBaseTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
655 #define IDirect3DBaseTexture8_SetPriority(p,a) (p)->SetPriority(a)
656 #define IDirect3DBaseTexture8_GetPriority(p) (p)->GetPriority()
657 #define IDirect3DBaseTexture8_PreLoad(p) (p)->PreLoad()
658 #define IDirect3DBaseTexture8_GetType(p) (p)->GetType()
659 #define IDirect3DBaseTexture8_SetLOD(p,a) (p)->SetLOD(a)
660 #define IDirect3DBaseTexture8_GetLOD(p) (p)->GetLOD()
661 #define IDirect3DBaseTexture8_GetLevelCount(p) (p)->GetLevelCount()
662 #endif
663 
664 #undef INTERFACE
665 #define INTERFACE IDirect3DTexture8
666 
668 {
669  /*** IUnknown methods ***/
670  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
671  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
672  STDMETHOD_(ULONG,Release)(THIS) PURE;
673 
674  /*** IDirect3DBaseTexture8 methods ***/
675  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
676  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
677  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
678  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
679  STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
680  STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
681  STDMETHOD_(void, PreLoad)(THIS) PURE;
682  STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
683  STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
684  STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
685  STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
686  STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC *pDesc) PURE;
687  STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8** ppSurfaceLevel) PURE;
688  STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;
689  STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
690  STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;
691 };
692 
694 
695 #if !defined(__cplusplus) || defined(CINTERFACE)
696 #define IDirect3DTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
697 #define IDirect3DTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
698 #define IDirect3DTexture8_Release(p) (p)->lpVtbl->Release(p)
699 #define IDirect3DTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
700 #define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
701 #define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
702 #define IDirect3DTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
703 #define IDirect3DTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
704 #define IDirect3DTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
705 #define IDirect3DTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
706 #define IDirect3DTexture8_GetType(p) (p)->lpVtbl->GetType(p)
707 #define IDirect3DTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
708 #define IDirect3DTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
709 #define IDirect3DTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
710 #define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
711 #define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
712 #define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
713 #define IDirect3DTexture8_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
714 #define IDirect3DTexture8_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
715 #else
716 #define IDirect3DTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
717 #define IDirect3DTexture8_AddRef(p) (p)->AddRef()
718 #define IDirect3DTexture8_Release(p) (p)->Release()
719 #define IDirect3DTexture8_GetDevice(p,a) (p)->GetDevice(a)
720 #define IDirect3DTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
721 #define IDirect3DTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
722 #define IDirect3DTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
723 #define IDirect3DTexture8_SetPriority(p,a) (p)->SetPriority(a)
724 #define IDirect3DTexture8_GetPriority(p) (p)->GetPriority()
725 #define IDirect3DTexture8_PreLoad(p) (p)->PreLoad()
726 #define IDirect3DTexture8_GetType(p) (p)->GetType()
727 #define IDirect3DTexture8_SetLOD(p,a) (p)->SetLOD(a)
728 #define IDirect3DTexture8_GetLOD(p) (p)->GetLOD()
729 #define IDirect3DTexture8_GetLevelCount(p) (p)->GetLevelCount()
730 #define IDirect3DTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
731 #define IDirect3DTexture8_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
732 #define IDirect3DTexture8_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
733 #define IDirect3DTexture8_UnlockRect(p,a) (p)->UnlockRect(a)
734 #define IDirect3DTexture8_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
735 #endif
736 
737 #undef INTERFACE
738 #define INTERFACE IDirect3DVolumeTexture8
739 
741 {
742  /*** IUnknown methods ***/
743  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
744  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
745  STDMETHOD_(ULONG,Release)(THIS) PURE;
746 
747  /*** IDirect3DBaseTexture8 methods ***/
748  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
749  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
750  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
751  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
752  STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
753  STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
754  STDMETHOD_(void, PreLoad)(THIS) PURE;
755  STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
756  STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
757  STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
758  STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
759  STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC *pDesc) PURE;
760  STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8** ppVolumeLevel) PURE;
761  STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX* pLockedVolume,CONST D3DBOX* pBox,DWORD Flags) PURE;
762  STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
763  STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX* pDirtyBox) PURE;
764 };
765 
767 
768 #if !defined(__cplusplus) || defined(CINTERFACE)
769 #define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
770 #define IDirect3DVolumeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
771 #define IDirect3DVolumeTexture8_Release(p) (p)->lpVtbl->Release(p)
772 #define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
773 #define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
774 #define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
775 #define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
776 #define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
777 #define IDirect3DVolumeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
778 #define IDirect3DVolumeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
779 #define IDirect3DVolumeTexture8_GetType(p) (p)->lpVtbl->GetType(p)
780 #define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
781 #define IDirect3DVolumeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
782 #define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
783 #define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
784 #define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
785 #define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
786 #define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
787 #define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
788 #else
789 #define IDirect3DVolumeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
790 #define IDirect3DVolumeTexture8_AddRef(p) (p)->AddRef()
791 #define IDirect3DVolumeTexture8_Release(p) (p)->Release()
792 #define IDirect3DVolumeTexture8_GetDevice(p,a) (p)->GetDevice(a)
793 #define IDirect3DVolumeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
794 #define IDirect3DVolumeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
795 #define IDirect3DVolumeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
796 #define IDirect3DVolumeTexture8_SetPriority(p,a) (p)->SetPriority(a)
797 #define IDirect3DVolumeTexture8_GetPriority(p) (p)->GetPriority()
798 #define IDirect3DVolumeTexture8_PreLoad(p) (p)->PreLoad()
799 #define IDirect3DVolumeTexture8_GetType(p) (p)->GetType()
800 #define IDirect3DVolumeTexture8_SetLOD(p,a) (p)->SetLOD(a)
801 #define IDirect3DVolumeTexture8_GetLOD(p) (p)->GetLOD()
802 #define IDirect3DVolumeTexture8_GetLevelCount(p) (p)->GetLevelCount()
803 #define IDirect3DVolumeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
804 #define IDirect3DVolumeTexture8_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
805 #define IDirect3DVolumeTexture8_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
806 #define IDirect3DVolumeTexture8_UnlockBox(p,a) (p)->UnlockBox(a)
807 #define IDirect3DVolumeTexture8_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
808 #endif
809 
810 #undef INTERFACE
811 #define INTERFACE IDirect3DCubeTexture8
812 
814 {
815  /*** IUnknown methods ***/
816  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
817  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
818  STDMETHOD_(ULONG,Release)(THIS) PURE;
819 
820  /*** IDirect3DBaseTexture8 methods ***/
821  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
822  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
823  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
824  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
825  STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
826  STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
827  STDMETHOD_(void, PreLoad)(THIS) PURE;
828  STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
829  STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
830  STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
831  STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
832  STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC *pDesc) PURE;
833  STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8** ppCubeMapSurface) PURE;
834  STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;
835  STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE;
836  STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT* pDirtyRect) PURE;
837 };
838 
840 
841 #if !defined(__cplusplus) || defined(CINTERFACE)
842 #define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
843 #define IDirect3DCubeTexture8_AddRef(p) (p)->lpVtbl->AddRef(p)
844 #define IDirect3DCubeTexture8_Release(p) (p)->lpVtbl->Release(p)
845 #define IDirect3DCubeTexture8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
846 #define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
847 #define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
848 #define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
849 #define IDirect3DCubeTexture8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
850 #define IDirect3DCubeTexture8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
851 #define IDirect3DCubeTexture8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
852 #define IDirect3DCubeTexture8_GetType(p) (p)->lpVtbl->GetType(p)
853 #define IDirect3DCubeTexture8_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
854 #define IDirect3DCubeTexture8_GetLOD(p) (p)->lpVtbl->GetLOD(p)
855 #define IDirect3DCubeTexture8_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
856 #define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
857 #define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
858 #define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
859 #define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
860 #define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
861 #else
862 #define IDirect3DCubeTexture8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
863 #define IDirect3DCubeTexture8_AddRef(p) (p)->AddRef()
864 #define IDirect3DCubeTexture8_Release(p) (p)->Release()
865 #define IDirect3DCubeTexture8_GetDevice(p,a) (p)->GetDevice(a)
866 #define IDirect3DCubeTexture8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
867 #define IDirect3DCubeTexture8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
868 #define IDirect3DCubeTexture8_FreePrivateData(p,a) (p)->FreePrivateData(a)
869 #define IDirect3DCubeTexture8_SetPriority(p,a) (p)->SetPriority(a)
870 #define IDirect3DCubeTexture8_GetPriority(p) (p)->GetPriority()
871 #define IDirect3DCubeTexture8_PreLoad(p) (p)->PreLoad()
872 #define IDirect3DCubeTexture8_GetType(p) (p)->GetType()
873 #define IDirect3DCubeTexture8_SetLOD(p,a) (p)->SetLOD(a)
874 #define IDirect3DCubeTexture8_GetLOD(p) (p)->GetLOD()
875 #define IDirect3DCubeTexture8_GetLevelCount(p) (p)->GetLevelCount()
876 #define IDirect3DCubeTexture8_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
877 #define IDirect3DCubeTexture8_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
878 #define IDirect3DCubeTexture8_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
879 #define IDirect3DCubeTexture8_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
880 #define IDirect3DCubeTexture8_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
881 #endif
882 
883 #undef INTERFACE
884 #define INTERFACE IDirect3DVertexBuffer8
885 
887 {
888  /*** IUnknown methods ***/
889  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
890  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
891  STDMETHOD_(ULONG,Release)(THIS) PURE;
892 
893  /*** IDirect3DResource8 methods ***/
894  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
895  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
896  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
897  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
898  STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
899  STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
900  STDMETHOD_(void, PreLoad)(THIS) PURE;
901  STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
902  STDMETHOD(Lock)(THIS_ UINT OffsetToLock,UINT SizeToLock,BYTE** ppbData,DWORD Flags) PURE;
903  STDMETHOD(Unlock)(THIS) PURE;
904  STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC *pDesc) PURE;
905 };
906 
908 
909 #if !defined(__cplusplus) || defined(CINTERFACE)
910 #define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
911 #define IDirect3DVertexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
912 #define IDirect3DVertexBuffer8_Release(p) (p)->lpVtbl->Release(p)
913 #define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
914 #define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
915 #define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
916 #define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
917 #define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
918 #define IDirect3DVertexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
919 #define IDirect3DVertexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
920 #define IDirect3DVertexBuffer8_GetType(p) (p)->lpVtbl->GetType(p)
921 #define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
922 #define IDirect3DVertexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p)
923 #define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
924 #else
925 #define IDirect3DVertexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
926 #define IDirect3DVertexBuffer8_AddRef(p) (p)->AddRef()
927 #define IDirect3DVertexBuffer8_Release(p) (p)->Release()
928 #define IDirect3DVertexBuffer8_GetDevice(p,a) (p)->GetDevice(a)
929 #define IDirect3DVertexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
930 #define IDirect3DVertexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
931 #define IDirect3DVertexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a)
932 #define IDirect3DVertexBuffer8_SetPriority(p,a) (p)->SetPriority(a)
933 #define IDirect3DVertexBuffer8_GetPriority(p) (p)->GetPriority()
934 #define IDirect3DVertexBuffer8_PreLoad(p) (p)->PreLoad()
935 #define IDirect3DVertexBuffer8_GetType(p) (p)->GetType()
936 #define IDirect3DVertexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
937 #define IDirect3DVertexBuffer8_Unlock(p) (p)->Unlock()
938 #define IDirect3DVertexBuffer8_GetDesc(p,a) (p)->GetDesc(a)
939 #endif
940 
941 #undef INTERFACE
942 #define INTERFACE IDirect3DIndexBuffer8
943 
945 {
946  /*** IUnknown methods ***/
947  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
948  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
949  STDMETHOD_(ULONG,Release)(THIS) PURE;
950 
951  /*** IDirect3DResource8 methods ***/
952  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
953  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
954  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
955  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
956  STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
957  STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
958  STDMETHOD_(void, PreLoad)(THIS) PURE;
959  STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
960  STDMETHOD(Lock)(THIS_ UINT OffsetToLock,UINT SizeToLock,BYTE** ppbData,DWORD Flags) PURE;
961  STDMETHOD(Unlock)(THIS) PURE;
962  STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC *pDesc) PURE;
963 };
964 
966 
967 #if !defined(__cplusplus) || defined(CINTERFACE)
968 #define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
969 #define IDirect3DIndexBuffer8_AddRef(p) (p)->lpVtbl->AddRef(p)
970 #define IDirect3DIndexBuffer8_Release(p) (p)->lpVtbl->Release(p)
971 #define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
972 #define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
973 #define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
974 #define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
975 #define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
976 #define IDirect3DIndexBuffer8_GetPriority(p) (p)->lpVtbl->GetPriority(p)
977 #define IDirect3DIndexBuffer8_PreLoad(p) (p)->lpVtbl->PreLoad(p)
978 #define IDirect3DIndexBuffer8_GetType(p) (p)->lpVtbl->GetType(p)
979 #define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
980 #define IDirect3DIndexBuffer8_Unlock(p) (p)->lpVtbl->Unlock(p)
981 #define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
982 #else
983 #define IDirect3DIndexBuffer8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
984 #define IDirect3DIndexBuffer8_AddRef(p) (p)->AddRef()
985 #define IDirect3DIndexBuffer8_Release(p) (p)->Release()
986 #define IDirect3DIndexBuffer8_GetDevice(p,a) (p)->GetDevice(a)
987 #define IDirect3DIndexBuffer8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
988 #define IDirect3DIndexBuffer8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
989 #define IDirect3DIndexBuffer8_FreePrivateData(p,a) (p)->FreePrivateData(a)
990 #define IDirect3DIndexBuffer8_SetPriority(p,a) (p)->SetPriority(a)
991 #define IDirect3DIndexBuffer8_GetPriority(p) (p)->GetPriority()
992 #define IDirect3DIndexBuffer8_PreLoad(p) (p)->PreLoad()
993 #define IDirect3DIndexBuffer8_GetType(p) (p)->GetType()
994 #define IDirect3DIndexBuffer8_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
995 #define IDirect3DIndexBuffer8_Unlock(p) (p)->Unlock()
996 #define IDirect3DIndexBuffer8_GetDesc(p,a) (p)->GetDesc(a)
997 #endif
998 
999 #undef INTERFACE
1000 #define INTERFACE IDirect3DSurface8
1001 
1003 {
1004  /*** IUnknown methods ***/
1005  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
1006  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1007  STDMETHOD_(ULONG,Release)(THIS) PURE;
1008 
1009  /*** IDirect3DSurface8 methods ***/
1010  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
1011  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
1012  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
1013  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
1014  STDMETHOD(GetContainer)(THIS_ REFIID riid,void** ppContainer) PURE;
1015  STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC *pDesc) PURE;
1016  STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;
1017  STDMETHOD(UnlockRect)(THIS) PURE;
1018 };
1019 
1021 
1022 #if !defined(__cplusplus) || defined(CINTERFACE)
1023 #define IDirect3DSurface8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1024 #define IDirect3DSurface8_AddRef(p) (p)->lpVtbl->AddRef(p)
1025 #define IDirect3DSurface8_Release(p) (p)->lpVtbl->Release(p)
1026 #define IDirect3DSurface8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1027 #define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
1028 #define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
1029 #define IDirect3DSurface8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
1030 #define IDirect3DSurface8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
1031 #define IDirect3DSurface8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
1032 #define IDirect3DSurface8_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
1033 #define IDirect3DSurface8_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
1034 #else
1035 #define IDirect3DSurface8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1036 #define IDirect3DSurface8_AddRef(p) (p)->AddRef()
1037 #define IDirect3DSurface8_Release(p) (p)->Release()
1038 #define IDirect3DSurface8_GetDevice(p,a) (p)->GetDevice(a)
1039 #define IDirect3DSurface8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
1040 #define IDirect3DSurface8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
1041 #define IDirect3DSurface8_FreePrivateData(p,a) (p)->FreePrivateData(a)
1042 #define IDirect3DSurface8_GetContainer(p,a,b) (p)->GetContainer(a,b)
1043 #define IDirect3DSurface8_GetDesc(p,a) (p)->GetDesc(a)
1044 #define IDirect3DSurface8_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
1045 #define IDirect3DSurface8_UnlockRect(p) (p)->UnlockRect()
1046 #endif
1047 
1048 #undef INTERFACE
1049 #define INTERFACE IDirect3DVolume8
1050 
1052 {
1053  /*** IUnknown methods ***/
1054  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
1055  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1056  STDMETHOD_(ULONG,Release)(THIS) PURE;
1057 
1058  /*** IDirect3DVolume8 methods ***/
1059  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8** ppDevice) PURE;
1060  STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
1061  STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
1062  STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
1063  STDMETHOD(GetContainer)(THIS_ REFIID riid,void** ppContainer) PURE;
1064  STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC *pDesc) PURE;
1065  STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX* pBox,DWORD Flags) PURE;
1066  STDMETHOD(UnlockBox)(THIS) PURE;
1067 };
1068 
1070 
1071 #if !defined(__cplusplus) || defined(CINTERFACE)
1072 #define IDirect3DVolume8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1073 #define IDirect3DVolume8_AddRef(p) (p)->lpVtbl->AddRef(p)
1074 #define IDirect3DVolume8_Release(p) (p)->lpVtbl->Release(p)
1075 #define IDirect3DVolume8_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
1076 #define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
1077 #define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
1078 #define IDirect3DVolume8_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
1079 #define IDirect3DVolume8_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
1080 #define IDirect3DVolume8_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
1081 #define IDirect3DVolume8_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
1082 #define IDirect3DVolume8_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
1083 #else
1084 #define IDirect3DVolume8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1085 #define IDirect3DVolume8_AddRef(p) (p)->AddRef()
1086 #define IDirect3DVolume8_Release(p) (p)->Release()
1087 #define IDirect3DVolume8_GetDevice(p,a) (p)->GetDevice(a)
1088 #define IDirect3DVolume8_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
1089 #define IDirect3DVolume8_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
1090 #define IDirect3DVolume8_FreePrivateData(p,a) (p)->FreePrivateData(a)
1091 #define IDirect3DVolume8_GetContainer(p,a,b) (p)->GetContainer(a,b)
1092 #define IDirect3DVolume8_GetDesc(p,a) (p)->GetDesc(a)
1093 #define IDirect3DVolume8_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
1094 #define IDirect3DVolume8_UnlockBox(p) (p)->UnlockBox()
1095 #endif
1096 
1097 /****************************************************************************
1098  * Flags for SetPrivateData method on all D3D8 interfaces
1099  *
1100  * The passed pointer is an IUnknown ptr. The SizeOfData argument to SetPrivateData
1101  * must be set to sizeof(IUnknown*). Direct3D will call AddRef through this
1102  * pointer and Release when the private data is destroyed. The data will be
1103  * destroyed when another SetPrivateData with the same GUID is set, when
1104  * FreePrivateData is called, or when the D3D8 object is freed.
1105  ****************************************************************************/
1106 #define D3DSPD_IUNKNOWN 0x00000001L
1107 
1108 /****************************************************************************
1109  *
1110  * Parameter for IDirect3D8 Enum and GetCaps8 functions to get the info for
1111  * the current mode only.
1112  *
1113  ****************************************************************************/
1114 
1115 #define D3DCURRENT_DISPLAY_MODE 0x00EFFFFFL
1116 
1117 /****************************************************************************
1118  *
1119  * Flags for IDirect3D8::CreateDevice's BehaviorFlags
1120  *
1121  ****************************************************************************/
1122 
1123 #define D3DCREATE_FPU_PRESERVE 0x00000002L
1124 #define D3DCREATE_MULTITHREADED 0x00000004L
1125 
1126 #define D3DCREATE_PUREDEVICE 0x00000010L
1127 #define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020L
1128 #define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040L
1129 #define D3DCREATE_MIXED_VERTEXPROCESSING 0x00000080L
1130 
1131 #define D3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100L
1132 
1133 
1134 /****************************************************************************
1135  *
1136  * Parameter for IDirect3D8::CreateDevice's iAdapter
1137  *
1138  ****************************************************************************/
1139 
1140 #define D3DADAPTER_DEFAULT 0
1141 
1142 /****************************************************************************
1143  *
1144  * Flags for IDirect3D8::EnumAdapters
1145  *
1146  ****************************************************************************/
1147 
1148 #define D3DENUM_NO_WHQL_LEVEL 0x00000002L
1149 
1150 /****************************************************************************
1151  *
1152  * Maximum number of back-buffers supported in DX8
1153  *
1154  ****************************************************************************/
1155 
1156 #define D3DPRESENT_BACK_BUFFERS_MAX 3L
1157 
1158 /****************************************************************************
1159  *
1160  * Flags for IDirect3DDevice8::SetGammaRamp
1161  *
1162  ****************************************************************************/
1163 
1164 #define D3DSGR_NO_CALIBRATION 0x00000000L
1165 #define D3DSGR_CALIBRATE 0x00000001L
1166 
1167 /****************************************************************************
1168  *
1169  * Flags for IDirect3DDevice8::SetCursorPosition
1170  *
1171  ****************************************************************************/
1172 
1173 #define D3DCURSOR_IMMEDIATE_UPDATE 0x00000001L
1174 
1175 /****************************************************************************
1176  *
1177  * Flags for DrawPrimitive/DrawIndexedPrimitive
1178  * Also valid for Begin/BeginIndexed
1179  * Also valid for VertexBuffer::CreateVertexBuffer
1180  ****************************************************************************/
1181 
1182 /*
1183  * DirectDraw error codes
1184  */
1185 #define _FACD3D 0x876
1186 #define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
1187 
1188 /*
1189  * Direct3D Errors
1190  */
1191 #define D3D_OK S_OK
1192 
1193 #define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
1194 #define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
1195 #define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
1196 #define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
1197 #define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
1198 #define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
1199 #define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
1200 #define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
1201 #define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
1202 #define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
1203 #define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
1204 #define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
1205 
1206 #define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
1207 #define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
1208 #define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
1209 #define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
1210 #define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
1211 #define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
1212 #define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
1213 #define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
1214 #define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
1215 
1216 #ifdef __cplusplus
1217 };
1218 #endif
1219 
1220 #endif /* (DIRECT3D_VERSION >= 0x0800) */
1221 
1222 #endif /* _D3D_H_ */
enum _D3DPOOL D3DPOOL
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
Definition: document.h:2010
struct IDirect3DSwapChain8 * PDIRECT3DSWAPCHAIN8
Definition: d3d8.h:541
enum _D3DPRIMITIVETYPE D3DPRIMITIVETYPE
Definition: d3d8types.h:166
struct IDirect3DDevice8 * LPDIRECT3DDEVICE8
Definition: d3d8.h:326
Definition: d3d8types.h:92
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
struct IDirect3DSurface8 * LPDIRECT3DSURFACE8
Definition: d3d8.h:1020
const char * pValue
Definition: jsonsax_full.h:952
Definition: d3d8types.h:77
Definition: d3d8types.h:1560
Definition: stb_vorbis.h:340
struct IDirect3D8 * PDIRECT3D8
Definition: d3d8.h:181
interface IDirect3DBaseTexture8 IDirect3DBaseTexture8
Definition: d3d8.h:123
struct IDirect3DSwapChain8 * LPDIRECT3DSWAPCHAIN8
Definition: d3d8.h:541
IDirect3D8 *WINAPI Direct3DCreate8(UINT SDKVersion)
struct IDirect3DVertexBuffer8 * LPDIRECT3DVERTEXBUFFER8
Definition: d3d8.h:907
struct IDirect3D8 * LPDIRECT3D8
Definition: d3d8.h:181
DEFINE_GUID(IID_ID3DXBuffer, 0x932e6a7e, 0xc68e, 0x45dd, 0xa7, 0xbf, 0x53, 0xd1, 0x9c, 0x86, 0xdb, 0x1f)
Definition: d3d8types.h:151
struct IDirect3DTexture8 * LPDIRECT3DTEXTURE8
Definition: d3d8.h:693
struct Token Token
struct IDirect3DVolumeTexture8 * LPDIRECT3DVOLUMETEXTURE8
Definition: d3d8.h:766
interface IDirect3DDevice8 IDirect3DDevice8
Definition: d3d8.h:121
struct IDirect3DTexture8 * PDIRECT3DTEXTURE8
Definition: d3d8.h:693
struct IDirect3DCubeTexture8 * PDIRECT3DCUBETEXTURE8
Definition: d3d8.h:839
struct IDirect3DSurface8 * PDIRECT3DSURFACE8
Definition: d3d8.h:1020
struct IDirect3DBaseTexture8 * LPDIRECT3DBASETEXTURE8
Definition: d3d8.h:630
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Public address Setting disk in tray You have left the game You have joined with input devices *s *s has joined as player u A netplay connection attempt failed because the peer is not running or is running an old version of RetroArch use the same version use the same version This core does not support inter architecture netplay Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Scan Content Import content Ask Block Frames نظام تشغيل الصوت Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control الصوت Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Cheat File Load Cheat File Cheat Passes Hardcore Mode Achievement Badges Locked Test Unofficial Achievements Unlocked Verbose Mode Config ملفات التكوين Collections Content Allow to remove entries Downloads Cheats Show core name Authors Core label Permissions System manufacturer Controls Options Start a Core Automatically Buildbot Cores URL Updater CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download Core DPI Override Enable أنظمة التشغيل Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Limit Maximum Run Speed Frontend Counters Create game options file مساعدة Changing Virtual Gamepad Overlay مساعدة Scanning For Content History List Enable Horizontal Menu معلومات Analog To Digital Type Left Analog X Left analog Left Analog Y Left analog Y(down)") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X
enum _D3DRESOURCETYPE D3DRESOURCETYPE
enum _D3DDEVTYPE D3DDEVTYPE
enum _D3DCUBEMAP_FACES D3DCUBEMAP_FACES
interface IDirect3DSwapChain8 IDirect3DSwapChain8
Definition: d3d8.h:131
Definition: d3d8types.h:1321
enum _D3DFORMAT D3DFORMAT
struct IDirect3DVolume8 * LPDIRECT3DVOLUME8
Definition: d3d8.h:1069
interface IDirect3DIndexBuffer8 IDirect3DIndexBuffer8
Definition: d3d8.h:128
Definition: d3d8types.h:1479
interface IDirect3DTexture8 IDirect3DTexture8
Definition: d3d8.h:124
struct IDirect3DIndexBuffer8 * PDIRECT3DINDEXBUFFER8
Definition: d3d8.h:965
struct IDirect3DVertexBuffer8 * PDIRECT3DVERTEXBUFFER8
Definition: d3d8.h:907
interface IDirect3DVolume8 IDirect3DVolume8
Definition: d3d8.h:130
DECLARE_INTERFACE_(IDirect3D8, IUnknown)
Definition: d3d8.h:158
DWORD D3DCOLOR
Definition: d3d8types.h:32
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Public address Setting disk in tray You have left the game You have joined with input devices *s *s has joined as player u A netplay connection attempt failed because the peer is not running or is running an old version of RetroArch use the same version use the same version This core does not support inter architecture netplay Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Scan Content Import content Ask Block Frames نظام تشغيل الصوت Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control الصوت Audio Volume Level(dB)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_AUDIO_WASAPI_EXCLUSIVE_MODE
enum _D3DSTATEBLOCKTYPE D3DSTATEBLOCKTYPE
struct IDirect3DResource8 * PDIRECT3DRESOURCE8
Definition: d3d8.h:578
struct IDirect3DVolume8 * PDIRECT3DVOLUME8
Definition: d3d8.h:1069
Definition: d3d8types.h:1387
DECLARE_HANDLE(HMONITOR)
Definition: d3d8types.h:67
std::pair< Type, bool > State
Definition: spirv_reflect.cpp:33
Definition: d3d8types.h:1312
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
unsigned int BOOL
Definition: gctypes.h:51
struct IDirect3DBaseTexture8 * PDIRECT3DBASETEXTURE8
Definition: d3d8.h:630
Stage
Definition: glslang.hpp:10
interface IDirect3DVolumeTexture8 IDirect3DVolumeTexture8
Definition: d3d8.h:125
Definition: d3d8types.h:1506
Definition: d3d8types.h:146
Definition: d3d8types.h:1468
enum _D3DMULTISAMPLE_TYPE D3DMULTISAMPLE_TYPE
static UINT SDKVersion
Definition: d3d8_common.c:42
Format
Definition: vulkan.hpp:7957
interface IDirect3DResource8 IDirect3DResource8
Definition: d3d8.h:122
Definition: glslang_tab.cpp:136
Definition: d3d8types.h:1358
#define X(a, b)
Definition: bba.c:185
struct IDirect3DResource8 * LPDIRECT3DRESOURCE8
Definition: d3d8.h:578
interface IDirect3DCubeTexture8 IDirect3DCubeTexture8
Definition: d3d8.h:126
Definition: glslang_tab.cpp:133
enum _D3DRENDERSTATETYPE D3DRENDERSTATETYPE
Definition: d3d8types.h:1549
Definition: d3d8caps.h:24
interface IDirect3DSurface8 IDirect3DSurface8
Definition: d3d8.h:129
Type
Type of JSON value.
Definition: rapidjson.h:603
Definition: d3d8types.h:1523
struct IDirect3DIndexBuffer8 * LPDIRECT3DINDEXBUFFER8
Definition: d3d8.h:965
interface IDirect3D8 IDirect3D8
Definition: d3d8.h:120
struct IDirect3DDevice8 * PDIRECT3DDEVICE8
Definition: d3d8.h:326
Definition: d3d8types.h:1492
Definition: d3d8types.h:1455
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
interface IDirect3DVertexBuffer8 IDirect3DVertexBuffer8
Definition: d3d8.h:127
enum _D3DBACKBUFFER_TYPE D3DBACKBUFFER_TYPE
struct IDirect3DCubeTexture8 * LPDIRECT3DCUBETEXTURE8
Definition: d3d8.h:839
Definition: d3d8types.h:1585
struct IDirect3DVolumeTexture8 * PDIRECT3DVOLUMETEXTURE8
Definition: d3d8.h:766
Definition: d3d8types.h:1538
Definition: d3d8types.h:1513