作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试用 C 语言编写一些使用 native WiFi API 的 WinAPI 代码。目前,我卡在了最开始,打开 WiFi handle 。
这是我目前使用的代码:
#include <stdio.h>
#include <Windows.h>
#include <wlanapi.h>
#pragma comment(lib, "Wlanapi.lib")
int main(int argc, char* argv[]) {
HANDLE *wh = NULL;
unsigned long nv;
int rc;
if ((rc = WlanOpenHandle(1, NULL, &nv, wh)) != ERROR_SUCCESS) {
printf("WlanOpenHandle(): ");
switch (rc) {
case ERROR_INVALID_PARAMETER:
printf("Invalid param.\n");
break;
default:
printf("Unknown error.\n");
}
goto cleanup;
}
cleanup:
WlanCloseHandle(wh, NULL);
getchar();
return 0;
}
这段代码打印出“WlanOpenHandle(): Invalid param.”。
为什么要这样做?从 API 文档来看,我似乎正确地传递了所有内容。我还尝试将 2
作为 WlanOpenHandle()
的第一个参数。
(请注意,这不是我的完整代码,但是这个片段已经过测试以显示上述问题。在实际代码中,开关中有更多的情况,并且 goto< 下的代码更多
s 到 cleanup
。)
最佳答案
您正在为 phClientHandle
参数传递 NULL 指针。试试这个:
HANDLE wh; // note: HANDLE, not HANDLE*
// ...
if ((rc = WlanOpenHandle(1, NULL, &nv, &wh)) != ERROR_SUCCESS) // note: &wh
关于c - 为什么 WlanOpenHandle() 在这里失败了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29046141/
我正在尝试用 C 语言编写一些使用 native WiFi API 的 WinAPI 代码。目前,我卡在了最开始,打开 WiFi handle 。 这是我目前使用的代码: #include #inc
我正在使用 native Wifi Api 在 Windows 8 机器上获取 ssid,但“WlanOpenHandle”调用总是失败,错误代码为 1062。有帮助吗? 注意:windows 8上没
在我的 FireBreath 插件中,我试图确定 Wifi SSID 和/或扫描可见的 Wifi 接入点。 在代码的 Windows 部分,这需要从以下内容开始: dwResult = WlanOpe
我是一名优秀的程序员,十分优秀!