c++ - 每 4 秒获取连接的 wifi 连接的名称
问题描述
我使用以下函数来获取连接的 WiFi 连接的名称。该函数每 4 秒重复调用一次以监视连接更改。但过了一会儿,该功能不再像以前那样工作,并且无法返回false
.
bool GetConnectedConnectionsName(wstring connection_names[50], int& number)
{
HANDLE h_client = NULL;
DWORD dwMaxClient = 2;
DWORD dwCurVersion = 0;
DWORD result = 0;
DWORD dwRetVal = 0;
int iRet = 0;
WCHAR GuidString[39] = { 0 };
unsigned int i, j, k;
PWLAN_INTERFACE_INFO_LIST p_if_list = NULL;
PWLAN_INTERFACE_INFO p_if_info = NULL;
PWLAN_AVAILABLE_NETWORK_LIST p_bss_list = NULL;
PWLAN_AVAILABLE_NETWORK p_bss_entry = NULL;
int iRSSI = 0;
result = WlanOpenHandle(dwMaxClient, NULL, &dwCurVersion, &h_client);
if (result != ERROR_SUCCESS)
{
if (p_bss_list != NULL)
WlanFreeMemory(p_bss_list);
if (p_if_list != NULL)
WlanFreeMemory(p_if_list);
return false;
}
result = WlanEnumInterfaces(h_client, NULL, &p_if_list);
if (result != ERROR_SUCCESS)
{
if (p_bss_list != NULL)
WlanFreeMemory(p_bss_list);
if (p_if_list != NULL)
WlanFreeMemory(p_if_list);
return false;
}
for (i = 0; i < (int)p_if_list->dwNumberOfItems; i++)
{
p_if_info = (WLAN_INTERFACE_INFO*)&p_if_list->InterfaceInfo[i];
result = WlanGetAvailableNetworkList(h_client,
&p_if_info->InterfaceGuid,
0,
NULL,
&p_bss_list);
if (result != ERROR_SUCCESS)
{
if (p_bss_list != NULL)
WlanFreeMemory(p_bss_list);
if (p_if_list != NULL)
WlanFreeMemory(p_if_list);
return false;
}
else
{
number = 0;
for (j = 0; j < p_bss_list->dwNumberOfItems; j++)
{
p_bss_entry = (WLAN_AVAILABLE_NETWORK*)&p_bss_list->Network[j];
if (p_bss_entry->dwFlags && (p_bss_entry->dwFlags & WLAN_AVAILABLE_NETWORK_CONNECTED))
{
connection_names[number] = wstring(p_bss_entry->strProfileName);
number++;
}
}
}
}
if (p_bss_list != NULL)
WlanFreeMemory(p_bss_list);
if (p_if_list != NULL)
WlanFreeMemory(p_if_list);
return true;
}
出了什么问题,我该如何解决这个问题?
解决方案
推荐阅读
- excel - 需要帮助编写 IF 语句
- docusignapi - Docusign 一键登录
- pandas - 从 URL 读取 ASHX 文件
- java - 自定义 Checkstyle 规则 - 无法实例化“TestName”类
- .net - 创建 PowerShell 脚本以启用 HTTPCompression 并使用命令行 (appcmd) 在网站的配置文件中添加 MimeType
- javascript - 运行“npm run build”时,我的 node_modules 文件夹在反应中会发生什么
- c# - 使用 NAudio 将 .vox 音频文件转换为 .wav 或 .mp3
- python - Selenium Webdriver 找不到下载链接
- sql - 如何在createQueryBuilder中使用leftJoin返回值而不是数组?
- reactjs - 如何在reactjs的锚标签内添加if条件