The GetProcessAffinityMask function obtains a process affinity mask for the specified process and the system affinity mask for the system.
A process affinity mask is a bit vector in which each bit represents the processors that a process is allowed to run on. A system affinity mask is a bit vector in which each bit represents the processors that are configured into a system.
A process affinity mask is a proper subset of a system affinity mask. A process is only allowed to run on the processors configured into a system.
BOOL GetProcessAffinityMask(
HANDLE hProcess, |
// handle to the process of interest |
LPDWORD lpProcessAffinityMask, |
// pointer to structure to receive process affinity mask |
LPDWORD lpSystemAffinityMask |
// pointer to structure to receive system affinity mask |
); |
Windows NT: This handle must have PROCESS_QUERY_INFORMATION access. For
more information, see Process Objects.
Windows 95: Upon success, the function sets the DWORD variables pointed to by lpProcessAffinityMask and lpSystemAffinityMask to the value one.
If the function fails, the return value is zero, and the values of the DWORD variables pointed to by lpProcessAffinityMask and lpSystemAffinityMask are undefined. To get extended error information, call GetLastError.