Metodo IDirectDrawSurface7::Restore (ddraw.h)

Ripristina una superficie persa. Ciò si verifica quando la memoria della superficie associata all'oggetto DirectDrawSurface è stata liberata.

Sintassi

HRESULT Restore();

Valore restituito

Se il metodo ha esito positivo, il valore restituito viene DD_OK.

Se ha esito negativo, il metodo può restituire uno dei valori di errore seguenti:

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

Commenti

Il ripristino ripristina la memoria allocata per una superficie, ma non ricarica le bitmap che potrebbero esistere nella superficie prima della perdita.

Le superfici possono essere perse perché la modalità della scheda grafica è stata modificata o perché un'applicazione ha ricevuto l'accesso esclusivo alla scheda grafica e liberato tutta la memoria di superficie attualmente allocata sull'adattatore. Quando un oggetto DirectDrawSurface perde la memoria della superficie, molti metodi restituiscono DDERR_SURFACELOST e non eseguono altre funzioni. Il metodo IDirectDrawSurface7::Restore rialloca la memoria della superficie e la ricollega all'oggetto DirectDrawSurface.

Una singola chiamata a Restore ripristina le superfici implicite associate di un oggetto DirectDrawSurface (buffer nascosto e così via). Un tentativo di ripristinare una superficie creata in modo implicito genera un errore. Il ripristino non funziona tra allegati espliciti creati usando il metodo IDirectDrawSurface7::AddAttachedSurface. Ognuna di queste superfici deve essere ripristinata singolarmente.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione ddraw.h
Libreria Ddraw.lib
DLL Ddraw.dll

Vedi anche

IDirectDrawSurface7