The valid access rights for thread objects are STANDARD_RIGHTS_REQUIRED and the rights given in the following table.
Value | Meaning |
SYNCHRONIZE | Required to wait for the thread to exit. |
THREAD_ALL_ACCESS | Specifies all possible access rights for a thread object. A thread created with THREAD_ALL_ACCESS access is created with its execution suspended. |
THREAD_DIRECT_IMPERSONATION | Required for a server thread that impersonates a client. |
THREAD_GET_CONTEXT | Required to read the context of a thread using GetThreadContext. |
THREAD_IMPERSONATE | Required to use a thread's security information directly without calling it by using a communication mechanism that provides impersonation services. |
THREAD_QUERY_INFORMATION | Required to read certain information from the thread object. |
THREAD_SET_CONTEXT | Required to write the context of a thread. |
THREAD_SET_INFORMATION | Required to set certain information in the thread object. |
THREAD_SET_THREAD_TOKEN | Required to set the impersonation token for a thread. |
THREAD_SUSPEND_RESUME | Required to suspend or resume a thread. |
THREAD_TERMINATE | Required to terminate a thread. |
The handle returned by the CreateThread function has THREAD_ALL_ACCESS access to the thread object.
For more information about threads, see Processes and Threads.