Méthode IDirectDrawSurface7 ::SetSurfaceDesc (ddraw.h)

Définit les caractéristiques d’une surface existante.

Syntaxe

HRESULT SetSurfaceDesc(
  [in] LPDDSURFACEDESC2 unnamedParam1,
  [in] DWORD            unnamedParam2
);

Paramètres

[in] unnamedParam1

Pointeur vers une structure DDSURFACEDESC2 qui contient les nouvelles caractéristiques de surface.

[in] unnamedParam2

Actuellement non utilisé et doit être défini sur 0.

Valeur retournée

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_INVALIDPARAMS
  • DDERR_INVALIDOBJECT
  • DDERR_SURFACELOST
  • DDERR_SURFACEBUSY
  • DDERR_INVALIDSURFACETYPE
  • DDERR_INVALIDPIXELFORMAT
  • DDERR_INVALIDCAPS
  • DDERR_UNSUPPORTED
  • DDERR_GENERIC

Remarques

Actuellement, vous pouvez utiliser SetSurfaceDesc uniquement pour définir les données de surface et le format de pixels utilisés par une surface de mémoire système explicite. Cela est utile, car il permet à une surface d’utiliser les données d’une mémoire tampon précédemment allouée sans copier. La nouvelle mémoire de surface est allouée par l’application cliente et, par conséquent, l’application cliente doit également la libérer.

L’objet DirectDrawSurface ne libère pas la mémoire de surface qu’il n’a pas allouée. Par conséquent, lorsque la mémoire de surface n’est plus nécessaire, vous devez la libérer. Toutefois, lorsque vous appelez SetSurfaceDesc, DirectDraw libère la mémoire de surface d’origine qu’il a implicitement allouée lors de la création de la surface.

Configuration requise

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

Voir aussi

IDirectDrawSurface7