使用WQL限制字符串匹配的结果

时间:2010-10-28 15:42:42

标签: wmi wql

我正在为我的应用程序开发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确实支持字符串比较,它们是否区分大小写,和/或是否有指定大小写的方法?

感谢。

1 个答案:

答案 0 :(得分:2)

我用过这个(C#):

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

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