Método IDirectDrawSurface7::Restore (ddraw.h)
Restaura una superficie que se ha perdido. Esto ocurre cuando se libera la memoria expuesta asociada al objeto DirectDrawSurface.
Sintaxis
HRESULT Restore();
Valor devuelto
Si el método se realiza correctamente, el valor devuelto se DD_OK.
Si se produce un error, el método puede devolver uno de los siguientes valores de error:
- DDERR_GENERIC
- DDERR_IMPLICITLYCREATED
- DDERR_INCOMPATIBLEPRIMARY
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_NOEXCLUSIVEMODE
- DDERR_OUTOFMEMORY
- DDERR_UNSUPPORTED
- DDERR_WRONGMODE
Comentarios
La restauración restaura la memoria que se asignó para una superficie, pero no vuelve a cargar ningún mapa de bits que pudiera haber existido en la superficie antes de que se perdiera.
Las superficies se pueden perder porque se cambió el modo del adaptador de gráficos o porque una aplicación recibió acceso exclusivo al adaptador de gráficos y liberó toda la memoria expuesta asignada actualmente en el adaptador. Cuando un objeto DirectDrawSurface pierde su memoria expuesta, muchos métodos devuelven DDERR_SURFACELOST y no realizan ninguna otra función. El método IDirectDrawSurface7::Restore reasigna la memoria de superficie y la vuelve a asociar al objeto DirectDrawSurface.
Una sola llamada a Restore restaura las superficies implícitas asociadas de un objeto DirectDrawSurface (búferes de reserva, etc.). Un intento de restaurar una superficie creada implícitamente produce un error. La restauración no funciona en datos adjuntos explícitos creados mediante el método IDirectDrawSurface7::AddAttachedSurface ; cada una de estas superficies se debe restaurar individualmente.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | ddraw.h |
Library | Ddraw.lib |
Archivo DLL | Ddraw.dll |