question about WlanConnect

i'm using WlanConnect, but there's some question. could you plz help, thx a lot.

[DllImport("Wlanapi.dll", CharSet = CharSet.Unicode)]
public static extern int WlanConnect(
[In] IntPtr hClientHandle,
[In] ref Guid pInterfaceGuid,
[In] IntPtr pConnectionParameters,
out IntPtr pReserved);

[DllImport("wlanapi.dll", CharSet = CharSet.Unicode)]
public static extern int WlanOpenHandle(
[In]int dwClientVersion,
[In]IntPtr pReserved,
out int pdwNegotiatedVersion,
out IntPtr phClientHandle);

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]

public struct WLAN_INTERFACE_INFO_LIST
{
public int dwNumberOfItems;
public int dwIndex;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public WLAN_INTERFACE_INFO[] InterfaceInfo;

}

public struct WLAN_INTERFACE_INFO
{
public Guid InterfaceGuid;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public char[] strInterfaceDescription;
public WLAN_INTERFACE_STATE isState;
}

public void MyFunction()

{int dwClientVersion = 1;
IntPtr pReservedGetAvailableNetworkList = IntPtr.Zero;
int pdwNegotiatedVersion = 0;
IntPtr ClientHandle = IntPtr.Zero;

WLAN_INTERFACE_INFO_LIST WIIL = new WLAN_INTERFACE_INFO_LIST();

IntPtr ptrParam = Marshal.AllocHGlobal(Marshal.SizeOf(wlanConnParam));
Marshal.StructureToPtr(wlanConnParam, ptrParam, true);

ierror = WlanOpenHandle(dwClientVersion, IntPtr.Zero, out pdwNegotiatedVersion, out ClientHandle);

for (int i = 0; i < WIIL.dwNumberOfItems; i++)
ierror2 = WlanConnect(ClientHandle, ref WIIL.InterfaceInfoIdea.InterfaceGuid, ptrParam, out pReservedGetAvailableNetworkList);

}

private void button1_Click(object sender, EventArgs e)
{
MyFunction();

}
[2417 byte] By [OwenJian] at [2008-2-22]
# 1

Did you initialize wlanConnParam? What is the value? How did you get the interface list WIIL?

YiLu-MSFT at 2007-10-2 > top of Msdn Tech,Windows Networking Development,Windows XP Wireless SDK...