我在从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);
}
}
我不确定我做错了什么,如果有人能指导我解决这个问题的任何方法那就太棒了。