Trait windows::Win32::Graphics::Direct3D11::ID3D11Device_Impl

pub trait ID3D11Device_Impl: Sized {
Show 40 methods // Required methods fn CreateBuffer( &self, pdesc: *const D3D11_BUFFER_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, ppbuffer: *mut Option<ID3D11Buffer>, ) -> Result<()>; fn CreateTexture1D( &self, pdesc: *const D3D11_TEXTURE1D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture1d: *mut Option<ID3D11Texture1D>, ) -> Result<()>; fn CreateTexture2D( &self, pdesc: *const D3D11_TEXTURE2D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture2d: *mut Option<ID3D11Texture2D>, ) -> Result<()>; fn CreateTexture3D( &self, pdesc: *const D3D11_TEXTURE3D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture3d: *mut Option<ID3D11Texture3D>, ) -> Result<()>; fn CreateShaderResourceView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC, ppsrview: *mut Option<ID3D11ShaderResourceView>, ) -> Result<()>; fn CreateUnorderedAccessView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC, ppuaview: *mut Option<ID3D11UnorderedAccessView>, ) -> Result<()>; fn CreateRenderTargetView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_RENDER_TARGET_VIEW_DESC, pprtview: *mut Option<ID3D11RenderTargetView>, ) -> Result<()>; fn CreateDepthStencilView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC, ppdepthstencilview: *mut Option<ID3D11DepthStencilView>, ) -> Result<()>; fn CreateInputLayout( &self, pinputelementdescs: *const D3D11_INPUT_ELEMENT_DESC, numelements: u32, pshaderbytecodewithinputsignature: *const c_void, bytecodelength: usize, ppinputlayout: *mut Option<ID3D11InputLayout>, ) -> Result<()>; fn CreateVertexShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppvertexshader: *mut Option<ID3D11VertexShader>, ) -> Result<()>; fn CreateGeometryShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppgeometryshader: *mut Option<ID3D11GeometryShader>, ) -> Result<()>; fn CreateGeometryShaderWithStreamOutput( &self, pshaderbytecode: *const c_void, bytecodelength: usize, psodeclaration: *const D3D11_SO_DECLARATION_ENTRY, numentries: u32, pbufferstrides: *const u32, numstrides: u32, rasterizedstream: u32, pclasslinkage: Option<&ID3D11ClassLinkage>, ppgeometryshader: *mut Option<ID3D11GeometryShader>, ) -> Result<()>; fn CreatePixelShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, pppixelshader: *mut Option<ID3D11PixelShader>, ) -> Result<()>; fn CreateHullShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, pphullshader: *mut Option<ID3D11HullShader>, ) -> Result<()>; fn CreateDomainShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppdomainshader: *mut Option<ID3D11DomainShader>, ) -> Result<()>; fn CreateComputeShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppcomputeshader: *mut Option<ID3D11ComputeShader>, ) -> Result<()>; fn CreateClassLinkage(&self) -> Result<ID3D11ClassLinkage>; fn CreateBlendState( &self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: *mut Option<ID3D11BlendState>, ) -> Result<()>; fn CreateDepthStencilState( &self, pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC, ppdepthstencilstate: *mut Option<ID3D11DepthStencilState>, ) -> Result<()>; fn CreateRasterizerState( &self, prasterizerdesc: *const D3D11_RASTERIZER_DESC, pprasterizerstate: *mut Option<ID3D11RasterizerState>, ) -> Result<()>; fn CreateSamplerState( &self, psamplerdesc: *const D3D11_SAMPLER_DESC, ppsamplerstate: *mut Option<ID3D11SamplerState>, ) -> Result<()>; fn CreateQuery( &self, pquerydesc: *const D3D11_QUERY_DESC, ppquery: *mut Option<ID3D11Query>, ) -> Result<()>; fn CreatePredicate( &self, ppredicatedesc: *const D3D11_QUERY_DESC, pppredicate: *mut Option<ID3D11Predicate>, ) -> Result<()>; fn CreateCounter( &self, pcounterdesc: *const D3D11_COUNTER_DESC, ppcounter: *mut Option<ID3D11Counter>, ) -> Result<()>; fn CreateDeferredContext( &self, contextflags: u32, ppdeferredcontext: *mut Option<ID3D11DeviceContext>, ) -> Result<()>; fn OpenSharedResource( &self, hresource: HANDLE, returnedinterface: *const GUID, ppresource: *mut *mut c_void, ) -> Result<()>; fn CheckFormatSupport(&self, format: DXGI_FORMAT) -> Result<u32>; fn CheckMultisampleQualityLevels( &self, format: DXGI_FORMAT, samplecount: u32, ) -> Result<u32>; fn CheckCounterInfo(&self, pcounterinfo: *mut D3D11_COUNTER_INFO); fn CheckCounter( &self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: PSTR, pnamelength: *mut u32, szunits: PSTR, punitslength: *mut u32, szdescription: PSTR, pdescriptionlength: *mut u32, ) -> Result<()>; fn CheckFeatureSupport( &self, feature: D3D11_FEATURE, pfeaturesupportdata: *mut c_void, featuresupportdatasize: u32, ) -> Result<()>; fn GetPrivateData( &self, guid: *const GUID, pdatasize: *mut u32, pdata: *mut c_void, ) -> Result<()>; fn SetPrivateData( &self, guid: *const GUID, datasize: u32, pdata: *const c_void, ) -> Result<()>; fn SetPrivateDataInterface( &self, guid: *const GUID, pdata: Option<&IUnknown>, ) -> Result<()>; fn GetFeatureLevel(&self) -> D3D_FEATURE_LEVEL; fn GetCreationFlags(&self) -> u32; fn GetDeviceRemovedReason(&self) -> Result<()>; fn GetImmediateContext( &self, ppimmediatecontext: *mut Option<ID3D11DeviceContext>, ); fn SetExceptionMode(&self, raiseflags: u32) -> Result<()>; fn GetExceptionMode(&self) -> u32;
}

