【问题标题】:Get ram manufacturer获取 ram 制造商
【发布时间】:2011-05-09 12:19:26
【问题描述】:

有谁知道以编程方式检索 ram 内存制造商的方法?

谢谢!

【问题讨论】:

  • 在 C 或 C++ 中会很困难。您必须使用暗示 COM 的 WMI。一个简单的解决方法是 vbs:activexperts.com/activmonitor/windowsmanagement/adminscripts/…
  • 并非每个制造商都将其名称写入其 RAM 模块上的 EEPROM 是毫无价值的,因此即使您找到了访问这些数据的方法,它也可能没有您正在寻找的所有内容为。

标签: c++ c windows winapi


【解决方案1】:

现代 RAM 芯片在板上有一个额外的 EPROM,其中包含大量有关 RAM 的信息。这方面的标准是 SPD,或串行存在检测。至少某些版本的 SPD 包含 JDEC 制造商的代码。

查看this article 了解有关 SPD 的一些介绍性信息。不是每个 RAM 芯片都有您需要的信息,也不是每个 BIOS 都会公开它,但这篇文章应该让您开始在可能的情况下处理这些东西。

【讨论】:

  • 你不需要 ring0 吗?
  • 我没搞清楚!如果 OP 在嵌入式系统或 MS-DOS 上运行,那么他不会。否则,当然,您要么需要安装一个驱动程序,让您从用户空间使用 Ring 0 功能,要么希望操作系统已经提供了等效的功能。呵呵,在 Windows 上你也许可以简单地远程控制 HWINFO 或类似的程序。我的答案是一个起始步骤指针,而不是一本完整的食谱。
  • @ruslik,不,但您可能需要管理员权限 - 以 CPU-Z 为例。
  • @iconiK 很抱歉让您失望了,但是如果您查看 cpuz 可执行文件的末尾,您会发现几个驱动程序。它们被保存为临时文件并加载,因此它使用 ring0。
【解决方案2】:

在 WINAPI 中,您应该能够调用 GetSystemFirmwareTable 来检索 SMBIOS 表,然后解析该表以提取该信息。

看到这个

http://msdn.microsoft.com/en-us/library/ms724379%28v=VS.85%29.aspx

还有这个

http://dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.0.pdf

如 ruslik 所述,另一种选择是使用 WMI,如此处所述

http://msdn.microsoft.com/en-us/library/aa390423%28v=VS.85%29.aspx

(您正在寻找 Win32_PhysicalMemoryArray 类型的对象)

我不确定哪种方式更容易。两者似乎都很难。

【讨论】:

    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多