pub struct IDirect3DDevice9ExVtbl {
pub QueryInterface: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, riid: *const IID, ppvObj: *mut *mut VOID) -> HRESULT>,
pub AddRef: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub Release: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub TestCooperativeLevel: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub GetAvailableTextureMem: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub EvictManagedResources: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub GetDirect3D: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, ppD3D9: *mut *mut IDirect3D9) -> HRESULT>,
pub GetDeviceCaps: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pCaps: *mut D3DCAPS9) -> HRESULT>,
pub GetDisplayMode: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT, pMode: *mut D3DDISPLAYMODE) -> HRESULT>,
pub GetCreationParameters: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pParameters: *mut D3DDEVICE_CREATION_PARAMETERS) -> HRESULT>,
pub SetCursorProperties: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, XHotSpot: UINT, YHotSpot: UINT, pCursorBitmap: *mut IDirect3DSurface9) -> HRESULT>,
pub SetCursorPosition: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, X: INT, Y: INT, Flags: DWORD)>,
pub ShowCursor: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, bShow: BOOL) -> BOOL>,
pub CreateAdditionalSwapChain: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pPresentationParameters: *mut D3DPRESENT_PARAMETERS, pSwapChain: *mut *mut IDirect3DSwapChain9) -> HRESULT>,
pub GetSwapChain: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT, pSwapChain: *mut *mut IDirect3DSwapChain9) -> HRESULT>,
pub GetNumberOfSwapChains: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub Reset: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pPresentationParameters: *mut D3DPRESENT_PARAMETERS) -> HRESULT>,
pub Present: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pSourceRect: *const RECT, pDestRect: *const RECT, hDestWindowOverride: HWND, pDirtyRegion: *const RGNDATA) -> HRESULT>,
pub GetBackBuffer: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT, iBackBuffer: UINT, Type: D3DBACKBUFFER_TYPE, ppBackBuffer: *mut *mut IDirect3DSurface9) -> HRESULT>,
pub GetRasterStatus: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT, pRasterStatus: *mut D3DRASTER_STATUS) -> HRESULT>,
pub SetDialogBoxMode: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, bEnableDialogs: BOOL) -> HRESULT>,
pub SetGammaRamp: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT, Flags: DWORD, pRamp: *const D3DGAMMARAMP)>,
pub GetGammaRamp: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT, pRamp: *mut D3DGAMMARAMP)>,
pub CreateTexture: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Width: UINT, Height: UINT, Levels: UINT, Usage: DWORD, Format: D3DFORMAT, Pool: D3DPOOL, ppTexture: *mut *mut IDirect3DTexture9, pSharedHandle: *mut HANDLE) -> HRESULT>,
pub CreateVolumeTexture: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Width: UINT, Height: UINT, Depth: UINT, Levels: UINT, Usage: DWORD, Format: D3DFORMAT, Pool: D3DPOOL, ppVolumeTexture: *mut *mut IDirect3DVolumeTexture9, pSharedHandle: *mut HANDLE) -> HRESULT>,
pub CreateCubeTexture: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, EdgeLength: UINT, Levels: UINT, Usage: DWORD, Format: D3DFORMAT, Pool: D3DPOOL, ppCubeTexture: *mut *mut IDirect3DCubeTexture9, pSharedHandle: *mut HANDLE) -> HRESULT>,
pub CreateVertexBuffer: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Length: UINT, Usage: DWORD, FVF: DWORD, Pool: D3DPOOL, ppVertexBuffer: *mut *mut IDirect3DVertexBuffer9, pSharedHandle: *mut HANDLE) -> HRESULT>,
pub CreateIndexBuffer: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Length: UINT, Usage: DWORD, Format: D3DFORMAT, Pool: D3DPOOL, ppIndexBuffer: *mut *mut IDirect3DIndexBuffer9, pSharedHandle: *mut HANDLE) -> HRESULT>,
pub CreateRenderTarget: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Width: UINT, Height: UINT, Format: D3DFORMAT, MultiSample: D3DMULTISAMPLE_TYPE, MultisampleQuality: DWORD, Lockable: BOOL, ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut HANDLE) -> HRESULT>,
pub CreateDepthStencilSurface: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Width: UINT, Height: UINT, Format: D3DFORMAT, MultiSample: D3DMULTISAMPLE_TYPE, MultisampleQuality: DWORD, Discard: BOOL, ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut HANDLE) -> HRESULT>,
pub UpdateSurface: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pSourceSurface: *mut IDirect3DSurface9, pSourceRect: *const RECT, pDestinationSurface: *mut IDirect3DSurface9, pDestPoint: *const POINT) -> HRESULT>,
pub UpdateTexture: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pSourceTexture: *mut IDirect3DBaseTexture9, pDestinationTexture: *mut IDirect3DBaseTexture9) -> HRESULT>,
pub GetRenderTargetData: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pRenderTarget: *mut IDirect3DSurface9, pDestSurface: *mut IDirect3DSurface9) -> HRESULT>,
pub GetFrontBufferData: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT, pDestSurface: *mut IDirect3DSurface9) -> HRESULT>,
pub StretchRect: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pSourceSurface: *mut IDirect3DSurface9, pSourceRect: *const RECT, pDestSurface: *mut IDirect3DSurface9, pDestRect: *const RECT, Filter: D3DTEXTUREFILTERTYPE) -> HRESULT>,
pub ColorFill: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pSurface: *mut IDirect3DSurface9, pRect: *const RECT, color: D3DCOLOR) -> HRESULT>,
pub CreateOffscreenPlainSurface: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Width: UINT, Height: UINT, Format: D3DFORMAT, Pool: D3DPOOL, ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut HANDLE) -> HRESULT>,
pub SetRenderTarget: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, RenderTargetIndex: DWORD, pRenderTarget: *mut IDirect3DSurface9) -> HRESULT>,
pub GetRenderTarget: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, RenderTargetIndex: DWORD, ppRenderTarget: *mut *mut IDirect3DSurface9) -> HRESULT>,
pub SetDepthStencilSurface: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pNewZStencil: *mut IDirect3DSurface9) -> HRESULT>,
pub GetDepthStencilSurface: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, ppZStencilSurface: *mut *mut IDirect3DSurface9) -> HRESULT>,
pub BeginScene: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub EndScene: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub Clear: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Count: DWORD, pRects: *const D3DRECT, Flags: DWORD, Color: D3DCOLOR, Z: FLOAT, Stencil: DWORD) -> HRESULT>,
pub SetTransform: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, State: D3DTRANSFORMSTATETYPE, pMatrix: *const D3DMATRIX) -> HRESULT>,
pub GetTransform: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, State: D3DTRANSFORMSTATETYPE, pMatrix: *mut D3DMATRIX) -> HRESULT>,
pub MultiplyTransform: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, arg1: D3DTRANSFORMSTATETYPE, arg2: *const D3DMATRIX) -> HRESULT>,
pub SetViewport: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pViewport: *const D3DVIEWPORT9) -> HRESULT>,
pub GetViewport: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pViewport: *mut D3DVIEWPORT9) -> HRESULT>,
pub SetMaterial: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pMaterial: *const D3DMATERIAL9) -> HRESULT>,
pub GetMaterial: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pMaterial: *mut D3DMATERIAL9) -> HRESULT>,
pub SetLight: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Index: DWORD, arg1: *const D3DLIGHT9) -> HRESULT>,
pub GetLight: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Index: DWORD, arg1: *mut D3DLIGHT9) -> HRESULT>,
pub LightEnable: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Index: DWORD, Enable: BOOL) -> HRESULT>,
pub GetLightEnable: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Index: DWORD, pEnable: *mut BOOL) -> HRESULT>,
pub SetClipPlane: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Index: DWORD, pPlane: *const FLOAT) -> HRESULT>,
pub GetClipPlane: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Index: DWORD, pPlane: *mut FLOAT) -> HRESULT>,
pub SetRenderState: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, State: D3DRENDERSTATETYPE, Value: DWORD) -> HRESULT>,
pub GetRenderState: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, State: D3DRENDERSTATETYPE, pValue: *mut DWORD) -> HRESULT>,
pub CreateStateBlock: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Type: D3DSTATEBLOCKTYPE, ppSB: *mut *mut IDirect3DStateBlock9) -> HRESULT>,
pub BeginStateBlock: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub EndStateBlock: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, ppSB: *mut *mut IDirect3DStateBlock9) -> HRESULT>,
pub SetClipStatus: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pClipStatus: *const D3DCLIPSTATUS9) -> HRESULT>,
pub GetClipStatus: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pClipStatus: *mut D3DCLIPSTATUS9) -> HRESULT>,
pub GetTexture: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Stage: DWORD, ppTexture: *mut *mut IDirect3DBaseTexture9) -> HRESULT>,
pub SetTexture: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Stage: DWORD, pTexture: *mut IDirect3DBaseTexture9) -> HRESULT>,
pub GetTextureStageState: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Stage: DWORD, Type: D3DTEXTURESTAGESTATETYPE, pValue: *mut DWORD) -> HRESULT>,
pub SetTextureStageState: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Stage: DWORD, Type: D3DTEXTURESTAGESTATETYPE, Value: DWORD) -> HRESULT>,
pub GetSamplerState: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Sampler: DWORD, Type: D3DSAMPLERSTATETYPE, pValue: *mut DWORD) -> HRESULT>,
pub SetSamplerState: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Sampler: DWORD, Type: D3DSAMPLERSTATETYPE, Value: DWORD) -> HRESULT>,
pub ValidateDevice: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pNumPasses: *mut DWORD) -> HRESULT>,
pub SetPaletteEntries: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, PaletteNumber: UINT, pEntries: *const PALETTEENTRY) -> HRESULT>,
pub GetPaletteEntries: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, PaletteNumber: UINT, pEntries: *mut PALETTEENTRY) -> HRESULT>,
pub SetCurrentTexturePalette: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, PaletteNumber: UINT) -> HRESULT>,
pub GetCurrentTexturePalette: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, PaletteNumber: *mut UINT) -> HRESULT>,
pub SetScissorRect: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pRect: *const RECT) -> HRESULT>,
pub GetScissorRect: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pRect: *mut RECT) -> HRESULT>,
pub SetSoftwareVertexProcessing: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, bSoftware: BOOL) -> HRESULT>,
pub GetSoftwareVertexProcessing: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> *mut IDirect3DDevice9Ex>,
pub SetNPatchMode: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, nSegments: FLOAT) -> HRESULT>,
pub GetNPatchMode: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex) -> FLOAT>,
pub DrawPrimitive: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, PrimitiveType: D3DPRIMITIVETYPE, StartVertex: UINT, PrimitiveCount: UINT) -> HRESULT>,
pub DrawIndexedPrimitive: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, arg1: D3DPRIMITIVETYPE, BaseVertexIndex: INT, MinVertexIndex: UINT, NumVertices: UINT, startIndex: UINT, primCount: UINT) -> HRESULT>,
pub DrawPrimitiveUP: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, PrimitiveType: D3DPRIMITIVETYPE, PrimitiveCount: UINT, pVertexStreamZeroData: *const VOID, VertexStreamZeroStride: UINT) -> HRESULT>,
pub DrawIndexedPrimitiveUP: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, PrimitiveType: D3DPRIMITIVETYPE, MinVertexIndex: UINT, NumVertices: UINT, PrimitiveCount: UINT, pIndexData: *const VOID, IndexDataFormat: D3DFORMAT, pVertexStreamZeroData: *const VOID, VertexStreamZeroStride: UINT) -> HRESULT>,
pub ProcessVertices: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, SrcStartIndex: UINT, DestIndex: UINT, VertexCount: UINT, pDestBuffer: *mut IDirect3DVertexBuffer9, pVertexDecl: *mut IDirect3DVertexDeclaration9, Flags: DWORD) -> HRESULT>,
pub CreateVertexDeclaration: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pVertexElements: *const D3DVERTEXELEMENT9, ppDecl: *mut *mut IDirect3DVertexDeclaration9) -> HRESULT>,
pub SetVertexDeclaration: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pDecl: *mut IDirect3DVertexDeclaration9) -> HRESULT>,
pub GetVertexDeclaration: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, ppDecl: *mut *mut IDirect3DVertexDeclaration9) -> HRESULT>,
pub SetFVF: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, FVF: DWORD) -> HRESULT>,
pub GetFVF: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pFVF: *mut DWORD) -> HRESULT>,
pub CreateVertexShader: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pFunction: *const DWORD, ppShader: *mut *mut IDirect3DVertexShader9) -> HRESULT>,
pub SetVertexShader: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pShader: *mut IDirect3DVertexShader9) -> HRESULT>,
pub GetVertexShader: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, ppShader: *mut *mut IDirect3DVertexShader9) -> HRESULT>,
pub SetVertexShaderConstantF: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *const FLOAT, Vector4fCount: UINT) -> HRESULT>,
pub GetVertexShaderConstantF: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *mut FLOAT, Vector4fCount: UINT) -> HRESULT>,
pub SetVertexShaderConstantI: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *const INT, Vector4iCount: UINT) -> HRESULT>,
pub GetVertexShaderConstantI: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *mut INT, Vector4iCount: UINT) -> HRESULT>,
pub SetVertexShaderConstantB: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *const BOOL, BoolCount: UINT) -> HRESULT>,
pub GetVertexShaderConstantB: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *mut BOOL, BoolCount: UINT) -> HRESULT>,
pub SetStreamSource: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StreamNumber: UINT, pStreamData: *mut IDirect3DVertexBuffer9, OffsetInBytes: UINT, Stride: UINT) -> HRESULT>,
pub GetStreamSource: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StreamNumber: UINT, ppStreamData: *mut *mut IDirect3DVertexBuffer9, pOffsetInBytes: *mut UINT, pStride: *mut UINT) -> HRESULT>,
pub SetStreamSourceFreq: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StreamNumber: UINT, Setting: UINT) -> HRESULT>,
pub GetStreamSourceFreq: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StreamNumber: UINT, pSetting: *mut UINT) -> HRESULT>,
pub SetIndices: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pIndexData: *mut IDirect3DIndexBuffer9) -> HRESULT>,
pub GetIndices: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, ppIndexData: *mut *mut IDirect3DIndexBuffer9) -> HRESULT>,
pub CreatePixelShader: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pFunction: *const DWORD, ppShader: *mut *mut IDirect3DPixelShader9) -> HRESULT>,
pub SetPixelShader: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pShader: *mut IDirect3DPixelShader9) -> HRESULT>,
pub GetPixelShader: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, ppShader: *mut *mut IDirect3DPixelShader9) -> HRESULT>,
pub SetPixelShaderConstantF: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *const FLOAT, Vector4fCount: UINT) -> HRESULT>,
pub GetPixelShaderConstantF: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *mut FLOAT, Vector4fCount: UINT) -> HRESULT>,
pub SetPixelShaderConstantI: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *const INT, Vector4iCount: UINT) -> HRESULT>,
pub GetPixelShaderConstantI: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *mut INT, Vector4iCount: UINT) -> HRESULT>,
pub SetPixelShaderConstantB: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *const BOOL, BoolCount: UINT) -> HRESULT>,
pub GetPixelShaderConstantB: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, StartRegister: UINT, pConstantData: *mut BOOL, BoolCount: UINT) -> HRESULT>,
pub DrawRectPatch: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Handle: UINT, pNumSegs: *const FLOAT, pRectPatchInfo: *const D3DRECTPATCH_INFO) -> HRESULT>,
pub DrawTriPatch: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Handle: UINT, pNumSegs: *const FLOAT, pTriPatchInfo: *const D3DTRIPATCH_INFO) -> HRESULT>,
pub DeletePatch: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Handle: UINT) -> HRESULT>,
pub CreateQuery: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Type: D3DQUERYTYPE, ppQuery: *mut *mut IDirect3DQuery9) -> HRESULT>,
pub SetConvolutionMonoKernel: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, width: UINT, height: UINT, rows: *mut FLOAT, columns: *mut FLOAT) -> HRESULT>,
pub ComposeRects: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pSrc: *mut IDirect3DSurface9, pDst: *mut IDirect3DSurface9, pSrcRectDescs: *mut IDirect3DVertexBuffer9, NumRects: UINT, pDstRectDescs: *mut IDirect3DVertexBuffer9, Operation: D3DCOMPOSERECTSOP, Xoffset: INT, Yoffset: INT) -> HRESULT>,
pub PresentEx: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pSourceRect: *const RECT, pDestRect: *const RECT, hDestWindowOverride: HWND, pDirtyRegion: *const RGNDATA, dwFlags: DWORD) -> HRESULT>,
pub GetGPUThreadPriority: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pPriority: *mut INT) -> HRESULT>,
pub SetGPUThreadPriority: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Priority: INT) -> HRESULT>,
pub WaitForVBlank: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT) -> HRESULT>,
pub CheckResourceResidency: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pResourceArray: *mut *mut IDirect3DResource9, NumResources: UINT32) -> HRESULT>,
pub SetMaximumFrameLatency: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, MaxLatency: UINT) -> HRESULT>,
pub GetMaximumFrameLatency: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pMaxLatency: *mut UINT) -> HRESULT>,
pub CheckDeviceState: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, hDestinationWindow: HWND) -> HRESULT>,
pub CreateRenderTargetEx: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Width: UINT, Height: UINT, Format: D3DFORMAT, MultiSample: D3DMULTISAMPLE_TYPE, MultisampleQuality: DWORD, Lockable: BOOL, ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut HANDLE, Usage: DWORD) -> HRESULT>,
pub CreateOffscreenPlainSurfaceEx: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Width: UINT, Height: UINT, Format: D3DFORMAT, Pool: D3DPOOL, ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut HANDLE, Usage: DWORD) -> HRESULT>,
pub CreateDepthStencilSurfaceEx: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, Width: UINT, Height: UINT, Format: D3DFORMAT, MultiSample: D3DMULTISAMPLE_TYPE, MultisampleQuality: DWORD, Discard: BOOL, ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut HANDLE, Usage: DWORD) -> HRESULT>,
pub ResetEx: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, pPresentationParameters: *mut D3DPRESENT_PARAMETERS, pFullscreenDisplayMode: *mut D3DDISPLAYMODEEX) -> HRESULT>,
pub GetDisplayModeEx: Option<unsafe extern "system" fn(This: *mut IDirect3DDevice9Ex, iSwapChain: UINT, pMode: *mut D3DDISPLAYMODEEX, pRotation: *mut D3DDISPLAYROTATION) -> HRESULT>,
}
Fields
QueryInterface | |
AddRef | |
Release | |
TestCooperativeLevel | |
GetAvailableTextureMem | |
EvictManagedResources | |
GetDirect3D | |
GetDeviceCaps | |
GetDisplayMode | |
GetCreationParameters | |
SetCursorProperties | |
SetCursorPosition | |
ShowCursor | |
CreateAdditionalSwapChain | |
GetSwapChain | |
GetNumberOfSwapChains | |
Reset | |
Present | |
GetBackBuffer | |
GetRasterStatus | |
SetDialogBoxMode | |
SetGammaRamp | |
GetGammaRamp | |
CreateTexture | |
CreateVolumeTexture | |
CreateCubeTexture | |
CreateVertexBuffer | |
CreateIndexBuffer | |
CreateRenderTarget | |
CreateDepthStencilSurface | |
UpdateSurface | |
UpdateTexture | |
GetRenderTargetData | |
GetFrontBufferData | |
StretchRect | |
ColorFill | |
CreateOffscreenPlainSurface | |
SetRenderTarget | |
GetRenderTarget | |
SetDepthStencilSurface | |
GetDepthStencilSurface | |
BeginScene | |
EndScene | |
Clear | |
SetTransform | |
GetTransform | |
MultiplyTransform | |
SetViewport | |
GetViewport | |
SetMaterial | |
GetMaterial | |
SetLight | |
GetLight | |
LightEnable | |
GetLightEnable | |
SetClipPlane | |
GetClipPlane | |
SetRenderState | |
GetRenderState | |
CreateStateBlock | |
BeginStateBlock | |
EndStateBlock | |
SetClipStatus | |
GetClipStatus | |
GetTexture | |
SetTexture | |
GetTextureStageState | |
SetTextureStageState | |
GetSamplerState | |
SetSamplerState | |
ValidateDevice | |
SetPaletteEntries | |
GetPaletteEntries | |
SetCurrentTexturePalette | |
GetCurrentTexturePalette | |
SetScissorRect | |
GetScissorRect | |
SetSoftwareVertexProcessing | |
GetSoftwareVertexProcessing | |
SetNPatchMode | |
GetNPatchMode | |
DrawPrimitive | |
DrawIndexedPrimitive | |
DrawPrimitiveUP | |
DrawIndexedPrimitiveUP | |
ProcessVertices | |
CreateVertexDeclaration | |
SetVertexDeclaration | |
GetVertexDeclaration | |
SetFVF | |
GetFVF | |
CreateVertexShader | |
SetVertexShader | |
GetVertexShader | |
SetVertexShaderConstantF | |
GetVertexShaderConstantF | |
SetVertexShaderConstantI | |
GetVertexShaderConstantI | |
SetVertexShaderConstantB | |
GetVertexShaderConstantB | |
SetStreamSource | |
GetStreamSource | |
SetStreamSourceFreq | |
GetStreamSourceFreq | |
SetIndices | |
GetIndices | |
CreatePixelShader | |
SetPixelShader | |
GetPixelShader | |
SetPixelShaderConstantF | |
GetPixelShaderConstantF | |
SetPixelShaderConstantI | |
GetPixelShaderConstantI | |
SetPixelShaderConstantB | |
GetPixelShaderConstantB | |
DrawRectPatch | |
DrawTriPatch | |
DeletePatch | |
CreateQuery | |
SetConvolutionMonoKernel | |
ComposeRects | |
PresentEx | |
GetGPUThreadPriority | |
SetGPUThreadPriority | |
WaitForVBlank | |
CheckResourceResidency | |
SetMaximumFrameLatency | |
GetMaximumFrameLatency | |
CheckDeviceState | |
CreateRenderTargetEx | |
CreateOffscreenPlainSurfaceEx | |
CreateDepthStencilSurfaceEx | |
ResetEx | |
GetDisplayModeEx | |