Win32 API для изменения свойств сетевого интерфейса

Мне не удалось найти Win32 API для изменения свойств сетевого интерфейса. Под "свойствами сетевого интерфейса" я подразумеваю свойства, которые можно установить с помощью панели "сетевые подключения" на панели управления системой вручную или с помощью "интерфейса netsh" из командной строки.

В частности, я хочу изменить:

  • Имя сетевого подключения (например, "Подключение по локальной сети № 2"
  • Метрика сетевого интерфейса IPv4 (по умолчанию "автоматическая")

Для идентификации сетевого адаптера у меня есть идентификатор экземпляра устройства диспетчера устройств PnP (например, "ROOT\NET\0000"). У меня также есть экземпляр структуры SetupAPI SP_DEVINFO_DATA. Возможно, я также могу запросить NetCfgInstanceId с помощью SetupAPI.

Есть ли Win32 API, который делает то, что я хочу? Я не хочу использовать WMI. Целевые платформы - Windows 7 x64 или новее.

1 ответ

Проблема 1: Попробуйте использовать INetworkConnection:: Rename. Чтобы получить желаемое соединение, вы должны использовать INetSharingManager для перечисления всех соединений. Сделайте итерацию, чтобы найти ту, которую нужно изменить.

Другие вопросы по тегам