IDXCoreAdapterList::GetAdapter-Methode

Ruft einen bestimmten Adapter nach Index aus einem DXCore-Adapterlistenobjekt ab. Programmieranleitungen und Codebeispiele finden Sie unter Using DXCore to enumerate adapters(Verwenden von DXCore zum Aufzählen von Adaptern).

Syntax

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);

Parameter

Index

Typ: uint32_t

Ein nullbasierter Index, der eine Adapterinstanz in der DXCore-Adapterliste identifiziert.

riid

Typ: REFIID

Ein Verweis auf die GUID (Globally Unique Identifier) der Schnittstelle, die in ppvAdapter zurückgegeben werden soll. Es wird erwartet, dass dies der Schnittstellenbezeichner (IID) von IDXCoreAdapter ist.

ppvAdapter [out]

Typ: * * void

Die Adresse eines Zeigers auf eine Schnittstelle mit der IID, die im riid-Parameter angegeben ist. Nach erfolgreicher Rückgabe enthält * ppvAdapter (die dereferenzierte Adresse) einen Zeiger auf den erstellten DXCore-Adapter.

Rückgabe

Typ: HRESULT

Wenn die Funktion erfolgreich ist, gibt sie S_OK. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

Rückgabewert BESCHREIBUNG
DXGI_ERROR_DEVICE_REMOVED Der Index ist gültig, aber der Adapter befindet sich nicht mehr in einem gültigen Zustand.
E_INVALIDARG Der bereitgestellte Index ist ungültig.
E_NOINTERFACE Für riid wurde ein ungültiger Wert bereitgestellt.
E_POINTER nullptrwurde für ppvAdapter bereitgestellt.

Bemerkungen

Mehrere Aufrufe, die einen Index übergeben, der denselben Adapter darstellt, geben identische Schnittstellenzeige zurück, auch über verschiedene Adapterlisten hinweg. Daher ist es sicher, Schnittstellenzeker zu vergleichen, um zu bestimmen, ob mehrere Zeiger auf das gleiche Adapterobjekt verweisen.

Weitere Informationen

IDXCoreAdapterList, DXCore-Referenz, Verwenden von DXCore zum Auflisten von Adaptern