структура SYSTEM_INFO (sysinfoapi.h)
Содержит сведения о текущей системе компьютера. Сюда входят архитектура и тип процессора, количество процессоров в системе, размер страницы и другие подобные сведения.
Синтаксис
typedef struct _SYSTEM_INFO {
union {
DWORD dwOemId;
struct {
WORD wProcessorArchitecture;
WORD wReserved;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO, *LPSYSTEM_INFO;
Члены
DUMMYUNIONNAME
DUMMYUNIONNAME.dwOemId
Устаревший элемент, который сохраняется для обеспечения совместимости. Приложения должны использовать ветвь wProcessorArchitecture объединения.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.wProcessorArchitecture
Архитектура процессора установленной операционной системы. Этот элемент может иметь одно из следующих значений.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.wReserved
Этот элемент зарезервирован для использования в будущем.
dwPageSize
Размер страницы и степень детализации защиты страницы и обязательств. Это размер страницы, используемый функцией VirtualAlloc .
lpMinimumApplicationAddress
Указатель на самый низкий адрес памяти, доступный для приложений и библиотек динамической компоновки (DLL).
lpMaximumApplicationAddress
Указатель на самый высокий адрес памяти, доступный приложениям и библиотекам DLL.
dwActiveProcessorMask
Маска, представляющая набор процессоров, настроенных в системе. Бит 0 — процессор 0; бит 31 — процессор 31.
dwNumberOfProcessors
Количество логических процессоров в текущей группе. Чтобы получить текущую группу процессоров, используйте функцию GetLogicalProcessorInformation .
dwProcessorType
Устаревший элемент, который сохраняется для обеспечения совместимости. Для определения типа процессора используйте элементы wProcessorArchitecture, wProcessorLevel и wProcessorRevision .
PROCESSOR_INTEL_386 (386)
PROCESSOR_INTEL_486 (486)
PROCESSOR_INTEL_PENTIUM (586)
PROCESSOR_INTEL_IA64 (2200)
PROCESSOR_AMD_X8664 (8664)
PROCESSOR_ARM (зарезервировано)
dwAllocationGranularity
Степень детализации для начального адреса, по которому можно выделить виртуальную память. Дополнительные сведения см. в статье VirtualAlloc.
wProcessorLevel
Уровень процессора, зависящий от архитектуры. Его следует использовать только в целях отображения. Чтобы определить набор функций процессора, используйте функцию IsProcessorFeaturePresent .
Если wProcessorArchitecture PROCESSOR_ARCHITECTURE_INTEL, wProcessorLevel определяется поставщиком ЦП.
Если wProcessorArchitecture имеет значение PROCESSOR_ARCHITECTURE_IA64, то wProcessorLevel имеет значение 1.
wProcessorRevision
Редакция процессора, зависящая от архитектуры. В следующей таблице показано, как собирается значение редакции для каждого типа архитектуры процессора.
Процессор | Значение |
---|---|
Intel Pentium, Cyrix или NextGen 586 | Высокий байт — это модель, а низкий байт — шаг. Например, если значение равно xxyy, номер модели и пошаговое выполнение могут отображаться следующим образом: Model xx, Stepping yy |
Intel 80386 или 80486 | Значение типа xxyz.
Если xx равно 0xFF, y - 0xA — номер модели, а z — идентификатор шага. Если xx не равно 0xFF, xx + "A" — это буква шага, а yz — это незначительный шаг. |
ARM | Зарезервировано. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Верхняя часть | sysinfoapi.h (включая Windows.h) |