#pragma once #include "d3d11_device_child.h" namespace dxvk { class D3D11Device; // TODO implement properly class D3D11ClassLinkage : public D3D11DeviceChild { public: D3D11ClassLinkage( D3D11Device* pDevice); ~D3D11ClassLinkage(); HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, void** ppvObject) final; void STDMETHODCALLTYPE GetDevice( ID3D11Device **ppDevice) final; HRESULT STDMETHODCALLTYPE CreateClassInstance( LPCSTR pClassTypeName, UINT ConstantBufferOffset, UINT ConstantVectorOffset, UINT TextureOffset, UINT SamplerOffset, ID3D11ClassInstance **ppInstance); HRESULT STDMETHODCALLTYPE GetClassInstance( LPCSTR pClassInstanceName, UINT InstanceIndex, ID3D11ClassInstance **ppInstance); private: Com m_device; }; }