История немного сбивает с толку, да. По сути, в SDF 2.2 (или более ранней, я уже не помню) все было в пространстве имен OpenNETCF.Net. Когда я добавлял функции в 2.3, я добавил множество вещей в пространство имен OpenNETCF.Net.NetworkInformation, которое было параллельно с полной структурой. Некоторые из них имели функциональное совпадение с тем, что мы делали в беспроводных технологиях, поэтому я принял решение перенести все в пространство имен OpenNETCF.Net.NetworkInformation. Я оставил оригиналы и отметил их как устаревшие, чтобы попытаться быть дружественными к существующим развертываниям. Элементы, которые вы должны использовать, это те, которые находятся в пространстве имен OpenNETCF.Net.NetworkInformation.
Теперь о том, как все работает. Сначала мы запрашиваем NDIS для всех сетевых интерфейсов. Это дает нам проводную, RNDIS, беспроводную связь и т. Д. - в основном все, о чем знает сетевой стек. NDIS, однако, мало что знает о «беспроводных» вещах - хотя некоторые знают.
Как только у нас есть список известных адаптеров, мы спрашиваем NDIS, является ли оно беспроводным устройством - оно может по крайней мере сказать нам, что драйвер сообщает NDIS при регистрации.
Получив список беспроводных адаптеров, мы просматриваем их и спрашиваем подсистему WZC, знает ли она об адаптере. WZC - это интерфейс, который знает все о беспроводных устройствах, что позволяет нам взаимодействовать с ним через общий опубликованный интерфейс. Если WZC знает об этом (имеется в виду, что драйвер сообщил о себе при инициализации в WZC), тогда мы создадим для него WirelessZeroConfigNetworkInterface. Если WZC не знает об этом, то мы знаем, что он беспроводной (NDIS сказал нам, что это так), но у нас есть только методы NDIS для взаимодействия с ним.
NDIS не дает нам возможности общаться. Это дает нам возможность запросить близлежащие идентификаторы SSID. Таким образом, имеющийся у вас интерфейс адаптера предоставляет нам известные нам возможности.
В некоторых случаях драйвер имеет собственный API-интерфейс для управления настройками WiFi (например, старые карты Cisco).
На какой версии ОС вы работаете? Какой WiFi чипсет / адаптер вы используете?