GROUP_AFFINITY structure (miniport.h)

The GROUP_AFFINITY structure specifies a group number and the processor affinity within that group.

Syntax

typedef struct _GROUP_AFFINITY {
  KAFFINITY Mask;
  USHORT    Group;
  USHORT    Reserved[3];
} GROUP_AFFINITY, *PGROUP_AFFINITY;

Members

Mask

Specifies the affinity mask. This parameter is a KAFFINITY value. The bits in the affinity mask identify a set of processors within the group identified by Group.

Group

Specifies the group number. In Windows 7, the group number must be in the range from 0 to 3.

Reserved[3]

Reserved for future use. Set all three Reserved array elements to zero.

Remarks

This structure describes a group-specific affinity.

A GROUP_AFFINITY structure can describe a thread affinity, which is a set of processors on which a thread is allowed to run. All of the processors in this set belong to the group that is identified by the Group member of the structure. The Mask member contains an affinity mask that identifies the processors in the set. For example, the KeSetSystemGroupAffinityThread and KeRevertToUserGroupAffinityThread routines use GROUP_AFFINITY structures to specify thread affinities.

A GROUP_AFFINITY structure can describe an interrupt affinity, which is a set of processors on which an interrupt service routine can receive interrupts. For example, the IoGetDeviceNumaNode routine uses GROUP_AFFINITY structures to specify interrupt affinities.

Requirements

Requirement Value
Minimum supported client Supported in Windows 7 and later versions of Windows.
Header miniport.h (include Winnt.h, Ntdef.h, Windef.h, Minitape.h)

See also

IoGetDeviceNumaNode

KAFFINITY

KeRevertToUserGroupAffinityThread

KeSetSystemGroupAffinityThread