Partager via


IDirectDrawSurface7 ::Restore, méthode (ddraw.h)

Restaure une surface qui a été perdue. Cela se produit lorsque la mémoire surface associée à l’objet DirectDrawSurface a été libérée.

Syntaxe

HRESULT Restore();

Valeur de retour

Si la méthode réussit, la valeur de retour est DD_OK.

En cas d’échec, la méthode peut retourner l’une des valeurs d’erreur suivantes :

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

Remarques

La restauration restaure la mémoire qui a été allouée pour une surface, mais ne recharge pas les bitmaps qui auraient pu exister dans la surface avant sa perte.

Les surfaces peuvent être perdues parce que le mode de la carte graphique a été modifié ou parce qu’une application a reçu un accès exclusif à la carte graphique et libéré toute la mémoire surface actuellement allouée sur l’adaptateur. Lorsqu’un objet DirectDrawSurface perd sa mémoire surface, de nombreuses méthodes retournent DDERR_SURFACELOST et n’exécutent aucune autre fonction. La méthode IDirectDrawSurface7 ::Restore réalloue la mémoire de surface et la rattache à l’objet DirectDrawSurface.

Un seul appel à Restore restaure les surfaces implicites associées à un objet DirectDrawSurface (mémoires tampons arrière, etc.). Une tentative de restauration d’une surface créée implicitement génère une erreur. La restauration ne fonctionne pas sur les pièces jointes explicites créées à l’aide de la méthode IDirectDrawSurface7 ::AddAttachedSurface . Chacune de ces surfaces doit être restaurée individuellement.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête ddraw.h
Bibliothèque Ddraw.lib
DLL Ddraw.dll

Voir aussi

IDirectDrawSurface7