getsysteminfo函数的问题

shelluser_2010 2009-03-16 05:58:26
本从当前的系统是windows XP SP2, Intel Celeron 处理器,调用GetSystemInfo函数获取系统信息。
输入结果却非常奇怪:wProcessorArchitecture = PROCESSOR_INTEL_PENTIUM,而wProcessorLevel = 6 。
MSDN上说当wProcessorArchitecture = PROCESSOR_INTEL_PENTIUN时,wProcessorLevel取值3,4,5之一的,为什么会
出现这样的情况? 请各位朋友帮忙看一下,非常感谢!
...全文
196 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
swetter_hundsun 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 shelluser_2010 的回复:]
我看错了,它的返回值是 wProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL 不过MSDN上说如果wProcessorArchitecture 这个参数是的返回值是 PROCESSOR_ARCHITECTURE_INTEL的话,wProcessorLevel
的可参值为3,4或5,但它并没有告诉我返回6是什么意思相信是,5楼说的对可能是说明CPU已超过Pentium了,或许
是赛扬。我使用的是VC6.0 + MSDN6.0。可能在MSDN最新版上有这个解释吧。谢谢各位的回答。
[/Quote]

6还是Intel Pentium,不过是64位的,正确说来是Intel Pentium(R)
shelluser_2010 2009-03-17
  • 打赏
  • 举报
回复
我看错了,它的返回值是 wProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL 不过MSDN上说如果wProcessorArchitecture 这个参数是的返回值是 PROCESSOR_ARCHITECTURE_INTEL的话,wProcessorLevel
的可参值为3,4或5,但它并没有告诉我返回6是什么意思相信是,5楼说的对可能是说明CPU已超过Pentium了,或许
是赛扬。我使用的是VC6.0 + MSDN6.0。可能在MSDN最新版上有这个解释吧。谢谢各位的回答。
cnzdgs 2009-03-16
  • 打赏
  • 举报
回复
你看错了,PROCESSOR_INTEL_PENTIUM是dwProcessorType的可能值,不是wProcessorArchitecture的值。
TianChong 2009-03-16
  • 打赏
  • 举报
回复
楼主你搞错了,下面是正确的:
wProcessorLevel:
  Windows 95: 不使用这个成员。
  Windows NT: 指定系统体系结构依赖的处理器级别。

如果 wProcessorArchitecture 的值是 PROCESSOR_ARCHITECTURE_INTEL,
--注意,不是你说的PROCESSOR_INTEL_PENTIUN

那么 wProcessorLevel可以使如下值中的一个:
值 含义
3 Intel 80386
4 Intel 80486
5 Pentium
所以对于你说的 PROCESSOR_INTEL_PENTIUN 是可以有更大的值的.
wProcessorLevel=6 的含义是 Pentium (II/Pro) 我们知道CELERON就是Pentium II之后出来的
1997年5月推出的Pentium II汇总了Pentium Pro和Pentium MMX二者之长,不但支持多媒体指令集MMX,而且除了16KB的一级指令Cache和16KB的一级数据Cache外,还含有512KB的内部二级Cache.之后,Intel才推出只配置了128KB二级Cache的Pentium Celeron(即赛扬).所以他也是和Pentium II是同一类的,仅二级缓存小一点而已,比Pentium是高一级的,因为wProcessorLevel=6.
wocow3 2009-03-16
  • 打赏
  • 举报
回复
从MSDN来看wProcessorLevel 是CPU厂商自定义的,是什么值没啥实际意义
梧桐126 2009-03-16
  • 打赏
  • 举报
回复
不懂,顶一下
oyljerry 2009-03-16
  • 打赏
  • 举报
回复
wProcessorLevel

The architecture-dependent processor level. It should be used only for display purposes. To determine the feature set of a processor, use the IsProcessorFeaturePresent function.

If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_INTEL, wProcessorLevel is defined by the CPU vendor.

If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_IA64, wProcessorLevel is set to 1.
Chivalry 2009-03-16
  • 打赏
  • 举报
回复
查一下新版msdn试试看,你的是2001版吧?

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