/// <summary>
        /// Retrieves the list of available networks.
        /// </summary>
        /// <param name="flags">Controls the type of networks returned.</param>
        /// <returns>A list of the available networks.</returns>
        public WlanAvailableNetwork[] GetAvailableNetworkList(WlanGetAvailableNetworkFlags flags)
        {
            IntPtr availNetListPtr;

            WlanInterop.ThrowIfError(WlanInterop.WlanGetAvailableNetworkList(client.clientHandle, info.interfaceGuid, flags, IntPtr.Zero, out availNetListPtr));

            try
            {
                return(ConvertAvailableNetworkListPtr(availNetListPtr));
            }
            finally
            {
                WlanInterop.WlanFreeMemory(availNetListPtr);
            }
        }