Méthode IDirectDraw7 ::StartModeTest (ddraw.h)
Lance un test pour mettre à jour le registre système avec des informations sur la fréquence d’actualisation pour la combinaison actuelle de l’adaptateur d’affichage et du moniteur. Un appel à cette méthode est généralement suivi d’appels à IDirectDraw7 ::EvaluateMode pour passer ou échouer les modes affichés par le test.
Syntaxe
HRESULT StartModeTest(
[in] LPSIZE unnamedParam1,
[in] DWORD unnamedParam2,
[in] DWORD unnamedParam3
);
Paramètres
[in] unnamedParam1
Tableau d’éléments SIZE qui décrivent, en termes de résolutions d’écran, les modes à tester.
[in] unnamedParam2
Nombre d’éléments dans le tableau spécifié par le paramètre lpModesToTest .
[in] unnamedParam3
Indicateurs qui spécifient les options de démarrage d’un test. La seule valeur d’indicateur actuellement valide est DDSMT_ISTESTREQUIRED. Lorsque cet indicateur est spécifié, StartModeTest n’initie pas de test, mais retourne une valeur qui indique s’il est possible ou nécessaire de tester les résolutions que les paramètres lpModesToTest et dwNumEntries identifient.
Valeur retournée
Si la méthode réussit, la valeur de retour est DD_OK.
En cas d’échec, la méthode peut retourner l’une des valeurs d’erreur suivantes :
- DDERR_CURRENTLYNOTAVAIL
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_NOEXCLUSIVEMODE
- DDERR_NOTFOUND
- DDERR_TESTFINISHED
- DDERR_NEWMODE
- DDERR_NODRIVERSUPPORT
- DDERR_NOMONITORINFORMATION
- DDERR_TESTFINISHED
Remarques
Vous pouvez utiliser la méthode StartModeTest avec la méthode IDirectDraw7 ::EvaluateMode pour déterminer la fréquence d’actualisation maximale qu’une combinaison de moniteur EDID et d’adaptateur d’affichage peut prendre en charge pour chaque résolution d’écran. Les résultats des tests sont stockés dans le registre système et affectent le fonctionnement de IDirectDraw7 ::EnumDisplayModes lorsque cette méthode est appelée avec l’indicateur DDEDM_REFRESHRATES défini.
Plus précisément, un appel à StartModeTest demande à DirectDraw d’établir un ensemble de résolutions testables et d’afficher un mode basé sur la première résolution de l’ensemble. Les appels suivants à IDirectDraw7 ::EvaluateMode peuvent être utilisés pour réussir ou échouer chaque mode et faire passer le test au mode d’affichage suivant.
StartModeTest réussit uniquement avec les moniteurs qui contiennent des données EDID. Si le moniteur n’est pas conforme à EDID, StartModeTest retourne DDERR_TESTFINISHED sans tester aucun mode. Si la table EDID ne contient pas de valeurs supérieures à 60 Hz, aucun mode n’est testé. Les taux d’actualisation supérieurs à 100 Hz sont testés uniquement si la table EDID contient des valeurs supérieures à 85 Hz.
Si vous appelez StartModeTest avec une liste d’arguments de (NULL, 0, 0), StartModeTest efface les informations de taux d’actualisation existantes du Registre.
Le test ne garantit pas d’afficher uniquement les résolutions dans le tableau décrit par les paramètres lpModesToTest et dwNumEntries . Par exemple, la résolution 640×480 est utilisée pour obtenir un taux d’actualisation maximal visible pour la résolution 320×200.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | ddraw.h |
Bibliothèque | Ddraw.lib |
DLL | Ddraw.dll |