Compartilhar via


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

Anexa um objeto de paleta a (ou desanexa um de) uma superfície. A superfície usa essa paleta para todas as operações subsequentes. A alteração da paleta ocorre imediatamente, sem considerar o tempo de atualização.

Sintaxe

HRESULT SetPalette(
  [in] LPDIRECTDRAWPALETTE unnamedParam1
);

Parâmetros

[in] unnamedParam1

Um ponteiro para a interface IDirectDrawPalette para o objeto de paleta a ser usado com essa superfície. Se FOR NULL, a paleta atual será desanexada.

Retornar valor

Se o método for bem-sucedido, o valor retornado será DD_OK.

Se falhar, o método poderá retornar um dos seguintes valores de erro:

  • DDERR_GENERIC
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDPIXELFORMAT
  • DDERR_INVALIDSURFACETYPE
  • DDERR_NOEXCLUSIVEMODE
  • DDERR_NOPALETTEATTACHED
  • DDERR_NOPALETTEHW
  • DDERR_NOT8BITCOLOR
  • DDERR_SURFACELOST
  • DDERR_UNSUPPORTED

Comentários

Quando você chama SetPalette para definir uma paleta como uma superfície pela primeira vez, SetPalette incrementa a contagem de referência da paleta; chamadas subsequentes para SetPalette não afetam a contagem de referência da paleta. Se você passar NULL como o parâmetro lpDDPalette , a paleta será removida da superfície e a contagem de referência da paleta será decrementada. Se você não excluir a paleta, a superfície liberará automaticamente sua referência à paleta quando a própria superfície for liberada. De acordo com as regras COM, seu aplicativo deve liberar todas as referências que ele contém na paleta quando o objeto não for mais necessário.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho ddraw.h
Biblioteca Ddraw.lib
DLL Ddraw.dll

Confira também

IDirectDrawSurface7