Share via


Método IDirect3DDevice9Ex::ResetEx (d3d9.h)

Restablece el tipo, el tamaño y el formato de la cadena de intercambio con todas las demás superficies persistentes.

Sintaxis

HRESULT ResetEx(
  [in, out] D3DPRESENT_PARAMETERS *pPresentationParameters,
  [in, out] D3DDISPLAYMODEEX      *pFullscreenDisplayMode
);

Parámetros

[in, out] pPresentationParameters

Tipo: D3DPRESENT_PARAMETERS*

Puntero a una estructura de D3DPRESENT_PARAMETERS , que describe los nuevos parámetros de presentación. Este valor no puede ser NULL.

Al cambiar al modo de pantalla completa, Direct3D intentará encontrar un formato de escritorio que coincida con el formato de búfer de reserva, de modo que los formatos de búfer de reserva y búfer frontal sean idénticos (para eliminar la necesidad de conversión de color).

Cuando este método devuelve:

  • BackBufferCount, BackBufferWidth y BackBufferHeight se establecen en cero.
  • BackBufferFormat se establece en D3DFORMAT solo para el modo de ventana; Un modo de pantalla completa debe especificar un formato.

[in, out] pFullscreenDisplayMode

Tipo: D3DDISPLAYMODEEX*

Puntero a una estructura de D3DDISPLAYMODEEX que describe las propiedades del modo de presentación deseado. Este valor se debe proporcionar para las aplicaciones de pantalla completa, pero puede ser NULL para las aplicaciones con ventanas.

Valor devuelto

Tipo: HRESULT

El método puede devolver: D3D_OK, D3DERR_DEVICELOST o D3DERR_DEVICEHUNG (consulte D3DERR).

Si este método devuelve D3DERR_DEVICELOST o D3DERR_DEVICEHUNG, la aplicación solo puede llamar a IDirect3DDevice9Ex::ResetEx, IDirect3DDevice9Ex::CheckDeviceState o liberar el puntero de interfaz; cualquier otra llamada API provocará una excepción.

Comentarios

Si se produce un error en una llamada a IDirect3DDevice9Ex::ResetEx , el dispositivo se colocará en el estado perdido (como se indica mediante un valor devuelto de D3DERR_DEVICELOST desde una llamada a IDirect3DDevice9Ex::CheckDeviceState). Consulte IDirect3DDevice9Ex::CheckDeviceState y Cambios de comportamiento de dispositivos perdidos para obtener más información sobre el uso de IDirect3DDevice9Ex::ResetEx en el contexto de los dispositivos perdidos.

A diferencia de las versiones anteriores de DirectX, llamar a IDirect3DDevice9Ex::ResetEx no hace que se pierdan superficies, texturas ni información de estado.

Los sombreadores de píxeles y los sombreadores de vértices sobreviven a las llamadas IDirect3DDevice9Ex::ResetEx para Direct3D 9. No es necesario volver a crearlos explícitamente por la aplicación.

Hay dos tipos diferentes de cadenas de intercambio: pantalla completa o ventana. Si la nueva cadena de intercambio es de pantalla completa, el adaptador se colocará en el modo de presentación que coincida con el nuevo tamaño.

Las aplicaciones pueden esperar que los mensajes se envíen a ellos durante esta llamada (por ejemplo, antes de que se devuelva esta llamada); Las aplicaciones deben tomar precauciones para no llamar a Direct3D en este momento.

Se producirá un error en una llamada a IDirect3DDevice9Ex::ResetEx si se llama en un subproceso diferente al usado para crear el dispositivo que se está restableciendo.

D3DFMT_UNKNOWN se puede especificar para el formato de búfer de reserva en modo ventana al llamar a IDirect3D9Ex::CreateDeviceEx, IDirect3DDevice9Ex::ResetEx e IDirect3DDevice9::CreateAdditionalSwapChain. Esto significa que la aplicación no tiene que consultar el formato de escritorio actual antes de llamar a IDirect3D9Ex::CreateDeviceEx para el modo de ventana. Para el modo de pantalla completa, se debe especificar el formato de búfer de reserva. Establecer BackBufferCount igual a cero (BackBufferCount = 0) da como resultado un búfer de reserva.

Al intentar restablecer más de un adaptador de pantalla en un grupo, establezca pPresentationParameters para que apunte a una matriz de estructuras de D3DPRESENT_PARAMETERS , una para cada presentación del grupo de adaptadores.

Si se creó un dispositivo multihead con D3DCREATE_ADAPTERGROUP_DEVICE, IDirect3DDevice9Ex::ResetEx requiere una matriz de estructuras de D3DPRESENT_PARAMETERS donde cada estructura debe especificar una pantalla de pantalla completa. Para volver al modo de ventana, la aplicación debe destruir el dispositivo y volver a crear un dispositivo que no sea multihead en modo de ventana.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d9.h
Library D3D9.lib

Consulte también

IDirect3DDevice9Ex