0

我正在为我的应用程序开发 WMI 查询。它需要为给定的 VID/PID 找到分配的虚拟 COM 端口。我的查询目前如下所示:

"SELECT DeviceID FROM Win32_SerialPort WHERE PNPDeviceID = \"USB\\VID_10C4&PID_EA60\\0001\""

根据我的研究,它应该返回"COM8". 但是,我得到了一个空集。

字符串比较在 WQL 中有效吗?我记得,SQL 允许它们,但作为一个子集,我不确定是否继续支持它们。

如有必要,我想我可以查询"SELECT DeviceID,PNPDeviceID FROM Win32_SerialPort",然后在代码中使用字符串比较解析结果,但如果可能的话,我更愿意限制查询中的结果。

此外,我想知道,如果 WQL 中确实支持字符串比较,它们是否区分大小写,和/或有没有办法指定大小写?

谢谢。

4

1 回答 1

2

我使用了这个(C#):

"Select * From Win32_SerialPort Where PnPDeviceId = \"PCI\\\\VEN_14F1&DEV_2F30&SUBSYS_205D14F1&REV_01\\\\4&1F7DBC9F&0&10F0\""

为了 WMI 和 C# 的缘故,我需要转义一次反斜杠,所以我在查询中以四个反斜杠结束。

于 2010-10-30T12:54:32.353 回答