KAFFINITY

The KAFFINITY type is an affinity mask that represents a set of logical processors in a group.

typedef ULONG_PTR  KAFFINITY;

Remarks

The KAFFINITY type is 32 bits on a 32-bit version of Windows and is 64 bits on a 64-bit version of Windows.

If a group contains n logical processors, the processors are numbered from 0 to n-1. Processor number i in the group is represented by bit i in the affinity mask, where i is in the range 0 to n-1. Affinity mask bits that do not correspond to logical processors are always zero.

For example, if a KAFFINITY value identifies the active processors in a group, the mask bit for a processor is one if the processor is active, and is zero if the processor is not active.

The number of bits in the affinity mask determines the maximum number of logical processors in a group. For a 64-bit version of Windows, the maximum number of processors per group is 64. For a 32-bit version of Windows, the maximum number of processors per group is 32. Call the KeQueryMaximumProcessorCountEx routine to obtain the maximum number of processors per group. This number depends on the hardware configuration of the multiprocessor system, but can never exceed the fixed 64-processor and 32-processor limits that are set by the 64-bit and 32-bit versions of Windows, respectively.

The GROUP_AFFINITY structure contains an affinity mask and a group number. The group number identifies the group to which the affinity mask applies.

Kernel routines that use the KAFFINITY type include IoConnectInterrupt, KeQueryActiveProcessorCount, and KeQueryActiveProcessors.

Requirements

Version

Supported in Windows Vista and later versions of the Windows operating system.

Header

Basetsd.h (include Wdm.h or Ntddk.h)

See also

GROUP_AFFINITY
IoConnectInterrupt
KeQueryActiveProcessorCount
KeQueryActiveProcessors

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft. All rights reserved.