This documentation is archived and is not being maintained.


Creates a thread to execute within the address space of the calling process.

BOOL CreateThread( 
   DWORD dwCreateFlags = 0, 
   UINT nStackSize = 0, 


Specifies an additional flag that controls the creation of the thread. This flag can contain one of two values:

  • CREATE_SUSPENDED   Start the thread with a suspend count of one. Use CREATE_SUSPENDED if you want to initialize any member data of the CWinThread object, such as m_bAutoDelete or any members of your derived class, before the thread starts running. Once your initialization is complete, use the CWinThread::ResumeThread to start the thread running. The thread will not execute until CWinThread::ResumeThread is called.

  • 0   Start the thread immediately after creation.


Specifies the size in bytes of the stack for the new thread. If 0, the stack size defaults to the same size as that of the process's primary thread.


Points to a SECURITY_ATTRIBUTES structure that specifies the security attributes for the thread.

Nonzero if the thread is created successfully; otherwise 0.

Use AfxBeginThread to create a thread object and execute it in one step. Use CreateThread if you want to reuse the thread object between successive creation and termination of thread executions.

Header: afxwin.h