【问题标题】:RSSI using Windows API使用 Windows API 的 RSSI
【发布时间】:2023-03-26 07:21:01
【问题描述】:

我正在尝试使用 Windows API 获取 RSSI。到目前为止,我发现this 线程说要使用带有 WlanQueryInterface 函数的 wlan_intf_opcode_rssi。我不太确定该线程上的回复是什么意思,希望有人能澄清一下。

我从另一个线程中设法理解的是:

WlanQueryInterface(hClient,
   &pInfo->InterfaceGuid,
   wlan_intf_opcode_rssi,
   NULL,
   &connectInfoSize,
   (PVOID*)&pConnectInfo,
   &opCode);

我不知道在这之后该做什么。任何帮助将不胜感激!

【问题讨论】:

  • 到底是什么问题?您是否收到来自 WlanQueryInterface 的错误代码?

标签: c++ windows winapi wifi rssi


【解决方案1】:

您将错误类型的参数传递给WlanQueryInterfaceMSDN says wlan_intf_opcode_rssi 的返回类型是 LONG,所以你需要传递一个指向 LONG 变量的指针,像这样:

LONG rssi = 0;
DWORD dwSizeRssi = sizeof(rssi);
dwResult = WlanQueryInterface(hClient,
    &pIfInfo->InterfaceGuid,
    wlan_intf_opcode_rssi,
    NULL,
    &dwSizeRssi,
    (PVOID *)&rssi,
    &opCode);

if (dwResult == ERROR_SUCCESS)
{
    wprintf(L"RSSI = %u \n", rssi);
}

【讨论】:

  • 我知道这已经有一段时间了,但我一直在使用你的代码来获取 RSSI。似乎我得到的值太高(下溢?)例如984188178。我尝试用%d%ld 替换您的%u 格式说明符,但问题仍然存在。 WlanQueryInterface 的返回值仍然是 ERROR_SUCCESS 。你碰巧有什么线索吗?谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-01
相关资源
最近更新 更多