IDXCoreAdapterFactory::CreateAdapterList-Methode

Generiert eine Liste von Adapterobjekten, die den aktuellen Adapterstatus des Systems darstellen und die angegebenen Kriterien erfüllen. Programmieranleitungen und Codebeispiele finden Sie unter Verwenden von DXCore zum Auflisten von Adaptern.

Syntax

virtual HRESULT STDMETHODCALLTYPE CreateAdapterList(
  uint32_t numAttributes,
  _In_reads_(numAttributes) const GUID *filterAttributes,
  REFIID riid,
  _COM_Outptr_ void **ppvAdapterList) = 0;

template<class T>
HRESULT STDMETHODCALLTYPE CreateAdapterList(
  uint32_t numAttributes,
  _In_reads_(numAttributes) const GUID *filterAttributes,
  _COM_Outptr_ T **ppvAdapterList);

Parameter

numAttributes

Typ: uint32_t

Die Anzahl der Elemente im Array, auf die das argument filterAttributes verweist.

filterAttributes [in]

Typ: const GUID*

Ein Zeiger auf ein Array von Adapter-Attribut-GUIDs. Eine Liste der Attribut-GUIDs finden Sie unter DXCore-Adapter-Attribut-GUIDs. Es muss mindestens eine GUID bereitgestellt werden. Falls mehr als eine GUID im Array bereitgestellt wird, werden nur Adapter, die alle angeforderten Attribute erfüllen, in die zurückgegebene Liste aufgenommen.

riid

Typ: REFIID

Ein Verweis auf die GUID (Globally Unique Identifier) der Schnittstelle, die in ppvAdapterList zurückgegeben werden soll. Hierbei handelt es sich voraussichtlich um den Schnittstellenbezeichner (Interface Identifier, IID) von IDXCoreAdapterList.

ppvAdapterList [out]

Typ: void**

Die Adresse eines Zeigers auf eine Schnittstelle mit der im riid-Parameter angegebenen IID. Nach erfolgreicher Rückgabe enthält *ppvAdapterList (die dereferenzierte Adresse) einen Zeiger auf die erstellte Adapterliste.

Gibt zurück

Typ: HRESULT

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

Rückgabewert Beschreibung
E_INVALIDARG nullptr wurde für filterAttributes oder 0 für numAttributes bereitgestellt.
E_NOINTERFACE Für riid wurde ein ungültiger Wert bereitgestellt.
E_POINTER nullptr wurde für ppvAdapterList bereitgestellt.

Bemerkungen

Auch wenn keine Adapter gefunden werden, erstellt CreateAdapterList ein gültiges IDXCoreAdapterList-Objekt und gibt S_OK zurück, solange die Argumente gültig sind. Nach der Generierung werden die Adapter in dieser spezifischen Liste nicht mehr geändert. Die Liste gilt jedoch als veraltet, wenn einer der Adapter später ungültig wird oder wenn ein neuer Adapter eintrifft, der die angegebenen Filterkriterien erfüllt. Die von CreateAdapterList zurückgegebene Liste ist nicht in einer bestimmten Weise sortiert, aber die Reihenfolge einer Liste ist für mehrere Aufrufe und sogar für Betriebssystemneustarts konsistent. Die Reihenfolge kann sich bei Änderungen der Systemkonfiguration ändern, einschließlich des Hinzufügens oder Entfernens eines Adapters oder eines Treiberupdates für einen vorhandenen Adapter. Sie können sich für diese Änderungen bei IDXCoreAdapterFactory::RegisterEventNotification mit dem Benachrichtigungstyp DXCoreNotificationType.AdapterListStale registrieren.

Siehe auch

IDXCoreAdapterFactory, DXCore-Referenz, DXCore-Adapterattribut-GUIDs, Verwenden von DXCore zum Aufzählen von Adaptern