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


структура PROCESSOR_NUMBER (minitape.h)

Структура PROCESSOR_NUMBER идентифицирует процессор по номеру группы и номеру процессора относительно группы.

Синтаксис

typedef struct _PROCESSOR_NUMBER {
  USHORT Group;
  UCHAR  Number;
  UCHAR  Reserved;
} PROCESSOR_NUMBER, *PPROCESSOR_NUMBER;

Члены

Group

Номер группы. Если многопроцессорная система содержит n групп, группы нумеруются от 0 до n-1.

Number

Номер процессора относительно группы. Если группа содержит логические процессоры m, они нумеруются от 0 до m-1.

Reserved

Зарезервировано для последующего использования. Инициализируйте до нуля.

Комментарии

Windows 7 — это первая версия Windows, поддерживающая группы процессоров. В Windows 7 только 64-разрядные версии Windows поддерживают несколько групп; 32-разрядные версии Windows поддерживают только одну группу. Если многопроцессорная система работает под управлением 64-разрядной версии Windows и содержит не более 64 логических процессоров, Windows назначает все процессоры группе 0. Многопроцессорная система под управлением 32-разрядной версии Windows может содержать не более 32 процессоров.

В Windows 7 максимальное число групп в многопроцессорной системе составляет четыре, но в будущих версиях Windows это значение может измениться. Самый безопасный способ определить максимальное количество групп в Windows 7 или более поздней версии Windows — вызвать подпрограмму KeQueryMaximumGroupCount . Драйверы режима ядра, вызывающие KeQueryMaximumGroupCount , не будут требовать изменения кода, если формула, используемая для вычисления максимального числа групп, изменится в будущей версии Windows.

Подпрограммы режима ядра, использующие структуру PROCESSOR_NUMBER , включают KeGetCurrentProcessorNumberEx, KeGetProcessorIndexFromNumber, KeGetProcessorNumberFromIndex и KeQueryLogicalProcessorRelationship.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в Windows 7 и более поздних версиях операционной системы Windows.
Верхняя часть minitape.h (включая Windows.h, Ntdef.h, Wdm.h, Ntddk.h, Winnt.h, Minitape.h)

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

KeGetCurrentProcessorNumberEx

KeGetProcessorIndexFromNumber

KeQueryLogicalProcessorRelationship

KeQueryMaximumGroupCount

KeGetProcessorNumberFromIndex