IDXGIOutput::GetDisplayModeList, méthode (dxgi.h)
[À compter de Direct3D 11.1, nous vous recommandons de ne plus utiliser GetDisplayModeList pour récupérer le mode d’affichage correspondant. Utilisez plutôt IDXGIOutput1::GetDisplayModeList1, qui prend en charge le mode d’affichage stéréo.]
Obtient les modes d’affichage qui correspondent au format demandé et aux autres options d’entrée.
Syntaxe
HRESULT GetDisplayModeList(
DXGI_FORMAT EnumFormat,
UINT Flags,
[in, out] UINT *pNumModes,
[out, optional] DXGI_MODE_DESC *pDesc
);
Paramètres
EnumFormat
Type : DXGI_FORMAT
Format de couleur (voir DXGI_FORMAT).
Flags
Type : UINT
Options pour les modes à inclure (voir DXGI_ENUM_MODES). DXGI_ENUM_MODES_SCALING doit être spécifié pour exposer les modes d’affichage qui nécessitent une mise à l’échelle. Les modes centrés, qui ne nécessitent aucune mise à l’échelle et qui correspondent directement à la sortie d’affichage, sont énumérés par défaut.
[in, out] pNumModes
Type : UINT*
Définissez pDesc sur NULL afin que pNumModes retourne le nombre de modes d’affichage correspondant au format et aux options. Sinon, pNumModes retourne le nombre de modes d’affichage retournés dans pDesc.
[out, optional] pDesc
Type : DXGI_MODE_DESC*
Pointeur vers une liste de modes d’affichage (voir DXGI_MODE_DESC) ; défini sur NULL pour obtenir le nombre de modes d’affichage.
Valeur retournée
Type : HRESULT
Retourne l’une des DXGI_ERROR suivantes. Il est rare, mais possible, que les modes d’affichage disponibles puissent changer immédiatement après l’appel de cette méthode, auquel cas DXGI_ERROR_MORE_DATA est retourné (s’il n’y a pas assez de place pour tous les modes d’affichage).
Si GetDisplayModeList est appelé à partir d’une session des services Bureau à distance (anciennement session Terminal Services), DXGI_ERROR_NOT_CURRENTLY_AVAILABLE est retourné.
Notes
En général, lors du passage du mode fenêtré au mode plein écran, une chaîne d’échange choisit automatiquement un mode d’affichage qui respecte (ou dépasse) la résolution, la profondeur de couleur et le taux d’actualisation de la chaîne d’échange. Pour exercer un contrôle accru sur le mode d’affichage, utilisez cette API pour interroger l’ensemble des modes d’affichage validés par rapport aux fonctionnalités du moniteur, ou tous les modes qui correspondent au bureau (si les paramètres du bureau ne sont pas validés par rapport au moniteur).
Comme indiqué, cette API est conçue pour être appelée deux fois. Tout d’abord pour obtenir le nombre de modes disponibles, puis pour retourner une description des modes.
UINT num = 0;
DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
UINT flags = DXGI_ENUM_MODES_INTERLACED;
pOutput->GetDisplayModeList( format, flags, &num, 0);
...
DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num];
pOutput->GetDisplayModeList( format, flags, &num, pDescs);
Spécifications
Plateforme cible | Windows |
En-tête | dxgi.h |
Bibliothèque | DXGI.lib |