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 |