WlanEnumInterfaces

WiFi関連の操作をしたい場合は、Native WiFi APIを使う・・・。

Native Wifi (Windows)
Wireless LAN API - 目次 - 汁ごはん

中でも、WlanEnumInterfacesは、無線LANインターフェース情報の一覧を列挙する・・・。
(Windows XP3からなので、場合によってはWindowsSDKのインストールが必要・・・。)

WlanEnumInterfaces function (Windows)

プロパティで、

f:id:BG1:20170314120227p:plain

wlanapi.libをリンク・・・。

WlanOpenHandleでハンドルを開いて、hClientに持たせたら、それを使って他のAPIを呼び出す形式・・・。
WlanEnumInterfacesでWLAN_INTERFACE_INFO_LISTのポインタpwiiListが取れる・・・。
pwiiList->dwNumberOfItemsの数だけ、pwiiList->InterfaceInfo[ul].strInterfaceDescriptionを表示する・・・。
pwiiListは、WlanFreeMemoryで解放する必要があるので注意・・・。
最後はWlanCloseHandleでhClientを閉じる・・・。

Win7VMは無線インターフェイスが無いので、

Error!: dwRet = 1062
続行するには何かキーを押してください . . .

こうなってしまう・・・。
なので、インターフェイスのあるWin10のSurfacePro4だと、

pwiiList->InterfaceInfo[0].strInterfaceDescription = Marvell AVASTAR Wireless-AC Network Controller

1個だけだけど、出る・・・。

Sample/winapi/WlanEnumInterfaces/WlanEnumInterfaces/src/WlanEnumInterfaces at master · bg1bgst333/Sample · GitHub