private WiFiAvailableNetwork[] ParseNativeReports(byte[] nativeReport)
        {
            int bytePos     = 1;
            int recordCount = nativeReport[0];

            WiFiAvailableNetwork[] WifiNetworks = new WiFiAvailableNetwork[recordCount];
            for (int index = 0; index < recordCount; index++)
            {
                WifiNetworks[index] = new WiFiAvailableNetwork();

                WifiNetworks[index].Bsid = BitConverter.ToString(nativeReport, bytePos, 6);
                bytePos += 6;

                // need to convert this programmatically to prevent referencing System.Text
                char[] rawSsid = new char[33];
                for (int i = 0; i < 33; i++)
                {
                    rawSsid[i] = (char)nativeReport[bytePos + i];
                }

                WifiNetworks[index].Ssid = new string(rawSsid, 0, 33);
                bytePos += 33;

                WifiNetworks[index]._rssi = (sbyte)nativeReport[bytePos];
                bytePos++;

                // FIXME - Not using Auth mode and Cypher Yet
                // Needs the Windows.Networking.Connectivity.NetworkEncryptionType &
                // Networking.Connectivity.AuthenticationType defined
                int authMode = (sbyte)nativeReport[bytePos];
                bytePos++;

                int cypherType = (sbyte)nativeReport[bytePos];
                bytePos++;
            }

            return(WifiNetworks);
        }