Metodo IDirect3DDevice9::TestCooperativeLevel (d3d9helper.h)
Segnala lo stato corrente a livello di cooperativa del dispositivo Direct3D per un'applicazione con finestra o a schermo intero.
Sintassi
HRESULT TestCooperativeLevel();
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito è D3D_OK, indicando che il dispositivo è operativo e l'applicazione chiamante può continuare. Se il metodo ha esito negativo, il valore restituito può essere uno dei valori seguenti: D3DERR_DEVICELOST, D3DERR_DEVICENOTRESET, D3DERR_DRIVERINTERNALERROR.
Commenti
Se il dispositivo viene perso ma non può essere ripristinato al momento corrente, IDirect3DDevice9::TestCooperativeLevel restituisce il codice restituito D3DERR_DEVICELOST. Questo è il caso, ad esempio, quando un dispositivo a schermo intero ha perso lo stato attivo. Se un'applicazione rileva un dispositivo perso, deve sospendere e chiamare periodicamente IDirect3DDevice9::TestCooperativeLevel finché non riceve un valore restituito di D3DERR_DEVICENOTRESET. L'applicazione può quindi tentare di reimpostare il dispositivo chiamando IDirect3DDevice9::Reset e, se questa operazione riesce, ripristinare le risorse necessarie e riprendere la normale operazione. Si noti che IDirect3DDevice9::P resent restituirà D3DERR_DEVICELOST se il dispositivo è "perso" o "non reimposta".
Una chiamata a IDirect3DDevice9::TestCooperativeLevel avrà esito negativo se viene chiamato in un thread diverso da quello usato per creare il dispositivo da reimpostare.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d9helper.h (include D3D9.h) |
Libreria | D3D9.lib |