A version of this page is also available for

Windows Embedded CE 6.0 R3


For Windows Mobile devices, the SHSetInputContext function changes the state of a context feature of an input window. This function allows run-time modification of the contextual properties of an input window.


This function is not implemented for Windows Embedded CE-based devices. It is provided as a stub in the operating system (OS) for application compatibility and will always return E_NOTIMPL.


HRESULT SHSetInputContext (
  HWND hwnd,
  DWORD dwFeature,
  const LPVOID lpValue


  • hwnd
    [in] Handle to the window whose context feature is being set.
  • dwFeature
    [in] The context feature to change, specified by a value from the SHIC_FEATURE enumeration. For more information, see Remarks.
  • lpValue
    [in] The new value assigned to feature. For more information, see Remarks.

Return Value

  • S_OK
    The function completed successfully.
    The hwnd parameter was NULL, or the lpValue parameter was NULL when that was not a valid option for the specified dwFeature.
    The feature specified by the dwFeature parameter was invalid.
    The value specified by lpValue is not a valid option for the specified dwFeature.


The features that can be changed are determined by the SHIC_FEATURE enumeration. One of the enumerators of SHIC_FEATURE must be passed as the dwFeature parameter of this function. Each enumerator has corresponding valid values that can be passed in the lpValue parameter.

For any context feature that is not explicitly defined through this function, the value of that feature is taken from the window's parent window.

Applications that use SHSetInputContext with the SHIC_FEATURE enumeration values SHIC_FEATURE_CLASS or SHIC_CLASS_* must initialize the COM library (using CoInitializeEx) before creating the edit control.


Header aygshell.h
Library aygshell.lib
Windows Embedded CE Windows CE .NET 4.0 and later
Windows Mobile Pocket PC for Windows Mobile 2003 and later

See Also