C6258

warning C6258: using TerminateThread does not allow proper thread clean up.

This warning indicates that a call to TerminateThread has been detected.

TerminateThread is a dangerous function that should only be used in the most extreme cases. For more information about problems associated with TerminateThread call, see this topic in the MSDN Library: TerminateThread.

To properly terminate threads

  1. Create an event object using the CreateEvent function.

  2. Create the threads.

  3. Each thread monitors the event state by calling the WaitForSingleObject function.

  4. Each thread ends its own execution when the event is set to the signaled state (WaitForSingleObject returns WAIT_OBJECT_0).

See one of the following topics for more information:

Terminating a Thread

WaitForSingleObject

SetEvent