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 |