Программно проверить, включен ли IPv6 в Windows - PullRequest
4 голосов
/ 24 июня 2010

Есть ли способ программно проверить, установлен ли IPv6 / включен в Windows с помощью C ++?Либо на уровне интерфейса, либо в масштабе всей системы.

Ответы [ 5 ]

4 голосов
/ 24 июня 2010

При наличии большого количества сетевых ресурсов проще всего попытаться использовать его и перехватить исключения в случае сбоя.

2 голосов
/ 07 июля 2010

WSCEnumProtocols() можно использовать для проверки, установлен ли IPv6 в качестве протокола.

1 голос
/ 07 июля 2010

Одним из ответов будет перечисление системных интерфейсов с использованием GetAdapterAddresses() и поиск адреса IPv6.

0 голосов
/ 24 ноября 2010

Помните, что в XP необходимо запустить ipv6 install до того, как IPv6 станет доступен, поэтому он немного сложнее, чем вы думаете.

0 голосов
/ 07 июля 2010

Проще всего попробовать открыть сокет,

const int sock6 = socket (AF_INET6, SOCK_DGRAM, 0);
const BOOL is_ip6_enabled = (SOCKET_ERROR != sock6);
close (sock6);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...