Méthode IDirect3DDevice9 ::TestCooperativeLevel (d3d9helper.h)

Indique la status de niveau coopératif actuelle de l’appareil Direct3D pour une application fenêtré ou plein écran.

Syntaxe

HRESULT TestCooperativeLevel();

Valeur de retour

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK, ce qui indique que l’appareil est opérationnel et que l’application appelante peut continuer. Si la méthode échoue, la valeur de retour peut être l’une des valeurs suivantes : D3DERR_DEVICELOST, D3DERR_DEVICENOTRESET, D3DERR_DRIVERINTERNALERROR.

Remarques

Si l’appareil est perdu mais ne peut pas être restauré à l’heure actuelle, IDirect3DDevice9 ::TestCooperativeLevel retourne le code de retour D3DERR_DEVICELOST. Ce serait le cas, par exemple, lorsqu’un appareil plein écran a perdu le focus. Si une application détecte un appareil perdu, elle doit s’interrompre et appeler régulièrement IDirect3DDevice9 ::TestCooperativeLevel jusqu’à ce qu’elle reçoive une valeur de retour de D3DERR_DEVICENOTRESET. L’application peut ensuite tenter de réinitialiser l’appareil en appelant IDirect3DDevice9 ::Reset et, si cela réussit, restaurer les ressources nécessaires et reprendre le fonctionnement normal. Notez que IDirect3DDevice9 ::P resent retourne D3DERR_DEVICELOST si l’appareil est « perdu » ou « non réinitialisé ».

Un appel à IDirect3DDevice9 ::TestCooperativeLevel échoue s’il est appelé sur un thread différent de celui utilisé pour créer l’appareil en cours de réinitialisation.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d9helper.h (inclure D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

IDirect3DDevice9