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

我想知道如何find可用的内存插槽与C#中的主板上的插槽。 有了WMI,我可以find一个插槽的总数和一个记忆棒列表,但是在这两种情况下提供的信息,特别是后者,它看起来是通用的,并且根据主板而变化。

基本上我正在寻找创build一个名单上的每个插槽,哪些具体的采取和什么样的。 我想这可能可以用WMI来完成,但是据说,我似乎无法解决Win32_PhysicalMemory中的“DeviceLocator”令人困惑和不确定的问题。

它将Win32_PhysicalMemory提供的信息与Win32_BaseBoard中的“制造商”和“产品”字段等信息相结合,创建一组已知的插槽,并比较Win32_PhysicalMemory中的“DeviceLocator”字段。 不理想,但它是唯一的解决方案,似乎是显而易见的。

使用Win32,您应该可以调用GetSystemFirmwareTable从固件表提供程序(SMBIOS表)中检索指定的固件表。 尽管Pinvoke.NET对这个非托管条目没有提供任何帮助,但也许可以用这种方式进行搜索。 您可能会在系统管理BIOS(SMBIOS)网站中找到一些帮助。

看到这个