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 |