E_FAIL D3D11CreateDevice
E_FAIL D3D11CreateDevice
本文关键字:D3D11CreateDevice FAIL 更新时间:2023-10-16
ID3D11Device* md3dDevice;
ID3D11DeviceContext* md3dImmediateContext;
D3D_DRIVER_TYPE md3dDriverType = D3D_DRIVER_TYPE_HARDWARE;
HRESULT hr = D3D11CreateDevice(
0,
md3dDriverType,
0,
D3D11_CREATE_DEVICE_DEBUG,
0, 0,
D3D11_SDK_VERSION,
&md3dDevice,
&featureLevel,
&md3dImmediateContext);ID3D11Device* md3dDevice;
当我包含D3D11_CREATE_DEVICE_DEBUG标志(没有标志就可以正常工作)时,我从这个函数中得到e_fail。我认为这与我的调试运行时有关,所以我按照这个线程中的说明重新安装了dx sdk:什么会导致D3D11CreateDevice()与E_FAIL失败?但这并没有解决问题。
我在dxdiag中仍然看到零调试级别:
--------------------
DirectX Debug Levels
--------------------
Direct3D: 0/4 (retail)
DirectDraw: 0/4 (retail)
DirectInput: 0/5 (retail)
DirectMusic: 0/5 (retail)
DirectPlay: 0/9 (retail)
DirectSound: 0/5 (retail)
DirectShow: 0/6 (retail)
您链接的线程"什么可以导致D3D11CreateDevice()与E_FAIL失败?"确实包含了我认为您的问题的答案。
我引用Chuck Walbourn的话:
最新版本的SDK调试层不在旧的DirectX中SDK(2010年6月)发布。需要安装单机Windows操作系统8.0 SDK, Visual Studio 2012,或者你可以直接安装VS 2012远程调试工具包。
http://blogs.msdn.com/b/chuckw/archive/2013/02/26/directx-11-1-and-windows-7-update.aspx
对我来说安装VS 2012远程调试工具包解决了这个问题!
相关文章:
- 没有找到相关文章