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


структура 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

Архитектура процессора установленной операционной системы. Этот элемент может иметь одно из следующих значений.

Значение Значение
PROCESSOR_ARCHITECTURE_AMD64
9
x64 (AMD или Intel)
PROCESSOR_ARCHITECTURE_ARM
5
ARM
PROCESSOR_ARCHITECTURE_ARM64
12
ARM64
PROCESSOR_ARCHITECTURE_IA64
6
На базе Intel Itanium
PROCESSOR_ARCHITECTURE_INTEL
0
x86
PROCESSOR_ARCHITECTURE_UNKNOWN
0xffff
Неизвестная архитектура.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.wReserved

Этот элемент зарезервирован для использования в будущем.

dwPageSize

Размер страницы и степень детализации защиты страницы и обязательств. Это размер страницы, используемый функцией VirtualAlloc .

lpMinimumApplicationAddress

Указатель на самый низкий адрес памяти, доступный для приложений и библиотек динамической компоновки (DLL).

lpMaximumApplicationAddress

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

dwActiveProcessorMask

Маска, представляющая набор процессоров, настроенных в системе. Бит 0 — процессор 0; бит 31 — процессор 31.

dwNumberOfProcessors

Количество логических процессоров в текущей группе. Чтобы получить текущую группу процессоров, используйте функцию GetLogicalProcessorInformation .

Примечание Для получения сведений о физических процессорах, совместно используемых логическими процессорами, вызовите Метод GetLogicalProcessorInformationEx с параметром RelationshipType , для параметра RelationshipType задано значение RelationProcessorPackage (3).
 

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)

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

GetNativeSystemInfo

GetSystemInfo

MapViewOfFile

MapViewOfFileEx