Compartilhar via


Método IDirectDrawSurface7::Restore (ddraw.h)

Restaura uma superfície que foi perdida. Isso ocorre quando a memória de superfície associada ao objeto DirectDrawSurface foi liberada.

Sintaxe

HRESULT Restore();

Retornar valor

Se o método for bem-sucedido, o valor retornado será DD_OK.

Se falhar, o método poderá retornar um dos seguintes valores de erro:

  • DDERR_GENERIC
  • DDERR_IMPLICITLYCREATED
  • DDERR_INCOMPATIBLEPRIMARY
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_NOEXCLUSIVEMODE
  • DDERR_OUTOFMEMORY
  • DDERR_UNSUPPORTED
  • DDERR_WRONGMODE

Comentários

A restauração restaura a memória alocada para uma superfície, mas não recarrega nenhum bitmaps que possa ter existido na superfície antes de ser perdido.

As superfícies podem ser perdidas porque o modo do adaptador gráfico foi alterado ou porque um aplicativo recebeu acesso exclusivo ao adaptador gráfico e liberou toda a memória da superfície atualmente alocada no adaptador. Quando um objeto DirectDrawSurface perde sua memória de superfície, muitos métodos retornam DDERR_SURFACELOST e não executam nenhuma outra função. O método IDirectDrawSurface7::Restore realoca a memória da superfície e a reanexa ao objeto DirectDrawSurface.

Uma única chamada para Restaurar restaura as superfícies implícitas associadas de um objeto DirectDrawSurface (buffers traseiros e assim por diante). Uma tentativa de restaurar uma superfície criada implicitamente resulta em um erro. A restauração não funciona entre anexos explícitos que foram criados usando o método IDirectDrawSurface7::AddAttachedSurface . Cada uma dessas superfícies deve ser restaurada individualmente.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho ddraw.h
Biblioteca Ddraw.lib
DLL Ddraw.dll

Confira também

IDirectDrawSurface7