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 |