Мне нужно программно выяснить, является ли соединение Bluetooth-соединением, а не физически проводным соединением с коммуникационным портом.
В Windows используется .NET.
Да, что-то подобное я описываю в Руководстве пользователя 32feet.NET :
Получение имен виртуальных COM-портов для удаленных устройств Bluetooth На Win32, чтобы определить, какой виртуальный COM-порт для какого удаленного устройства использует WMI для запроса последовательных портов;адрес удаленного устройства включен в PnP Id.В следующем примере PowerShell см. Удаленный адрес как «00803A686519». C:\> Get-WmiObject -query "select DeviceID,PNPDeviceID from Win32_SerialPort" DeviceID : COM66 PNPDeviceID : BTHENUM\{00001101-0000-1000-8000-00805F9B34FB}\7&1D80ECD3&0&00803A686519_C00000003 … …
На Win32, чтобы определить, какой виртуальный COM-порт для какого удаленного устройства использует WMI для запроса последовательных портов;адрес удаленного устройства включен в PnP Id.В следующем примере PowerShell см. Удаленный адрес как «00803A686519».
C:\> Get-WmiObject -query "select DeviceID,PNPDeviceID from Win32_SerialPort" DeviceID : COM66 PNPDeviceID : BTHENUM\{00001101-0000-1000-8000-00805F9B34FB}\7&1D80ECD3&0&00803A686519_C00000003 … …
Ну, сложно, эта эмуляция выполняется на уровне драйвера устройства. Вы можете получить некоторую информацию из драйвера с помощью WMI, класса Win32_SerialPort. Может быть, вы можете отключить это. Попробуйте использовать утилиту WMI Code Creator , которая также генерирует необходимый код.