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 cartes.

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 pointé vers l’argument filterAttributes .

filterAttributes [in]

Type : GUID const*

Pointeur vers un tableau de GUID d’attributs d’adaptateur. Pour obtenir la liste des GUID d’attributs, consultez GUID d’attribut d’adaptateur DXCore. Au moins un GUID doit être fourni. Dans le cas où plusieurs GUID sont fournis dans le tableau, seules les cartes qui répondent à tous les attributs demandés sont incluses 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 déréférencée) contient un pointeur vers la liste d’adaptateurs créée.

Retours

Type : HRESULT

Si la fonction réussit, elle retourne S_OK. Sinon, il retourne un code d’erreurHRESULT.

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 cartes de cette liste spécifique ne changent pas. Mais la liste sera considérée comme obsolète si l’une des cartes devient ultérieurement non valide, ou si une nouvelle carte 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 entre les redémarrages du système d’exploitation. Le classement peut changer en cas de modification de la configuration du système, y compris l’ajout ou la suppression d’une carte, ou d’une mise à jour de pilote sur une carte existante. Vous pouvez vous inscrire à ces modifications avec IDXCoreAdapterFactory::RegisterEventNotification en utilisant le type de notification DXCoreNotificationType.AdapterListStale.

Voir aussi

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