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 |