SetProcessAffinityMask

The SetProcessAffinityMask function sets a processor affinity mask for the threads of a specified process.

A process affinity mask is a bit vector in which each bit represents the processor on which the threads of the process are allowed to run.

The value of the process affinity mask must be a proper subset of the mask values obtained by the GetProcessAffinityMask function.

BOOL SetProcessAffinityMask(
  HANDLE hProcess,             // handle to process
  DWORD dwProcessAffinityMask  // process affinity mask
);
 

Parameters

hProcess
A handle to the process whose affinity mask the function sets. This handle must have the PROCESS_SET_INFORMATION access right.
dwProcessAffinityMask
Specifies an affinity mask for the threads of the process.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

Process affinity is inherited by any process that you start with the CreateProcess function.

QuickInfo

  Windows NT: Requires version 4.0 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in winbase.h.
  Import Library: Use kernel32.lib.

See Also

Processes and Threads Overview, Process and Thread Functions, CreateProcess, GetProcessAffinityMask