void CNOTestNO1AppUi::GetWLAN()
{
//#include <in_sock.h> // link against insock.lib, esock.lib
RSocketServ socketServ;
User::LeaveIfError(socketServ.Connect());
CleanupClosePushL(socketServ);
RSocket socket;
User::LeaveIfError(socket.Open(socketServ, KAfInet, KSockStream,
KProtocolInetTcp));
CleanupClosePushL(socket);
// Start enumerating the interfaces
TPckgBuf<TSoInetInterfaceInfo> info;
socket.SetOpt(KSoInetEnumInterfaces, KSolInetIfCtrl);
TBuf<32> macAddr;
while (socket.GetOpt(KSoInetNextInterface, KSolInetIfCtrl, info)
== KErrNone)
{
if (info().iName.FindF(_L("Wlan")) == KErrNotFound)
{
continue;
}
macAddr.Zero();
for (TUint i = sizeof(SSockAddr); i < sizeof(SSockAddr) + 6; i++)
{
if (i < (TUint) info().iHwAddr.Length())
{
macAddr.AppendFormat(_L("%02X:"), info().iHwAddr[i]);
}
}
if (macAddr.Length()) // remove trailing ':'
{
macAddr.Delete(macAddr.Length() - 1, 1);
}
}
CleanupStack::PopAndDestroy(2); // socket, socketServ
// macAddr now contains the WLAN MAC address,
// (empty if no WLAN interface is found)
iEikonEnv->InfoWinL(macAddr, KNullDesC);
}
获取WLAN的MAC地址
最新推荐文章于 2023-12-29 23:15:45 发布