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


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

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

Синтаксис

typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
  ULONG_PTR                      ProcessorMask;
  LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
  union {
    struct {
      BYTE Flags;
    } ProcessorCore;
    struct {
      DWORD NodeNumber;
    } NumaNode;
    CACHE_DESCRIPTOR Cache;
    ULONGLONG        Reserved[2];
  } DUMMYUNIONNAME;
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;

Члены

ProcessorMask

Маска процессора, идентифицирующие процессоры, описанные этой структурой. Маска процессора — это битовый вектор, в котором каждый набор бит представляет активный процессор в связи. Будет задан по крайней мере один бит.

В системе с более чем 64 процессорами маска процессора идентифицирует процессоры в одной группе процессоров.

Relationship

Связь между процессорами, определяемыми значением элемента ProcessorMask . Этот элемент может иметь одно из следующих значений LOGICAL_PROCESSOR_RELATIONSHIP .

Значение Значение
RelationCache
2
Указанные логические процессоры совместно используют кэш. Элемент Cache содержит дополнительные сведения.

Windows Server 2003: Это значение не поддерживается до Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP Professional x64 Edition.

RelationNumaNode
1
Указанные логические процессоры являются частью одного узла NUMA. Элемент NumaNode содержит дополнительные сведения.
RelationProcessorCore
0
Указанные логические процессоры совместно используют одно ядро процессора. Элемент ProcessorCore содержит дополнительные сведения.
RelationProcessorPackage
3
Указанные логические процессоры совместно используют физический пакет. Дополнительные сведения отсутствуют.

Windows Server 2003 и Windows XP Professional x64 Edition: Это значение не поддерживается до Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP с пакетом обновления 3 (SP3).

 

В будущих версиях Windows могут поддерживаться дополнительные значения для элемента Связи .

DUMMYUNIONNAME

DUMMYUNIONNAME.ProcessorCore

Эта структура содержит допустимые данные, только если элементом Relationship является RelationProcessorCore.

DUMMYUNIONNAME.ProcessorCore.Flags

Если значение этого элемента равно 1, логические процессоры, определяемые значением члена ProcessorMask , совместно используют функциональные единицы, как в hyper-threading или SMT. В противном случае идентифицированные логические процессоры не будут совместно использовать функциональные единицы.

Windows Server 2003 и Windows XP Professional x64 Edition: Этот элемент также имеет значение 1 для ядер, использующих физический пакет. Поэтому, чтобы определить, поддерживает ли процессор несколько ядер или гиперпоточность в системах до Windows Vista, используйте инструкцию CPUID.

DUMMYUNIONNAME.NumaNode

Эта структура содержит допустимые данные, только если элементом Relationship является RelationNumaNode.

DUMMYUNIONNAME.NumaNode.NodeNumber

Определяет узел NUMA . Допустимые значения этого параметра — от 0 до максимального номера узла NUMA включительно. Многопроцессорная система, не относяющаяся к NUMA, сообщает, что все процессоры принадлежат одному узлу NUMA.

DUMMYUNIONNAME.Cache

Структура CACHE_DESCRIPTOR , которая определяет характеристики определенного кэша. Для каждого кэша возвращается одна запись. Некоторые или все кэши могут не сообщаться в зависимости от механизма, используемого обработчиком для идентификации кэшей. Поэтому не следует предполагать отсутствие каких-либо конкретных кэшей. Кэши не обязательно совместно используются логическими процессорами.

Эта структура содержит допустимые данные, только если элементом Relationship является RelationCache.

Windows Server 2003: Этот член не поддерживается до Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP Professional x64 Edition.

DUMMYUNIONNAME.Reserved[2]

Зарезервировано. Не используется.

Требования

Требование Значение
Минимальная версия клиента Windows Vista, Windows XP Professional x64 Edition [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winnt.h (включая Windows.h)

См. также раздел

CACHE_DESCRIPTOR

GetLogicalProcessorInformation

GetLogicalProcessorInformationEx

LOGICAL_PROCESSOR_RELATIONSHIP

SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX