Duplicate Entries in WLANGETAVAILABLENETWORKLIST ?
Vista Ultimate RTM When I first began developing code for the Native WIFI API, I noticed that my node was duplicated. I treated this duplication as a garbage block. I just threw away the first list element and everything worked fine as far as I could tell. Today I took the software into work and noticed that my code was clipping one node off and so removed the code that discarded the first list element. Upon returning home, the code was now broken. Network 1: Network 2: Network 3: Network 4: Network 5: Network 6: It has occurred to me that perhaps what is doing this, is that AP’s with profiles are reflected twice? Indeed the Sample is looking at Flags and
Atheros Wireless Adapter with Atheros Generic Vista Driver – released by Microsoft.
In the development process I have a test method I can call when needed that will dump the contents of a pointer given a bytecount and this is the contents of the calls unmanaged buffer accomplished via a Marshal.Copy.00000000 52 00 65 00 6E 00 65 00-65 00 4E 00 65 00 74 00 R.e.n.e.e.N.e.t. < Profile Name
00000010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000040 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000080 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000090 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000000A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000000B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000000C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000000D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000000E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000000F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000100 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000180 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000190 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000001A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000001B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000001C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000001D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000001E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000001F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000200 08 00 00 00 52 65 6E 65-65 4E 65 74 00 00 00 00 ....ReneeNet.... <-First list Entry
00000210 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000220 00 00 00 00 01 00 00 00-01 00 00 00 01 00 00 00 ................
00000230 00 00 00 00 01 00 00 00-06 00 00 00 00 00 00 00 ................
00000240 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000250 00 00 00 00 00 00 00 00-00 00 00 00 64 00 00 00 ............d...
00000260 01 00 00 00 01 00 00 00-01 01 00 00 03 00 00 00 ................
00000270 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000280 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000290 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000002A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000002B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000002C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000002D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000002E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000002F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000300 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000310 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000320 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000330 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000340 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000350 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000360 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000370 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000380 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000390 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000003A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000003B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000003C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000003D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000003E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000003F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000400 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000410 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000420 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000430 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000440 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000450 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000460 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000470 00 00 00 00 08 00 00 00-52 65 6E 65 65 4E 65 74 ........ReneeNet <- second list entry
00000480 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000490 00 00 00 00 00 00 00 00-01 00 00 00 01 00 00 00 ................
000004A0 01 00 00 00 00 00 00 00-01 00 00 00 06 00 00 00 ................
000004B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000004C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000004D0 64 00 00 00 01 00 00 00-01 00 00 00 01 01 00 00 d...............
000004E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000004F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000500 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000510 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000520 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000530 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000540 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000550 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000560 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000570 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000580 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000590 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000005A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000005B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000005C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000005D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000005E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000005F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000600 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000610 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000620 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000630 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000640 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000650 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000660 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000670 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000680 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000690 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000006A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000006B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000006C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000006D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000006E0 00 00 00 00 00 00 00 00-02 00 00 00 6A 70 00 00 ............jp.. < Third List entry
000006F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000700 00 00 00 00 00 00 00 00-00 00 00 00 01 00 00 00 ................
00000710 01 00 00 00 01 00 00 00-00 00 00 00 01 00 00 00 ................
00000720 06 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000730 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000740 00 00 00 00 1E 00 00 00-00 00 00 00 01 00 00 00 ................
00000750 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000760 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000770 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000780 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000790 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000007A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000007B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000007C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000007D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000007E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000007F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000800 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000810 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000820 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000830 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000840 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000850 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000860 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000870 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000880 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000890 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000008A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000008B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000008C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000008D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000008E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000008F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000900 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000910 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000920 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000930 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000940 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000950 00 00 00 00 00 00 00 00-00 00 00 00 0C 00 00 00 ................
00000960 30 36 42 34 30 33 35 34-30 30 38 35 00 00 00 00 06B403540085....<-Another list entry
00000970 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000980 01 00 00 00 01 00 00 00-01 00 00 00 00 00 00 00 ................
00000990 01 00 00 00 06 00 00 00-00 00 00 00 00 00 00 00 ................
000009A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000009B0 00 00 00 00 00 00 00 00-16 00 00 00 01 00 00 00 ................
000009C0 01 00 00 00 01 01 00 00-00 00 00 00 00 00 00 00 ................
000009D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000009E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
000009F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A00 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A10 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A20 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A30 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A40 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A50 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A60 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A70 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A80 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000A90 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000AA0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000AB0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000AC0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000AD0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000AE0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000AF0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B00 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B10 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B20 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B30 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B40 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B50 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B60 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B70 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B80 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000B90 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000BA0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000BB0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000BC0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
00000BD0 07 00 00 00 62 61 20 68-6F 6D 65 00 00 00 00 00 ....ba home.....
00000BE0 00 00 00 0As you can see there really are two entries for ReneeNet. I have seen other developers in these For a report dupes.
This is not my code because when I used the SDK Sample and issue a GVL this is What it shows:
C:\>wlaninfo.exe gvl 567c1b4a-af61-47b4-aca4-xxxxxxxxx
Total 7 networks are visible.
Network 0:
SSID: ReneeNet
Security enabled.
Contains 1 BSSIDs.
Has a matching profile: ReneeNet.
Currently connected.
The network is connectable.
BSS type: "Infrastructure"
Signal quality: 100%
Default authentication algorithm: "Open"
Default cipher algorithm: "WEP"
SSID: ReneeNet
Security enabled.
Contains 1 BSSIDs.
The network is connectable.
BSS type: "Infrastructure"
Signal quality: 100%
Default authentication algorithm: "Open"
Default cipher algorithm: "WEP"
SSID: jp
Security not enabled.
Contains 1 BSSIDs.
The network is connectable.
BSS type: "Infrastructure"
Signal quality: 30%
Default authentication algorithm: "Open"
Default cipher algorithm: "None"
SSID: 06B403540085
Security enabled.
Contains 1 BSSIDs.
The network is connectable.
BSS type: "Infrastructure"
Signal quality: 22%
Default authentication algorithm: "Open"
Default cipher algorithm: "WEP"
SSID: ba home
Security enabled.
Contains 1 BSSIDs.
The network is connectable.
BSS type: "Infrastructure"
Signal quality: 70%
Default authentication algorithm: "Open"
Default cipher algorithm: "WEP"
SSID: wireless_A59
Security enabled.
Contains 1 BSSIDs.
The network is connectable.
BSS type: "Infrastructure"
Signal quality: 30%
Default authentication algorithm: "Open"
Default cipher algorithm: "WEP"
SSID: linksys
Security not enabled.
Contains 1 BSSIDs.
The network is connectable.
BSS type: "Infrastructure"
Signal quality: 14%
Default authentication algorithm: "Open"
Default cipher algorithm: "None"
as well as WLAN_AVAILABLE_NETWORK_CONNECTED. I have disconnected and that made no difference in the behavior.
I have a hypothesis:
If I detect WLAN_AVAILABLE_NETWORK_HAS_PROFILE skip the next element my code will function as needed. I’m going to go try that.
Has anyone seen this or had any experiences with it?

