在C#中查找可用的内存插槽

3
我想知道如何在C#中找到主板上可用内存插槽和已使用插槽的数量。通过WMI,我可以找到插槽数量的总数以及内存条列表,但是在这两种情况下提供的信息,特别是后者,似乎很普遍,并且会因主板而异。

本质上,我想创建一个列表,列出主板上每个插槽和具体被哪些插槽使用,以及使用了什么类型的内存。我想这可以通过WMI完成,但正如我所说,“Win32_PhysicalMemory”中的“DeviceLocator”令人困惑和不确定。

2个回答

2

需要结合Win32_PhysicalMemory提供的信息,以及Win32_BaseBoard中的“Manufacturer”和“Product”字段等信息,创建一组已知插槽,并将Win32_PhysicalMemory中的“DeviceLocator”字段与之进行比较。虽然不是最理想的解决方案,但似乎是唯一明显的解决方案。


我不太明白你想要比较什么。唯一有意义的属性似乎是Win32_BaseBoard类上的SlotLayout,但它总是返回空值。 - raz3r

1

使用Win32,您应该能够调用GetSystemFirmwareTable从固件表提供程序(SMBIOS表)检索指定的固件表。虽然Pinvoke.NET对于这个非托管条目没有给出任何信息,但您可以尝试这种搜索方式。您可能会在System Management BIOS (SMBIOS)网站上找到一些帮助。

请看这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接