Freigeben über


IDirectDrawSurface7::Restore-Methode (ddraw.h)

Stellt eine verloren gegangene Oberfläche wieder her. Dies tritt auf, wenn der dem DirectDrawSurface-Objekt zugeordnete Oberflächenspeicher freigegeben wurde.

Syntax

HRESULT Restore();

Rückgabewert

Wenn die Methode erfolgreich ist, wird der Rückgabewert DD_OK.

Wenn ein Fehler auftritt, kann die -Methode einen der folgenden Fehlerwerte zurückgeben:

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

Hinweise

Wiederherstellen stellt den Speicher wieder her, der für eine Oberfläche zugewiesen wurde, lädt jedoch keine Bitmaps neu, die vor dem Verlust möglicherweise auf der Oberfläche vorhanden waren.

Surfaces können verloren gehen, weil der Modus der Grafikkarte geändert wurde oder weil eine Anwendung exklusiven Zugriff auf den Grafikkarten erhalten und den gesamten surface-Speicher freigegeben hat, der derzeit auf dem Adapter zugeordnet ist. Wenn ein DirectDrawSurface-Objekt seinen Oberflächenspeicher verliert, geben viele Methoden DDERR_SURFACELOST zurück und führen keine andere Funktion aus. Mit der IDirectDrawSurface7::Restore-Methode wird oberflächennaher Speicher neu zugeordnet und an das DirectDrawSurface-Objekt angefügt.

Ein einzelner Aufruf von Restore stellt die zugeordneten impliziten Oberflächen (Zurückpuffer usw.) eines DirectDrawSurface-Objekts wieder her. Ein Versuch, eine implizit erstellte Oberfläche wiederherzustellen, führt zu einem Fehler. Die Wiederherstellung funktioniert nicht für explizite Anlagen, die mit der IDirectDrawSurface7::AddAttachedSurface-Methode erstellt wurden. Jede dieser Oberflächen muss einzeln wiederhergestellt werden.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile ddraw.h
Bibliothek Ddraw.lib
DLL Ddraw.dll

Weitere Informationen

IDirectDrawSurface7