Freigeben über


IDirectDrawSurface7::SetPalette-Methode (ddraw.h)

Fügt ein Palettenobjekt an eine Oberfläche an (oder trennt es von). Die Oberfläche verwendet diese Palette für alle nachfolgenden Vorgänge. Die Palettenänderung erfolgt sofort, ohne Rücksicht auf das Aktualisierungszeitpunkt.

Syntax

HRESULT SetPalette(
  [in] LPDIRECTDRAWPALETTE unnamedParam1
);

Parameter

[in] unnamedParam1

Ein Zeiger auf die IDirectDrawPalette-Schnittstelle für das Palettenobjekt, das mit dieser Oberfläche verwendet werden soll. Bei NULL wird die aktuelle Palette getrennt.

Rückgabewert

Wenn die Methode erfolgreich ist, wird der Rückgabewert DD_OK.

Wenn ein Fehler auftritt, kann die Methode einen der folgenden Fehlerwerte zurückgeben:

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

Hinweise

Wenn Sie SetPalette aufrufen, um eine Palette zum ersten Mal auf eine Oberfläche festzulegen, erhöht SetPalette die Referenzanzahl der Palette. nachfolgende Aufrufe von SetPalette wirken sich nicht auf die Verweisanzahl der Palette aus. Wenn Sie NULL als lpDDPalette-Parameter übergeben, wird die Palette von der Oberfläche entfernt, und die Verweisanzahl der Palette wird verringert. Wenn Sie die Palette nicht löschen, gibt die Oberfläche ihren Verweis auf die Palette automatisch auf, wenn die Oberfläche selbst freigegeben wird. Gemäß COM-Regeln muss Ihre Anwendung alle Verweise freigeben, die sie auf die Palette enthält, wenn das Objekt nicht mehr benötigt wird.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile ddraw.h
Bibliothek Ddraw.lib
DLL Ddraw.dll

Weitere Informationen

IDirectDrawSurface7