Метод 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);

Параметры

index

Тип: uint32_t

Отсчитываемый от нуля индекс, определяющий экземпляр адаптера в списке адаптеров DXCore.

riid

Тип: REFIID

Ссылка на глобальный уникальный идентификатор (GUID) интерфейса, который требуется вернуть в ppvAdapter. Ожидается, что это идентификатор интерфейса (IID) IDXCoreAdapter.

ppvAdapter [out]

Тип: void**

Адрес указателя на интерфейс с IID, указанным в параметре riid . После успешного возврата *ppvAdapter (адрес разыменования) содержит указатель на созданный адаптер DXCore.

Возвращаемое значение

Тип: HRESULT

Если функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибкиHRESULT.

Возвращаемое значение Описание
DXGI_ERROR_DEVICE_REMOVED Индекс является допустимым, но адаптер больше не находится в допустимом состоянии.
E_INVALIDARG Указанный индекс недопустим.
E_NOINTERFACE Для riid было указано недопустимое значение.
E_POINTER nullptr был предоставлен для ppvAdapter.

Комментарии

Несколько вызовов, передающих индекс, представляющий один и тот же адаптер, возвращают одинаковые указатели интерфейса даже в разных списках адаптеров. В результате можно с уверенностью сравнивать указатели интерфейса, чтобы определить, ссылаются ли несколько указателей на один и тот же объект адаптера.

См. также раздел

IDXCoreAdapterList, справочник по DXCore, использование DXCore для перечисления адаптеров