Windows Mobile 6.5
A version of this page is also available for

This method changes the color key.

HRESULT SetColorKey(
  COLORKEY* pColorKey


[out] Pointer to the COLORKEY value to be set. If successful, the actual color key value selected is copied to this parameter.

Returns an HRESULT value that depends on the implementation.

HRESULT can be one of the following standard constants, or other values not listed.

Value Description




Null pointer argument.


Invalid argument.


Method is not supported.



If you change the color key by using the IOverlay::SetColorKey method, all the advise links will receive an IOverlayNotify::OnColorKeyChange callback method with the new color.

When using IOverlay on a palettized display, a filter can either install a color key (using IOverlay::SetColorKey) or install a palette (using IOverlay::SetPalette), but not both. This is because color keys in this mode require a palette to be realized that would conflict with SetPalette.

Color keys can be uninstalled by requesting a color key with the CK_NOCOLORKEY flag. Any palette installed through SetPalette can be uninstalled by calling SetPalette and passing in null parameters (that is, SetPalette(0,NULL)).

Trying to set a palette when a color key is installed returns VFW_E_PALETTE_SET.

Trying to set a color key when a palette is installed returns VFW_E_COLOR_KEY_SET.

Windows Embedded CEWindows CE 2.12 and later
Windows MobilePocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later
NoteMicrosoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment, Version 2.12 requires DXPAK 1.0 or later

Community Additions