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 |