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

Establece las características de una superficie existente.

Sintaxis

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

Parámetros

[in] unnamedParam1

Puntero a una estructura DDSURFACEDESC2 que contiene las nuevas características de la superficie.

[in] unnamedParam2

Actualmente no se usa y debe establecerse en 0.

Valor devuelto

Si el método se realiza correctamente, el valor devuelto se DD_OK.

Si se produce un error, el método puede devolver uno de los siguientes valores de error:

  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDOBJECT
  • DDERR_SURFACELOST
  • DDERR_SURFACEBUSY
  • DDERR_INVALIDSURFACETYPE
  • DDERR_INVALIDPIXELFORMAT
  • DDERR_INVALIDCAPS
  • DDERR_UNSUPPORTED
  • DDERR_GENERIC

Comentarios

Actualmente, solo puede usar SetSurfaceDesc para establecer los datos de superficie y el formato de píxel que usa una superficie explícita de memoria del sistema. Esto resulta útil porque permite que una superficie use datos de un búfer asignado previamente sin copiarlos. La nueva memoria de superficie se asigna mediante la aplicación cliente y, por tanto, la aplicación cliente también debe desasignarlo.

El objeto DirectDrawSurface no desasigna la memoria expuesta que no asignó. Por lo tanto, cuando la memoria expuesta ya no sea necesaria, debe desasignarlo. Sin embargo, cuando se llama a SetSurfaceDesc, DirectDraw libera la memoria de superficie original que asignó implícitamente cuando creó la superficie.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado ddraw.h
Library Ddraw.lib
Archivo DLL Ddraw.dll

Consulte también

IDirectDrawSurface7