Поделиться через


структура SYSTEM_CPU_SET_INFORMATION (winnt.h)

Эта структура возвращается getSystemCpuSetInformation. Он используется для перечисления наборов ЦП в системе и определения их текущего состояния.

Это структура переменной величины, предназначенная для будущего расширения. При переборе этой структуры используйте поле размера, чтобы определить смещение следующей структуры.

Синтаксис

typedef struct _SYSTEM_CPU_SET_INFORMATION {
  DWORD                    Size;
  CPU_SET_INFORMATION_TYPE Type;
  union {
    struct {
      DWORD   Id;
      WORD    Group;
      BYTE    LogicalProcessorIndex;
      BYTE    CoreIndex;
      BYTE    LastLevelCacheIndex;
      BYTE    NumaNodeIndex;
      BYTE    EfficiencyClass;
      union {
        BYTE AllFlags;
        struct {
          BYTE Parked : 1;
          BYTE Allocated : 1;
          BYTE AllocatedToTargetProcess : 1;
          BYTE RealTime : 1;
          BYTE ReservedFlags : 4;
        } DUMMYSTRUCTNAME;
      } DUMMYUNIONNAME2;
      union {
        DWORD Reserved;
        BYTE  SchedulingClass;
      };
      DWORD64 AllocationTag;
    } CpuSet;
  } DUMMYUNIONNAME;
} SYSTEM_CPU_SET_INFORMATION, *PSYSTEM_CPU_SET_INFORMATION;

Члены

Size

Это размер (в байтах) этой информационной структуры.

Type

Это тип информации в структуре. Приложения должны пропускать любые структуры с нераспознанными типами.

DUMMYUNIONNAME

DUMMYUNIONNAME.CpuSet

DUMMYUNIONNAME.CpuSet.Id

Идентификатор указанного набора ЦП. Этот идентификатор можно использовать с SetProcessDefaultCpuSets или SetThreadSelectedCpuSets при указании списка наборов ЦП для сопоставления.

DUMMYUNIONNAME.CpuSet.Group

Указывает группу процессоров набора ЦП. Все остальные значения в структуре CpuSet относятся к группе процессоров.

DUMMYUNIONNAME.CpuSet.LogicalProcessorIndex

Указывает относительный к группе индекс домашнего процессора набора ЦП. Если набор ЦП не припаркован по соображениям управления температурой или питанием или не назначен для монопольного использования другому приложению, потоки будут выполняться на домашнем процессоре одного из своих наборов ЦП. Поля Group и LogicalProcessorIndex совпадают с полями в структуре PROCESSOR_NUMBER и соответствуют полям Group и Mask структуры GROUP_AFFINITY.

DUMMYUNIONNAME.CpuSet.CoreIndex

Относительное значение группы, указывающее, какой "Core" имеет домашний процессор набора ЦП. Это число одинаково для всех наборов ЦП в одной группе, которые совместно используют значительные ресурсы выполнения, например разные аппаратные потоки на одном ядре, поддерживающем одновременную многопоточность.

DUMMYUNIONNAME.CpuSet.LastLevelCacheIndex

Относительное значение группы, указывающее, какие наборы ЦП используют по крайней мере один уровень кэша друг с другом. Это значение одинаково для всех наборов ЦП в группе, которые находятся на процессорах, которые совместно используют кэш друг с другом.

DUMMYUNIONNAME.CpuSet.NumaNodeIndex

Относительное значение группы, указывающее, на каком узле NUMA находится набор ЦП. Все наборы ЦП в заданной группе, которые находятся на одном узле NUMA, будут иметь одинаковое значение для этого поля.

DUMMYUNIONNAME.CpuSet.EfficiencyClass

Значение, указывающее встроенную энергоэффективность процессора для систем, поддерживающих разнородные процессоры (например, arm big). Системы LITTLE). Наборы ЦП с более высокими числовыми значениями этого поля имеют домашние процессоры, которые быстрее, но менее энергопотребление, чем процессоры с более низкими значениями.

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.AllFlags

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.Parked

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.Allocated

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.AllocatedToTargetProcess

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.RealTime

DUMMYUNIONNAME.CpuSet.DUMMYUNIONNAME2.DUMMYSTRUCTNAME.ReservedFlags

DUMMYUNIONNAME.CpuSet.Reserved

Зарезервировано.

DUMMYUNIONNAME.CpuSet.SchedulingClass

DUMMYUNIONNAME.CpuSet.AllocationTag

Указывает тег, используемый выделением ядра для передачи заданного выделенного набора ЦП между потоками в разных компонентах.

Требования

Требование Значение
Минимальная версия клиента Windows 10 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2016 [классические приложения | Приложения UWP]
Верхняя часть winnt.h (включая Windows.h)