当前位置: 首页 > 编程语言 > C#

SlimDXDevice.Resetcrasheswith-D3DERR_INVALIDCALL-Invalidcall(-2005530516)-错误分享

时间:2023-04-10 12:39:44 C#

SlimDXDevice.Resetcrasheswith"D3DERR_INVALIDCALL:Invalidcall(-2005530516)"error我们最近从VS2005升级到VS2008(WindowsXP)。我们在我们的一个项目中使用SlimDx。升级后一切正常,除了我的恢复功能在设备丢失/设备重置时调用D3DERR_INVALIDCALL:无效调用(-2005530516)我使用Ctrl-Alt-Del然后Escape来模拟丢失的设备。voidRecover(){try{if(res.Code==D3DERR_DEVICENOTRESET){res=m_device.Reset(m_presentParams);//为此崩溃。如果(res.IsSuccess){m_deviceLost=false;}}}catch(Exceptione){}}这与VS2008有什么关系,因为它曾经在VS2005中运行良好?我在这篇论坛帖子中找到了一些有用的信息。当心该论坛上与VB相关的问题,但它仍然是很好的信息。完全归功于SimonO'Connor。重新格式化并稍作编辑。INVALIDCALL通常表示您传递给D3D的参数无效或无法执行某些操作。找出D3D调用返回INVALIDCALL错误的原因的最简单方法是让它告诉您:确保您使用的是安装了D3D运行时的DEBUG版本(安装SDK时已为您提供了选项)。确保运行时的DEBUG构建已启用。转到控制面板中的DirectX小程序,然后在Direct3D选项卡下查看。在DirectX控制面板小程序中,将Direct3D的调试输出级别增加到最大。我已经使用VisualBASIC超过10年了,所以我忘记了可用的调试支持,我没有在这台机器上安装它来检查...如果VB有调试输出窗口:运行程序并使其失败带有INVALIDCALL错误。现在查看调试输出窗口中的所有文本。D3D将记录消息、警告和重要错误。它还解释了D3D调用失败的原因。如果VB没有简单的调试输出窗口,请从http://www.sysinternals.com下载并运行DebugView,或者在不处理所有资源时使用DirectXSDK附带的命令行调试查看器(顶点缓冲区、纹理...),这通常会发生。以上就是C#学习教程的全部内容:SlimDXDevice.Resetcrashes,"D3DERR_INVALIDCALL:invalidcall(-2005530516)"错误分享,如果对大家有用需要进一步了解C#学习教程,希望大家比较关注——voidRecover(){try{if(res.Code==D3DERR_DEVICENOTRESET){res=m_device.Reset(m_presentParams);//为此崩溃。如果(res.IsSuccess){m_deviceLost=false;}}}catch(Exceptione){}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: