Frage

Ich arbeite eine WMI-Abfrage für meine Anwendung zu entwickeln. Es braucht die zugewiesenen virtuellen COM-Port für eine bestimmte VID / PID zu finden. Meine Abfrage sieht derzeit wie folgt aus:

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

Auf der Grundlage meiner Forschung soll es "COM8" zurück. Allerdings bin ich eine leere Menge zu bekommen.

Sind String-Vergleiche gültig in WQL? Soweit ich mich erinnere, ermöglicht SQL ihnen, aber eine Teilmenge zu sein, ich bin nicht sicher, ob sie Unterstützung wurde übertragen.

Wenn nötig, ich nehme an, ich "SELECT DeviceID,PNPDeviceID FROM Win32_SerialPort" abfragen kann und dann im Code Parst durch die Ergebnisse unter Verwendung von String vergleicht, aber ich würde es vorziehen, die Ergebnisse in der Abfrage zu begrenzen, wenn möglich.

Außerdem, ich frage mich, wenn der String vergleicht ist in der Tat in WQL unterstützt, sind sie zwischen Groß- und Klein und / oder gibt es eine Möglichkeit Fall angeben?

Danke.

War es hilfreich?

Lösung

Ich habe diese (C #):

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

I benötigt, um die Schrägstriche einmal für WMI willen und noch einmal für C # 's Sake zu entkommen, so dass ich mit vervierfachen Schrägstrichen in der Abfrage beendet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top