WMI中Win32_VideoController的AdapterRAM属性无法正确识别独显显存
解决WMI读取大显存显卡容量错误的问题
你遇到的问题根源是Win32_VideoController的AdapterRAM属性为uint32类型,最大值仅为4294967295字节(约4GB),超过该容量的显存会因数值溢出显示错误结果。以下是两种可行的替代方案:
方案1:使用Win32_VideoController的专用显存属性(兼容多数系统)
Windows Vista及后续版本的Win32_VideoController提供了三个uint64类型的显存属性,可正确识别4GB以上的显存:
- DedicatedVideoMemory:显卡自带的专用显存(独立显卡的真实显存容量)
- SharedSystemMemory:从系统内存分配的共享显存
- CurrentAvailableVideoMemory:当前可用于渲染的总显存(专用+共享剩余)
C#实现代码:
using System.Management; var query = new ObjectQuery("SELECT Name, DedicatedVideoMemory, SharedSystemMemory FROM Win32_VideoController"); using var searcher = new ManagementObjectSearcher(query); foreach (var controller in searcher.Get()) { var cardName = controller["Name"]?.ToString(); var dedicatedBytes = Convert.ToUInt64(controller["DedicatedVideoMemory"]); var dedicatedGB = Math.Round(dedicatedBytes / (1024.0 * 1024.0 * 1024.0), 2); var sharedBytes = Convert.ToUInt64(controller["SharedSystemMemory"]); var sharedGB = Math.Round(sharedBytes / (1024.0 * 1024.0 * 1024.0), 2); Console.WriteLine($"显卡名称: {cardName}"); Console.WriteLine($"专用显存: {dedicatedGB} GB"); Console.WriteLine($"共享显存: {sharedGB} GB\n"); }
方案2:使用MSFT_DisplayAdapter类(现代系统推荐)
对于Windows 10 1709及以上版本,可使用root\cimv2\mdm\dmmap命名空间下的MSFT_DisplayAdapter类,其VideoMemorySizeInBytes属性为uint64类型,直接返回显卡总显存容量:
C#实现代码:
using System.Management; var scope = new ManagementScope(@"root\cimv2\mdm\dmmap"); scope.Connect(); var query = new ObjectQuery("SELECT Name, VideoMemorySizeInBytes FROM MSFT_DisplayAdapter"); using var searcher = new ManagementObjectSearcher(scope, query); foreach (var adapter in searcher.Get()) { var cardName = adapter["Name"]?.ToString(); var vramBytes = Convert.ToUInt64(adapter["VideoMemorySizeInBytes"]); var vramGB = Math.Round(vramBytes / (1024.0 * 1024.0 * 1024.0), 2); Console.WriteLine($"显卡名称: {cardName}"); Console.WriteLine($"总显存: {vramGB} GB\n"); }
注意事项
- 集成显卡的
DedicatedVideoMemory通常较小,主要依赖SharedSystemMemory提供显存 MSFT_DisplayAdapter是微软现代设备管理框架的一部分,兼容性不如Win32_VideoController,但返回的数据更简洁直接
内容的提问来源于stack exchange,提问作者Sindhu N
相关产品推荐
相关产品推荐

