WlanConnect - 参数不正确

时间:2014-03-09 22:26:04

标签: c# .net winapi wlanapi

我在从WindowsAPI调用WlanConnect函数时遇到错误,我收到ERROR_INVALID_PARAMETER,即使我的代码没有达到http://msdn.microsoft.com/en-us/library/windows/desktop/ms706613(v=vs.85).aspx中指定的任何条件得到这个错误。

这是我的Connect()方法

public void Connect(string profile, Dot11SsidStruct ssidStruct)
{
    DebugConsole.WriteLine("profile: " + profile);
    DebugConsole.WriteLine("ssid: " + Encoding.UTF8.GetString(ssidStruct.SSID));

    Debug.Assert(profile != string.Empty);


    var parameters = new WlanConnectionParametersStruct();

    var pSsid = Marshal.AllocHGlobal(Marshal.SizeOf(ssidStruct));
    try
    {
        parameters.strPofile = profile;
        parameters.WlanConnectionMode = WlanConnectionMode.Profile;
        parameters.Dot11BssType = Dot11BssType.Independent;
        parameters.dwFlags = WlanConnectionFlags.AdhocJoinOnly;

        Marshal.StructureToPtr(ssidStruct, pSsid, false);

        parameters.pDot11Ssid = pSsid;

        var result = PInvoke.WlanConnect(_handle, InterfaceInfo.InterfaceGuid, ref parameters, IntPtr.Zero);

        if (result != 0)
            throw new Win32Exception(result);
     }
     finally
     {
         Marshal.FreeHGlobal(pSsid);
     }
}

我不确定我做错了什么,如果有人能指导我解决这个问题的任何方法那就太棒了。

0 个答案:

没有答案