En utilisant WQL Limiter les résultats sur une chaîne de correspondance

StackOverflow https://stackoverflow.com/questions/4044557

  •  27-09-2019
  •  | 
  •  

Question

Je travaille sur le développement d'une requête WMI pour mon application. Il doit trouver le port COM virtuel attribué à un VID / PID donné. Ma requête ressemble actuellement à ceci:

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

D'après mes recherches, il devrait revenir "COM8". Cependant, je reçois un ensemble vide.

sont des comparaisons de chaînes valides dans WQL? Si je me souviens, SQL leur permet, mais d'être un sous-ensemble, je ne suis pas sûr que le support a été reporté.

Si nécessaire, je suppose que je peux interroger "SELECT DeviceID,PNPDeviceID FROM Win32_SerialPort" puis dans Parse de code à travers les résultats en utilisant la chaîne compare, mais je préfère limiter les résultats de la requête, si possible.

De plus, je me demandais, si la chaîne compare sont en effet pris en charge dans WQL, sont-ils sensibles à la casse, et / ou est-il un moyen de spécifier la casse?

Merci.

Était-ce utile?

La solution

J'ai utilisé ce (C #):

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

je devais les backslashs une fois pour l'amour de WMI et une fois pour l'amour de C # ', donc j'ai fini avec antislashs quadruple dans la requête.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top