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 Using DXCore to enumerate adapters(Verwenden von DXCore zum Aufzählen 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 filterAttributes-Argument zeigt.

filterAttributes [in]

Typ: const * GUID

Ein Zeiger auf ein Array von Adapterattribut-GUIDs. Eine Liste der Attribut-GUIDs finden Sie unter DXCore-Adapterattribut-GUIDs. Es muss mindestens eine GUID angegeben 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. Es wird erwartet, dass dies der Schnittstellenbezeichner (IID) von IDXCoreAdapterList ist.

ppvAdapterList [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 ppvAdapterList (die dereferenzierte Adresse) einen Zeiger auf die erstellte Adapterliste.

Gibt zurück

Typ: HRESULT

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

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

Hinweise

Auch wenn keine Adapter gefunden werden, erstellt CreateAdapterList ein gültiges IDXCoreAdapterList-Objekt und gibt S_OK. Nach der Generiert 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 geordnet, aber die Reihenfolge einer Liste ist bei mehreren Aufrufen und sogar bei Betriebssystemneustarts konsistent. Die Reihenfolge kann sich bei Änderungen der Systemkonfiguration ändern, einschließlich des Additions- oder Entfernungsvorgangs eines Adapters oder eines Treiberupdates auf einem vorhandenen Adapter. Sie können sich für diese Änderungen bei IDXCoreAdapterFactory::RegisterEventNotification registrieren, indem Sie den Benachrichtigungstyp DXCoreNotificationType.AdapterListFactorye verwenden.

Siehe auch

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