The SetThreadAffinityMask function sets a processor affinity mask for a specified thread.
A thread affinity mask is a bit vector in which each bit represents the processors that a thread is allowed to run on.
A thread affinity mask must be a proper subset of the process affinity mask for the containing process of a thread. A thread is only allowed to run on the processors its process is allowed to run on.
DWORD SetThreadAffinityMask (
HANDLE hThread, |
// handle to the thread of interest |
DWORD dwThreadAffinityMask |
// a thread affinity mask |
); |
Windows NT: This handle must have the THREAD_SET_INFORMATION access
right associated with it. For more information, see Thread
Objects.
Windows NT: Specifies an affinity mask for the thread.
If the function succeeds, the return value is nonzero.
Windows 95: The return value is 1. To succeed, hThread must be valid and dwThreadAffinityMask must be 1.
Windows NT: The return value is the thread’s previous affinity mask.
If the function fails, the return value is zero. To get extended error information, call GetLastError.