IDXGIFactory::EnumAdapters 方法 (dxgi.h)

枚举适配器 (视频卡) 。

语法

HRESULT EnumAdapters(
        UINT         Adapter,
  [out] IDXGIAdapter **ppAdapter
);

参数

Adapter

类型: UINT

要枚举的适配器的索引。

[out] ppAdapter

类型: IDXGIAdapter**

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

返回值

类型: HRESULT

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

注解

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

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

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

示例

枚举适配器

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


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

要求

要求
目标平台 Windows
标头 dxgi.h
Library DXGI.lib

另请参阅

DXGI 接口

IDXGIFactory