Einzelnen Beitrag anzeigen

nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#1

WlanRegisterNotification Problem

  Alt 5. Nov 2007, 20:54
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.
Miniaturansicht angehängter Grafiken
wlan_134.jpg  
Programmieren ..... .
  Mit Zitat antworten Zitat