Я пытаюсь использовать winpcap для приложения, которое будет использоваться на нескольких серверах в производственной линии. До сих пор меня раздражает соглашение о присвоении имен устройствам в Windows 7, представляющее собой длинную шестнадцатеричную строку, которая меняется от сервера к серверу (например, \Device\NPF_{6F2E340D-FD43-4505-81C2-735716D02F15}
(Linux делает это проще с просто eth0, eth1, ... конвенция). Поскольку на каждом сервере будет использоваться 5 сетевых адаптеров, я хотел бы избежать необходимости сохранять файл конфигурации с именами устройств или изменять исходный код, чтобы приспособить изменения имени устройства. Кроме того, подключение cat5 будет осуществляться на разных устройствах в разных сетях, и назначения портов должны всегда оставаться одинаковыми для каждого чертежа.
Поэтому у меня вопрос: есть ли какой-нибудь простой способ управлять этими именами устройств в Windows, например, легко переименовать их в реестре? Когда я посмотрел в реестре, шестнадцатеричная строка показывается во многих записях, а также отображается в именах папок, поэтому я не был уверен, станет ли это проблемой или нет. Или, может быть, есть ли способ с помощью winpcap захватить понятное имя устройства, которое можно установить через страницу сетевых подключений, и таким образом получить результат с шестнадцатеричным именем устройства (аналогично findalldev_ex ()). Любые другие предложения также приветствуются.
PS: я знаю, что могу использовать bind() для привязки к ip и портам или использовать winsock и т.д., Но взаимодействие приложений и оборудования с другими устройствами затруднено из-за того, что нескольким сетевым адаптерам требуется одинаковый IP-адрес и что конфликтует в Windows, следовательно опция winpcap в случайном режиме создает все необработанные сообщения.