IDXGIFactory1::EnumAdapters1 方法 (dxgi.h)

枚举两个适配器 (视频卡) 带或不带输出。

语法

HRESULT EnumAdapters1(
        UINT          Adapter,
  [out] IDXGIAdapter1 **ppAdapter
);

参数

Adapter

类型: UINT

要枚举的适配器的索引。

[out] ppAdapter

类型: IDXGIAdapter1**

指向适配器参数指定位置处 IDXGIAdapter1 接口的指针的地址。
此参数不得为 NULL

返回值

类型: HRESULT

如果成功,则返回S_OK;否则,如果索引大于或等于本地系统中的适配器数,则返回 DXGI_ERROR_NOT_FOUND;如果 ppAdapter 参数为 NULL,则返回 DXGI_ERROR_INVALID_CALL

备注

WINDOWS Vista 和 Windows Server 2008 中随附的 DXGI 1.0 不支持此方法。 DXGI 1.1 支持是必需的,该支持在 Windows 7、Windows Server 2008 R2 上可用,并作为 Windows Vista Service Pack 2 (SP2) (KB 971644) 和 Windows Server 2008 (KB 971512) 的更新。

创建工厂时,工厂会枚举系统中可用的适配器集。 因此,如果更改系统中的适配器,则必须销毁并重新创建 IDXGIFactory1 对象。 当添加或删除显示器卡,或者停靠或取消停靠笔记本电脑时,系统中的适配器数会发生变化。

EnumAdapters1 方法成功并用指向适配器接口的指针的地址填充 ppAdapter 参数时, EnumAdapters1 将增加适配器接口的引用计数。 使用完适配器接口后,调用 Release 方法以在销毁指针之前递减引用计数。

EnumAdapters1 首先返回显示桌面主服务器的输出的适配器。 此适配器对应于零的索引。 接下来,EnumAdapters1 返回具有输出的其他适配器。 EnumAdapters1 最终返回不带输出的适配器。

示例

枚举适配器

下面的代码示例演示如何使用 EnumAdapters1 方法枚举适配器。


UINT i = 0; 
IDXGIAdapter1 * pAdapter; 
std::vector <IDXGIAdapter1*> vAdapters; 
while(pFactory->EnumAdapters1(i, &pAdapter) != DXGI_ERROR_NOT_FOUND) 
{ 
	vAdapters.push_back(pAdapter); 
	++i; 
} 
          

要求

   
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dxgi.h
Library DXGI.lib

另请参阅

DXGI 接口

IDXGIFactory1