Это пример кода для создания COM. Сначала создайте новый экземпляр класса Win32_PnPEntity WMI, затем создайте новый экземпляр класса Win32_PnPEntity. Кажется, что-то не так с Win23_PnPEntity.
Я запускаю этот путь "wmic/namespace:\root\cimv2 Win32_PnPEntity get ProviderType/format:list " и получите "Узел - DEV-2023 ОШИБКА: Описание = Неверный запрос"
ManagementScope scope = new ManagementScope(@"\\.\root\cimv2");
// Create a new instance of the Win32_SerialPort WMI class
ManagementClass serialClass = new ManagementClass(scope, new ManagementPath("Win32_SerialPort"), new ObjectGetOptions());
// Create a new instance of the Win32_SerialPort class
ManagementObject serial = serialClass.CreateInstance();
// Set the properties for the new serial port
serial["DeviceID"] = "COM3"; // Set the COM port number
serial["Name"] = "My Serial Port"; // Set the name of the port
serial["Description"] = "This is my serial port"; // Set the description
serial["Caption"] = "My Serial Port"; // Set the caption
//serial["ProviderType"] = "RS232"; // Set the provider type
// Save the new serial port instance
serial.Put();
извините, я имею в виду виртуальный порт
Тогда практически нет смысла, нет механизма установки виртуального порта через WMI. Как вам напоминает исключение.
можно ли использовать сторонний драйвер или эмулятор? Это совсем невозможно?
@Hamed Чего ты на самом деле пытаешься здесь добиться? Какую проблему (в реальном мире или в сфере бизнеса/домена) вы пытаетесь решить? Почему вы считаете, что вам нужен виртуальный последовательный/COM-порт (и где/как этот виртуальный порт будет реагировать на передаваемые в него данные?).
Мне нужно создать пару виртуальных COM для имитации подключения к реальному COM. Это для обработки множественного подключения к устройству (принтеру).
@Hamed Пожалуйста, объясните, как, по вашему мнению, «виртуальные» COM-порты могут вам здесь помочь ...
Я в середине НИОКР по этому поводу. После создания 2-х виртуальных портов, думаю, можно один отдать тем, кто хочет использовать устройство, а другой подключить к реальному COM.





После некоторого поиска по этому поводу кажется, что создание виртуального последовательного порта требует поддержки на уровне ядра, обычно в виде драйвера. Таким образом, это невозможно сделать в C#.
Я использовал это github.com/paulakg4/com0com отлично работает
Код не имеет большого смысла, вы не можете создать последовательный порт в программном обеспечении. Требуется оборудование, его драйвер добавляет запись.