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 |