C++ 如何使用WlanRegisterNotification函数
我想注册wlan通知 代码:C++ 如何使用WlanRegisterNotification函数,c++,wifi,wlanapi,C++,Wifi,Wlanapi,我想注册wlan通知 代码: HANDLE hClient; DWORD dwResult = 0; DWORD dwPrevNotif = 0; dwResult = WlanRegisterNotification(hClient, WLAN_NOTIFICATION_SOURCE_ALL, TRUE, NotificationCallback, NULL, NULL, &dwPrevNotif); void WINAPI WirelessConnect::Notificatio
HANDLE hClient;
DWORD dwResult = 0;
DWORD dwPrevNotif = 0;
dwResult = WlanRegisterNotification(hClient, WLAN_NOTIFICATION_SOURCE_ALL, TRUE, NotificationCallback, NULL, NULL, &dwPrevNotif);
void WINAPI WirelessConnect::NotificationCallback(PWLAN_NOTIFICATION_DATA wlanData, PVOID context)
{
}
问题是:
错误:C3867:'WirelessConnect::NotificationCallback':非标准语法;使用“&”创建指向成员的指针
使用&NotificationCallback
时出现错误:
错误:C2276:“&”:对绑定成员函数表达式执行非法操作
如何修复它?谢谢。您正在尝试将指向成员函数的指针作为回调传递,即-作为函数指针传递。您不应该这样做,没有对象本身,成员函数指针就没有意义
您应该使回调函数成为一个静态函数,这样就不会涉及任何对象。这个问题与
WlanRegisterNotification()
没有多大关系,而是一个更普遍的问题。请改进你的题目。请出示您的班级声明。NotificationCallback
是否声明为static
类成员?@user0042否,它不是静态的-void WINAPI NotificationCallback(PWLAN\u NOTIFICATION\u DATA wlanData,PVOID上下文);我使用Qt。所以您需要将其设置为静态成员函数来解决此问题。@user0042是的,它可以工作。非常感谢。