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 |
); |
Parameters
hThread
A handle to the thread whose affinity mask the function sets.
Windows NT: This handle must have the THREAD_SET_INFORMATION access right associated with it. For more information, see Thread Objects.
dwThreadAffinityMask
Windows 95: This value must be 1.
Windows NT: Specifies an affinity mask for the thread.
Return Values
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.
See Also