Platform SDK: DLLs, Processes, and Threads |
The GetProcessAffinityMask function retrieves the 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 process PDWORD_PTR lpProcessAffinityMask, // process affinity mask PDWORD_PTR lpSystemAffinityMask // system affinity mask );
Windows NT/2000: This handle must have PROCESS_QUERY_INFORMATION access. For more information, see Process Security and Access Rights.
If the function succeeds, the return value is nonzero.
Windows NT/2000: Upon success, the function sets the DWORD variables pointed to by lpProcessAffinityMask and lpSystemAffinityMask to the appropriate affinity masks.
Windows 95/98: 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.
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, SetProcessAffinityMask, SetThreadAffinityMask