Required Methods§

fn CreateBuffer( &self, pdesc: *const D3D11_BUFFER_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, ppbuffer: *mut Option<ID3D11Buffer>, ) -> Result<()>

fn CreateTexture1D( &self, pdesc: *const D3D11_TEXTURE1D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture1d: *mut Option<ID3D11Texture1D>, ) -> Result<()>

fn CreateTexture2D( &self, pdesc: *const D3D11_TEXTURE2D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture2d: *mut Option<ID3D11Texture2D>, ) -> Result<()>

fn CreateTexture3D( &self, pdesc: *const D3D11_TEXTURE3D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture3d: *mut Option<ID3D11Texture3D>, ) -> Result<()>

fn CreateShaderResourceView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC, ppsrview: *mut Option<ID3D11ShaderResourceView>, ) -> Result<()>

fn CreateUnorderedAccessView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC, ppuaview: *mut Option<ID3D11UnorderedAccessView>, ) -> Result<()>

fn CreateRenderTargetView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_RENDER_TARGET_VIEW_DESC, pprtview: *mut Option<ID3D11RenderTargetView>, ) -> Result<()>

fn CreateDepthStencilView( &self, presource: Option<&ID3D11Resource>, pdesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC, ppdepthstencilview: *mut Option<ID3D11DepthStencilView>, ) -> Result<()>

fn CreateInputLayout( &self, pinputelementdescs: *const D3D11_INPUT_ELEMENT_DESC, numelements: u32, pshaderbytecodewithinputsignature: *const c_void, bytecodelength: usize, ppinputlayout: *mut Option<ID3D11InputLayout>, ) -> Result<()>

fn CreateVertexShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppvertexshader: *mut Option<ID3D11VertexShader>, ) -> Result<()>

fn CreateGeometryShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppgeometryshader: *mut Option<ID3D11GeometryShader>, ) -> Result<()>

