Структуры данных
typedef struct _SYSTEM_INFO
{
DWORD dwOemId;
struct {
WORD
wProcessorArchitecture; // архитектура
процессора
WORD wReserved;
}
DWORD dwPageSize; // размер
страницы
памяти
LPVOID
lpMinimumApplicationAddress; //
нижняя граница доступного адресного
пространства
LPVOID
lpMaximumApplicationAddress; //
верхняя граница доступного адресного
пространства
DWORD
dwActiveProcessorMask; //
маска активности процессоров
DWORD
dwNumberOfProcessors; //
число процессоров
DWORD dwProcessorType; //
тип
процессора
DWORD
dwAllocationGranularity; //
гранулярность резервирования регионов
памяти
WORD
wProcessorLevel; //
уровень процессора
WORD
wProcessorRevision; //
дополнительная информация о процессоре
}
SYSTEM_INFO, *LPSYSTEM_INFO;
typedef
struct _MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
SIZE_T dwTotalPhys;
SIZE_T dwAvailPhys;
SIZE_T dwTotalPageFile;
SIZE_T dwAvailPageFile;
SIZE_T dwTotalVirtual;
SIZE_T dwAvailVirtual;
}
MEMORYSTATUS, *LPMEMORYSTATUS;
typedef struct
_MEMORYSTATUSEX {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORDLONG ullTotalPhys;
DWORDLONG ullAvailPhys;
DWORDLONG ullTotalPageFile;
DWORDLONG ullAvailPageFile;
DWORDLONG ullTotalVirtual;
DWORDLONG ullAvailVirtual;
DWORDLONG
ullAvailExtendedVirtual;
}
MEMORYSTATUSEX, *LPMEMORYSTATUSEX;