SetProcessAffinityUpdateMode function (processthreadsapi.h)

Sets the affinity update mode of the specified process.


BOOL SetProcessAffinityUpdateMode(
  [in] HANDLE hProcess,
  [in] DWORD  dwFlags


[in] hProcess

A handle to the process. This handle must be returned by the GetCurrentProcess function.

[in] dwFlags

The affinity update mode. This parameter can be one of the following values.

Value Meaning
Disables dynamic update of the process affinity by the system.
Enables dynamic update of the process affinity by the system.

Return value

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.


The system can adjust process affinity under various conditions, such as when a processor is added dynamically. By default, dynamic updates to the process affinity are disabled for each process.

Processes should use this function to indicate whether they can handle dynamic adjustment of process affinity by the system. After a process enables affinity update mode, it can call this function to disable it. However, a process cannot enable affinity update mode after it has used this function to disable it.

Child processes do not inherit the affinity update mode of the parent process. The affinity update mode must be explicitly set for each child process.

To compile an application that calls this function, define _WIN32_WINNT as 0x0600 or later. For more information, see Using the Windows Headers.


Requirement Value
Minimum supported client Windows Vista with SP1 [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header processthreadsapi.h (include Windows.h on Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
DLL Kernel32.dll

See also