Я создаю программу, которая сможет автоматически подключаться к беспроводной сети. Для этого я использую библиотеку ManagedWifi, в которой используется библиотека wlanapi.dll. Когда я пытаюсь использовать код в Windows Vista, все в порядке, но когда я использую его в Windows XP, происходит сбой. Я проверил, что на нем установлен Service Pack 3, а "wlanapi.dll" находится в Windows/system32. Проблема в том, что ManagedWifi вызывает этот метод:
[DllImport("wlanapi.dll")]
public static extern int WlanSetProfile(
[In] IntPtr clientHandle,
[In, MarshalAs(UnmanagedType.LPStruct)] Guid interfaceGuid,
[In] WlanProfileFlags flags,
[In, MarshalAs(UnmanagedType.LPWStr)] string profileXml,
[In, Optional, MarshalAs(UnmanagedType.LPWStr)] string allUserProfileSecurity,
[In] bool overwrite,
[In] IntPtr pReserved,
[Out] out WlanReasonCode reasonCode);
Вы можете просмотреть описание этого метода здесь. Я получаю следующую ошибку: 1206 (ERROR_BAD_PROFILE). Как вы можете видеть на этой странице, это известная ошибка, и единственное, что мне нужно сделать, это загрузить и установить исправление. Ну, я сделал это, и ошибка все еще там. Профиль правильный, потому что я получаю его из вызова WlanGetProfile
Я просто хочу подключиться к сети, используя WlanConnect, но, как видно на странице функции: Windows XP с пакетом обновления 3 (SP3) и API беспроводной локальной сети для Windows XP с пакетом обновления 2 (SP2): вы можете использовать WlanConnect только для подключения к сетей в списке предпочтительных сетей. Чтобы добавить сеть в список предпочтительных сетей, вызовите WlanSetProfile.
Я действительно в отчаянии, я несколько дней боролся с этой ошибкой, и мне нужно пройти через это...
И, если я попытаюсь вызвать метод WlanConnect, не вызывая SetProfile, результат всегда один и тот же: он не подключается.
Я буду признателен за любую идею, которую вы можете предоставить.