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 |