【Windows核心编程学习笔记】探索虚拟内存(Virtual Memory)
一、系统信息
在进程初始化的时候常常需要获得一些系统信息如页面大小和分配粒度等等。函数GetSystemInfo可以用来取得与主机有关的值:
typedef struct _SYSTEM_INFO { union { DWORD dwOemId; // Obsolete field...do not use struct { WORD wProcessorArchitecture; WORD wReserved; }; }; DWORD dwPageSize; LPVOID lpMinimumApplicationAddress; LPVOID lpMaximumApplicationAddress; DWORD_PTR dwActiveProcessorMask; DWORD dwNumberOfProcessors; DWORD dwProcessorType; DWORD dwAllocationGranularity; WORD wProcessorLevel; WORD wProcessorRevision;} SYSTEM_INFO, *LPSYSTEM_INFO;参数解释:
lpSystemInfo
wProcessorArchitecture: Word; {处理器的体系结构} wReserved: Word; {保留} dwPageSize: DWORD; {分页大小} lpMinimumApplicationAddress: Pointer;{最小寻址空间} lpMaximumApplicationAddress: Pointer;{最大寻址空间} dwActiveProcessorMask: DWORD; {处理器掩码; 0..31 表示不同的处理器} dwNumberOfProcessors: DWORD; {处理器数目} dwProcessorType: DWORD; {处理器类型} dwAllocationGranularity: DWORD; {虚拟内存空间的粒度} wProcessorLevel: Word; {处理器等级} wProcessorRevision: Word); {处理器版本} 指向一个供函数返回信息的SYSTEM_INFO结构体。 返回值: 这个函数不返回任何值。获得当前内存状态的动态信息的函数: