Microsoft Windows CE 3.0  

ExitThread

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This function ends a thread.

VOID
ExitThread(
DWORD
dwExitCode
);

Parameters

dwExitCode
[in] Specifies the exit code for the calling thread. Use the GetExitCodeThreadfunction to retrieve a thread's exit code.

Return Values

None.

Remarks

ExitThreadis the preferred method of exiting a thread. When this function is called (either explicitly or by returning from a thread procedure), the current thread's stack is deallocated and the thread terminates. The entry-point function of all attached dynamic-link libraries (DLLs) is invoked with a value indicating that the thread is detaching from the DLL.

If the thread is the last thread in the process when this function is called, the thread's process is also terminated.

If the primary thread calls the ExitThreadfunction, the application exits.

The state of the thread object becomes signaled, releasing any other threads that had been waiting for the thread to terminate. The thread's termination status changes from STILL_ACTIVE to the value of the dwExitCodeparameter.

Terminating a thread does not necessarily remove the thread object from the operating system. A thread object is deleted when the last handle to the thread is closed.

The ExitThreadand CreateThreadfunctions, as well as a process that is starting as the result of a CreateProcesscall, are serialized between each other within a process. Only one of these events can happen in an address space at a time. This means the following restrictions hold:

  • During process startup and DLL initialization routines, new threads can be created, but they do not begin execution until DLL initialization is done for the process.
  • Only one thread in a process can be in a DLL initialization or detach routine at a time.

    Requirements

    Runs on Versions Defined in Include Link to
    Windows CE OS 1.0 and later     Coremain.lib
    Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

    See Also

    CreateProcess, CreateThread, GetExitCodeThread