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

Adjunta un objeto de paleta a (o desasocia uno de) una superficie. La superficie usa esta paleta para todas las operaciones posteriores. El cambio de paleta tiene lugar inmediatamente, sin tener en cuenta el tiempo de actualización.

Sintaxis

HRESULT SetPalette(
  [in] LPDIRECTDRAWPALETTE unnamedParam1
);

Parámetros

[in] unnamedParam1

Puntero a la interfaz IDirectDrawPalette del objeto de paleta que se va a usar con esta superficie. Si es NULL, la paleta actual se desasocia.

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_GENERIC
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDPIXELFORMAT
  • DDERR_INVALIDSURFACETYPE
  • DDERR_NOEXCLUSIVEMODE
  • DDERR_NOPALETTEATTACHED
  • DDERR_NOPALETTEHW
  • DDERR_NOT8BITCOLOR
  • DDERR_SURFACELOST
  • DDERR_UNSUPPORTED

Comentarios

Cuando se llama a SetPalette para establecer una paleta en una superficie por primera vez, SetPalette incrementa el recuento de referencias de la paleta; Las llamadas posteriores a SetPalette no afectan al recuento de referencias de la paleta. Si pasa NULL como el parámetro lpDDPalette , la paleta se quita de la superficie y se disminuye el recuento de referencias de la paleta. Si no eliminas la paleta, la superficie libera automáticamente su referencia a la paleta cuando se libera la propia superficie. Según las reglas COM, la aplicación debe liberar las referencias que contenga en la paleta cuando el objeto ya no sea necesario.

Requisitos

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

Consulte también

IDirectDrawSurface7