структура PROCESSOR_NUMBER (miniport.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 до м-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. |
заголовка | miniport.h (включая Windows.h, Ntdef.h, Wdm.h, Ntddk.h, Winnt.h, Minitape.h) |