IDXCoreAdapterList::GetAdapter 方法

从 DXCore 适配器列表对象按索引检索特定适配器。 有关编程指南和代码示例,请参阅 使用 DXCore 枚举适配器

语法

virtual HRESULT STDMETHODCALLTYPE GetAdapter(
  uint32_t index,
  REFIID riid,
  _COM_Outptr_ void **ppvAdapter) = 0;

template<class T>
HRESULT STDMETHODCALLTYPE GetAdapter( 
  uint32_t index,
  _COM_Outptr_ T **ppvAdapter);

参数

索引

类型: uint32_t

从零开始的索引,用于标识 DXCore 适配器列表中的适配器实例。

riid

类型: REFIID

对要在 ppvAdapter 中返回的接口的全局唯一标识符 (GUID) 的引用。 这应该是 IDXCoreAdapter (IID) 的接口标识符。

ppvAdapter [out]

类型: void**

指向具有 riid 参数中指定的 IID 的接口的指针的地址。 成功返回后, *ppvAdapter (取消引用的地址) 包含指向创建的 DXCore 适配器的指针。

返回

类型: HRESULT

如果函数成功,则返回 S_OK。 否则,它将返回 HRESULT错误代码

返回值 说明
DXGI_ERROR_DEVICE_REMOVED 索引有效,但适配器不再处于有效状态。
E_INVALIDARG 提供的 索引 无效。
E_NOINTERFACE riid 提供的值无效。
E_POINTER nullptrppvAdapter 提供。

备注

传递表示同一适配器的索引的多个调用会返回相同的接口指针,即使在不同的适配器列表中也是如此。 因此,可以安全地比较接口指针,以确定多个指针是否引用同一适配器对象。

另请参阅

IDXCoreAdapterListDXCore 参考使用 DXCore 枚举适配器