fn CreateGeometryShaderWithStreamOutput( &self, pshaderbytecode: *const c_void, bytecodelength: usize, psodeclaration: *const D3D11_SO_DECLARATION_ENTRY, numentries: u32, pbufferstrides: *const u32, numstrides: u32, rasterizedstream: u32, pclasslinkage: Option<&ID3D11ClassLinkage>, ppgeometryshader: *mut Option<ID3D11GeometryShader>, ) -> Result<()>

fn CreatePixelShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, pppixelshader: *mut Option<ID3D11PixelShader>, ) -> Result<()>

fn CreateHullShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, pphullshader: *mut Option<ID3D11HullShader>, ) -> Result<()>

fn CreateDomainShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppdomainshader: *mut Option<ID3D11DomainShader>, ) -> Result<()>

fn CreateComputeShader( &self, pshaderbytecode: *const c_void, bytecodelength: usize, pclasslinkage: Option<&ID3D11ClassLinkage>, ppcomputeshader: *mut Option<ID3D11ComputeShader>, ) -> Result<()>

fn CreateClassLinkage(&self) -> Result<ID3D11ClassLinkage>

fn CreateBlendState( &self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: *mut Option<ID3D11BlendState>, ) -> Result<()>

fn CreateDepthStencilState( &self, pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC, ppdepthstencilstate: *mut Option<ID3D11DepthStencilState>, ) -> Result<()>

fn CreateRasterizerState( &self, prasterizerdesc: *const D3D11_RASTERIZER_DESC, pprasterizerstate: *mut Option<ID3D11RasterizerState>, ) -> Result<()>

fn CreateSamplerState( &self, psamplerdesc: *const D3D11_SAMPLER_DESC, ppsamplerstate: *mut Option<ID3D11SamplerState>, ) -> Result<()>

fn CreateQuery( &self, pquerydesc: *const D3D11_QUERY_DESC, ppquery: *mut Option<ID3D11Query>, ) -> Result<()>

fn CreatePredicate( &self, ppredicatedesc: *const D3D11_QUERY_DESC, pppredicate: *mut Option<ID3D11Predicate>, ) -> Result<()>

fn CreateCounter( &self, pcounterdesc: *const D3D11_COUNTER_DESC, ppcounter: *mut Option<ID3D11Counter>, ) -> Result<()>

fn CreateDeferredContext( &self, contextflags: u32, ppdeferredcontext: *mut Option<ID3D11DeviceContext>, ) -> Result<()>

fn OpenSharedResource( &self, hresource: HANDLE, returnedinterface: *const GUID, ppresource: *mut *mut c_void, ) -> Result<()>

fn CheckFormatSupport(&self, format: DXGI_FORMAT) -> Result<u32>

fn CheckMultisampleQualityLevels( &self, format: DXGI_FORMAT, samplecount: u32, ) -> Result<u32>

fn CheckCounterInfo(&self, pcounterinfo: *mut D3D11_COUNTER_INFO)

fn CheckCounter( &self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: PSTR, pnamelength: *mut u32, szunits: PSTR, punitslength: *mut u32, szdescription: PSTR, pdescriptionlength: *mut u32, ) -> Result<()>

fn CheckFeatureSupport( &self, feature: D3D11_FEATURE, pfeaturesupportdata: *mut c_void, featuresupportdatasize: u32, ) -> Result<()>

fn GetPrivateData( &self, guid: *const GUID, pdatasize: *mut u32, pdata: *mut c_void, ) -> Result<()>

fn SetPrivateData( &self, guid: *const GUID, datasize: u32, pdata: *const c_void, ) -> Result<()>

fn SetPrivateDataInterface( &self, guid: *const GUID, pdata: Option<&IUnknown>, ) -> Result<()>

fn GetFeatureLevel(&self) -> D3D_FEATURE_LEVEL

fn GetCreationFlags(&self) -> u32

fn GetDeviceRemovedReason(&self) -> Result<()>

fn GetImmediateContext( &self, ppimmediatecontext: *mut Option<ID3D11DeviceContext>, )

fn SetExceptionMode(&self, raiseflags: u32) -> Result<()>

fn GetExceptionMode(&self) -> u32

Object Safety§

This trait is not object safe.

Implementors§