dwResult = WlanOpenHandle(dwMaxClient, NULL, &dwCurVersion, &hClient);
if (dwResult != ERROR_SUCCESS)
{
_stprintf(szTextOut, _T("WlanOpenHandle failed with error: %u"), dwResult);
TRACE(_T("%s"), szTextOut);
return 1;
// You can use FormatMessage here to find out why the function failed
}
dwResult = WlanEnumInterfaces(hClient, NULL, &pIfList);
if (dwResult != ERROR_SUCCESS)
{
_stprintf(szTextOut, _T("WlanEnumInterfaces failed with error: %u"), dwResult);
TRACE(_T("%s"), szTextOut);
return 1;
// You can use FormatMessage here to find out why the function failed
}
else
{
_stprintf(szTextOut, _T("Num Entries: %lu"), pIfList->dwNumberOfItems);
TRACE(_T("%s"), szTextOut);
_stprintf(szTextOut, _T("Current Index: %lu"), pIfList->dwIndex);
TRACE(_T("%s"), szTextOut);
for (i = 0; i < (int) pIfList->dwNumberOfItems; i++)
{
pIfInfo = (WLAN_INTERFACE_INFO *) &pIfList->InterfaceInfo[i];
_stprintf(szTextOut, _T(" Interface Index[%u]:\t %lu"), i, i);
//m_edit1.Format(_T("网卡描述:%s,连接状态:%d,%s\n"),pIfInfo->strInterfaceDescription,pIfInfo->isState,szTextOut);
TRACE(_T("%s"), szTextOut);
iRet = StringFromGUID2(pIfInfo->InterfaceGuid, (LPOLESTR) &GuidString,
sizeof(GuidString)/sizeof(*GuidString));
// For c rather than C++ source code, the above line needs to be
// iRet = StringFromGUID2(&pIfInfo->InterfaceGuid, (LPOLESTR) &GuidString,
// sizeof(GuidString)/sizeof(*GuidString));
if (iRet == 0)
_stprintf(szTextOut, _T("StringFromGUID2 failed"));
else
{
_stprintf(szTextOut, _T(" InterfaceGUID[%d]: %ws"),i, GuidString);
}
TRACE(_T("%s"), szTextOut);
_stprintf(szTextOut, _T(" Interface Description[%d]: %ws\r"), i,
pIfInfo->strInterfaceDescription);
TRACE(_T("%s"), szTextOut);
switch (pIfInfo->isState)
{
case wlan_interface_state_not_ready:
_stprintf(szTextOut, _T("Not ready"));
break;
case wlan_interface_state_connected:
_stprintf(szTextOut, _T("Connected"));
break;
case wlan_interface_state_ad_hoc_network_formed:
_stprintf(szTextOut, _T("First node in a ad hoc network"));
break;
case wlan_interface_state_disconnecting:
_stprintf(szTextOut, _T("Disconnecting"));
break;
case wlan_interface_state_disconnected:
_stprintf(szTextOut, _T("Not connected"));
break;
case wlan_interface_state_associating:
_stprintf(szTextOut, _T("Attempting to associate with a network"));
break;
case wlan_interface_state_discovering:
_stprintf(szTextOut, _T("Auto configuration is discovering settings for the network"));
break;
case wlan_interface_state_authenticating:
_stprintf(szTextOut, _T("In process of authenticating"));
break;
default:
_stprintf(szTextOut, _T("Unknown state %ld"), pIfInfo->isState);
break;
}
// m_ListWifi.InsertItem(0, szTextOut, 1 );
TRACE(_T("%s"), szTextOut);
_stprintf(szTextOut, _T(""));
if (dwResult != ERROR_SUCCESS)
{
_stprintf(szTextOut, _T("WlanGetAvailableNetworkList failed with error: %u"),
dwResult);
dwRetVal = 1;
// You can use FormatMessage to find out why the function failed
}
else
{
_stprintf(szTextOut, _T(" Num Entries: %lu\n"), pBssList->dwNumberOfItems);
TRACE(_T("%s"), szTextOut);
for (j = 0; j < pBssList->dwNumberOfItems; j++)
{
pBssEntry = (WLAN_AVAILABLE_NETWORK *) & pBssList->Network[j];