Método IDirect3DDevice9::TestCooperativeLevel (d3d9helper.h)
Informa del estado de nivel cooperativo actual del dispositivo Direct3D para una aplicación de pantalla completa o ventana.
Sintaxis
HRESULT TestCooperativeLevel();
Valor devuelto
Tipo: HRESULT
Si el método se ejecuta correctamente, el valor devuelto es D3D_OK, lo que indica que el dispositivo está operativo y la aplicación que realiza la llamada puede continuar. Si se produce un error en el método, el valor devuelto puede ser uno de los siguientes valores: D3DERR_DEVICELOST, D3DERR_DEVICENOTRESET, D3DERR_DRIVERINTERNALERROR.
Comentarios
Si el dispositivo se pierde pero no se puede restaurar en la hora actual, IDirect3DDevice9::TestCooperativeLevel devuelve el código de retorno D3DERR_DEVICELOST. Este sería el caso, por ejemplo, cuando un dispositivo de pantalla completa ha perdido el foco. Si una aplicación detecta un dispositivo perdido, debe pausar y llamar periódicamente a IDirect3DDevice9::TestCooperativeLevel hasta que reciba un valor devuelto de D3DERR_DEVICENOTRESET. Después, la aplicación puede intentar restablecer el dispositivo llamando a IDirect3DDevice9::Reset y, si esto se realiza correctamente, restaure los recursos necesarios y reanude la operación normal. Tenga en cuenta que IDirect3DDevice9::P resent devolverá D3DERR_DEVICELOST si el dispositivo está "perdido" o "no restablecido".
Se producirá un error en una llamada a IDirect3DDevice9::TestCooperativeLevel si se llama a en un subproceso diferente al usado para crear el dispositivo que se está restableciendo.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | d3d9helper.h (incluya D3D9.h) |
Library | D3D9.lib |