我在 Windows 10 上使用批处理脚本来收集客户端硬件信息。我的一些客户端是配备双视频适配器、嵌入式 Intel 图形适配器和独立 Nvidia 适配器的笔记本电脑。我可以从以下输出中收集所需的信息:
wmic path win32_VideoController get /all /format:list
一些双适配器客户端将 Nvidia 适配器报告为 DeviceID=VideoController1,将 Intel 适配器报告为 DeviceID=VideoController2,而另一台具有相同硬件的笔记本电脑将 Intel 报告为 VideoController1,将 Nvidia 报告为 VideoController2。
我很好奇两台看似相同的笔记本电脑之间有什么区别。WMIC 将适配器报告为 VideoController1 而不是 VideoController2 有什么意义吗?
我的问题是:Windows 如何选择哪个适配器作为 VideoController1 或 VideoController2?
谢谢!
答案1
我的解释
根据Win32_VideoController 类这设备ID财产继承自CIM_逻辑设备. 每CIM_逻辑设备有人建议可以“表示可能存在于物理硬件中或不存在于物理硬件中的硬件实体“并且从那时起标准 WMI 限定符表示“如果无意中省略了 ID 限定符,MOF 编译器将自动生成 ID 限定符“— 对我来说,这意味着运行命令时所获取的 DeviceID 号码WMIC
并不重要,因为它可以自动选择 ID。
支持资源
Win32_VideoController 类
设备ID
数据类型:细绳
访问类型:只读
限定符: 钥匙, 覆盖 (“设备ID”), 映射字符串 (“WMI”)
此视频控制器的标识符(对于计算机系统而言是唯一的)。
此属性继承自 CIM_逻辑设备。
CIM_LogicalDevice 类
这CIM_LogicalDevice 类表示可能在物理硬件中实现或不实现的硬件实体。
设备ID
数据类型:字符串
访问类型:只读
限定符:CIM 密钥
用于唯一命名逻辑设备的地址或其他识别信息。
标准 WMI 限定符
ID
数据类型:VT_I4
适用于:属性、参数
在自动生成 MOF 语句时唯一地标识和排序属性或方法参数。
此限定符仅对方法参数是必需的。在为方法创建参数时,类设计者应以 Id(0) 作为第一个参数,然后对每个连续的参数使用每个连续的整数。如果无意中省略了 ID 限定符,MOF 编译器会自动生成 ID 限定符。