ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

d3d9.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2002-2003 Jason Edmeades
00003  *                         Raphael Junqueira
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2.1 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Lesser General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00018  */
00019 
00020 #ifndef __WINE_D3D9_H
00021 #define __WINE_D3D9_H
00022 
00023 #ifndef DIRECT3D_VERSION
00024 #define DIRECT3D_VERSION  0x0900
00025 #endif
00026 
00027 #include <stdlib.h>
00028 
00029 #define COM_NO_WINDOWS_H
00030 #include <objbase.h>
00031 
00032 #ifndef __WINESRC__
00033 # include <windows.h>
00034 #endif
00035 
00036 #include <d3d9types.h>
00037 #include <d3d9caps.h>
00038 
00039 /*****************************************************************************
00040  * Behavior Flags for IDirect3D8::CreateDevice
00041  */
00042 #define D3DCREATE_FPU_PRESERVE                  0x00000002L
00043 #define D3DCREATE_MULTITHREADED                 0x00000004L
00044 #define D3DCREATE_PUREDEVICE                    0x00000010L
00045 #define D3DCREATE_SOFTWARE_VERTEXPROCESSING     0x00000020L
00046 #define D3DCREATE_HARDWARE_VERTEXPROCESSING     0x00000040L
00047 #define D3DCREATE_MIXED_VERTEXPROCESSING        0x00000080L
00048 #define D3DCREATE_DISABLE_DRIVER_MANAGEMENT     0x00000100L
00049 #define D3DCREATE_ADAPTERGROUP_DEVICE           0x00000200L
00050 
00051 /*****************************************************************************
00052  * Flags for SetPrivateData
00053  */
00054 #define D3DSPD_IUNKNOWN                         0x00000001L
00055 
00056 
00057 /*****************************************************************************
00058  * #defines and error codes
00059  */
00060 #ifdef D3D_DEBUG_INFO
00061 #define D3D_SDK_VERSION                         (32 | 0x80000000L)
00062 #define D3D9b_SDK_VERSION                       (31 | 0x80000000L)
00063 #else
00064 #define D3D_SDK_VERSION                         32
00065 #define D3D9b_SDK_VERSION                       31
00066 #endif
00067 
00068 #define D3DADAPTER_DEFAULT                      0
00069 #define D3DENUM_WHQL_LEVEL                      0x00000002L
00070 #define D3DENUM_NO_WHQL_LEVEL                   0x00000002L
00071 #define D3DPRESENT_BACK_BUFFERS_MAX             3L
00072 #define D3DSGR_NO_CALIBRATION                   0x00000000L
00073 #define D3DSGR_CALIBRATE                        0x00000001L
00074 
00075 #define _FACD3D  0x876
00076 #define MAKE_D3DHRESULT( code )                 MAKE_HRESULT( 1, _FACD3D, code )
00077 #define MAKE_D3DSTATUS( code )                  MAKE_HRESULT( 0, _FACD3D, code )
00078 
00079 /*****************************************************************************
00080  * Direct3D Errors
00081  */
00082 #define D3D_OK                                  S_OK
00083 #define D3DERR_WRONGTEXTUREFORMAT               MAKE_D3DHRESULT(2072)
00084 #define D3DERR_UNSUPPORTEDCOLOROPERATION        MAKE_D3DHRESULT(2073)
00085 #define D3DERR_UNSUPPORTEDCOLORARG              MAKE_D3DHRESULT(2074)
00086 #define D3DERR_UNSUPPORTEDALPHAOPERATION        MAKE_D3DHRESULT(2075)
00087 #define D3DERR_UNSUPPORTEDALPHAARG              MAKE_D3DHRESULT(2076)
00088 #define D3DERR_TOOMANYOPERATIONS                MAKE_D3DHRESULT(2077)
00089 #define D3DERR_CONFLICTINGTEXTUREFILTER         MAKE_D3DHRESULT(2078)
00090 #define D3DERR_UNSUPPORTEDFACTORVALUE           MAKE_D3DHRESULT(2079)
00091 #define D3DERR_CONFLICTINGRENDERSTATE           MAKE_D3DHRESULT(2081)
00092 #define D3DERR_UNSUPPORTEDTEXTUREFILTER         MAKE_D3DHRESULT(2082)
00093 #define D3DERR_CONFLICTINGTEXTUREPALETTE        MAKE_D3DHRESULT(2086)
00094 #define D3DERR_DRIVERINTERNALERROR              MAKE_D3DHRESULT(2087)
00095 #define D3DERR_NOTFOUND                         MAKE_D3DHRESULT(2150)
00096 #define D3DERR_MOREDATA                         MAKE_D3DHRESULT(2151)
00097 #define D3DERR_DEVICELOST                       MAKE_D3DHRESULT(2152)
00098 #define D3DERR_DEVICENOTRESET                   MAKE_D3DHRESULT(2153)
00099 #define D3DERR_NOTAVAILABLE                     MAKE_D3DHRESULT(2154)
00100 #define D3DERR_OUTOFVIDEOMEMORY                 MAKE_D3DHRESULT(380)
00101 #define D3DERR_INVALIDDEVICE                    MAKE_D3DHRESULT(2155)
00102 #define D3DERR_INVALIDCALL                      MAKE_D3DHRESULT(2156)
00103 #define D3DERR_DRIVERINVALIDCALL                MAKE_D3DHRESULT(2157)
00104 #define D3DERR_WASSTILLDRAWING                  MAKE_D3DHRESULT(540)
00105 #define D3DOK_NOAUTOGEN                         MAKE_D3DSTATUS(2159)
00106 
00107 
00108 /*****************************************************************************
00109  * Predeclare the interfaces
00110  */
00111 DEFINE_GUID(IID_IDirect3D9,                   0x81BDCBCA, 0x64D4, 0x426D, 0xAE, 0x8D, 0xAD, 0x1, 0x47, 0xF4, 0x27, 0x5C);
00112 typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9;
00113 
00114 DEFINE_GUID(IID_IDirect3D9Ex,                 0x02177241, 0x69FC, 0x400C, 0x8F, 0xF1, 0x93, 0xA4, 0x4D, 0xF6, 0x86, 0x1D);
00115 typedef struct IDirect3D9Ex *LPDIRECT3D9EX, *PDIRECT3D9EX;
00116 
00117 DEFINE_GUID(IID_IDirect3DDevice9,             0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb);
00118 typedef struct IDirect3DDevice9 *LPDIRECT3DDEVICE9;
00119 
00120 DEFINE_GUID(IID_IDirect3DDevice9Ex,           0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a);
00121 typedef struct IDirect3DDevice9Ex *LPDIRECT3DDEVICE9EX, *PDIRECT3DDEVICE9EX;
00122 
00123 DEFINE_GUID(IID_IDirect3DResource9,           0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4);
00124 typedef struct IDirect3DResource9 *LPDIRECT3DRESOURCE9, *PDIRECT3DRESOURCE9;
00125 
00126 DEFINE_GUID(IID_IDirect3DVertexBuffer9,       0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3);
00127 typedef struct IDirect3DVertexBuffer9 *LPDIRECT3DVERTEXBUFFER9, *PDIRECT3DVERTEXBUFFER9;
00128 
00129 DEFINE_GUID(IID_IDirect3DVolume9,             0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1);
00130 typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9;
00131 
00132 DEFINE_GUID(IID_IDirect3DSwapChain9,          0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b);
00133 typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9;
00134 
00135 DEFINE_GUID(IID_IDirect3DSurface9,            0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b);
00136 typedef struct IDirect3DSurface9 *LPDIRECT3DSURFACE9, *PDIRECT3DSURFACE9;
00137 
00138 DEFINE_GUID(IID_IDirect3DIndexBuffer9,        0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35);
00139 typedef struct IDirect3DIndexBuffer9 *LPDIRECT3DINDEXBUFFER9, *PDIRECT3DINDEXBUFFER9;
00140 
00141 DEFINE_GUID(IID_IDirect3DBaseTexture9,        0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce);
00142 typedef struct IDirect3DBaseTexture9 *LPDIRECT3DBASETEXTURE9, *PDIRECT3DBASETEXTURE9;
00143 
00144 DEFINE_GUID(IID_IDirect3DTexture9,            0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5);
00145 typedef struct IDirect3DTexture9 *LPDIRECT3DTEXTURE9, *PDIRECT3DTEXTURE9;
00146 
00147 DEFINE_GUID(IID_IDirect3DCubeTexture9,        0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f);
00148 typedef struct IDirect3DCubeTexture9 *LPDIRECT3DCUBETEXTURE9, *PDIRECT3DCUBETEXTURE9;
00149 
00150 DEFINE_GUID(IID_IDirect3DVolumeTexture9,      0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6);
00151 typedef struct IDirect3DVolumeTexture9 *LPDIRECT3DVOLUMETEXTURE9, *PDIRECT3DVOLUMETEXTURE9;
00152 
00153 DEFINE_GUID(IID_IDirect3DVertexDeclaration9,  0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46);
00154 typedef struct IDirect3DVertexDeclaration9 *LPDIRECT3DVERTEXDECLARATION9;
00155 
00156 DEFINE_GUID(IID_IDirect3DVertexShader9,       0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36);
00157 typedef struct IDirect3DVertexShader9 *LPDIRECT3DVERTEXSHADER9;
00158 
00159 DEFINE_GUID(IID_IDirect3DPixelShader9,        0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89);
00160 typedef struct IDirect3DPixelShader9 *LPDIRECT3DPIXELSHADER9;
00161 
00162 DEFINE_GUID(IID_IDirect3DStateBlock9,         0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b);
00163 typedef struct IDirect3DStateBlock9 *LPDIRECT3DSTATEBLOCK9;
00164 
00165 DEFINE_GUID(IID_IDirect3DQuery9,              0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc);
00166 typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9;
00167 
00168 /*****************************************************************************
00169  * IDirect3D9 interface
00170  */
00171 #define INTERFACE IDirect3D9
00172 DECLARE_INTERFACE_(IDirect3D9,IUnknown)
00173 {
00174     /*** IUnknown methods ***/
00175     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00176     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00177     STDMETHOD_(ULONG,Release)(THIS) PURE;
00178     /*** IDirect3D9 methods ***/
00179     STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
00180     STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
00181     STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
00182     STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;
00183     STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode) PURE;
00184     STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE* pMode) PURE;
00185     STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter, D3DDEVTYPE DevType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) PURE;
00186     STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE;
00187     STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels) PURE;
00188     STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
00189     STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat) PURE;
00190     STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) PURE;
00191     STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
00192     STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
00193 
00194 #ifdef D3D_DEBUG_INFO
00195     LPCWSTR Version;
00196 #endif
00197 
00198 };
00199 #undef INTERFACE
00200 
00201 #if !defined(__cplusplus) || defined(CINTERFACE)
00202 /*** IUnknown methods ***/
00203 #define IDirect3D9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
00204 #define IDirect3D9_AddRef(p)             (p)->lpVtbl->AddRef(p)
00205 #define IDirect3D9_Release(p)            (p)->lpVtbl->Release(p)
00206 /*** IDirect3D9 methods ***/
00207 #define IDirect3D9_RegisterSoftwareDevice(p,a)                (p)->lpVtbl->RegisterSoftwareDevice(p,a)
00208 #define IDirect3D9_GetAdapterCount(p)                         (p)->lpVtbl->GetAdapterCount(p)
00209 #define IDirect3D9_GetAdapterIdentifier(p,a,b,c)              (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
00210 #define IDirect3D9_GetAdapterModeCount(p,a,b)                 (p)->lpVtbl->GetAdapterModeCount(p,a,b)
00211 #define IDirect3D9_EnumAdapterModes(p,a,b,c,d)                (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
00212 #define IDirect3D9_GetAdapterDisplayMode(p,a,b)               (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
00213 #define IDirect3D9_CheckDeviceType(p,a,b,c,d,e)               (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
00214 #define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f)           (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
00215 #define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f)  (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
00216 #define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e)        (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
00217 #define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d)     (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
00218 #define IDirect3D9_GetDeviceCaps(p,a,b,c)                     (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
00219 #define IDirect3D9_GetAdapterMonitor(p,a)                     (p)->lpVtbl->GetAdapterMonitor(p,a)
00220 #define IDirect3D9_CreateDevice(p,a,b,c,d,e,f)                (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
00221 #else
00222 /*** IUnknown methods ***/
00223 #define IDirect3D9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
00224 #define IDirect3D9_AddRef(p)             (p)->AddRef()
00225 #define IDirect3D9_Release(p)            (p)->Release()
00226 /*** IDirect3D9 methods ***/
00227 #define IDirect3D9_RegisterSoftwareDevice(p,a)                (p)->RegisterSoftwareDevice(a)
00228 #define IDirect3D9_GetAdapterCount(p)                         (p)->GetAdapterCount()
00229 #define IDirect3D9_GetAdapterIdentifier(p,a,b,c)              (p)->GetAdapterIdentifier(a,b,c)
00230 #define IDirect3D9_GetAdapterModeCount(p,a,b)                 (p)->GetAdapterModeCount(a,b)
00231 #define IDirect3D9_EnumAdapterModes(p,a,b,c,d)                (p)->EnumAdapterModes(a,b,c,d)
00232 #define IDirect3D9_GetAdapterDisplayMode(p,a,b)               (p)->GetAdapterDisplayMode(a,b)
00233 #define IDirect3D9_CheckDeviceType(p,a,b,c,d,e)               (p)->CheckDeviceType(a,b,c,d,e)
00234 #define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f)           (p)->CheckDeviceFormat(a,b,c,d,e,f)
00235 #define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f)  (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
00236 #define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e)        (p)->CheckDepthStencilMatch(a,b,c,d,e)
00237 #define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d)     (p)->CheckDeviceFormatConversion(a,b,c,d)
00238 #define IDirect3D9_GetDeviceCaps(p,a,b,c)                     (p)->GetDeviceCaps(a,b,c)
00239 #define IDirect3D9_GetAdapterMonitor(p,a)                     (p)->GetAdapterMonitor(a)
00240 #define IDirect3D9_CreateDevice(p,a,b,c,d,e,f)                (p)->CreateDevice(a,b,c,d,e,f)
00241 #endif
00242 
00243 /*****************************************************************************
00244  * IDirect3D9Ex interface
00245  */
00246 #define INTERFACE IDirect3D9Ex
00247 DECLARE_INTERFACE_(IDirect3D9Ex,IDirect3D9)
00248 {
00249     /*** IUnknown methods ***/
00250     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00251     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00252     STDMETHOD_(ULONG,Release)(THIS) PURE;
00253     /*** IDirect3D9 methods ***/
00254     STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
00255     STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE;
00256     STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE;
00257     STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE;
00258     STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode) PURE;
00259     STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE* pMode) PURE;
00260     STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter, D3DDEVTYPE DevType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) PURE;
00261     STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE;
00262     STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels) PURE;
00263     STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE;
00264     STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat) PURE;
00265     STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) PURE;
00266     STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
00267     STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, struct IDirect3DDevice9** ppReturnedDeviceInterface) PURE;
00268     /*** IDirect3D9Ex methods ***/
00269     STDMETHOD_(UINT, GetAdapterModeCountEx)(THIS_ UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter) PURE;
00270     STDMETHOD(EnumAdapterModesEx)(THIS_ UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter, UINT Mode, D3DDISPLAYMODEEX* pMode) PURE;
00271     STDMETHOD(GetAdapterDisplayModeEx)(THIS_ UINT Adapter, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation);
00272     STDMETHOD(CreateDeviceEx)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode, struct IDirect3DDevice9Ex **ppReturnedDeviceInterface) PURE;
00273     STDMETHOD(GetAdapterLUID)(THIS_ UINT Adatper, LUID *pLUID) PURE;
00274 };
00275 #undef INTERFACE
00276 
00277 #if !defined(__cplusplus) || defined(CINTERFACE)
00278 /*** IUnknown methods ***/
00279 #define IDirect3D9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
00280 #define IDirect3D9Ex_AddRef(p)             (p)->lpVtbl->AddRef(p)
00281 #define IDirect3D9Ex_Release(p)            (p)->lpVtbl->Release(p)
00282 /*** IDirect3D9 methods ***/
00283 #define IDirect3D9Ex_RegisterSoftwareDevice(p,a)                (p)->lpVtbl->RegisterSoftwareDevice(p,a)
00284 #define IDirect3D9Ex_GetAdapterCount(p)                         (p)->lpVtbl->GetAdapterCount(p)
00285 #define IDirect3D9Ex_GetAdapterIdentifier(p,a,b,c)              (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
00286 #define IDirect3D9Ex_GetAdapterModeCount(p,a,b)                 (p)->lpVtbl->GetAdapterModeCount(p,a,b)
00287 #define IDirect3D9Ex_EnumAdapterModes(p,a,b,c,d)                (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
00288 #define IDirect3D9Ex_GetAdapterDisplayMode(p,a,b)               (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
00289 #define IDirect3D9Ex_CheckDeviceType(p,a,b,c,d,e)               (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
00290 #define IDirect3D9Ex_CheckDeviceFormat(p,a,b,c,d,e,f)           (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
00291 #define IDirect3D9Ex_CheckDeviceMultiSampleType(p,a,b,c,d,e,f)  (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
00292 #define IDirect3D9Ex_CheckDepthStencilMatch(p,a,b,c,d,e)        (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
00293 #define IDirect3D9Ex_CheckDeviceFormatConversion(p,a,b,c,d)     (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
00294 #define IDirect3D9Ex_GetDeviceCaps(p,a,b,c)                     (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
00295 #define IDirect3D9Ex_GetAdapterMonitor(p,a)                     (p)->lpVtbl->GetAdapterMonitor(p,a)
00296 #define IDirect3D9Ex_CreateDevice(p,a,b,c,d,e,f)                (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
00297 /*** IDirect3D9Ex methods ***/
00298 #define IDirect3D9Ex_GetAdapterModeCountEx(p,a,b)               (p)->lpVtbl->GetAdapterModeCountEx(p,a,b)
00299 #define IDirect3D9Ex_EnumAdapterModesEx(p,a,b,c,d)              (p)->lpVtbl->EnumAdapterModesEx(p,a,b,c,d)
00300 #define IDirect3D9Ex_GetAdapterDisplayModeEx(p,a,b,c)           (p)->lpVtbl->GetAdapterDisplayModeEx(p,a,b,c)
00301 #define IDirect3D9Ex_CreateDeviceEx(p,a,b,c,d,e,f,g)            (p)->lpVtbl->CreateDeviceEx(p,a,b,c,d,e,f,g)
00302 #define IDirect3D9Ex_GetAdapterLUID(p,a,b)                      (p)->lpVtbl->GetAdapterLUID(p,a,b)
00303 #else
00304 /*** IUnknown methods ***/
00305 #define IDirect3D9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
00306 #define IDirect3D9Ex_AddRef(p)             (p)->AddRef()
00307 #define IDirect3D9Ex_Release(p)            (p)->Release()
00308 /*** IDirect3D9 methods ***/
00309 #define IDirect3D9Ex_RegisterSoftwareDevice(p,a)                (p)->RegisterSoftwareDevice(a)
00310 #define IDirect3D9Ex_GetAdapterCount(p)                         (p)->GetAdapterCount()
00311 #define IDirect3D9Ex_GetAdapterIdentifier(p,a,b,c)              (p)->GetAdapterIdentifier(a,b,c)
00312 #define IDirect3D9Ex_GetAdapterModeCount(p,a,b)                 (p)->GetAdapterModeCount(a,b)
00313 #define IDirect3D9Ex_EnumAdapterModes(p,a,b,c,d)                (p)->EnumAdapterModes(a,b,c,d)
00314 #define IDirect3D9Ex_GetAdapterDisplayMode(p,a,b)               (p)->GetAdapterDisplayMode(a,b)
00315 #define IDirect3D9Ex_CheckDeviceType(p,a,b,c,d,e)               (p)->CheckDeviceType(a,b,c,d,e)
00316 #define IDirect3D9Ex_CheckDeviceFormat(p,a,b,c,d,e,f)           (p)->CheckDeviceFormat(a,b,c,d,e,f)
00317 #define IDirect3D9Ex_CheckDeviceMultiSampleType(p,a,b,c,d,e,f)  (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
00318 #define IDirect3D9Ex_CheckDepthStencilMatch(p,a,b,c,d,e)        (p)->CheckDepthStencilMatch(a,b,c,d,e)
00319 #define IDirect3D9Ex_CheckDeviceFormatConversion(p,a,b,c,d)     (p)->CheckDeviceFormatConversion(a,b,c,d)
00320 #define IDirect3D9Ex_GetDeviceCaps(p,a,b,c)                     (p)->GetDeviceCaps(a,b,c)
00321 #define IDirect3D9Ex_GetAdapterMonitor(p,a)                     (p)->GetAdapterMonitor(a)
00322 #define IDirect3D9Ex_CreateDevice(p,a,b,c,d,e,f)                (p)->CreateDevice(a,b,c,d,e,f)
00323 #endif
00324 
00325 /*****************************************************************************
00326  * IDirect3DVolume9 interface
00327  */
00328 #define INTERFACE IDirect3DVolume9
00329 DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown)
00330 {
00331     /*** IUnknown methods ***/
00332     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00333     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00334     STDMETHOD_(ULONG,Release)(THIS) PURE;
00335     /*** IDirect3DVolume9 methods ***/
00336     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00337     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00338     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00339     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00340     STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
00341     STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC* pDesc) PURE;
00342     STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE;
00343     STDMETHOD(UnlockBox)(THIS) PURE;
00344 };
00345 #undef INTERFACE
00346 
00347 #if !defined(__cplusplus) || defined(CINTERFACE)
00348 /*** IUnknown methods ***/
00349 #define IDirect3DVolume9_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
00350 #define IDirect3DVolume9_AddRef(p)                    (p)->lpVtbl->AddRef(p)
00351 #define IDirect3DVolume9_Release(p)                   (p)->lpVtbl->Release(p)
00352 /*** IDirect3DVolume9 methods ***/
00353 #define IDirect3DVolume9_GetDevice(p,a)               (p)->lpVtbl->GetDevice(p,a)
00354 #define IDirect3DVolume9_SetPrivateData(p,a,b,c,d)    (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00355 #define IDirect3DVolume9_GetPrivateData(p,a,b,c)      (p)->lpVtbl->GetPrivateData(p,a,b,c)
00356 #define IDirect3DVolume9_FreePrivateData(p,a)         (p)->lpVtbl->FreePrivateData(p,a)
00357 #define IDirect3DVolume9_GetContainer(p,a,b)          (p)->lpVtbl->GetContainer(p,a,b)
00358 #define IDirect3DVolume9_GetDesc(p,a)                 (p)->lpVtbl->GetDesc(p,a)
00359 #define IDirect3DVolume9_LockBox(p,a,b,c)             (p)->lpVtbl->LockBox(p,a,b,c)
00360 #define IDirect3DVolume9_UnlockBox(p)                 (p)->lpVtbl->UnlockBox(p)
00361 #else
00362 /*** IUnknown methods ***/
00363 #define IDirect3DVolume9_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)
00364 #define IDirect3DVolume9_AddRef(p)                    (p)->AddRef()
00365 #define IDirect3DVolume9_Release(p)                   (p)->Release()
00366 /*** IDirect3DVolume9 methods ***/
00367 #define IDirect3DVolume9_GetDevice(p,a)               (p)->GetDevice(a)
00368 #define IDirect3DVolume9_SetPrivateData(p,a,b,c,d)    (p)->SetPrivateData(a,b,c,d)
00369 #define IDirect3DVolume9_GetPrivateData(p,a,b,c)      (p)->GetPrivateData(a,b,c)
00370 #define IDirect3DVolume9_FreePrivateData(p,a)         (p)->FreePrivateData(a)
00371 #define IDirect3DVolume9_GetContainer(p,a,b)          (p)->GetContainer(a,b)
00372 #define IDirect3DVolume9_GetDesc(p,a)                 (p)->GetDesc(a)
00373 #define IDirect3DVolume9_LockBox(p,a,b,c)             (p)->LockBox(a,b,c)
00374 #define IDirect3DVolume9_UnlockBox(p)                 (p)->UnlockBox()
00375 #endif
00376 
00377 /*****************************************************************************
00378  * IDirect3DSwapChain9 interface
00379  */
00380 #define INTERFACE IDirect3DSwapChain9
00381 DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
00382 {
00383     /*** IUnknown methods ***/
00384     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00385     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00386     STDMETHOD_(ULONG,Release)(THIS) PURE;
00387     /*** IDirect3DSwapChain9 methods ***/
00388     STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion, DWORD dwFlags) PURE;
00389     STDMETHOD(GetFrontBufferData)(THIS_ struct IDirect3DSurface9* pDestSurface) PURE;
00390     STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, struct IDirect3DSurface9** ppBackBuffer) PURE;
00391     STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS* pRasterStatus) PURE;
00392     STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE* pMode) PURE;
00393     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00394     STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
00395 };
00396 #undef INTERFACE
00397 
00398 #if !defined(__cplusplus) || defined(CINTERFACE)
00399 /*** IUnknown methods ***/
00400 #define IDirect3DSwapChain9_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
00401 #define IDirect3DSwapChain9_AddRef(p)                    (p)->lpVtbl->AddRef(p)
00402 #define IDirect3DSwapChain9_Release(p)                   (p)->lpVtbl->Release(p)
00403 /*** IDirect3DSwapChain9 methods ***/
00404 #define IDirect3DSwapChain9_Present(p,a,b,c,d,e)         (p)->lpVtbl->Present(p,a,b,c,d,e)
00405 #define IDirect3DSwapChain9_GetFrontBufferData(p,a)      (p)->lpVtbl->GetFrontBufferData(p,a)
00406 #define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c)       (p)->lpVtbl->GetBackBuffer(p,a,b,c)
00407 #define IDirect3DSwapChain9_GetRasterStatus(p,a)         (p)->lpVtbl->GetRasterStatus(p,a)
00408 #define IDirect3DSwapChain9_GetDisplayMode(p,a)          (p)->lpVtbl->GetDisplayMode(p,a)
00409 #define IDirect3DSwapChain9_GetDevice(p,a)               (p)->lpVtbl->GetDevice(p,a)
00410 #define IDirect3DSwapChain9_GetPresentParameters(p,a)    (p)->lpVtbl->GetPresentParameters(p,a)
00411 #else
00412 /*** IUnknown methods ***/
00413 #define IDirect3DSwapChain9_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)
00414 #define IDirect3DSwapChain9_AddRef(p)                    (p)->AddRef()
00415 #define IDirect3DSwapChain9_Release(p)                   (p)->Release()
00416 /*** IDirect3DSwapChain9 methods ***/
00417 #define IDirect3DSwapChain9_Present(p,a,b,c,d,e)         (p)->Present(a,b,c,d,e)
00418 #define IDirect3DSwapChain9_GetFrontBufferData(p,a)      (p)->GetFrontBufferData(a)
00419 #define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c)       (p)->GetBackBuffer(a,b,c)
00420 #define IDirect3DSwapChain9_GetRasterStatus(p,a)         (p)->GetRasterStatus(a)
00421 #define IDirect3DSwapChain9_GetDisplayMode(p,a)          (p)->GetDisplayMode(a)
00422 #define IDirect3DSwapChain9_GetDevice(p,a)               (p)->GetDevice(a)
00423 #define IDirect3DSwapChain9_GetPresentParameters(p,a)    (p)->GetPresentParameters(a)
00424 #endif
00425 
00426 /*****************************************************************************
00427  * IDirect3DResource9 interface
00428  */
00429 #define INTERFACE IDirect3DResource9
00430 DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
00431 {
00432     /*** IUnknown methods ***/
00433     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00434     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00435     STDMETHOD_(ULONG,Release)(THIS) PURE;
00436     /*** IDirect3DResource9 methods ***/
00437     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00438     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00439     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00440     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00441     STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
00442     STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
00443     STDMETHOD_(void, PreLoad)(THIS) PURE;
00444     STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
00445 };
00446 #undef INTERFACE
00447 
00448 #if !defined(__cplusplus) || defined(CINTERFACE)
00449 /*** IUnknown methods ***/
00450 #define IDirect3DResource9_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
00451 #define IDirect3DResource9_AddRef(p)                    (p)->lpVtbl->AddRef(p)
00452 #define IDirect3DResource9_Release(p)                   (p)->lpVtbl->Release(p)
00453 /*** IDirect3DResource9 methods ***/
00454 #define IDirect3DResource9_GetDevice(p,a)               (p)->lpVtbl->GetDevice(p,a)
00455 #define IDirect3DResource9_SetPrivateData(p,a,b,c,d)    (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00456 #define IDirect3DResource9_GetPrivateData(p,a,b,c)      (p)->lpVtbl->GetPrivateData(p,a,b,c)
00457 #define IDirect3DResource9_FreePrivateData(p,a)         (p)->lpVtbl->FreePrivateData(p,a)
00458 #define IDirect3DResource9_SetPriority(p,a)             (p)->lpVtbl->SetPriority(p,a)
00459 #define IDirect3DResource9_GetPriority(p)               (p)->lpVtbl->GetPriority(p)
00460 #define IDirect3DResource9_PreLoad(p)                   (p)->lpVtbl->PreLoad(p)
00461 #define IDirect3DResource9_GetType(p)                   (p)->lpVtbl->GetType(p)
00462 #else
00463 /*** IUnknown methods ***/
00464 #define IDirect3DResource9_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)
00465 #define IDirect3DResource9_AddRef(p)                    (p)->AddRef()
00466 #define IDirect3DResource9_Release(p)                   (p)->Release()
00467 /*** IDirect3DResource9 methods ***/
00468 #define IDirect3DResource9_GetDevice(p,a)               (p)->GetDevice(a)
00469 #define IDirect3DResource9_SetPrivateData(p,a,b,c,d)    (p)->SetPrivateData(a,b,c,d)
00470 #define IDirect3DResource9_GetPrivateData(p,a,b,c)      (p)->GetPrivateData(a,b,c)
00471 #define IDirect3DResource9_FreePrivateData(p,a)         (p)->FreePrivateData(a)
00472 #define IDirect3DResource9_SetPriority(p,a)             (p)->SetPriority(a)
00473 #define IDirect3DResource9_GetPriority(p)               (p)->GetPriority()
00474 #define IDirect3DResource9_PreLoad(p)                   (p)->PreLoad()
00475 #define IDirect3DResource9_GetType(p)                   (p)->GetType()
00476 #endif
00477 
00478 /*****************************************************************************
00479  * IDirect3DSurface9 interface
00480  */
00481 #define INTERFACE IDirect3DSurface9
00482 DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9)
00483 {
00484     /*** IUnknown methods ***/
00485     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00486     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00487     STDMETHOD_(ULONG,Release)(THIS) PURE;
00488     /*** IDirect3DResource9 methods ***/
00489     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00490     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00491     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00492     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00493     STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
00494     STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
00495     STDMETHOD_(void, PreLoad)(THIS) PURE;
00496     STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
00497     /*** IDirect3DSurface9 methods ***/
00498     STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE;
00499     STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC* pDesc) PURE;
00500     STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
00501     STDMETHOD(UnlockRect)(THIS) PURE;
00502     STDMETHOD(GetDC)(THIS_ HDC* phdc) PURE;
00503     STDMETHOD(ReleaseDC)(THIS_ HDC hdc) PURE;
00504 };
00505 #undef INTERFACE
00506 
00507 #if !defined(__cplusplus) || defined(CINTERFACE)
00508 /*** IUnknown methods ***/
00509 #define IDirect3DSurface9_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
00510 #define IDirect3DSurface9_AddRef(p)                    (p)->lpVtbl->AddRef(p)
00511 #define IDirect3DSurface9_Release(p)                   (p)->lpVtbl->Release(p)
00512 /*** IDirect3DSurface9 methods: IDirect3DResource9 ***/
00513 #define IDirect3DSurface9_GetDevice(p,a)               (p)->lpVtbl->GetDevice(p,a)
00514 #define IDirect3DSurface9_SetPrivateData(p,a,b,c,d)    (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00515 #define IDirect3DSurface9_GetPrivateData(p,a,b,c)      (p)->lpVtbl->GetPrivateData(p,a,b,c)
00516 #define IDirect3DSurface9_FreePrivateData(p,a)         (p)->lpVtbl->FreePrivateData(p,a)
00517 #define IDirect3DSurface9_SetPriority(p,a)             (p)->lpVtbl->SetPriority(p,a)
00518 #define IDirect3DSurface9_GetPriority(p)               (p)->lpVtbl->GetPriority(p)
00519 #define IDirect3DSurface9_PreLoad(p)                   (p)->lpVtbl->PreLoad(p)
00520 #define IDirect3DSurface9_GetType(p)                   (p)->lpVtbl->GetType(p)
00521 /*** IDirect3DSurface9 methods ***/
00522 #define IDirect3DSurface9_GetContainer(p,a,b)          (p)->lpVtbl->GetContainer(p,a,b)
00523 #define IDirect3DSurface9_GetDesc(p,a)                 (p)->lpVtbl->GetDesc(p,a)
00524 #define IDirect3DSurface9_LockRect(p,a,b,c)            (p)->lpVtbl->LockRect(p,a,b,c)
00525 #define IDirect3DSurface9_UnlockRect(p)                (p)->lpVtbl->UnlockRect(p)
00526 #define IDirect3DSurface9_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)
00527 #define IDirect3DSurface9_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)
00528 #else
00529 /*** IUnknown methods ***/
00530 #define IDirect3DSurface9_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)
00531 #define IDirect3DSurface9_AddRef(p)                    (p)->AddRef()
00532 #define IDirect3DSurface9_Release(p)                   (p)->Release()
00533 /*** IDirect3DSurface9 methods: IDirect3DResource9 ***/
00534 #define IDirect3DSurface9_GetDevice(p,a)               (p)->GetDevice(a)
00535 #define IDirect3DSurface9_SetPrivateData(p,a,b,c,d)    (p)->SetPrivateData(a,b,c,d)
00536 #define IDirect3DSurface9_GetPrivateData(p,a,b,c)      (p)->GetPrivateData(a,b,c)
00537 #define IDirect3DSurface9_FreePrivateData(p,a)         (p)->FreePrivateData(a)
00538 #define IDirect3DSurface9_SetPriority(p,a)             (p)->SetPriority(a)
00539 #define IDirect3DSurface9_GetPriority(p)               (p)->GetPriority()
00540 #define IDirect3DSurface9_PreLoad(p)                   (p)->PreLoad()
00541 #define IDirect3DSurface9_GetType(p)                   (p)->GetType()
00542 /*** IDirect3DSurface9 methods ***/
00543 #define IDirect3DSurface9_GetContainer(p,a,b)          (p)->GetContainer(a,b)
00544 #define IDirect3DSurface9_GetDesc(p,a)                 (p)->GetDesc(a)
00545 #define IDirect3DSurface9_LockRect(p,a,b,c)            (p)->LockRect(a,b,c)
00546 #define IDirect3DSurface9_UnlockRect(p)                (p)->UnlockRect()
00547 #define IDirect3DSurface9_GetDC(p,a)                   (p)->GetDC(a)
00548 #define IDirect3DSurface9_ReleaseDC(p,a)               (p)->ReleaseDC(a)
00549 #endif
00550 
00551 /*****************************************************************************
00552  * IDirect3DVertexBuffer9 interface
00553  */
00554 #define INTERFACE IDirect3DVertexBuffer9
00555 DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
00556 {
00557     /*** IUnknown methods ***/
00558     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00559     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00560     STDMETHOD_(ULONG,Release)(THIS) PURE;
00561     /*** IDirect3DResource9 methods ***/
00562     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00563     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00564     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00565     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00566     STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
00567     STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
00568     STDMETHOD_(void, PreLoad)(THIS) PURE;
00569     STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
00570     /*** IDirect3DVertexBuffer9 methods ***/
00571     STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE;
00572     STDMETHOD(Unlock)(THIS) PURE;
00573     STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC* pDesc) PURE;
00574 };
00575 #undef INTERFACE
00576 
00577 #if !defined(__cplusplus) || defined(CINTERFACE)
00578 /*** IUnknown methods ***/
00579 #define IDirect3DVertexBuffer9_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
00580 #define IDirect3DVertexBuffer9_AddRef(p)                    (p)->lpVtbl->AddRef(p)
00581 #define IDirect3DVertexBuffer9_Release(p)                   (p)->lpVtbl->Release(p)
00582 /*** IDirect3DVertexBuffer9 methods: IDirect3DResource9 ***/
00583 #define IDirect3DVertexBuffer9_GetDevice(p,a)               (p)->lpVtbl->GetDevice(p,a)
00584 #define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d)    (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00585 #define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c)      (p)->lpVtbl->GetPrivateData(p,a,b,c)
00586 #define IDirect3DVertexBuffer9_FreePrivateData(p,a)         (p)->lpVtbl->FreePrivateData(p,a)
00587 #define IDirect3DVertexBuffer9_SetPriority(p,a)             (p)->lpVtbl->SetPriority(p,a)
00588 #define IDirect3DVertexBuffer9_GetPriority(p)               (p)->lpVtbl->GetPriority(p)
00589 #define IDirect3DVertexBuffer9_PreLoad(p)                   (p)->lpVtbl->PreLoad(p)
00590 #define IDirect3DVertexBuffer9_GetType(p)                   (p)->lpVtbl->GetType(p)
00591 /*** IDirect3DVertexBuffer9 methods ***/
00592 #define IDirect3DVertexBuffer9_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)
00593 #define IDirect3DVertexBuffer9_Unlock(p)                    (p)->lpVtbl->Unlock(p)
00594 #define IDirect3DVertexBuffer9_GetDesc(p,a)                 (p)->lpVtbl->GetDesc(p,a)
00595 #else
00596 /*** IUnknown methods ***/
00597 #define IDirect3DVertexBuffer9_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)
00598 #define IDirect3DVertexBuffer9_AddRef(p)                    (p)->AddRef()
00599 #define IDirect3DVertexBuffer9_Release(p)                   (p)->Release()
00600 /*** IDirect3DVertexBuffer9 methods: IDirect3DResource9 ***/
00601 #define IDirect3DVertexBuffer9_GetDevice(p,a)               (p)->GetDevice(a)
00602 #define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d)    (p)->SetPrivateData(a,b,c,d)
00603 #define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c)      (p)->GetPrivateData(a,b,c)
00604 #define IDirect3DVertexBuffer9_FreePrivateData(p,a)         (p)->FreePrivateData(a)
00605 #define IDirect3DVertexBuffer9_SetPriority(p,a)             (p)->SetPriority(a)
00606 #define IDirect3DVertexBuffer9_GetPriority(p)               (p)->GetPriority()
00607 #define IDirect3DVertexBuffer9_PreLoad(p)                   (p)->PreLoad()
00608 #define IDirect3DVertexBuffer9_GetType(p)                   (p)->GetType()
00609 /*** IDirect3DVertexBuffer9 methods ***/
00610 #define IDirect3DVertexBuffer9_Lock(p,a,b,c,d)              (p)->Lock(a,b,c,d)
00611 #define IDirect3DVertexBuffer9_Unlock(p)                    (p)->Unlock()
00612 #define IDirect3DVertexBuffer9_GetDesc(p,a)                 (p)->GetDesc(a)
00613 #endif
00614 
00615 /*****************************************************************************
00616  * IDirect3DIndexBuffer9 interface
00617  */
00618 #define INTERFACE IDirect3DIndexBuffer9
00619 DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
00620 {
00621     /*** IUnknown methods ***/
00622     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00623     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00624     STDMETHOD_(ULONG,Release)(THIS) PURE;
00625     /*** IDirect3DResource9 methods ***/
00626     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00627     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00628     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00629     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00630     STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
00631     STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
00632     STDMETHOD_(void, PreLoad)(THIS) PURE;
00633     STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
00634     /*** IDirect3DIndexBuffer9 methods ***/
00635     STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE;
00636     STDMETHOD(Unlock)(THIS) PURE;
00637     STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC* pDesc) PURE;
00638 };
00639 #undef INTERFACE
00640 
00641 #if !defined(__cplusplus) || defined(CINTERFACE)
00642 /*** IUnknown methods ***/
00643 #define IDirect3DIndexBuffer9_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
00644 #define IDirect3DIndexBuffer9_AddRef(p)                    (p)->lpVtbl->AddRef(p)
00645 #define IDirect3DIndexBuffer9_Release(p)                   (p)->lpVtbl->Release(p)
00646 /*** IDirect3DIndexBuffer9 methods: IDirect3DResource9 ***/
00647 #define IDirect3DIndexBuffer9_GetDevice(p,a)               (p)->lpVtbl->GetDevice(p,a)
00648 #define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d)    (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00649 #define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c)      (p)->lpVtbl->GetPrivateData(p,a,b,c)
00650 #define IDirect3DIndexBuffer9_FreePrivateData(p,a)         (p)->lpVtbl->FreePrivateData(p,a)
00651 #define IDirect3DIndexBuffer9_SetPriority(p,a)             (p)->lpVtbl->SetPriority(p,a)
00652 #define IDirect3DIndexBuffer9_GetPriority(p)               (p)->lpVtbl->GetPriority(p)
00653 #define IDirect3DIndexBuffer9_PreLoad(p)                   (p)->lpVtbl->PreLoad(p)
00654 #define IDirect3DIndexBuffer9_GetType(p)                   (p)->lpVtbl->GetType(p)
00655 /*** IDirect3DIndexBuffer9 methods ***/
00656 #define IDirect3DIndexBuffer9_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)
00657 #define IDirect3DIndexBuffer9_Unlock(p)                    (p)->lpVtbl->Unlock(p)
00658 #define IDirect3DIndexBuffer9_GetDesc(p,a)                 (p)->lpVtbl->GetDesc(p,a)
00659 #else
00660 /*** IUnknown methods ***/
00661 #define IDirect3DIndexBuffer9_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)
00662 #define IDirect3DIndexBuffer9_AddRef(p)                    (p)->AddRef()
00663 #define IDirect3DIndexBuffer9_Release(p)                   (p)->Release()
00664 /*** IDirect3DIndexBuffer9 methods: IDirect3DResource9 ***/
00665 #define IDirect3DIndexBuffer9_GetDevice(p,a)               (p)->GetDevice(a)
00666 #define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d)    (p)->SetPrivateData(a,b,c,d)
00667 #define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c)      (p)->GetPrivateData(a,b,c)
00668 #define IDirect3DIndexBuffer9_FreePrivateData(p,a)         (p)->FreePrivateData(a)
00669 #define IDirect3DIndexBuffer9_SetPriority(p,a)             (p)->SetPriority(a)
00670 #define IDirect3DIndexBuffer9_GetPriority(p)               (p)->GetPriority()
00671 #define IDirect3DIndexBuffer9_PreLoad(p)                   (p)->PreLoad()
00672 #define IDirect3DIndexBuffer9_GetType(p)                   (p)->GetType()
00673 /*** IDirect3DIndexBuffer9 methods ***/
00674 #define IDirect3DIndexBuffer9_Lock(p,a,b,c,d)              (p)->Lock(a,b,c,d)
00675 #define IDirect3DIndexBuffer9_Unlock(p)                    (p)->Unlock()
00676 #define IDirect3DIndexBuffer9_GetDesc(p,a)                 (p)->GetDesc(a)
00677 #endif
00678 
00679 /*****************************************************************************
00680  * IDirect3DBaseTexture9 interface
00681  */
00682 #define INTERFACE IDirect3DBaseTexture9
00683 DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
00684 {
00685     /*** IUnknown methods ***/
00686     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00687     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00688     STDMETHOD_(ULONG,Release)(THIS) PURE;
00689     /*** IDirect3DResource9 methods ***/
00690     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00691     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00692     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00693     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00694     STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
00695     STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
00696     STDMETHOD_(void, PreLoad)(THIS) PURE;
00697     STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
00698     /*** IDirect3DBaseTexture9 methods ***/
00699     STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
00700     STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
00701     STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
00702     STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
00703     STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
00704     STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
00705 };
00706 #undef INTERFACE
00707 
00708 #if !defined(__cplusplus) || defined(CINTERFACE)
00709 /*** IUnknown methods ***/
00710 #define IDirect3DBaseTexture9_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
00711 #define IDirect3DBaseTexture9_AddRef(p)              (p)->lpVtbl->AddRef(p)
00712 #define IDirect3DBaseTexture9_Release(p)             (p)->lpVtbl->Release(p)
00713 /*** IDirect3DBaseTexture9 methods: IDirect3DResource9 ***/
00714 #define IDirect3DBaseTexture9_GetDevice(p,a)             (p)->lpVtbl->GetDevice(p,a)
00715 #define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d)  (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00716 #define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c)    (p)->lpVtbl->GetPrivateData(p,a,b,c)
00717 #define IDirect3DBaseTexture9_FreePrivateData(p,a)       (p)->lpVtbl->FreePrivateData(p,a)
00718 #define IDirect3DBaseTexture9_SetPriority(p,a)           (p)->lpVtbl->SetPriority(p,a)
00719 #define IDirect3DBaseTexture9_GetPriority(p)             (p)->lpVtbl->GetPriority(p)
00720 #define IDirect3DBaseTexture9_PreLoad(p)                 (p)->lpVtbl->PreLoad(p)
00721 #define IDirect3DBaseTexture9_GetType(p)                 (p)->lpVtbl->GetType(p)
00722 /*** IDirect3DBaseTexture9 methods ***/
00723 #define IDirect3DBaseTexture9_SetLOD(p,a)                (p)->lpVtbl->SetLOD(p,a)
00724 #define IDirect3DBaseTexture9_GetLOD(p)                  (p)->lpVtbl->GetLOD(p)
00725 #define IDirect3DBaseTexture9_GetLevelCount(p)           (p)->lpVtbl->GetLevelCount(p)
00726 #define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a)  (p)->lpVtbl->SetAutoGenFilterType(p,a)
00727 #define IDirect3DBaseTexture9_GetAutoGenFilterType(p)    (p)->lpVtbl->GetAutoGenFilterType(p)
00728 #define IDirect3DBaseTexture9_GenerateMipSubLevels(p)    (p)->lpVtbl->GenerateMipSubLevels(p)
00729 #else
00730 /*** IUnknown methods ***/
00731 #define IDirect3DBaseTexture9_QueryInterface(p,a,b)  (p)->QueryInterface(a,b)
00732 #define IDirect3DBaseTexture9_AddRef(p)              (p)->AddRef()
00733 #define IDirect3DBaseTexture9_Release(p)             (p)->Release()
00734 /*** IDirect3DBaseTexture9 methods: IDirect3DResource9 ***/
00735 #define IDirect3DBaseTexture9_GetDevice(p,a)             (p)->GetDevice(a)
00736 #define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d)  (p)->SetPrivateData(a,b,c,d)
00737 #define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c)    (p)->GetPrivateData(a,b,c)
00738 #define IDirect3DBaseTexture9_FreePrivateData(p,a)       (p)->FreePrivateData(a)
00739 #define IDirect3DBaseTexture9_SetPriority(p,a)           (p)->SetPriority(a)
00740 #define IDirect3DBaseTexture9_GetPriority(p)             (p)->GetPriority()
00741 #define IDirect3DBaseTexture9_PreLoad(p)                 (p)->PreLoad()
00742 #define IDirect3DBaseTexture9_GetType(p)                 (p)->GetType()
00743 /*** IDirect3DBaseTexture9 methods ***/
00744 #define IDirect3DBaseTexture9_SetLOD(p,a)                (p)->SetLOD(a)
00745 #define IDirect3DBaseTexture9_GetLOD(p)                  (p)->GetLOD()
00746 #define IDirect3DBaseTexture9_GetLevelCount(p)           (p)->GetLevelCount()
00747 #define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a)  (p)->SetAutoGenFilterType(a)
00748 #define IDirect3DBaseTexture9_GetAutoGenFilterType(p)    (p)->GetAutoGenFilterType()
00749 #define IDirect3DBaseTexture9_GenerateMipSubLevels(p)    (p)->GenerateMipSubLevels()
00750 #endif
00751 
00752 /*****************************************************************************
00753  * IDirect3DCubeTexture9 interface
00754  */
00755 #define INTERFACE IDirect3DCubeTexture9
00756 DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
00757 {
00758     /*** IUnknown methods ***/
00759     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00760     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00761     STDMETHOD_(ULONG,Release)(THIS) PURE;
00762     /*** IDirect3DResource9 methods ***/
00763     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00764     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00765     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00766     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00767     STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
00768     STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
00769     STDMETHOD_(void, PreLoad)(THIS) PURE;
00770     STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
00771     /*** IDirect3DBaseTexture9 methods ***/
00772     STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
00773     STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
00774     STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
00775     STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
00776     STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
00777     STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
00778     /*** IDirect3DCubeTexture9 methods ***/
00779     STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC* pDesc) PURE;
00780     STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface) PURE;
00781     STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
00782     STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level) PURE;
00783     STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType, CONST RECT* pDirtyRect) PURE;
00784 };
00785 #undef INTERFACE
00786 
00787 #if !defined(__cplusplus) || defined(CINTERFACE)
00788 /*** IUnknown methods ***/
00789 #define IDirect3DCubeTexture9_QueryInterface(p,a,b)       (p)->lpVtbl->QueryInterface(p,a,b)
00790 #define IDirect3DCubeTexture9_AddRef(p)                   (p)->lpVtbl->AddRef(p)
00791 #define IDirect3DCubeTexture9_Release(p)                  (p)->lpVtbl->Release(p)
00792 /*** IDirect3DCubeTexture9 methods: IDirect3DResource9 ***/
00793 #define IDirect3DCubeTexture9_GetDevice(p,a)              (p)->lpVtbl->GetDevice(p,a)
00794 #define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d)   (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00795 #define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c)     (p)->lpVtbl->GetPrivateData(p,a,b,c)
00796 #define IDirect3DCubeTexture9_FreePrivateData(p,a)        (p)->lpVtbl->FreePrivateData(p,a)
00797 #define IDirect3DCubeTexture9_SetPriority(p,a)            (p)->lpVtbl->SetPriority(p,a)
00798 #define IDirect3DCubeTexture9_GetPriority(p)              (p)->lpVtbl->GetPriority(p)
00799 #define IDirect3DCubeTexture9_PreLoad(p)                  (p)->lpVtbl->PreLoad(p)
00800 #define IDirect3DCubeTexture9_GetType(p)                  (p)->lpVtbl->GetType(p)
00801 /*** IDirect3DCubeTexture9 methods: IDirect3DBaseTexture9 ***/
00802 #define IDirect3DCubeTexture9_SetLOD(p,a)                 (p)->lpVtbl->SetLOD(p,a)
00803 #define IDirect3DCubeTexture9_GetLOD(p)                   (p)->lpVtbl->GetLOD(p)
00804 #define IDirect3DCubeTexture9_GetLevelCount(p)            (p)->lpVtbl->GetLevelCount(p)
00805 #define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a)   (p)->lpVtbl->SetAutoGenFilterType(p,a)
00806 #define IDirect3DCubeTexture9_GetAutoGenFilterType(p)     (p)->lpVtbl->GetAutoGenFilterType(p)
00807 #define IDirect3DCubeTexture9_GenerateMipSubLevels(p)     (p)->lpVtbl->GenerateMipSubLevels(p)
00808 /*** IDirect3DCubeTexture9 methods ***/
00809 #define IDirect3DCubeTexture9_GetLevelDesc(p,a,b)         (p)->lpVtbl->GetLevelDesc(p,a,b)
00810 #define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c)  (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
00811 #define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e)       (p)->lpVtbl->LockRect(p,a,b,c,d,e)
00812 #define IDirect3DCubeTexture9_UnlockRect(p,a,b)           (p)->lpVtbl->UnlockRect(p,a,b)
00813 #define IDirect3DCubeTexture9_AddDirtyRect(p,a,b)         (p)->lpVtbl->AddDirtyRect(p,a,b)
00814 #else
00815 /*** IUnknown methods ***/
00816 #define IDirect3DCubeTexture9_QueryInterface(p,a,b)       (p)->QueryInterface(a,b)
00817 #define IDirect3DCubeTexture9_AddRef(p)                   (p)->AddRef()
00818 #define IDirect3DCubeTexture9_Release(p)                  (p)->Release()
00819 /*** IDirect3DCubeTexture9 methods: IDirect3DResource9 ***/
00820 #define IDirect3DCubeTexture9_GetDevice(p,a)              (p)->GetDevice(a)
00821 #define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d)   (p)->SetPrivateData(a,b,c,d)
00822 #define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c)     (p)->GetPrivateData(a,b,c)
00823 #define IDirect3DCubeTexture9_FreePrivateData(p,a)        (p)->FreePrivateData(a)
00824 #define IDirect3DCubeTexture9_SetPriority(p,a)            (p)->SetPriority(a)
00825 #define IDirect3DCubeTexture9_GetPriority(p)              (p)->GetPriority()
00826 #define IDirect3DCubeTexture9_PreLoad(p)                  (p)->PreLoad()
00827 #define IDirect3DCubeTexture9_GetType(p)                  (p)->GetType()
00828 /*** IDirect3DCubeTexture9 methods: IDirect3DBaseTexture9 ***/
00829 #define IDirect3DCubeTexture9_SetLOD(p,a)                 (p)->SetLOD(a)
00830 #define IDirect3DCubeTexture9_GetLOD(p)                   (p)->GetLOD()
00831 #define IDirect3DCubeTexture9_GetLevelCount(p)            (p)->GetLevelCount()
00832 #define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a)   (p)->SetAutoGenFilterType(a)
00833 #define IDirect3DCubeTexture9_GetAutoGenFilterType(p)     (p)->GetAutoGenFilterType()
00834 #define IDirect3DCubeTexture9_GenerateMipSubLevels(p)     (p)->GenerateMipSubLevels()
00835 /*** IDirect3DCubeTexture9 methods ***/
00836 #define IDirect3DCubeTexture9_GetLevelDesc(p,a,b)         (p)->GetLevelDesc(a,b)
00837 #define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c)  (p)->GetCubeMapSurface(a,b,c)
00838 #define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e)       (p)->LockRect(a,b,c,d,e)
00839 #define IDirect3DCubeTexture9_UnlockRect(p,a,b)           (p)->UnlockRect(a,b)
00840 #define IDirect3DCubeTexture9_AddDirtyRect(p,a,b)         (p)->AddDirtyRect(a,b)
00841 #endif
00842 
00843 /*****************************************************************************
00844  * IDirect3DTexture9 interface
00845  */
00846 #define INTERFACE IDirect3DTexture9
00847 DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
00848 {
00849     /*** IUnknown methods ***/
00850     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00851     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00852     STDMETHOD_(ULONG,Release)(THIS) PURE;
00853     /*** IDirect3DResource9 methods ***/
00854     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00855     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00856     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00857     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00858     STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
00859     STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
00860     STDMETHOD_(void, PreLoad)(THIS) PURE;
00861     STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
00862     /*** IDirect3DBaseTexture9 methods ***/
00863     STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
00864     STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
00865     STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
00866     STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
00867     STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
00868     STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
00869     /*** IDirect3DTexture9 methods ***/
00870     STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DSURFACE_DESC* pDesc) PURE;
00871     STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level, IDirect3DSurface9** ppSurfaceLevel) PURE;
00872     STDMETHOD(LockRect)(THIS_ UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
00873     STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
00874     STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;
00875 };
00876 #undef INTERFACE
00877 
00878 #if !defined(__cplusplus) || defined(CINTERFACE)
00879 /*** IUnknown methods ***/
00880 #define IDirect3DTexture9_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
00881 #define IDirect3DTexture9_AddRef(p)                  (p)->lpVtbl->AddRef(p)
00882 #define IDirect3DTexture9_Release(p)                 (p)->lpVtbl->Release(p)
00883 /*** IDirect3DTexture9 methods: IDirect3DResource9 ***/
00884 #define IDirect3DTexture9_GetDevice(p,a)             (p)->lpVtbl->GetDevice(p,a)
00885 #define IDirect3DTexture9_SetPrivateData(p,a,b,c,d)  (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00886 #define IDirect3DTexture9_GetPrivateData(p,a,b,c)    (p)->lpVtbl->GetPrivateData(p,a,b,c)
00887 #define IDirect3DTexture9_FreePrivateData(p,a)       (p)->lpVtbl->FreePrivateData(p,a)
00888 #define IDirect3DTexture9_SetPriority(p,a)           (p)->lpVtbl->SetPriority(p,a)
00889 #define IDirect3DTexture9_GetPriority(p)             (p)->lpVtbl->GetPriority(p)
00890 #define IDirect3DTexture9_PreLoad(p)                 (p)->lpVtbl->PreLoad(p)
00891 #define IDirect3DTexture9_GetType(p)                 (p)->lpVtbl->GetType(p)
00892 /*** IDirect3DTexture9 methods: IDirect3DBaseTexture9 ***/
00893 #define IDirect3DTexture9_SetLOD(p,a)                (p)->lpVtbl->SetLOD(p,a)
00894 #define IDirect3DTexture9_GetLOD(p)                  (p)->lpVtbl->GetLOD(p)
00895 #define IDirect3DTexture9_GetLevelCount(p)           (p)->lpVtbl->GetLevelCount(p)
00896 #define IDirect3DTexture9_SetAutoGenFilterType(p,a)  (p)->lpVtbl->SetAutoGenFilterType(p,a)
00897 #define IDirect3DTexture9_GetAutoGenFilterType(p)    (p)->lpVtbl->GetAutoGenFilterType(p)
00898 #define IDirect3DTexture9_GenerateMipSubLevels(p)    (p)->lpVtbl->GenerateMipSubLevels(p)
00899 /*** IDirect3DTexture9 methods ***/
00900 #define IDirect3DTexture9_GetLevelDesc(p,a,b)        (p)->lpVtbl->GetLevelDesc(p,a,b)
00901 #define IDirect3DTexture9_GetSurfaceLevel(p,a,b)     (p)->lpVtbl->GetSurfaceLevel(p,a,b)
00902 #define IDirect3DTexture9_LockRect(p,a,b,c,d)        (p)->lpVtbl->LockRect(p,a,b,c,d)
00903 #define IDirect3DTexture9_UnlockRect(p,a)            (p)->lpVtbl->UnlockRect(p,a)
00904 #define IDirect3DTexture9_AddDirtyRect(p,a)          (p)->lpVtbl->AddDirtyRect(p,a)
00905 #else
00906 /*** IUnknown methods ***/
00907 #define IDirect3DTexture9_QueryInterface(p,a,b)      (p)->QueryInterface(a,b)
00908 #define IDirect3DTexture9_AddRef(p)                  (p)->AddRef()
00909 #define IDirect3DTexture9_Release(p)                 (p)->Release()
00910 /*** IDirect3DTexture9 methods: IDirect3DResource9 ***/
00911 #define IDirect3DTexture9_GetDevice(p,a)             (p)->GetDevice(a)
00912 #define IDirect3DTexture9_SetPrivateData(p,a,b,c,d)  (p)->SetPrivateData(a,b,c,d)
00913 #define IDirect3DTexture9_GetPrivateData(p,a,b,c)    (p)->GetPrivateData(a,b,c)
00914 #define IDirect3DTexture9_FreePrivateData(p,a)       (p)->FreePrivateData(a)
00915 #define IDirect3DTexture9_SetPriority(p,a)           (p)->SetPriority(a)
00916 #define IDirect3DTexture9_GetPriority(p)             (p)->GetPriority()
00917 #define IDirect3DTexture9_PreLoad(p)                 (p)->PreLoad()
00918 #define IDirect3DTexture9_GetType(p)                 (p)->GetType()
00919 /*** IDirect3DTexture9 methods: IDirect3DBaseTexture9 ***/
00920 #define IDirect3DTexture9_SetLOD(p,a)                (p)->SetLOD(a)
00921 #define IDirect3DTexture9_GetLOD(p)                  (p)->GetLOD()
00922 #define IDirect3DTexture9_GetLevelCount(p)           (p)->GetLevelCount()
00923 #define IDirect3DTexture9_SetAutoGenFilterType(p,a)  (p)->SetAutoGenFilterType(a)
00924 #define IDirect3DTexture9_GetAutoGenFilterType(p)    (p)->GetAutoGenFilterType()
00925 #define IDirect3DTexture9_GenerateMipSubLevels(p)    (p)->GenerateMipSubLevels()
00926 /*** IDirect3DTexture9 methods ***/
00927 #define IDirect3DTexture9_GetLevelDesc(p,a,b)        (p)->GetLevelDesc(a,b)
00928 #define IDirect3DTexture9_GetSurfaceLevel(p,a,b)     (p)->GetSurfaceLevel(a,b)
00929 #define IDirect3DTexture9_LockRect(p,a,b,c,d)        (p)->LockRect(a,b,c,d)
00930 #define IDirect3DTexture9_UnlockRect(p,a)            (p)->UnlockRect(a)
00931 #define IDirect3DTexture9_AddDirtyRect(p,a)          (p)->AddDirtyRect(a)
00932 #endif
00933 
00934 /*****************************************************************************
00935  * IDirect3DVolumeTexture9 interface
00936  */
00937 #define INTERFACE IDirect3DVolumeTexture9
00938 DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
00939 {
00940     /*** IUnknown methods ***/
00941     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00942     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00943     STDMETHOD_(ULONG,Release)(THIS) PURE;
00944     /*** IDirect3DResource9 methods ***/
00945     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
00946     STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE;
00947     STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE;
00948     STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
00949     STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
00950     STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
00951     STDMETHOD_(void, PreLoad)(THIS) PURE;
00952     STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
00953     /*** IDirect3DBaseTexture9 methods ***/
00954     STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
00955     STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
00956     STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
00957     STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;
00958     STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
00959     STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
00960     /*** IDirect3DVolumeTexture9 methods ***/
00961     STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DVOLUME_DESC *pDesc) PURE;
00962     STDMETHOD(GetVolumeLevel)(THIS_ UINT Level, IDirect3DVolume9** ppVolumeLevel) PURE;
00963     STDMETHOD(LockBox)(THIS_ UINT Level, D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE;
00964     STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
00965     STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX* pDirtyBox) PURE;
00966 };
00967 #undef INTERFACE
00968 
00969 #if !defined(__cplusplus) || defined(CINTERFACE)
00970 /*** IUnknown methods ***/
00971 #define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
00972 #define IDirect3DVolumeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
00973 #define IDirect3DVolumeTexture9_Release(p) (p)->lpVtbl->Release(p)
00974 /*** IDirect3DVolumeTexture9 methods: IDirect3DResource9 ***/
00975 #define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
00976 #define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
00977 #define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
00978 #define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
00979 #define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
00980 #define IDirect3DVolumeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
00981 #define IDirect3DVolumeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
00982 #define IDirect3DVolumeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
00983 /*** IDirect3DVolumeTexture9 methods: IDirect3DBaseTexture9 ***/
00984 #define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
00985 #define IDirect3DVolumeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
00986 #define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
00987 #define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
00988 #define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
00989 #define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
00990 /*** IDirect3DVolumeTexture9 methods ***/
00991 #define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
00992 #define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
00993 #define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
00994 #define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
00995 #define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
00996 #else
00997 /*** IUnknown methods ***/
00998 #define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
00999 #define IDirect3DVolumeTexture9_AddRef(p) (p)->AddRef()
01000 #define IDirect3DVolumeTexture9_Release(p) (p)->Release()
01001 /*** IDirect3DVolumeTexture9 methods: IDirect3DResource9 ***/
01002 #define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->GetDevice(a)
01003 #define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
01004 #define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
01005 #define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
01006 #define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->SetPriority(a)
01007 #define IDirect3DVolumeTexture9_GetPriority(p) (p)->GetPriority()
01008 #define IDirect3DVolumeTexture9_PreLoad(p) (p)->PreLoad()
01009 #define IDirect3DVolumeTexture9_GetType(p) (p)->GetType()
01010 /*** IDirect3DVolumeTexture9 methods: IDirect3DBaseTexture9 ***/
01011 #define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->SetLOD(a)
01012 #define IDirect3DVolumeTexture9_GetLOD(p) (p)->GetLOD()
01013 #define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->GetLevelCount()
01014 #define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
01015 #define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
01016 #define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
01017 /*** IDirect3DVolumeTexture9 methods ***/
01018 #define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
01019 #define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
01020 #define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
01021 #define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->UnlockBox(a)
01022 #define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
01023 #endif
01024 
01025 /*****************************************************************************
01026  * IDirect3DVertexDeclaration9 interface
01027  */
01028 #define INTERFACE IDirect3DVertexDeclaration9
01029 DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown)
01030 {
01031     /*** IUnknown methods ***/
01032     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
01033     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
01034     STDMETHOD_(ULONG,Release)(THIS) PURE;
01035     /*** IDirect3DVertexDeclaration9 methods ***/
01036     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
01037     STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9*, UINT* pNumElements) PURE;
01038 };
01039 #undef INTERFACE
01040 
01041 #if !defined(__cplusplus) || defined(CINTERFACE)
01042 /*** IUnknown methods ***/
01043 #define IDirect3DVertexDeclaration9_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
01044 #define IDirect3DVertexDeclaration9_AddRef(p)              (p)->lpVtbl->AddRef(p)
01045 #define IDirect3DVertexDeclaration9_Release(p)             (p)->lpVtbl->Release(p)
01046 /*** IDirect3DVertexShader9 methods ***/
01047 #define IDirect3DVertexDeclaration9_GetDevice(p,a)         (p)->lpVtbl->GetDevice(p,a)
01048 #define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b)  (p)->lpVtbl->GetDeclaration(p,a,b)
01049 #else
01050 /*** IUnknown methods ***/
01051 #define IDirect3DVertexDeclaration9_QueryInterface(p,a,b)  (p)->QueryInterface(a,b)
01052 #define IDirect3DVertexDeclaration9_AddRef(p)              (p)->AddRef()
01053 #define IDirect3DVertexDeclaration9_Release(p)             (p)->Release()
01054 /*** IDirect3DVertexShader9 methods ***/
01055 #define IDirect3DVertexDeclaration9_GetDevice(p,a)         (p)->GetDevice(a)
01056 #define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b)  (p)->GetDeclaration(a,b)
01057 #endif
01058 
01059 /*****************************************************************************
01060  * IDirect3DVertexShader9 interface
01061  */
01062 #define INTERFACE IDirect3DVertexShader9
01063 DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown)
01064 {
01065     /*** IUnknown methods ***/
01066     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
01067     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
01068     STDMETHOD_(ULONG,Release)(THIS) PURE;
01069     /*** IDirect3DVertexShader9 methods ***/
01070     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
01071     STDMETHOD(GetFunction)(THIS_ void*, UINT* pSizeOfData) PURE;
01072 };
01073 #undef INTERFACE
01074 
01075 #if !defined(__cplusplus) || defined(CINTERFACE)
01076 /*** IUnknown methods ***/
01077 #define IDirect3DVertexShader9_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
01078 #define IDirect3DVertexShader9_AddRef(p)              (p)->lpVtbl->AddRef(p)
01079 #define IDirect3DVertexShader9_Release(p)             (p)->lpVtbl->Release(p)
01080 /*** IDirect3DVertexShader9 methods ***/
01081 #define IDirect3DVertexShader9_GetDevice(p,a)         (p)->lpVtbl->GetDevice(p,a)
01082 #define IDirect3DVertexShader9_GetFunction(p,a,b)     (p)->lpVtbl->GetFunction(p,a,b)
01083 #else
01084 /*** IUnknown methods ***/
01085 #define IDirect3DVertexShader9_QueryInterface(p,a,b)  (p)->QueryInterface(a,b)
01086 #define IDirect3DVertexShader9_AddRef(p)              (p)->AddRef()
01087 #define IDirect3DVertexShader9_Release(p)             (p)->Release()
01088 /*** IDirect3DVertexShader9 methods ***/
01089 #define IDirect3DVertexShader9_GetDevice(p,a)         (p)->GetDevice(a)
01090 #define IDirect3DVertexShader9_GetFunction(p,a,b)     (p)->GetFunction(a,b)
01091 #endif
01092 
01093 /*****************************************************************************
01094  * IDirect3DPixelShader9 interface
01095  */
01096 #define INTERFACE IDirect3DPixelShader9
01097 DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown)
01098 {
01099     /*** IUnknown methods ***/
01100     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
01101     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
01102     STDMETHOD_(ULONG,Release)(THIS) PURE;
01103     /*** IDirect3DPixelShader9 methods ***/
01104     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
01105     STDMETHOD(GetFunction)(THIS_ void*, UINT* pSizeOfData) PURE;
01106 };
01107 #undef INTERFACE
01108 
01109 #if !defined(__cplusplus) || defined(CINTERFACE)
01110 /*** IUnknown methods ***/
01111 #define IDirect3DPixelShader9_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
01112 #define IDirect3DPixelShader9_AddRef(p)              (p)->lpVtbl->AddRef(p)
01113 #define IDirect3DPixelShader9_Release(p)             (p)->lpVtbl->Release(p)
01114 /*** IDirect3DPixelShader9 methods ***/
01115 #define IDirect3DPixelShader9_GetDevice(p,a)         (p)->lpVtbl->GetDevice(p,a)
01116 #define IDirect3DPixelShader9_GetFunction(p,a,b)     (p)->lpVtbl->GetFunction(p,a,b)
01117 #else
01118 /*** IUnknown methods ***/
01119 #define IDirect3DPixelShader9_QueryInterface(p,a,b)  (p)->QueryInterface(a,b)
01120 #define IDirect3DPixelShader9_AddRef(p)              (p)->AddRef()
01121 #define IDirect3DPixelShader9_Release(p)             (p)->Release()
01122 /*** IDirect3DPixelShader9 methods ***/
01123 #define IDirect3DPixelShader9_GetDevice(p,a)         (p)->GetDevice(a)
01124 #define IDirect3DPixelShader9_GetFunction(p,a,b)     (p)->GetFunction(a,b)
01125 #endif
01126 
01127 /*****************************************************************************
01128  * IDirect3DStateBlock9 interface
01129  */
01130 #define INTERFACE IDirect3DStateBlock9
01131 DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown)
01132 {
01133     /*** IUnknown methods ***/
01134     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
01135     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
01136     STDMETHOD_(ULONG,Release)(THIS) PURE;
01137     /*** IDirect3DStateBlock9 methods ***/
01138     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
01139     STDMETHOD(Capture)(THIS) PURE;
01140     STDMETHOD(Apply)(THIS) PURE;
01141 };
01142 #undef INTERFACE
01143 
01144 #if !defined(__cplusplus) || defined(CINTERFACE)
01145 /*** IUnknown methods ***/
01146 #define IDirect3DStateBlock9_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
01147 #define IDirect3DStateBlock9_AddRef(p)              (p)->lpVtbl->AddRef(p)
01148 #define IDirect3DStateBlock9_Release(p)             (p)->lpVtbl->Release(p)
01149 /*** IDirect3DStateBlock9 methods ***/
01150 #define IDirect3DStateBlock9_GetDevice(p,a)         (p)->lpVtbl->GetDevice(p,a)
01151 #define IDirect3DStateBlock9_Capture(p)             (p)->lpVtbl->Capture(p)
01152 #define IDirect3DStateBlock9_Apply(p)               (p)->lpVtbl->Apply(p)
01153 #else
01154 /*** IUnknown methods ***/
01155 #define IDirect3DStateBlock9_QueryInterface(p,a,b)  (p)->QueryInterface(a,b)
01156 #define IDirect3DStateBlock9_AddRef(p)              (p)->AddRef()
01157 #define IDirect3DStateBlock9_Release(p)             (p)->Release()
01158 /*** IDirect3DStateBlock9 methods ***/
01159 #define IDirect3DStateBlock9_GetDevice(p,a)         (p)->GetDevice(a)
01160 #define IDirect3DStateBlock9_Capture(p)             (p)->Capture()
01161 #define IDirect3DStateBlock9_Apply(p)               (p)->Apply()
01162 #endif
01163 
01164 /*****************************************************************************
01165  * IDirect3DQuery9 interface
01166  */
01167 #define INTERFACE IDirect3DQuery9
01168 DECLARE_INTERFACE_(IDirect3DQuery9,IUnknown)
01169 {
01170     /*** IUnknown methods ***/
01171     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
01172     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
01173     STDMETHOD_(ULONG,Release)(THIS) PURE;
01174     /*** IDirect3DQuery9 methods ***/
01175     STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9** ppDevice) PURE;
01176     STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE;
01177     STDMETHOD_(DWORD, GetDataSize)(THIS) PURE;
01178     STDMETHOD(Issue)(THIS_ DWORD dwIssueFlags) PURE;
01179     STDMETHOD(GetData)(THIS_ void* pData, DWORD dwSize, DWORD dwGetDataFlags) PURE;
01180 };
01181 #undef INTERFACE
01182 
01183 #if !defined(__cplusplus) || defined(CINTERFACE)
01184 /*** IUnknown methods ***/
01185 #define IDirect3DQuery9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
01186 #define IDirect3DQuery9_AddRef(p) (p)->lpVtbl->AddRef(p)
01187 #define IDirect3DQuery9_Release(p) (p)->lpVtbl->Release(p)
01188 /*** IDirect3DQuery9 ***/
01189 #define IDirect3DQuery9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
01190 #define IDirect3DQuery9_GetType(p) (p)->lpVtbl->GetType(p)
01191 #define IDirect3DQuery9_GetDataSize(p) (p)->lpVtbl->GetDataSize(p)
01192 #define IDirect3DQuery9_Issue(p,a) (p)->lpVtbl->Issue(p,a)
01193 #define IDirect3DQuery9_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c)
01194 #else
01195 /*** IUnknown methods ***/
01196 #define IDirect3DQuery9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
01197 #define IDirect3DQuery9_AddRef(p) (p)->AddRef()
01198 #define IDirect3DQuery9_Release(p) (p)->Release()
01199 /*** IDirect3DQuery9 ***/
01200 #define IDirect3DQuery9_GetDevice(p,a) (p)->GetDevice(a)
01201 #define IDirect3DQuery9_GetType(p) (p)->GetType()
01202 #define IDirect3DQuery9_GetDataSize(p) (p)->GetDataSize()
01203 #define IDirect3DQuery9_Issue(p,a) (p)->Issue(a)
01204 #define IDirect3DQuery9_GetData(p,a,b,c) (p)->GetData(a,b,c)
01205 #endif
01206 
01207 /*****************************************************************************
01208  * IDirect3DDevice9 interface
01209  */
01210 #define INTERFACE IDirect3DDevice9
01211 DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
01212 {
01213     /*** IUnknown methods ***/
01214     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
01215     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
01216     STDMETHOD_(ULONG,Release)(THIS) PURE;
01217     /*** IDirect3DDevice9 methods ***/
01218     STDMETHOD(TestCooperativeLevel)(THIS) PURE;
01219     STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
01220     STDMETHOD(EvictManagedResources)(THIS) PURE;
01221     STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE;
01222     STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9* pCaps) PURE;
01223     STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, D3DDISPLAYMODE* pMode) PURE;
01224     STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
01225     STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap) PURE;
01226     STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y, DWORD Flags) PURE;
01227     STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE;
01228     STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain) PURE;
01229     STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
01230     STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
01231     STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
01232     STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE;
01233     STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
01234     STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
01235     STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
01236     STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE;
01237     STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
01238     STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
01239     STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
01240     STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle) PURE;
01241     STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle) PURE;
01242     STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
01243     STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
01244     STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
01245     STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE;
01246     STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
01247     STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
01248     STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
01249     STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE;
01250     STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE;
01251     STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
01252     STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
01253     STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
01254     STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE;
01255     STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
01256     STDMETHOD(BeginScene)(THIS) PURE;
01257     STDMETHOD(EndScene)(THIS) PURE;
01258     STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE;
01259     STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE;
01260     STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE;
01261     STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE;
01262     STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE;
01263     STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
01264     STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE;
01265     STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
01266     STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE;
01267     STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
01268     STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
01269     STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
01270     STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE;
01271     STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
01272     STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
01273     STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE;
01274     STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
01275     STDMETHOD(BeginStateBlock)(THIS) PURE;
01276     STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
01277     STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE;
01278     STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
01279     STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
01280     STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
01281     STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue) PURE;
01282     STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE;
01283     STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
01284     STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
01285     STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
01286     STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
01287     STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
01288     STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
01289     STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
01290     STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
01291     STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
01292     STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
01293     STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
01294     STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE;
01295     STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
01296     STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
01297     STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
01298     STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
01299     STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
01300     STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
01301     STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE;
01302     STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
01303     STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
01304     STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
01305     STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
01306     STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE;
01307     STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
01308     STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
01309     STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
01310     STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
01311     STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
01312     STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
01313     STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT  BoolCount) PURE;
01314     STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
01315     STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
01316     STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
01317     STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE;
01318     STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
01319     STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
01320     STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
01321     STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE;
01322     STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
01323     STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
01324     STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
01325     STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
01326     STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
01327     STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
01328     STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT  BoolCount) PURE;
01329     STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
01330     STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
01331     STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
01332     STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
01333     STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
01334 };
01335 #undef INTERFACE
01336 
01337 #if !defined(__cplusplus) || defined(CINTERFACE)
01338 /*** IUnknown methods ***/
01339 #define IDirect3DDevice9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
01340 #define IDirect3DDevice9_AddRef(p)             (p)->lpVtbl->AddRef(p)
01341 #define IDirect3DDevice9_Release(p)            (p)->lpVtbl->Release(p)
01342 /*** IDirect3DDevice9 methods ***/
01343 #define IDirect3DDevice9_TestCooperativeLevel(p)                       (p)->lpVtbl->TestCooperativeLevel(p)
01344 #define IDirect3DDevice9_GetAvailableTextureMem(p)                     (p)->lpVtbl->GetAvailableTextureMem(p)
01345 #define IDirect3DDevice9_EvictManagedResources(p)                      (p)->lpVtbl->EvictManagedResources(p)
01346 #define IDirect3DDevice9_GetDirect3D(p,a)                              (p)->lpVtbl->GetDirect3D(p,a)
01347 #define IDirect3DDevice9_GetDeviceCaps(p,a)                            (p)->lpVtbl->GetDeviceCaps(p,a)
01348 #define IDirect3DDevice9_GetDisplayMode(p,a,b)                         (p)->lpVtbl->GetDisplayMode(p,a,b)
01349 #define IDirect3DDevice9_GetCreationParameters(p,a)                    (p)->lpVtbl->GetCreationParameters(p,a)
01350 #define IDirect3DDevice9_SetCursorProperties(p,a,b,c)                  (p)->lpVtbl->SetCursorProperties(p,a,b,c)
01351 #define IDirect3DDevice9_SetCursorPosition(p,a,b,c)                    (p)->lpVtbl->SetCursorPosition(p,a,b,c)
01352 #define IDirect3DDevice9_ShowCursor(p,a)                               (p)->lpVtbl->ShowCursor(p,a)
01353 #define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b)              (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
01354 #define IDirect3DDevice9_GetSwapChain(p,a,b)                           (p)->lpVtbl->GetSwapChain(p,a,b)
01355 #define IDirect3DDevice9_GetNumberOfSwapChains(p)                      (p)->lpVtbl->GetNumberOfSwapChains(p)
01356 #define IDirect3DDevice9_Reset(p,a)                                    (p)->lpVtbl->Reset(p,a)
01357 #define IDirect3DDevice9_Present(p,a,b,c,d)                            (p)->lpVtbl->Present(p,a,b,c,d)
01358 #define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d)                      (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
01359 #define IDirect3DDevice9_GetRasterStatus(p,a,b)                        (p)->lpVtbl->GetRasterStatus(p,a,b)
01360 #define IDirect3DDevice9_SetDialogBoxMode(p,a)                         (p)->lpVtbl->SetDialogBoxMode(p,a)
01361 #define IDirect3DDevice9_SetGammaRamp(p,a,b,c)                         (p)->lpVtbl->SetGammaRamp(p,a,b,c)
01362 #define IDirect3DDevice9_GetGammaRamp(p,a,b)                           (p)->lpVtbl->GetGammaRamp(p,a,b)
01363 #define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h)              (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
01364 #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)
01365 #define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g)            (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
01366 #define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f)             (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
01367 #define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f)              (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
01368 #define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h)         (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
01369 #define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)  (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
01370 #define IDirect3DDevice9_UpdateSurface(p,a,b,c,d)                      (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
01371 #define IDirect3DDevice9_UpdateTexture(p,a,b)                          (p)->lpVtbl->UpdateTexture(p,a,b)
01372 #define IDirect3DDevice9_GetRenderTargetData(p,a,b)                    (p)->lpVtbl->GetRenderTargetData(p,a,b)
01373 #define IDirect3DDevice9_GetFrontBufferData(p,a,b)                     (p)->lpVtbl->GetFrontBufferData(p,a,b)
01374 #define IDirect3DDevice9_StretchRect(p,a,b,c,d,e)                      (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
01375 #define IDirect3DDevice9_ColorFill(p,a,b,c)                            (p)->lpVtbl->ColorFill(p,a,b,c)
01376 #define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f)    (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
01377 #define IDirect3DDevice9_SetRenderTarget(p,a,b)                        (p)->lpVtbl->SetRenderTarget(p,a,b)
01378 #define IDirect3DDevice9_GetRenderTarget(p,a,b)                        (p)->lpVtbl->GetRenderTarget(p,a,b)
01379 #define IDirect3DDevice9_SetDepthStencilSurface(p,a)                   (p)->lpVtbl->SetDepthStencilSurface(p,a)
01380 #define IDirect3DDevice9_GetDepthStencilSurface(p,a)                   (p)->lpVtbl->GetDepthStencilSurface(p,a)
01381 #define IDirect3DDevice9_BeginScene(p)                                 (p)->lpVtbl->BeginScene(p)
01382 #define IDirect3DDevice9_EndScene(p)                                   (p)->lpVtbl->EndScene(p)
01383 #define IDirect3DDevice9_Clear(p,a,b,c,d,e,f)                          (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
01384 #define IDirect3DDevice9_SetTransform(p,a,b)                           (p)->lpVtbl->SetTransform(p,a,b)
01385 #define IDirect3DDevice9_GetTransform(p,a,b)                           (p)->lpVtbl->GetTransform(p,a,b)
01386 #define IDirect3DDevice9_MultiplyTransform(p,a,b)                      (p)->lpVtbl->MultiplyTransform(p,a,b)
01387 #define IDirect3DDevice9_SetViewport(p,a)                              (p)->lpVtbl->SetViewport(p,a)
01388 #define IDirect3DDevice9_GetViewport(p,a)                              (p)->lpVtbl->GetViewport(p,a)
01389 #define IDirect3DDevice9_SetMaterial(p,a)                              (p)->lpVtbl->SetMaterial(p,a)
01390 #define IDirect3DDevice9_GetMaterial(p,a)                              (p)->lpVtbl->GetMaterial(p,a)
01391 #define IDirect3DDevice9_SetLight(p,a,b)                               (p)->lpVtbl->SetLight(p,a,b)
01392 #define IDirect3DDevice9_GetLight(p,a,b)                               (p)->lpVtbl->GetLight(p,a,b)
01393 #define IDirect3DDevice9_LightEnable(p,a,b)                            (p)->lpVtbl->LightEnable(p,a,b)
01394 #define IDirect3DDevice9_GetLightEnable(p,a,b)                         (p)->lpVtbl->GetLightEnable(p,a,b)
01395 #define IDirect3DDevice9_SetClipPlane(p,a,b)                           (p)->lpVtbl->SetClipPlane(p,a,b)
01396 #define IDirect3DDevice9_GetClipPlane(p,a,b)                           (p)->lpVtbl->GetClipPlane(p,a,b)
01397 #define IDirect3DDevice9_SetRenderState(p,a,b)                         (p)->lpVtbl->SetRenderState(p,a,b)
01398 #define IDirect3DDevice9_GetRenderState(p,a,b)                         (p)->lpVtbl->GetRenderState(p,a,b)
01399 #define IDirect3DDevice9_CreateStateBlock(p,a,b)                       (p)->lpVtbl->CreateStateBlock(p,a,b)
01400 #define IDirect3DDevice9_BeginStateBlock(p)                            (p)->lpVtbl->BeginStateBlock(p)
01401 #define IDirect3DDevice9_EndStateBlock(p,a)                            (p)->lpVtbl->EndStateBlock(p,a)
01402 #define IDirect3DDevice9_SetClipStatus(p,a)                            (p)->lpVtbl->SetClipStatus(p,a)
01403 #define IDirect3DDevice9_GetClipStatus(p,a)                            (p)->lpVtbl->GetClipStatus(p,a)
01404 #define IDirect3DDevice9_GetTexture(p,a,b)                             (p)->lpVtbl->GetTexture(p,a,b)
01405 #define IDirect3DDevice9_SetTexture(p,a,b)                             (p)->lpVtbl->SetTexture(p,a,b)
01406 #define IDirect3DDevice9_GetTextureStageState(p,a,b,c)                 (p)->lpVtbl->GetTextureStageState(p,a,b,c)
01407 #define IDirect3DDevice9_SetTextureStageState(p,a,b,c)                 (p)->lpVtbl->SetTextureStageState(p,a,b,c)
01408 #define IDirect3DDevice9_GetSamplerState(p,a,b,c)                      (p)->lpVtbl->GetSamplerState(p,a,b,c)
01409 #define IDirect3DDevice9_SetSamplerState(p,a,b,c)                      (p)->lpVtbl->SetSamplerState(p,a,b,c)
01410 #define IDirect3DDevice9_ValidateDevice(p,a)                           (p)->lpVtbl->ValidateDevice(p,a)
01411 #define IDirect3DDevice9_SetPaletteEntries(p,a,b)                      (p)->lpVtbl->SetPaletteEntries(p,a,b)
01412 #define IDirect3DDevice9_GetPaletteEntries(p,a,b)                      (p)->lpVtbl->GetPaletteEntries(p,a,b)
01413 #define IDirect3DDevice9_SetCurrentTexturePalette(p,a)                 (p)->lpVtbl->SetCurrentTexturePalette(p,a)
01414 #define IDirect3DDevice9_GetCurrentTexturePalette(p,a)                 (p)->lpVtbl->GetCurrentTexturePalette(p,a)
01415 #define IDirect3DDevice9_SetScissorRect(p,a)                           (p)->lpVtbl->SetScissorRect(p,a)
01416 #define IDirect3DDevice9_GetScissorRect(p,a)                           (p)->lpVtbl->GetScissorRect(p,a)
01417 #define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a)              (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
01418 #define IDirect3DDevice9_GetSoftwareVertexProcessing(p)                (p)->lpVtbl->GetSoftwareVertexProcessing(p)
01419 #define IDirect3DDevice9_SetNPatchMode(p,a)                            (p)->lpVtbl->SetNPatchMode(p,a)
01420 #define IDirect3DDevice9_GetNPatchMode(p)                              (p)->lpVtbl->GetNPatchMode(p)
01421 #define IDirect3DDevice9_DrawPrimitive(p,a,b,c)                        (p)->lpVtbl->DrawPrimitive(p,a,b,c)
01422 #define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f)           (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
01423 #define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d)                    (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
01424 #define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)     (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
01425 #define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f)                (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
01426 #define IDirect3DDevice9_CreateVertexDeclaration(p,a,b)                (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
01427 #define IDirect3DDevice9_SetVertexDeclaration(p,a)                     (p)->lpVtbl->SetVertexDeclaration(p,a)
01428 #define IDirect3DDevice9_GetVertexDeclaration(p,a)                     (p)->lpVtbl->GetVertexDeclaration(p,a)
01429 #define IDirect3DDevice9_SetFVF(p,a)                                   (p)->lpVtbl->SetFVF(p,a)
01430 #define IDirect3DDevice9_GetFVF(p,a)                                   (p)->lpVtbl->GetFVF(p,a)
01431 #define IDirect3DDevice9_CreateVertexShader(p,a,b)                     (p)->lpVtbl->CreateVertexShader(p,a,b)
01432 #define IDirect3DDevice9_SetVertexShader(p,a)                          (p)->lpVtbl->SetVertexShader(p,a)
01433 #define IDirect3DDevice9_GetVertexShader(p,a)                          (p)->lpVtbl->GetVertexShader(p,a)
01434 #define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c)             (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
01435 #define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c)             (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
01436 #define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c)             (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
01437 #define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c)             (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
01438 #define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c)             (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
01439 #define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c)             (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
01440 #define IDirect3DDevice9_SetStreamSource(p,a,b,c,d)                    (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
01441 #define IDirect3DDevice9_GetStreamSource(p,a,b,c,d)                    (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
01442 #define IDirect3DDevice9_SetStreamSourceFreq(p,a,b)                    (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
01443 #define IDirect3DDevice9_GetStreamSourceFreq(p,a,b)                    (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
01444 #define IDirect3DDevice9_SetIndices(p,a)                               (p)->lpVtbl->SetIndices(p,a)
01445 #define IDirect3DDevice9_GetIndices(p,a)                               (p)->lpVtbl->GetIndices(p,a)
01446 #define IDirect3DDevice9_CreatePixelShader(p,a,b)                      (p)->lpVtbl->CreatePixelShader(p,a,b)
01447 #define IDirect3DDevice9_SetPixelShader(p,a)                           (p)->lpVtbl->SetPixelShader(p,a)
01448 #define IDirect3DDevice9_GetPixelShader(p,a)                           (p)->lpVtbl->GetPixelShader(p,a)
01449 #define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c)              (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
01450 #define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c)              (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
01451 #define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c)              (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
01452 #define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c)              (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
01453 #define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c)              (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
01454 #define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c)              (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
01455 #define IDirect3DDevice9_DrawRectPatch(p,a,b,c)                        (p)->lpVtbl->DrawRectPatch(p,a,b,c)
01456 #define IDirect3DDevice9_DrawTriPatch(p,a,b,c)                         (p)->lpVtbl->DrawTriPatch(p,a,b,c)
01457 #define IDirect3DDevice9_DeletePatch(p,a)                              (p)->lpVtbl->DeletePatch(p,a)
01458 #define IDirect3DDevice9_CreateQuery(p,a,b)                            (p)->lpVtbl->CreateQuery(p,a,b)
01459 #else
01460 /*** IUnknown methods ***/
01461 #define IDirect3DDevice9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
01462 #define IDirect3DDevice9_AddRef(p)             (p)->AddRef()
01463 #define IDirect3DDevice9_Release(p)            (p)->Release()
01464 /*** IDirect3DDevice9 methods ***/
01465 #define IDirect3DDevice9_TestCooperativeLevel(p)                       (p)->TestCooperativeLevel()
01466 #define IDirect3DDevice9_GetAvailableTextureMem(p)                     (p)->GetAvailableTextureMem()
01467 #define IDirect3DDevice9_EvictManagedResources(p)                      (p)->EvictManagedResources()
01468 #define IDirect3DDevice9_GetDirect3D(p,a)                              (p)->GetDirect3D(a)
01469 #define IDirect3DDevice9_GetDeviceCaps(p,a)                            (p)->GetDeviceCaps(a)
01470 #define IDirect3DDevice9_GetDisplayMode(p,a,b)                         (p)->GetDisplayMode(a,b)
01471 #define IDirect3DDevice9_GetCreationParameters(p,a)                    (p)->GetCreationParameters(a)
01472 #define IDirect3DDevice9_SetCursorProperties(p,a,b,c)                  (p)->SetCursorProperties(a,b,c)
01473 #define IDirect3DDevice9_SetCursorPosition(p,a,b,c)                    (p)->SetCursorPosition(a,b,c)
01474 #define IDirect3DDevice9_ShowCursor(p,a)                               (p)->ShowCursor(a)
01475 #define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b)              (p)->CreateAdditionalSwapChain(a,b)
01476 #define IDirect3DDevice9_GetSwapChain(p,a,b)                           (p)->GetSwapChain(a,b)
01477 #define IDirect3DDevice9_GetNumberOfSwapChains(p)                      (p)->GetNumberOfSwapChains()
01478 #define IDirect3DDevice9_Reset(p,a)                                    (p)->Reset(a)
01479 #define IDirect3DDevice9_Present(p,a,b,c,d)                            (p)->Present(a,b,c,d)
01480 #define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d)                      (p)->GetBackBuffer(a,b,c,d)
01481 #define IDirect3DDevice9_GetRasterStatus(p,a,b)                        (p)->GetRasterStatus(a,b)
01482 #define IDirect3DDevice9_SetDialogBoxMode(p,a)                         (p)->SetDialogBoxMode(a)
01483 #define IDirect3DDevice9_SetGammaRamp(p,a,b,c)                         (p)->SetGammaRamp(a,b,c)
01484 #define IDirect3DDevice9_GetGammaRamp(p,a,b)                           (p)->GetGammaRamp(a,b)
01485 #define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h)              (p)->CreateTexture(a,b,c,d,e,f,g,h)
01486 #define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)      (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
01487 #define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g)            (p)->CreateCubeTexture(a,b,c,d,e,f,g)
01488 #define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f)             (p)->CreateVertexBuffer(a,b,c,d,e,f)
01489 #define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f)              (p)->CreateIndexBuffer(a,b,c,d,e,f)
01490 #define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h)         (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
01491 #define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)  (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
01492 #define IDirect3DDevice9_UpdateSurface(p,a,b,c,d)                      (p)->UpdateSurface(a,b,c,d)
01493 #define IDirect3DDevice9_UpdateTexture(p,a,b)                          (p)->UpdateTexture(a,b)
01494 #define IDirect3DDevice9_GetRenderTargetData(p,a,b)                    (p)->GetRenderTargetData(a,b)
01495 #define IDirect3DDevice9_GetFrontBufferData(p,a,b)                     (p)->GetFrontBufferData(a,b)
01496 #define IDirect3DDevice9_StretchRect(p,a,b,c,d,e)                      (p)->StretchRect(a,b,c,d,e)
01497 #define IDirect3DDevice9_ColorFill(p,a,b,c)                            (p)->ColorFill(a,b,c)
01498 #define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f)    (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
01499 #define IDirect3DDevice9_SetRenderTarget(p,a,b)                        (p)->SetRenderTarget(a,b)
01500 #define IDirect3DDevice9_GetRenderTarget(p,a,b)                        (p)->GetRenderTarget(a,b)
01501 #define IDirect3DDevice9_SetDepthStencilSurface(p,a)                   (p)->SetDepthStencilSurface(a)
01502 #define IDirect3DDevice9_GetDepthStencilSurface(p,a)                   (p)->GetDepthStencilSurface(a)
01503 #define IDirect3DDevice9_BeginScene(p)                                 (p)->BeginScene()
01504 #define IDirect3DDevice9_EndScene(p)                                   (p)->EndScene()
01505 #define IDirect3DDevice9_Clear(p,a,b,c,d,e,f)                          (p)->Clear(a,b,c,d,e,f)
01506 #define IDirect3DDevice9_SetTransform(p,a,b)                           (p)->SetTransform(a,b)
01507 #define IDirect3DDevice9_GetTransform(p,a,b)                           (p)->GetTransform(a,b)
01508 #define IDirect3DDevice9_MultiplyTransform(p,a,b)                      (p)->MultiplyTransform(a,b)
01509 #define IDirect3DDevice9_SetViewport(p,a)                              (p)->SetViewport(a)
01510 #define IDirect3DDevice9_GetViewport(p,a)                              (p)->GetViewport(a)
01511 #define IDirect3DDevice9_SetMaterial(p,a)                              (p)->SetMaterial(a)
01512 #define IDirect3DDevice9_GetMaterial(p,a)                              (p)->GetMaterial(a)
01513 #define IDirect3DDevice9_SetLight(p,a,b)                               (p)->SetLight(a,b)
01514 #define IDirect3DDevice9_GetLight(p,a,b)                               (p)->GetLight(a,b)
01515 #define IDirect3DDevice9_LightEnable(p,a,b)                            (p)->LightEnable(a,b)
01516 #define IDirect3DDevice9_GetLightEnable(p,a,b)                         (p)->GetLightEnable(a,b)
01517 #define IDirect3DDevice9_SetClipPlane(p,a,b)                           (p)->SetClipPlane(a,b)
01518 #define IDirect3DDevice9_GetClipPlane(p,a,b)                           (p)->GetClipPlane(a,b)
01519 #define IDirect3DDevice9_SetRenderState(p,a,b)                         (p)->SetRenderState(a,b)
01520 #define IDirect3DDevice9_GetRenderState(p,a,b)                         (p)->GetRenderState(a,b)
01521 #define IDirect3DDevice9_CreateStateBlock(p,a,b)                       (p)->CreateStateBlock(a,b)
01522 #define IDirect3DDevice9_BeginStateBlock(p)                            (p)->BeginStateBlock()
01523 #define IDirect3DDevice9_EndStateBlock(p,a)                            (p)->EndStateBlock(a)
01524 #define IDirect3DDevice9_SetClipStatus(p,a)                            (p)->SetClipStatus(a)
01525 #define IDirect3DDevice9_GetClipStatus(p,a)                            (p)->GetClipStatus(a)
01526 #define IDirect3DDevice9_GetTexture(p,a,b)                             (p)->GetTexture(a,b)
01527 #define IDirect3DDevice9_SetTexture(p,a,b)                             (p)->SetTexture(a,b)
01528 #define IDirect3DDevice9_GetTextureStageState(p,a,b,c)                 (p)->GetTextureStageState(a,b,c)
01529 #define IDirect3DDevice9_SetTextureStageState(p,a,b,c)                 (p)->SetTextureStageState(a,b,c)
01530 #define IDirect3DDevice9_GetSamplerState(p,a,b,c)                      (p)->GetSamplerState(a,b,c)
01531 #define IDirect3DDevice9_SetSamplerState(p,a,b,c)                      (p)->SetSamplerState(a,b,c)
01532 #define IDirect3DDevice9_ValidateDevice(p,a)                           (p)->ValidateDevice(a)
01533 #define IDirect3DDevice9_SetPaletteEntries(p,a,b)                      (p)->SetPaletteEntries(a,b)
01534 #define IDirect3DDevice9_GetPaletteEntries(p,a,b)                      (p)->GetPaletteEntries(a,b)
01535 #define IDirect3DDevice9_SetCurrentTexturePalette(p,a)                 (p)->SetCurrentTexturePalette(a)
01536 #define IDirect3DDevice9_GetCurrentTexturePalette(p,a)                 (p)->GetCurrentTexturePalette(a)
01537 #define IDirect3DDevice9_SetScissorRect(p,a)                           (p)->SetScissorRect(a)
01538 #define IDirect3DDevice9_GetScissorRect(p,a)                           (p)->GetScissorRect(a)
01539 #define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a)              (p)->SetSoftwareVertexProcessing(a)
01540 #define IDirect3DDevice9_GetSoftwareVertexProcessing(p)                (p)->GetSoftwareVertexProcessing()
01541 #define IDirect3DDevice9_SetNPatchMode(p,a)                            (p)->SetNPatchMode(a)
01542 #define IDirect3DDevice9_GetNPatchMode(p)                              (p)->GetNPatchMode()
01543 #define IDirect3DDevice9_DrawPrimitive(p,a,b,c)                        (p)->DrawPrimitive(a,b,c)
01544 #define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f)           (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
01545 #define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d)                    (p)->DrawPrimitiveUP(a,b,c,d)
01546 #define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)     (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
01547 #define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f)                (p)->ProcessVertices(a,b,c,d,e,f)
01548 #define IDirect3DDevice9_CreateVertexDeclaration(p,a,b)                (p)->CreateVertexDeclaration(a,b)
01549 #define IDirect3DDevice9_SetVertexDeclaration(p,a)                     (p)->SetVertexDeclaration(a)
01550 #define IDirect3DDevice9_GetVertexDeclaration(p,a)                     (p)->GetVertexDeclaration(a)
01551 #define IDirect3DDevice9_SetFVF(p,a)                                   (p)->SetFVF(a)
01552 #define IDirect3DDevice9_GetFVF(p,a)                                   (p)->GetFVF(a)
01553 #define IDirect3DDevice9_CreateVertexShader(p,a,b)                     (p)->CreateVertexShader(a,b)
01554 #define IDirect3DDevice9_SetVertexShader(p,a)                          (p)->SetVertexShader(a)
01555 #define IDirect3DDevice9_GetVertexShader(p,a)                          (p)->GetVertexShader(a)
01556 #define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c)             (p)->SetVertexShaderConstantF(a,b,c)
01557 #define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c)             (p)->GetVertexShaderConstantF(a,b,c)
01558 #define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c)             (p)->SetVertexShaderConstantI(a,b,c)
01559 #define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c)             (p)->GetVertexShaderConstantI(a,b,c)
01560 #define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c)             (p)->SetVertexShaderConstantB(a,b,c)
01561 #define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c)             (p)->GetVertexShaderConstantB(a,b,c)
01562 #define IDirect3DDevice9_SetStreamSource(p,a,b,c,d)                    (p)->SetStreamSource(a,b,c,d)
01563 #define IDirect3DDevice9_GetStreamSource(p,a,b,c,d)                    (p)->GetStreamSource(a,b,c,d)
01564 #define IDirect3DDevice9_SetStreamSourceFreq(p,a,b)                    (p)->SetStreamSourceFreq(a,b)
01565 #define IDirect3DDevice9_GetStreamSourceFreq(p,a,b)                    (p)->GetStreamSourceFreq(a,b)
01566 #define IDirect3DDevice9_SetIndices(p,a)                               (p)->SetIndices(a)
01567 #define IDirect3DDevice9_GetIndices(p,a)                               (p)->GetIndices(a)
01568 #define IDirect3DDevice9_CreatePixelShader(p,a,b)                      (p)->CreatePixelShader(a,b)
01569 #define IDirect3DDevice9_SetPixelShader(p,a)                           (p)->SetPixelShader(a)
01570 #define IDirect3DDevice9_GetPixelShader(p,a)                           (p)->GetPixelShader(a)
01571 #define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c)              (p)->SetPixelShaderConstantF(a,b,c)
01572 #define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c)              (p)->GetPixelShaderConstantF(a,b,c)
01573 #define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c)              (p)->SetPixelShaderConstantI(a,b,c)
01574 #define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c)              (p)->GetPixelShaderConstantI(a,b,c)
01575 #define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c)              (p)->SetPixelShaderConstantB(a,b,c)
01576 #define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c)              (p)->GetPixelShaderConstantB(a,b,c)
01577 #define IDirect3DDevice9_DrawRectPatch(p,a,b,c)                        (p)->DrawRectPatch(a,b,c)
01578 #define IDirect3DDevice9_DrawTriPatch(p,a,b,c)                         (p)->DrawTriPatch(a,b,c)
01579 #define IDirect3DDevice9_DeletePatch(p,a)                              (p)->DeletePatch(a)
01580 #define IDirect3DDevice9_CreateQuery(p,a,b)                            (p)->CreateQuery(a,b)
01581 #endif
01582 
01583 
01584 /*****************************************************************************
01585  * IDirect3DDevice9Ex interface
01586  */
01587 #define INTERFACE IDirect3DDevice9Ex
01588 DECLARE_INTERFACE_(IDirect3DDevice9Ex,IDirect3DDevice9)
01589 {
01590     /*** IUnknown methods ***/
01591     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
01592     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
01593     STDMETHOD_(ULONG,Release)(THIS) PURE;
01594     /*** IDirect3DDevice9 methods ***/
01595     STDMETHOD(TestCooperativeLevel)(THIS) PURE;
01596     STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
01597     STDMETHOD(EvictManagedResources)(THIS) PURE;
01598     STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE;
01599     STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9* pCaps) PURE;
01600     STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, D3DDISPLAYMODE* pMode) PURE;
01601     STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
01602     STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap) PURE;
01603     STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y, DWORD Flags) PURE;
01604     STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE;
01605     STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain) PURE;
01606     STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE;
01607     STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
01608     STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
01609     STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE;
01610     STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE;
01611     STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE;
01612     STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
01613     STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE;
01614     STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE;
01615     STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE;
01616     STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE;
01617     STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle) PURE;
01618     STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle) PURE;
01619     STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE;
01620     STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
01621     STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
01622     STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE;
01623     STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE;
01624     STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE;
01625     STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE;
01626     STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE;
01627     STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE;
01628     STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE;
01629     STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE;
01630     STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE;
01631     STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE;
01632     STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE;
01633     STDMETHOD(BeginScene)(THIS) PURE;
01634     STDMETHOD(EndScene)(THIS) PURE;
01635     STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE;
01636     STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE;
01637     STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE;
01638     STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE;
01639     STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE;
01640     STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE;
01641     STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE;
01642     STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE;
01643     STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE;
01644     STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE;
01645     STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
01646     STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE;
01647     STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE;
01648     STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE;
01649     STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
01650     STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE;
01651     STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE;
01652     STDMETHOD(BeginStateBlock)(THIS) PURE;
01653     STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE;
01654     STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE;
01655     STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE;
01656     STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE;
01657     STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE;
01658     STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue) PURE;
01659     STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE;
01660     STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE;
01661     STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
01662     STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
01663     STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
01664     STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
01665     STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
01666     STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
01667     STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
01668     STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
01669     STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
01670     STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
01671     STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE;
01672     STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
01673     STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
01674     STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
01675     STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
01676     STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
01677     STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE;
01678     STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE;
01679     STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE;
01680     STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE;
01681     STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
01682     STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE;
01683     STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE;
01684     STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE;
01685     STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE;
01686     STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
01687     STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
01688     STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
01689     STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
01690     STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT  BoolCount) PURE;
01691     STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
01692     STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE;
01693     STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE;
01694     STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE;
01695     STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
01696     STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE;
01697     STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE;
01698     STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE;
01699     STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE;
01700     STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE;
01701     STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
01702     STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
01703     STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
01704     STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
01705     STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT  BoolCount) PURE;
01706     STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
01707     STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE;
01708     STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE;
01709     STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
01710     STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery) PURE;
01711     /* IDirect3DDevice9Ex methods */
01712     STDMETHOD(SetConvolutionMonoKernel)(THIS_ UINT width, UINT height, float *rows, float *columns) PURE;
01713     STDMETHOD(ComposeRects)(THIS_ IDirect3DSurface9 *pSrc, IDirect3DSurface9 *pDst, IDirect3DVertexBuffer9 *pSrcRectDescs, UINT NumRects, IDirect3DVertexBuffer9 *pDstRectDescs, D3DCOMPOSERECTSOP Operation, int Xoffset, int Yoffset) PURE;
01714     STDMETHOD(PresentEx)(THIS_ CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion, DWORD dwFlags) PURE;
01715     STDMETHOD(GetGPUThreadPriority)(THIS_ INT *pPriority) PURE;
01716     STDMETHOD(SetGPUThreadPriority)(THIS_ INT Priority) PURE;
01717     STDMETHOD(WaitForVBlank)(THIS_ UINT iSwapChain) PURE;
01718     STDMETHOD(CheckresourceResidency)(THIS_ IDirect3DResource9 ** pResourceArray, UINT32 Numresources) PURE;
01719     STDMETHOD(SetMaximumFrameLatency)(THIS_ UINT MaxLatency) PURE;
01720     STDMETHOD(GetMaximumFrameLatency)(THIS_ UINT *pMaxLatenxy) PURE;
01721     STDMETHOD(CheckdeviceState)(THIS_ HWND hDestinationWindow) PURE;
01722     STDMETHOD(CreateRenderTargetEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultiSampleQuality, BOOL Lockable, IDirect3DSurface9 ** ppSurface, HANDLE *pSharedHandle, DWORD Usage) PURE;
01723     STDMETHOD(CreateOffscreenPlainSurfaceEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9 **ppSurface, HANDLE *pSharedHandle, DWORD Usage) PURE;
01724     STDMETHOD(CreateDepthStencilSurfaceEx)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultiSampleQuality, BOOL Discard, IDirect3DSurface9 **ppSurfface, HANDLE *pSharedHandle, DWORD Usage) PURE;
01725     STDMETHOD(ResetEx)(THIS_ D3DPRESENT_PARAMETERS *pPresentationParameters, D3DDISPLAYMODEEX *pFullscreenDisplayMode) PURE;
01726     STDMETHOD(GetDisplayModeEx)(THIS_ UINT iSwapChain, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation) PURE;
01727 };
01728 #undef INTERFACE
01729 
01730 #if !defined(__cplusplus) || defined(CINTERFACE)
01731 /*** IUnknown methods ***/
01732 #define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
01733 #define IDirect3DDevice9Ex_AddRef(p)             (p)->lpVtbl->AddRef(p)
01734 #define IDirect3DDevice9Ex_Release(p)            (p)->lpVtbl->Release(p)
01735 /*** IDirect3DDevice9 methods ***/
01736 #define IDirect3DDevice9Ex_TestCooperativeLevel(p)                       (p)->lpVtbl->TestCooperativeLevel(p)
01737 #define IDirect3DDevice9Ex_GetAvailableTextureMem(p)                     (p)->lpVtbl->GetAvailableTextureMem(p)
01738 #define IDirect3DDevice9Ex_EvictManagedResources(p)                      (p)->lpVtbl->EvictManagedResources(p)
01739 #define IDirect3DDevice9Ex_GetDirect3D(p,a)                              (p)->lpVtbl->GetDirect3D(p,a)
01740 #define IDirect3DDevice9Ex_GetDeviceCaps(p,a)                            (p)->lpVtbl->GetDeviceCaps(p,a)
01741 #define IDirect3DDevice9Ex_GetDisplayMode(p,a,b)                         (p)->lpVtbl->GetDisplayMode(p,a,b)
01742 #define IDirect3DDevice9Ex_GetCreationParameters(p,a)                    (p)->lpVtbl->GetCreationParameters(p,a)
01743 #define IDirect3DDevice9Ex_SetCursorProperties(p,a,b,c)                  (p)->lpVtbl->SetCursorProperties(p,a,b,c)
01744 #define IDirect3DDevice9Ex_SetCursorPosition(p,a,b,c)                    (p)->lpVtbl->SetCursorPosition(p,a,b,c)
01745 #define IDirect3DDevice9Ex_ShowCursor(p,a)                               (p)->lpVtbl->ShowCursor(p,a)
01746 #define IDirect3DDevice9Ex_CreateAdditionalSwapChain(p,a,b)              (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
01747 #define IDirect3DDevice9Ex_GetSwapChain(p,a,b)                           (p)->lpVtbl->GetSwapChain(p,a,b)
01748 #define IDirect3DDevice9Ex_GetNumberOfSwapChains(p)                      (p)->lpVtbl->GetNumberOfSwapChains(p)
01749 #define IDirect3DDevice9Ex_Reset(p,a)                                    (p)->lpVtbl->Reset(p,a)
01750 #define IDirect3DDevice9Ex_Present(p,a,b,c,d)                            (p)->lpVtbl->Present(p,a,b,c,d)
01751 #define IDirect3DDevice9Ex_GetBackBuffer(p,a,b,c,d)                      (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
01752 #define IDirect3DDevice9Ex_GetRasterStatus(p,a,b)                        (p)->lpVtbl->GetRasterStatus(p,a,b)
01753 #define IDirect3DDevice9Ex_SetDialogBoxMode(p,a)                         (p)->lpVtbl->SetDialogBoxMode(p,a)
01754 #define IDirect3DDevice9Ex_SetGammaRamp(p,a,b,c)                         (p)->lpVtbl->SetGammaRamp(p,a,b,c)
01755 #define IDirect3DDevice9Ex_GetGammaRamp(p,a,b)                           (p)->lpVtbl->GetGammaRamp(p,a,b)
01756 #define IDirect3DDevice9Ex_CreateTexture(p,a,b,c,d,e,f,g,h)              (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
01757 #define IDirect3DDevice9Ex_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)      (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
01758 #define IDirect3DDevice9Ex_CreateCubeTexture(p,a,b,c,d,e,f,g)            (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
01759 #define IDirect3DDevice9Ex_CreateVertexBuffer(p,a,b,c,d,e,f)             (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
01760 #define IDirect3DDevice9Ex_CreateIndexBuffer(p,a,b,c,d,e,f)              (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
01761 #define IDirect3DDevice9Ex_CreateRenderTarget(p,a,b,c,d,e,f,g,h)         (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
01762 #define IDirect3DDevice9Ex_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)  (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
01763 #define IDirect3DDevice9Ex_UpdateSurface(p,a,b,c,d)                      (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
01764 #define IDirect3DDevice9Ex_UpdateTexture(p,a,b)                          (p)->lpVtbl->UpdateTexture(p,a,b)
01765 #define IDirect3DDevice9Ex_GetRenderTargetData(p,a,b)                    (p)->lpVtbl->GetRenderTargetData(p,a,b)
01766 #define IDirect3DDevice9Ex_GetFrontBufferData(p,a,b)                     (p)->lpVtbl->GetFrontBufferData(p,a,b)
01767 #define IDirect3DDevice9Ex_StretchRect(p,a,b,c,d,e)                      (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
01768 #define IDirect3DDevice9Ex_ColorFill(p,a,b,c)                            (p)->lpVtbl->ColorFill(p,a,b,c)
01769 #define IDirect3DDevice9Ex_CreateOffscreenPlainSurface(p,a,b,c,d,e,f)    (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
01770 #define IDirect3DDevice9Ex_SetRenderTarget(p,a,b)                        (p)->lpVtbl->SetRenderTarget(p,a,b)
01771 #define IDirect3DDevice9Ex_GetRenderTarget(p,a,b)                        (p)->lpVtbl->GetRenderTarget(p,a,b)
01772 #define IDirect3DDevice9Ex_SetDepthStencilSurface(p,a)                   (p)->lpVtbl->SetDepthStencilSurface(p,a)
01773 #define IDirect3DDevice9Ex_GetDepthStencilSurface(p,a)                   (p)->lpVtbl->GetDepthStencilSurface(p,a)
01774 #define IDirect3DDevice9Ex_BeginScene(p)                                 (p)->lpVtbl->BeginScene(p)
01775 #define IDirect3DDevice9Ex_EndScene(p)                                   (p)->lpVtbl->EndScene(p)
01776 #define IDirect3DDevice9Ex_Clear(p,a,b,c,d,e,f)                          (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
01777 #define IDirect3DDevice9Ex_SetTransform(p,a,b)                           (p)->lpVtbl->SetTransform(p,a,b)
01778 #define IDirect3DDevice9Ex_GetTransform(p,a,b)                           (p)->lpVtbl->GetTransform(p,a,b)
01779 #define IDirect3DDevice9Ex_MultiplyTransform(p,a,b)                      (p)->lpVtbl->MultiplyTransform(p,a,b)
01780 #define IDirect3DDevice9Ex_SetViewport(p,a)                              (p)->lpVtbl->SetViewport(p,a)
01781 #define IDirect3DDevice9Ex_GetViewport(p,a)                              (p)->lpVtbl->GetViewport(p,a)
01782 #define IDirect3DDevice9Ex_SetMaterial(p,a)                              (p)->lpVtbl->SetMaterial(p,a)
01783 #define IDirect3DDevice9Ex_GetMaterial(p,a)                              (p)->lpVtbl->GetMaterial(p,a)
01784 #define IDirect3DDevice9Ex_SetLight(p,a,b)                               (p)->lpVtbl->SetLight(p,a,b)
01785 #define IDirect3DDevice9Ex_GetLight(p,a,b)                               (p)->lpVtbl->GetLight(p,a,b)
01786 #define IDirect3DDevice9Ex_LightEnable(p,a,b)                            (p)->lpVtbl->LightEnable(p,a,b)
01787 #define IDirect3DDevice9Ex_GetLightEnable(p,a,b)                         (p)->lpVtbl->GetLightEnable(p,a,b)
01788 #define IDirect3DDevice9Ex_SetClipPlane(p,a,b)                           (p)->lpVtbl->SetClipPlane(p,a,b)
01789 #define IDirect3DDevice9Ex_GetClipPlane(p,a,b)                           (p)->lpVtbl->GetClipPlane(p,a,b)
01790 #define IDirect3DDevice9Ex_SetRenderState(p,a,b)                         (p)->lpVtbl->SetRenderState(p,a,b)
01791 #define IDirect3DDevice9Ex_GetRenderState(p,a,b)                         (p)->lpVtbl->GetRenderState(p,a,b)
01792 #define IDirect3DDevice9Ex_CreateStateBlock(p,a,b)                       (p)->lpVtbl->CreateStateBlock(p,a,b)
01793 #define IDirect3DDevice9Ex_BeginStateBlock(p)                            (p)->lpVtbl->BeginStateBlock(p)
01794 #define IDirect3DDevice9Ex_EndStateBlock(p,a)                            (p)->lpVtbl->EndStateBlock(p,a)
01795 #define IDirect3DDevice9Ex_SetClipStatus(p,a)                            (p)->lpVtbl->SetClipStatus(p,a)
01796 #define IDirect3DDevice9Ex_GetClipStatus(p,a)                            (p)->lpVtbl->GetClipStatus(p,a)
01797 #define IDirect3DDevice9Ex_GetTexture(p,a,b)                             (p)->lpVtbl->GetTexture(p,a,b)
01798 #define IDirect3DDevice9Ex_SetTexture(p,a,b)                             (p)->lpVtbl->SetTexture(p,a,b)
01799 #define IDirect3DDevice9Ex_GetTextureStageState(p,a,b,c)                 (p)->lpVtbl->GetTextureStageState(p,a,b,c)
01800 #define IDirect3DDevice9Ex_SetTextureStageState(p,a,b,c)                 (p)->lpVtbl->SetTextureStageState(p,a,b,c)
01801 #define IDirect3DDevice9Ex_GetSamplerState(p,a,b,c)                      (p)->lpVtbl->GetSamplerState(p,a,b,c)
01802 #define IDirect3DDevice9Ex_SetSamplerState(p,a,b,c)                      (p)->lpVtbl->SetSamplerState(p,a,b,c)
01803 #define IDirect3DDevice9Ex_ValidateDevice(p,a)                           (p)->lpVtbl->ValidateDevice(p,a)
01804 #define IDirect3DDevice9Ex_SetPaletteEntries(p,a,b)                      (p)->lpVtbl->SetPaletteEntries(p,a,b)
01805 #define IDirect3DDevice9Ex_GetPaletteEntries(p,a,b)                      (p)->lpVtbl->GetPaletteEntries(p,a,b)
01806 #define IDirect3DDevice9Ex_SetCurrentTexturePalette(p,a)                 (p)->lpVtbl->SetCurrentTexturePalette(p,a)
01807 #define IDirect3DDevice9Ex_GetCurrentTexturePalette(p,a)                 (p)->lpVtbl->GetCurrentTexturePalette(p,a)
01808 #define IDirect3DDevice9Ex_SetScissorRect(p,a)                           (p)->lpVtbl->SetScissorRect(p,a)
01809 #define IDirect3DDevice9Ex_GetScissorRect(p,a)                           (p)->lpVtbl->GetScissorRect(p,a)
01810 #define IDirect3DDevice9Ex_SetSoftwareVertexProcessing(p,a)              (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
01811 #define IDirect3DDevice9Ex_GetSoftwareVertexProcessing(p)                (p)->lpVtbl->GetSoftwareVertexProcessing(p)
01812 #define IDirect3DDevice9Ex_SetNPatchMode(p,a)                            (p)->lpVtbl->SetNPatchMode(p,a)
01813 #define IDirect3DDevice9Ex_GetNPatchMode(p)                              (p)->lpVtbl->GetNPatchMode(p)
01814 #define IDirect3DDevice9Ex_DrawPrimitive(p,a,b,c)                        (p)->lpVtbl->DrawPrimitive(p,a,b,c)
01815 #define IDirect3DDevice9Ex_DrawIndexedPrimitive(p,a,b,c,d,e,f)           (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
01816 #define IDirect3DDevice9Ex_DrawPrimitiveUP(p,a,b,c,d)                    (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
01817 #define IDirect3DDevice9Ex_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)     (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
01818 #define IDirect3DDevice9Ex_ProcessVertices(p,a,b,c,d,e,f)                (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
01819 #define IDirect3DDevice9Ex_CreateVertexDeclaration(p,a,b)                (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
01820 #define IDirect3DDevice9Ex_SetVertexDeclaration(p,a)                     (p)->lpVtbl->SetVertexDeclaration(p,a)
01821 #define IDirect3DDevice9Ex_GetVertexDeclaration(p,a)                     (p)->lpVtbl->GetVertexDeclaration(p,a)
01822 #define IDirect3DDevice9Ex_SetFVF(p,a)                                   (p)->lpVtbl->SetFVF(p,a)
01823 #define IDirect3DDevice9Ex_GetFVF(p,a)                                   (p)->lpVtbl->GetFVF(p,a)
01824 #define IDirect3DDevice9Ex_CreateVertexShader(p,a,b)                     (p)->lpVtbl->CreateVertexShader(p,a,b)
01825 #define IDirect3DDevice9Ex_SetVertexShader(p,a)                          (p)->lpVtbl->SetVertexShader(p,a)
01826 #define IDirect3DDevice9Ex_GetVertexShader(p,a)                          (p)->lpVtbl->GetVertexShader(p,a)
01827 #define IDirect3DDevice9Ex_SetVertexShaderConstantF(p,a,b,c)             (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
01828 #define IDirect3DDevice9Ex_GetVertexShaderConstantF(p,a,b,c)             (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
01829 #define IDirect3DDevice9Ex_SetVertexShaderConstantI(p,a,b,c)             (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
01830 #define IDirect3DDevice9Ex_GetVertexShaderConstantI(p,a,b,c)             (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
01831 #define IDirect3DDevice9Ex_SetVertexShaderConstantB(p,a,b,c)             (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
01832 #define IDirect3DDevice9Ex_GetVertexShaderConstantB(p,a,b,c)             (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
01833 #define IDirect3DDevice9Ex_SetStreamSource(p,a,b,c,d)                    (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
01834 #define IDirect3DDevice9Ex_GetStreamSource(p,a,b,c,d)                    (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
01835 #define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b)                    (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
01836 #define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b)                    (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
01837 #define IDirect3DDevice9Ex_SetIndices(p,a)                               (p)->lpVtbl->SetIndices(p,a)
01838 #define IDirect3DDevice9Ex_GetIndices(p,a)                               (p)->lpVtbl->GetIndices(p,a)
01839 #define IDirect3DDevice9Ex_CreatePixelShader(p,a,b)                      (p)->lpVtbl->CreatePixelShader(p,a,b)
01840 #define IDirect3DDevice9Ex_SetPixelShader(p,a)                           (p)->lpVtbl->SetPixelShader(p,a)
01841 #define IDirect3DDevice9Ex_GetPixelShader(p,a)                           (p)->lpVtbl->GetPixelShader(p,a)
01842 #define IDirect3DDevice9Ex_SetPixelShaderConstantF(p,a,b,c)              (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
01843 #define IDirect3DDevice9Ex_GetPixelShaderConstantF(p,a,b,c)              (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
01844 #define IDirect3DDevice9Ex_SetPixelShaderConstantI(p,a,b,c)              (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
01845 #define IDirect3DDevice9Ex_GetPixelShaderConstantI(p,a,b,c)              (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
01846 #define IDirect3DDevice9Ex_SetPixelShaderConstantB(p,a,b,c)              (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
01847 #define IDirect3DDevice9Ex_GetPixelShaderConstantB(p,a,b,c)              (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
01848 #define IDirect3DDevice9Ex_DrawRectPatch(p,a,b,c)                        (p)->lpVtbl->DrawRectPatch(p,a,b,c)
01849 #define IDirect3DDevice9Ex_DrawTriPatch(p,a,b,c)                         (p)->lpVtbl->DrawTriPatch(p,a,b,c)
01850 #define IDirect3DDevice9Ex_DeletePatch(p,a)                              (p)->lpVtbl->DeletePatch(p,a)
01851 #define IDirect3DDevice9Ex_CreateQuery(p,a,b)                            (p)->lpVtbl->CreateQuery(p,a,b)
01852 /* IDirect3DDevice9Ex */
01853 #define IDirect3DDevice9Ex_SetConvolutionMonoKernel(p,a,b,c,d)           (p)->lpVtbl->SetConvolutionMonoKernel(p,a,b,c,d)
01854 #define IDirect3DDevice9Ex_ComposeRects(p,a,b,c,d,e,f,g,h)               (p)->lpVtbl->ComposeRects(p,a,b,c,d,e,f,g,h)
01855 #define IDirect3DDevice9Ex_PresentEx(p,a,b,c,d,e)                        (p)->lpVtbl->PresentEx(p,a,b,c,d,e)
01856 #define IDirect3DDevice9Ex_GetGPUThreadPriority(p,a)                     (p)->lpVtbl->GetGPUThreadPriority(p,a)
01857 #define IDirect3DDevice9Ex_SetGPUThreadPriority(p,a)                     (p)->lpVtbl->SetGPUThreadPriority(p,a)
01858 #define IDirect3DDevice9Ex_WaitForVBlank(p,a)                            (p)->lpVtbl->WaitForVBlank(p,a)
01859 #define IDirect3DDevice9Ex_CheckResourceResidency(p,a,b)                 (p)->lpVtbl->CheckResourceResidency(p,a,b)
01860 #define IDirect3DDevice9Ex_SetMaximumFrameLatency(p,a)                   (p)->lpVtbl->SetMaximumFrameLatency(p,a)
01861 #define IDirect3DDevice9Ex_GetMaximumFrameLatency(p,a)                   (p)->lpVtbl->GetMaximumFrameLatency(p,a)
01862 #define IDirect3DDevice9Ex_CheckDeviceState(p,a)                         (p)->lpVtbl->CheckDeviceState(p,a)
01863 #define IDirect3DDevice9Ex_CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i)     (p)->lpVtbl->CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i)
01864 #define IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)(p)->lpVtbl->CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)
01865 #define IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)(p)->lpVtbl->CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)
01866 #define IDirect3DDevice9Ex_ResetEx(p,a,b)                                 (p)->lpVtbl->ResetEx(p,a,b)
01867 #define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c)                     (p)->lpVtbl->GetDisplayModeEx(p,a,b,c)
01868 #else
01869 /*** IUnknown methods ***/
01870 #define IDirect3DDevice9Ex_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
01871 #define IDirect3DDevice9Ex_AddRef(p)             (p)->AddRef()
01872 #define IDirect3DDevice9Ex_Release(p)            (p)->Release()
01873 /*** IDirect3DDevice9 methods ***/
01874 #define IDirect3DDevice9Ex_TestCooperativeLevel(p)                       (p)->TestCooperativeLevel()
01875 #define IDirect3DDevice9Ex_GetAvailableTextureMem(p)                     (p)->GetAvailableTextureMem()
01876 #define IDirect3DDevice9Ex_EvictManagedResources(p)                      (p)->EvictManagedResources()
01877 #define IDirect3DDevice9Ex_GetDirect3D(p,a)                              (p)->GetDirect3D(a)
01878 #define IDirect3DDevice9Ex_GetDeviceCaps(p,a)                            (p)->GetDeviceCaps(a)
01879 #define IDirect3DDevice9Ex_GetDisplayMode(p,a,b)                         (p)->GetDisplayMode(a,b)
01880 #define IDirect3DDevice9Ex_GetCreationParameters(p,a)                    (p)->GetCreationParameters(a)
01881 #define IDirect3DDevice9Ex_SetCursorProperties(p,a,b,c)                  (p)->SetCursorProperties(a,b,c)
01882 #define IDirect3DDevice9Ex_SetCursorPosition(p,a,b,c)                    (p)->SetCursorPosition(a,b,c)
01883 #define IDirect3DDevice9Ex_ShowCursor(p,a)                               (p)->ShowCursor(a)
01884 #define IDirect3DDevice9Ex_CreateAdditionalSwapChain(p,a,b)              (p)->CreateAdditionalSwapChain(a,b)
01885 #define IDirect3DDevice9Ex_GetSwapChain(p,a,b)                           (p)->GetSwapChain(a,b)
01886 #define IDirect3DDevice9Ex_GetNumberOfSwapChains(p)                      (p)->GetNumberOfSwapChains()
01887 #define IDirect3DDevice9Ex_Reset(p,a)                                    (p)->Reset(a)
01888 #define IDirect3DDevice9Ex_Present(p,a,b,c,d)                            (p)->Present(a,b,c,d)
01889 #define IDirect3DDevice9Ex_GetBackBuffer(p,a,b,c,d)                      (p)->GetBackBuffer(a,b,c,d)
01890 #define IDirect3DDevice9Ex_GetRasterStatus(p,a,b)                        (p)->GetRasterStatus(a,b)
01891 #define IDirect3DDevice9Ex_SetDialogBoxMode(p,a)                         (p)->SetDialogBoxMode(a)
01892 #define IDirect3DDevice9Ex_SetGammaRamp(p,a,b,c)                         (p)->SetGammaRamp(a,b,c)
01893 #define IDirect3DDevice9Ex_GetGammaRamp(p,a,b)                           (p)->GetGammaRamp(a,b)
01894 #define IDirect3DDevice9Ex_CreateTexture(p,a,b,c,d,e,f,g,h)              (p)->CreateTexture(a,b,c,d,e,f,g,h)
01895 #define IDirect3DDevice9Ex_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)      (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
01896 #define IDirect3DDevice9Ex_CreateCubeTexture(p,a,b,c,d,e,f,g)            (p)->CreateCubeTexture(a,b,c,d,e,f,g)
01897 #define IDirect3DDevice9Ex_CreateVertexBuffer(p,a,b,c,d,e,f)             (p)->CreateVertexBuffer(a,b,c,d,e,f)
01898 #define IDirect3DDevice9Ex_CreateIndexBuffer(p,a,b,c,d,e,f)              (p)->CreateIndexBuffer(a,b,c,d,e,f)
01899 #define IDirect3DDevice9Ex_CreateRenderTarget(p,a,b,c,d,e,f,g,h)         (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
01900 #define IDirect3DDevice9Ex_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)  (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
01901 #define IDirect3DDevice9Ex_UpdateSurface(p,a,b,c,d)                      (p)->UpdateSurface(a,b,c,d)
01902 #define IDirect3DDevice9Ex_UpdateTexture(p,a,b)                          (p)->UpdateTexture(a,b)
01903 #define IDirect3DDevice9Ex_GetRenderTargetData(p,a,b)                    (p)->GetRenderTargetData(a,b)
01904 #define IDirect3DDevice9Ex_GetFrontBufferData(p,a,b)                     (p)->GetFrontBufferData(a,b)
01905 #define IDirect3DDevice9Ex_StretchRect(p,a,b,c,d,e)                      (p)->StretchRect(a,b,c,d,e)
01906 #define IDirect3DDevice9Ex_ColorFill(p,a,b,c)                            (p)->ColorFill(a,b,c)
01907 #define IDirect3DDevice9Ex_CreateOffscreenPlainSurface(p,a,b,c,d,e,f)    (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
01908 #define IDirect3DDevice9Ex_SetRenderTarget(p,a,b)                        (p)->SetRenderTarget(a,b)
01909 #define IDirect3DDevice9Ex_GetRenderTarget(p,a,b)                        (p)->GetRenderTarget(a,b)
01910 #define IDirect3DDevice9Ex_SetDepthStencilSurface(p,a)                   (p)->SetDepthStencilSurface(a)
01911 #define IDirect3DDevice9Ex_GetDepthStencilSurface(p,a)                   (p)->GetDepthStencilSurface(a)
01912 #define IDirect3DDevice9Ex_BeginScene(p)                                 (p)->BeginScene()
01913 #define IDirect3DDevice9Ex_EndScene(p)                                   (p)->EndScene()
01914 #define IDirect3DDevice9Ex_Clear(p,a,b,c,d,e,f)                          (p)->Clear(a,b,c,d,e,f)
01915 #define IDirect3DDevice9Ex_SetTransform(p,a,b)                           (p)->SetTransform(a,b)
01916 #define IDirect3DDevice9Ex_GetTransform(p,a,b)                           (p)->GetTransform(a,b)
01917 #define IDirect3DDevice9Ex_MultiplyTransform(p,a,b)                      (p)->MultiplyTransform(a,b)
01918 #define IDirect3DDevice9Ex_SetViewport(p,a)                              (p)->SetViewport(a)
01919 #define IDirect3DDevice9Ex_GetViewport(p,a)                              (p)->GetViewport(a)
01920 #define IDirect3DDevice9Ex_SetMaterial(p,a)                              (p)->SetMaterial(a)
01921 #define IDirect3DDevice9Ex_GetMaterial(p,a)                              (p)->GetMaterial(a)
01922 #define IDirect3DDevice9Ex_SetLight(p,a,b)                               (p)->SetLight(a,b)
01923 #define IDirect3DDevice9Ex_GetLight(p,a,b)                               (p)->GetLight(a,b)
01924 #define IDirect3DDevice9Ex_LightEnable(p,a,b)                            (p)->LightEnable(a,b)
01925 #define IDirect3DDevice9Ex_GetLightEnable(p,a,b)                         (p)->GetLightEnable(a,b)
01926 #define IDirect3DDevice9Ex_SetClipPlane(p,a,b)                           (p)->SetClipPlane(a,b)
01927 #define IDirect3DDevice9Ex_GetClipPlane(p,a,b)                           (p)->GetClipPlane(a,b)
01928 #define IDirect3DDevice9Ex_SetRenderState(p,a,b)                         (p)->SetRenderState(a,b)
01929 #define IDirect3DDevice9Ex_GetRenderState(p,a,b)                         (p)->GetRenderState(a,b)
01930 #define IDirect3DDevice9Ex_CreateStateBlock(p,a,b)                       (p)->CreateStateBlock(a,b)
01931 #define IDirect3DDevice9Ex_BeginStateBlock(p)                            (p)->BeginStateBlock()
01932 #define IDirect3DDevice9Ex_EndStateBlock(p,a)                            (p)->EndStateBlock(a)
01933 #define IDirect3DDevice9Ex_SetClipStatus(p,a)                            (p)->SetClipStatus(a)
01934 #define IDirect3DDevice9Ex_GetClipStatus(p,a)                            (p)->GetClipStatus(a)
01935 #define IDirect3DDevice9Ex_GetTexture(p,a,b)                             (p)->GetTexture(a,b)
01936 #define IDirect3DDevice9Ex_SetTexture(p,a,b)                             (p)->SetTexture(a,b)
01937 #define IDirect3DDevice9Ex_GetTextureStageState(p,a,b,c)                 (p)->GetTextureStageState(a,b,c)
01938 #define IDirect3DDevice9Ex_SetTextureStageState(p,a,b,c)                 (p)->SetTextureStageState(a,b,c)
01939 #define IDirect3DDevice9Ex_GetSamplerState(p,a,b,c)                      (p)->GetSamplerState(a,b,c)
01940 #define IDirect3DDevice9Ex_SetSamplerState(p,a,b,c)                      (p)->SetSamplerState(a,b,c)
01941 #define IDirect3DDevice9Ex_ValidateDevice(p,a)                           (p)->ValidateDevice(a)
01942 #define IDirect3DDevice9Ex_SetPaletteEntries(p,a,b)                      (p)->SetPaletteEntries(a,b)
01943 #define IDirect3DDevice9Ex_GetPaletteEntries(p,a,b)                      (p)->GetPaletteEntries(a,b)
01944 #define IDirect3DDevice9Ex_SetCurrentTexturePalette(p,a)                 (p)->SetCurrentTexturePalette(a)
01945 #define IDirect3DDevice9Ex_GetCurrentTexturePalette(p,a)                 (p)->GetCurrentTexturePalette(a)
01946 #define IDirect3DDevice9Ex_SetScissorRect(p,a)                           (p)->SetScissorRect(a)
01947 #define IDirect3DDevice9Ex_GetScissorRect(p,a)                           (p)->GetScissorRect(a)
01948 #define IDirect3DDevice9Ex_SetSoftwareVertexProcessing(p,a)              (p)->SetSoftwareVertexProcessing(a)
01949 #define IDirect3DDevice9Ex_GetSoftwareVertexProcessing(p)                (p)->GetSoftwareVertexProcessing()
01950 #define IDirect3DDevice9Ex_SetNPatchMode(p,a)                            (p)->SetNPatchMode(a)
01951 #define IDirect3DDevice9Ex_GetNPatchMode(p)                              (p)->GetNPatchMode()
01952 #define IDirect3DDevice9Ex_DrawPrimitive(p,a,b,c)                        (p)->DrawPrimitive(a,b,c)
01953 #define IDirect3DDevice9Ex_DrawIndexedPrimitive(p,a,b,c,d,e,f)           (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
01954 #define IDirect3DDevice9Ex_DrawPrimitiveUP(p,a,b,c,d)                    (p)->DrawPrimitiveUP(a,b,c,d)
01955 #define IDirect3DDevice9Ex_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)     (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
01956 #define IDirect3DDevice9Ex_ProcessVertices(p,a,b,c,d,e,f)                (p)->ProcessVertices(a,b,c,d,e,f)
01957 #define IDirect3DDevice9Ex_CreateVertexDeclaration(p,a,b)                (p)->CreateVertexDeclaration(a,b)
01958 #define IDirect3DDevice9Ex_SetVertexDeclaration(p,a)                     (p)->SetVertexDeclaration(a)
01959 #define IDirect3DDevice9Ex_GetVertexDeclaration(p,a)                     (p)->GetVertexDeclaration(a)
01960 #define IDirect3DDevice9Ex_SetFVF(p,a)                                   (p)->SetFVF(a)
01961 #define IDirect3DDevice9Ex_GetFVF(p,a)                                   (p)->GetFVF(a)
01962 #define IDirect3DDevice9Ex_CreateVertexShader(p,a,b)                     (p)->CreateVertexShader(a,b)
01963 #define IDirect3DDevice9Ex_SetVertexShader(p,a)                          (p)->SetVertexShader(a)
01964 #define IDirect3DDevice9Ex_GetVertexShader(p,a)                          (p)->GetVertexShader(a)
01965 #define IDirect3DDevice9Ex_SetVertexShaderConstantF(p,a,b,c)             (p)->SetVertexShaderConstantF(a,b,c)
01966 #define IDirect3DDevice9Ex_GetVertexShaderConstantF(p,a,b,c)             (p)->GetVertexShaderConstantF(a,b,c)
01967 #define IDirect3DDevice9Ex_SetVertexShaderConstantI(p,a,b,c)             (p)->SetVertexShaderConstantI(a,b,c)
01968 #define IDirect3DDevice9Ex_GetVertexShaderConstantI(p,a,b,c)             (p)->GetVertexShaderConstantI(a,b,c)
01969 #define IDirect3DDevice9Ex_SetVertexShaderConstantB(p,a,b,c)             (p)->SetVertexShaderConstantB(a,b,c)
01970 #define IDirect3DDevice9Ex_GetVertexShaderConstantB(p,a,b,c)             (p)->GetVertexShaderConstantB(a,b,c)
01971 #define IDirect3DDevice9Ex_SetStreamSource(p,a,b,c,d)                    (p)->SetStreamSource(a,b,c,d)
01972 #define IDirect3DDevice9Ex_GetStreamSource(p,a,b,c,d)                    (p)->GetStreamSource(a,b,c,d)
01973 #define IDirect3DDevice9Ex_SetStreamSourceFreq(p,a,b)                    (p)->SetStreamSourceFreq(a,b)
01974 #define IDirect3DDevice9Ex_GetStreamSourceFreq(p,a,b)                    (p)->GetStreamSourceFreq(a,b)
01975 #define IDirect3DDevice9Ex_SetIndices(p,a)                               (p)->SetIndices(a)
01976 #define IDirect3DDevice9Ex_GetIndices(p,a)                               (p)->GetIndices(a)
01977 #define IDirect3DDevice9Ex_CreatePixelShader(p,a,b)                      (p)->CreatePixelShader(a,b)
01978 #define IDirect3DDevice9Ex_SetPixelShader(p,a)                           (p)->SetPixelShader(a)
01979 #define IDirect3DDevice9Ex_GetPixelShader(p,a)                           (p)->GetPixelShader(a)
01980 #define IDirect3DDevice9Ex_SetPixelShaderConstantF(p,a,b,c)              (p)->SetPixelShaderConstantF(a,b,c)
01981 #define IDirect3DDevice9Ex_GetPixelShaderConstantF(p,a,b,c)              (p)->GetPixelShaderConstantF(a,b,c)
01982 #define IDirect3DDevice9Ex_SetPixelShaderConstantI(p,a,b,c)              (p)->SetPixelShaderConstantI(a,b,c)
01983 #define IDirect3DDevice9Ex_GetPixelShaderConstantI(p,a,b,c)              (p)->GetPixelShaderConstantI(a,b,c)
01984 #define IDirect3DDevice9Ex_SetPixelShaderConstantB(p,a,b,c)              (p)->SetPixelShaderConstantB(a,b,c)
01985 #define IDirect3DDevice9Ex_GetPixelShaderConstantB(p,a,b,c)              (p)->GetPixelShaderConstantB(a,b,c)
01986 #define IDirect3DDevice9Ex_DrawRectPatch(p,a,b,c)                        (p)->DrawRectPatch(a,b,c)
01987 #define IDirect3DDevice9Ex_DrawTriPatch(p,a,b,c)                         (p)->DrawTriPatch(a,b,c)
01988 #define IDirect3DDevice9Ex_DeletePatch(p,a)                              (p)->DeletePatch(a)
01989 #define IDirect3DDevice9Ex_CreateQuery(p,a,b)                            (p)->CreateQuery(a,b)
01990 /* IDirect3DDevice9Ex */
01991 #define IDirect3DDevice9Ex_SetConvolutionMonoKernel(p,a,b,c,d)           (p)->SetConvolutionMonoKernel(a,b,c,d)
01992 #define IDirect3DDevice9Ex_ComposeRects(p,a,b,c,d,e,f,g,h)               (p)->ComposeRects(a,b,c,d,e,f,g,h)
01993 #define IDirect3DDevice9Ex_PresentEx(p,a,b,c,d,e)                        (p)->PresentEx(a,b,c,d,e)
01994 #define IDirect3DDevice9Ex_GetGPUThreadPriority(p,a)                     (p)->GetGPUThreadPriority(a)
01995 #define IDirect3DDevice9Ex_SetGPUThreadPriority(p,a)                     (p)->SetGPUThreadPriority(a)
01996 #define IDirect3DDevice9Ex_WaitForVBlank(p,a)                            (p)->WaitForVBlank(a)
01997 #define IDirect3DDevice9Ex_CheckResourceResidency(p,a,b)                 (p)->CheckResourceResidency(a,b)
01998 #define IDirect3DDevice9Ex_SetMaximumFrameLatency(p,a)                   (p)->SetMaximumFrameLatency(a)
01999 #define IDirect3DDevice9Ex_GetMaximumFrameLatency(p,a)                   (p)->GetMaximumFrameLatency(a)
02000 #define IDirect3DDevice9Ex_CheckDeviceState(p,a)                         (p)->CheckDeviceState(a)
02001 #define IDirect3DDevice9Ex_CreateRenderTargetEx(p,a,b,c,d,e,f,g,h,i)     (p)->CreateRenderTargetEx(a,b,c,d,e,f,g,h,i)
02002 #define IDirect3DDevice9Ex_CreateOffscreenPlainSurfaceEx(p,a,b,c,d,e,f,g)(p)->CreateOffscreenPlainSurfaceEx(a,b,c,d,e,f,g)
02003 #define IDirect3DDevice9Ex_CreateDepthStencilSurfaceEx(p,a,b,c,d,e,f,g,h,i)(p)->CreateDepthStencilSurfaceEx(a,b,c,d,e,f,g,h,i)
02004 #define IDirect3DDevice9Ex_ResetEx(p,a,b)                                (p)->ResetEx(a,b)
02005 #define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c)                     (p)->GetDisplayModeEx(a,b,c)
02006 #endif
02007 
02008 
02009 #ifdef __cplusplus
02010 extern "C" {
02011 #endif  /* defined(__cplusplus) */
02012 
02013 int         WINAPI D3DPERF_BeginEvent(D3DCOLOR,LPCWSTR);
02014 int         WINAPI D3DPERF_EndEvent(void);
02015 DWORD       WINAPI D3DPERF_GetStatus(void);
02016 BOOL        WINAPI D3DPERF_QueryRepeatFrame(void);
02017 void        WINAPI D3DPERF_SetMarker(D3DCOLOR,LPCWSTR);
02018 void        WINAPI D3DPERF_SetOptions(DWORD);
02019 void        WINAPI D3DPERF_SetRegion(D3DCOLOR,LPCWSTR);
02020 
02021 /* Define the main entrypoint as well */
02022 IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
02023 
02024 #ifdef __cplusplus
02025 } /* extern "C" */
02026 #endif /* defined(__cplusplus) */
02027 
02028 
02029 #endif /* __WINE_D3D9_H */

Generated on Sat May 26 2012 04:29:59 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.