在我的 D3D 内容初始化期间,我调用了以下函数:
hr = D3D11CreateDevice(nullptr,gDriverTypes[DriverTypeIndex],nullptr,
#ifdef _DEBUG
D3D11_CREATE_DEVICE_DEBUG,
#else
0,
#endif
gFeatureLevels,gNumFeatureLevels,D3D11_SDK_VERSION,&lDevice,&lFeatureLevel,&lImmediateContext);
在调试版本中,为了获取有关可能的 D3D 错误的更多信息,我设置了标志 D3D11_CREATE_DEVICE_DEBUG。无需任何进一步操作,我的应用程序就会立即终止。
因此根据 Use D3D11 debug layer with VS2013 on Windows 10 我尝试通过调用安装所需的 D3D 调试内容
Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0
在最新的 Windows 10 上的管理控制台中。不幸的是,这失败了
Deployment Image Servicing and Management tool
Version: 10.0.18362.1316
Image Version: 10.0.18363.1316
[==========================100.0%==========================]
Error: 0x8024500c
DISM failed. No operation was performed.
日志文件也不是很有用,它包含大量的错误消息和错误代码,不容易理解。
那么...是否有其他方法可以获得启用 D3D11_CREATE_DEVICE_DEBUG 所需的 D3D 调试内容?
谢谢:-)
答案 0 :(得分:0)
对于 Windows 10,仅在启用“图形工具”Windows 可选功能时才支持 Direct3D 11 和 Direct3D 12“调试设备”。
0x8024500c
的 HRESULT 表明您的系统上的 Windows 更新存在一些问题。是 WU_E_REDIRECTOR_CONNECT_POLICY
。
很可能您的 PC 位于使用 WSUS 的公司网络上。您需要让 IT 管理员允许此 Windows 可选功能。