某寨板明明有 4 条内存插槽,现在是插满 4 条*8G-总共 32G ,然而用 HWiNFO 查看 SMBIOS 检测到内存设备只有 2 根。
导致使用 GetPhysicallyInstalledSystemMemory 接口时,根据文档,由于获得的原始值 16G 小于 GlobalMemoryStatusEx 的 ullTotalPhys 值=32G (这个值才是正确的!!!),因此失败报 ERROR_INVALID_DATA 。
由于 IPDT 的 IMC 测试用到了这个 API ,导致报错 Unable to retrive memory size ,从而导致即使其他项目测试(-skipsize )和 MemTest86 测试正常,也会报红 FAIL 。
应该对大多数软件影响不大,只不过极少数检测软件还是选择拿硬件回报的虚假数值,结果导致了这种错误。