Partager via


IdXGIFactory ::EnumAdapters, méthode (dxgi.h)

Énumère les adaptateurs (cartes vidéo).

Syntaxe

HRESULT EnumAdapters(
        UINT         Adapter,
  [out] IDXGIAdapter **ppAdapter
);

Paramètres

Adapter

Type : UINT

Index de l’adaptateur à énumérer.

[out] ppAdapter

Type : IDXGIAdapter**

Adresse d’un pointeur vers une interface IDXGIAdapter à la position spécifiée par le paramètre Adapter . Ce paramètre ne doit pas être NULL.

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite ; sinon, retourne DXGI_ERROR_NOT_FOUND si l’index est supérieur ou égal au nombre d’adaptateurs dans le système local, ou DXGI_ERROR_INVALID_CALL si le paramètre ppAdapter a la valeur NULL.

Remarques

Lorsque vous créez une fabrique, la fabrique énumère l’ensemble des adaptateurs disponibles dans le système. Par conséquent, si vous modifiez les adaptateurs dans un système, vous devez détruire et recréer l’objet IDXGIFactory . Le nombre d’adaptateurs d’un système change lorsque vous ajoutez ou supprimez un carte d’affichage, ou que vous ancrez ou désactivez un ordinateur portable.

Lorsque la méthode EnumAdapters réussit et remplit le paramètre ppAdapter avec l’adresse du pointeur vers l’interface de l’adaptateur, EnumAdapters incrémente le nombre de références de l’interface de l’adaptateur. Lorsque vous avez terminé d’utiliser l’interface de l’adaptateur, appelez la méthode Release pour décrémenter le nombre de références avant de détruire le pointeur.

EnumAdapters retourne d’abord l’adaptateur avec la sortie sur laquelle le serveur principal du bureau est affiché. Cet adaptateur correspond à un index de zéro. EnumAdapters retourne ensuite d’autres adaptateurs avec des sorties. EnumAdapters retourne enfin des adaptateurs sans sorties.

Exemples

Énumération des adaptateurs

L’exemple de code suivant montre comment énumérer des adaptateurs à l’aide de la méthode EnumAdapters .


UINT i = 0; 
IDXGIAdapter * pAdapter; 
std::vector <IDXGIAdapter*> vAdapters; 
while(pFactory->EnumAdapters(i, &pAdapter) != DXGI_ERROR_NOT_FOUND) 
{ 
	vAdapters.push_back(pAdapter); 
	++i; 
} 

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête dxgi.h
Bibliothèque DXGI.lib

Voir aussi

DXGI Interfaces

IDXGIFactory