Windows XP SP3上的wlanAPI

时间:2011-07-26 08:24:59

标签: c# c++ wpf windows-xp wlanapi

我的WPF应用程序正在使用ManagedWifi手动控制wifi适配器以连接到指定的网络。但是,当我在Windows XP上运行该应用程序时,我不断收到Win32Exception:不支持该请求(本机错误代码50)。

我测试的系统使用的是Windows XP SP3,我很确定Windows XP SP3支持NativeWifi:

http://msdn.microsoft.com/en-us/library/ms706556(v=vs.85).aspx

这是我用于连接的配置文件:

<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
    <name>Louis_flucard</name>
    <SSIDConfig>
        <SSID>
            <hex>4C6F7569735F666C7563617264</hex>
            <name>Louis_flucard</name>
        </SSID>
    </SSIDConfig>
    <connectionType>IBSS</connectionType>
    <connectionMode>manual</connectionMode>
    <MSM>
        <security>
            <authEncryption>
                <authentication>open</authentication>
                <encryption>none</encryption>
                <useOneX>false</useOneX>
            </authEncryption>
        </security>
    </MSM>
</WLANProfile>

这是我用来连接无线网络的代码部分:

//profileXml is basically the Xml file above
wlanIface.SetProfile(Wlan.WlanProfileFlags.AllUser, profileXml, true);
wlanIface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName);

任何帮助将不胜感激。谢谢。

编辑:添加标签c ++。这应该是相关的,因为C / C ++也可以使用Native Wifi。

1 个答案:

答案 0 :(得分:1)

IIRC XP不支持WlanConnect呼叫。请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/bb204766(v=vs.85).aspx上支持的API列表。