Platform SDK: DLLs, Processes, and Threads |
The SetThreadAffinityMask function sets a processor affinity mask for the 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_PTR SetThreadAffinityMask ( HANDLE hThread, // handle to thread DWORD_PTR dwThreadAffinityMask // thread affinity mask );
Windows NT/2000: This handle must have the THREAD_SET_INFORMATION access right associated with it. For more information, see Thread Security and Access Rights.
Windows 95/98: [in] This value must be 1.
If the function succeeds, the return value is nonzero.
Windows NT/2000: The return value is the thread's previous affinity mask.
Windows 95/98: The return value is 1. To succeed, hThread must be valid and dwThreadAffinityMask must be 1.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Windows NT/2000: Requires Windows NT 3.5 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
Processes and Threads Overview, Process and Thread Functions, GetProcessAffinityMask, OpenThread, SetThreadIdealProcessor