Hallo Leute,
wie sicherlich schon einige mitbekommen und auch mit gewirkt haben, an der WLanAPI, ist mal wieder ein Probelm aufgetreten.
Also wie im Titel schon erwähnt geht es um die WlanRegisterNotification.
Volgendes habe ich gemacht.
Delphi-Quellcode:
procedure WLanNotifyProc(pNotifyData: Pndu_WLAN_NOTIFICATION_DATA;
pContext: PVOID);
begin
if pNotifyData.NotificationSource = NDU_WLAN_NOTIFICATION_SOURCE_ACM then
begin
if Tndu_WLAN_NOTIFICATION_ACM(pNotifyData.NotificationCode) = wlan_notification_acm_scan_complete then
begin
SetEvent(THandle(pContext));
end;
end;
end;
procedure .... ;
var
hClient: THandle;
hScanCompleteEvent: THandle;
back: DWORD;
begin
.....
hScanCompleteEvent := CreateEvent(nil, False, False, nil);
back := WlanRegisterNotification(hClient, NDU_WLAN_NOTIFICATION_SOURCE_ALL,
True, @WLanNotifyProc, @hScanCompleteEvent, nil, nil);
...
if back <> ERROR_SUCCESS then
begin
Memo1.Lines.Add('Fehler bei WlanRegisterNotification');
Exit;
end;
back := WlanScan(hClient, @pInterface.InterfaceInfo[0].InterfaceGuid,
nil, nil, nil);
if back <> ERROR_SUCCESS then
begin
Memo1.Lines.Add('Fehler bei WlanScan');
Exit;
end;
WaitForSingleObject(hScanCompleteEvent, INFINITE);
....
end;
So das Problem:
In der Procedure "WLanNotifyProc" wo ich auch schön reinspringe, bekomme ich in der Variable "pNotifyData"
nur Müll und somit komme ich bei "WaitForSingleObject" nicht weiter
.
Ich hoffe es kann mir jemand weiter Helfen.
PS: Habe unten noch ein Bild mit dem was im Speicher ist angehangen.
Programmieren ..... .