Directx IDXGIFactory::EnumAdapters()不返回任何适配器

Directx IDXGIFactory::EnumAdapters()不返回任何适配器,directx,directx-11,sharpdx,dxgi,Directx,Directx 11,Sharpdx,Dxgi,我正在开发一个DirectX11应用程序。在初始化过程中,我按说明枚举可用的图形适配器 现在,对于我们的一个客户,可用适配器的数量似乎为零: EnumAdapters(0,&pAdapter)已返回DXGI\u错误\u未找到 这怎么可能?是否应该始终至少有一个图形适配器可用? 电脑有一个安装了最新驱动程序的图形卡,显示器工作正常 注意:我们的应用程序实际上使用了SharpDX,但过程是相同的。失败的等价物是GetAdapterCount()返回0我将回答我自己的问题: 事实证明,由于另一个不相关

我正在开发一个DirectX11应用程序。在初始化过程中,我按说明枚举可用的图形适配器

现在,对于我们的一个客户,可用适配器的数量似乎为零:
EnumAdapters(0,&pAdapter)
已返回
DXGI\u错误\u未找到

这怎么可能?是否应该始终至少有一个图形适配器可用? 电脑有一个安装了最新驱动程序的图形卡,显示器工作正常


注意:我们的应用程序实际上使用了SharpDX,但过程是相同的。失败的等价物是
GetAdapterCount()
返回
0

我将回答我自己的问题:


事实证明,由于另一个不相关的问题,当我们的客户试图以安全模式运行我们的应用程序时,出现了这个问题。在安全模式下,图形驱动程序不会加载,因此不会有任何适配器。

请注意,在Windows 8.x中,您将在“安全模式”下获得“Microsoft Basic Renderer”适配器,它本质上是WARP+传统VGA输出驱动程序。请参阅此处了解一些含义。

您是通过
IDXGIFactory
还是通过
IDXGIFactory1
SharpDX.DXGI.Factory
执行此操作,它在内部使用
IDXGIFactory
。这两者之间的区别是什么?我不知道,这是一个奇怪的问题,我想知道这个失败的系统是否不支持后面的接口,只是猜测而已。我不明白为什么它不适用于适配器零。您仍然可以在该适配器上创建设备并显示ok吗?我甚至无法创建设备,因为没有可以创建设备的适配器。是的,我们的应用程序不支持XP。我一有答案就回来找你。谢谢你迄今为止的帮助+1-这对于任何看到相同问题的人来说都是有用的信息。