public Wlan.HostedNetworkReason HostedNetworkQuerySecondaryKey(out string key) { Wlan.HostedNetworkReason reason_result; uint lenght = 0; IntPtr key_ptr; bool pass_phrase = true; bool persistent = true; Wlan.WlanHostedNetworkQuerySecondaryKey(clientHandle, out lenght, out key_ptr, out pass_phrase, out persistent, out reason_result, IntPtr.Zero); byte[] result = new byte[lenght]; for (int c = 0; c < lenght; c++) { result[c] = Marshal.ReadByte(key_ptr, c); } key = Encoding.Default.GetString(result); return(reason_result); }