作者:shenzi
链接:http://blog.youkuaiyun.com/shenzi
操作系统中有许多值是由系统所运行的主机决定的,如页面大小和分配粒度等。我们应该在进程初始化时取得这些值,然后在代码中使用它们。GetSystemInfo函数用来取得与主机相关的值:
VOID GetSystemInfo(LPSYSTEM_INFO psi);
我们需要传一个SYSTEM_INFO结构的地址给这个函数。该函数会对数据结构中的所有成员进行初始化,然后返回。下面是SYSTEM_INFO结构的地定义:
typedef struct _SYSTEM_INFO {
union {
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;
成员
|
描述
|
---|---|
dwPageSize |
表示CPU页面的大小。 |