IDXCoreAdapterFactory::CreateAdapterList, méthode

Génère une liste d’objets d’adaptateur représentant l’état actuel de l’adaptateur du système et répondant aux critères spécifiés. Pour obtenir des conseils de programmation et des exemples de code, consultez Utilisation de DXCore pour énumérer des adaptateurs.

Syntaxe

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

Paramètres

numAttributes

Type : uint32_t

Nombre d’éléments dans le tableau vers lequel pointe l’argument filterAttributes .

filterAttributes [in]

Type : const GUID*

Pointeur vers un tableau de GUID d’attributs d’adaptateur. Pour obtenir la liste des GUID d’attribut, consultez les GUID des attributs de l’adaptateur DXCore. Au moins un GUID doit être fourni. Dans le cas où plusieurs GUID sont fournis dans le tableau, seuls les adaptateurs qui répondent à tous les attributs demandés seront inclus dans la liste retournée.

riid

Type : REFIID

Référence à l’identificateur global unique (GUID) de l’interface que vous souhaitez retourner dans ppvAdapterList. Il s’agit de l’identificateur d’interface (IID) d’IDXCoreAdapterList.

ppvAdapterList [out]

Type : void**

Adresse d’un pointeur vers une interface avec l’IID spécifié dans le paramètre riid . Une fois le retour réussi, *ppvAdapterList (l’adresse dereferenced) contient un pointeur vers la liste d’adaptateurs créée.

Retours

Type : HRESULT

Si la fonction réussit, elle retourne S_OK. Sinon, elle retourne un codeHRESULTerror.

Valeur retournée Description
E_INVALIDARG nullptr a été fourni pour filterAttributes, ou 0 a été fourni pour numAttributes.
E_NOINTERFACE Une valeur non valide a été fournie pour riid.
E_POINTER nullptr a été fourni pour ppvAdapterList.

Notes

Même si aucune carte n’est trouvée, tant que les arguments sont valides, CreateAdapterList crée un objet IDXCoreAdapterList valide et retourne S_OK. Une fois générés, les adaptateurs de cette liste spécifique ne changeront pas. Mais la liste sera considérée comme obsolète si l’un des adaptateurs devient ultérieurement non valide, ou si un nouvel adaptateur arrive qui répond aux critères de filtre fournis. La liste retournée par CreateAdapterList n’est pas triée d’une manière particulière, mais l’ordre d’une liste est cohérent entre plusieurs appels, et même sur les redémarrages du système d’exploitation. L’ordre peut changer lors des modifications de configuration système, y compris l’ajout ou la suppression d’une carte, ou une mise à jour de pilote sur un adaptateur existant. Vous pouvez vous inscrire à ces modifications avec IDXCoreAdapterFactory::RegisterEventNotification à l’aide du type de notification DXCoreNotificationType.AdapterListStale.

Voir aussi

IDXCoreAdapterFactory, référence DXCore, GUID d’attribut d’adaptateur DXCore, utilisation de DXCore pour énumérer les adaptateurs