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

This function sets the context in the specified thread.

BOOL SetThreadContext(
  HANDLE hThread,
  CONST CONTEXT* lpContext


[in] Handle to the thread that contains the context to be set.


[in] Pointer to the CONTEXT structure that contains the context to be set in the specified thread.

The value of the ContextFlags member of this structure specifies which portions of a thread's context to set.

Some values in the CONTEXT structure that cannot be specified are silently set to the correct value, including the following:

  • Bits in the CPU status register that specify the privileged processor mode
  • Global enabling bits in the debugging register
  • Other states that must be controlled by the OS

Nonzero indicates that the context was set. Zero indicates failure. To get extended error information, call GetLastError.

The function allows the selective context to be set based on the value of the ContextFlags member of the context structure.

The thread handle identified by the hThread parameter is typically being debugged, but the function can also operate even when it is not.

Do not try to set the context for a running thread; the results are unpredictable.

To suspend the thread before calling SetThreadContext, use the SuspendThread function.

Windows Embedded CEWindows CE 2.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions