IDirectDrawSurface7::SetPalette 方法 (ddraw.h)

將調色盤物件附加至 (,或從表面) 中斷連結。 介面會針對所有後續作業使用此調色盤。 選擇區變更會立即進行,而不需重新整理時間。

語法

HRESULT SetPalette(
  [in] LPDIRECTDRAWPALETTE unnamedParam1
);

參數

[in] unnamedParam1

要用於這個表面之調色盤物件的 IDirectDrawPalette 介面指標。 如果為 NULL,則會卸離目前的調色盤。

傳回值

如果方法成功,傳回值會DD_OK。

如果失敗,方法可以傳回下列其中一個錯誤值:

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

備註

當您第一次呼叫 SetPalette 將調色盤設定為表面時, SetPalette 會遞增調色盤的參考計數; 對 SetPalette 的後續呼叫不會影響調色盤的參考計數。 如果您傳遞 NULL 做為 lpDDPalette 參數,則會從介面中移除調色盤,並遞減調色盤的參考計數。 如果您未刪除調色盤,當表面本身釋放時,介面會自動釋放對調色盤的參考。 根據 COM 規則,當不再需要物件時,您的應用程式必須釋放它保留至調色盤的任何參考。

規格需求

需求
目標平台 Windows
標頭 ddraw.h
程式庫 Ddraw.lib
Dll Ddraw.dll

另請參閱

IDirectDrawSurface7