#pragma once #include enum class IDXGISwapChainVTable { // IUnknown QueryInterface, AddRef, Release, // IDXGIObject SetPrivateData, SetPrivateDataInterface, GetPrivateData, GetParent, // IDXGIDeviceSubObject GetDevice, // IDXGISwapChain Present, GetBuffer, SetFullscreenState, GetFullscreenState, GetDesc, ResizeBuffers, ResizeTarget, GetContainingOutput, GetFrameStatistics, GetLastPresentCount, }; enum class ID3D11DeviceVTable { // IUnknown QueryInterface, AddRef, Release, // ID3D11Device CreateBuffer, CreateTexture1D, CreateTexture2D, CreateTexture3D, CreateShaderResourceView, CreateUnorderedAccessView, CreateRenderTargetView, CreateDepthStencilView, CreateInputLayout, CreateVertexShader, CreateGeometryShader, CreateGeometryShaderWithStreamOutput, CreatePixelShader, CreateHullShader, CreateDomainShader, CreateComputeShader, CreateClassLinkage, CreateBlendState, CreateDepthStencilState, CreateRasterizerState, CreateSamplerState, CreateQuery, CreatePredicate, CreateCounter, CreateDeferredContext, OpenSharedResource, CheckFormatSupport, CheckMultisampleQualityLevels, CheckCounterInfo, CheckCounter, CheckFeatureSupport, GetPrivateData, SetPrivateData, SetPrivateDataInterface, GetFeatureLevel, GetCreationFlags, GetDeviceRemovedReason, GetImmediateContext, SetExceptionMode, GetExceptionMode, }; enum class ID3D10DeviceVTable { // IUnknown QueryInterface, AddRef, Release, // ID3D10Device VSSetConstantBuffers, PSSetShaderResources, PSSetShader, PSSetSamplers, VSSetShader, DrawIndexed, Draw, PSSetConstantBuffers, IASetInputLayout, IASetVertexBuffers, IASetIndexBuffer, DrawIndexedInstanced, DrawInstanced, GSSetConstantBuffers, GSSetShader, IASetPrimitiveTopology, VSSetShaderResources, VSSetSamplers, SetPredication, GSSetShaderResources, GSSetSamplers, OMSetRenderTargets, OMSetBlendState, OMSetDepthStencilState, SOSetTargets, DrawAuto, RSSetState, RSSetViewports, RSSetScissorRects, CopySubresourceRegion, CopyResource, UpdateSubresource, ClearRenderTargetView, ClearDepthStencilView, GenerateMips, ResolveSubresource, VSGetConstantBuffers, PSGetShaderResources, PSGetShader, PSGetSamplers, VSGetShader, PSGetConstantBuffers, IAGetInputLayout, IAGetVertexBuffers, IAGetIndexBuffer, GSGetConstantBuffers, GSGetShader, IAGetPrimitiveTopology, VSGetShaderResources, VSGetSamplers, GetPredication, GSGetShaderResources, GSGetSamplers, OMGetRenderTargets, OMGetBlendState, OMGetDepthStencilState, SOGetTargets, RSGetState, RSGetViewports, RSGetScissorRects, GetDeviceRemovedReason, SetExceptionMode, GetExceptionMode, GetPrivateData, SetPrivateData, SetPrivateDataInterface, ClearState, Flush, CreateBuffer, CreateTexture1D, CreateTexture2D, CreateTexture3D, CreateShaderResourceView, CreateRenderTargetView, CreateDepthStencilView, CreateInputLayout, CreateVertexShader, CreateGeometryShader, CreateGeometryShaderWithStreamOutput, CreatePixelShader, CreateBlendState, CreateDepthStencilState, CreateRasterizerState, CreateSamplerState, CreateQuery, CreatePredicate, CreateCounter, CheckFormatSupport, CheckMultisampleQualityLevels, CheckCounterInfo, CheckCounter, GetCreationFlags, OpenSharedResource, SetTextFilterSize, GetTextFilterSize, }; enum class IDirect3DDevice9VTable { // IUnknown QueryInterface, AddRef, Release, // IDirect3DDevice9 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, // IDirect3DDevice9Ex SetConvolutionMonoKernel, ComposeRects, PresentEx, GetGPUThreadPriority, SetGPUThreadPriority, WaitForVBlank, CheckResourceResidency, SetMaximumFrameLatency, GetMaximumFrameLatency, CheckDeviceState, CreateRenderTargetEx, CreateOffscreenPlainSurfaceEx, CreateDepthStencilSurfaceEx, ResetEx, GetDisplayModeEx, };