Итак, посмотрел я как там что.
Оказывается, что реально устройства типа NULL_COMx реально присутствуют в системе.
Имеют "дружественное имя" типа "Eltima VSPort Controlling Device for COMx".
Реально эти устройства могут и не являться последовательными портами, определить это
невозможно в силу того, что действительные "виртуальные" порты (с именами COMx) и эти
"контрол" девайсы (с именами NULL_COMx) имеют один и тот же GUID.
// Eltima Virtual Serial Port Driver v4 GUID
{ 0xCC0EF009, 0xB820, 0x42F4, { 0x95, 0xA9, 0x9B, 0xFA, 0x6A, 0x5A, 0xB7, 0xAB } },
Этот GUID не является стандартным для последовательных портов или модемов (см. MSDN),
а является "высером" фирмы-производителя драйвера/тулзы TelitSerialPortMux.
Энумерация устройств осуществляется по предопределенным GUID-ам.
// Windows Ports Class GUID
{ 0x4D36E978, 0xE325, 0x11CE, { 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18 } },
// Virtual Ports Class GUID (i.e. com0com and etc)
{ 0xDF799E12, 0x3C56, 0x421B, { 0xB2, 0x98, 0xB6, 0xD3, 0x64, 0x2B, 0xC8, 0x78 } },
// Windows Modems Class GUID
{ 0x4D36E96D, 0xE325, 0x11CE, { 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18 } },
// Eltima Virtual Serial Port Driver v4 GUID
{ 0xCC0EF009, 0xB820, 0x42F4, { 0x95, 0xA9, 0x9B, 0xFA, 0x6A, 0x5A, 0xB7, 0xAB } },
// Advanced Virtual COM Port GUID
{ 0x9341CD95, 0x4371, 0x4A37, { 0xA5, 0xAF, 0xFD, 0xB0, 0xA9, 0xD1, 0x96, 0x31 } },
Из которых первый и третий - стандартные. Остальные - это "высеры" производителей,
поэтому я ничего сделать не могу в этой ситуации. Ты сам отсеивай "левые " девайсы.