GetProcessAffinityMask
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 |
); |
|
Parameters
hProcess
An open
handle to the process whose affinity mask is desired.
Windows
NT: This handle must have
PROCESS_QUERY_INFORMATION access. For more information, see Process Objects
lpProcessAffinityMask
Pointer to a DWORD
that the function sets to the process affinity mask for the specified process.
lpSystemAffinityMask
Pointer to a DWORD
that the function sets to the system affinity mask for the system.
Return Values
If the
function succeeds, the return value is nonzero.
Windows
NT: Upon success, the function sets
the DWORD variables pointed to by lpProcessAffinityMask and lpSystemAffinityMask
to the appropriate affinity masks.
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.
See Also