Einzelnen Beitrag anzeigen

jogging_cat

Registriert seit: 2. Nov 2007
Ort: Langewiesen
14 Beiträge
 
Delphi 5 Enterprise
 
#24

Re: WLanManager WLanAPI

  Alt 6. Dez 2007, 09:41
Hi nitschchedu ,

danke für die Antwort. Ich habe meinen Source geändert.
Es ging ja um die Funktion WlanScan.
Hier die zugehörige Callback-Prozedur:

Delphi-Quellcode:
procedure NotifiCallback(pNotifData:PWLAN_NOTIFICATION_DATA; pContext:PVOID); stdcall;
var
   Source:DWord;
begin
   if pNotifData<>nil then
   begin
      Source:=pNotifData.NotificationSource;
      if (Source and WLAN_NOTIFICATION_SOURCE_ALL) > 0 then
      begin
         case pNotifData^.NotificationCode of
            wlan_notification_acm_scan_complete:
               begin
                  SetEvent(THandle(pContext^)); // hier Pointer !!!
               end;
         end; // case pNotifData^.NotificationCode of
      end; // if pNotifData^.NotificationSource of
         SetEvent(THandle(pContext^)); // <-- diese Änderung <-- !!!
   end; // if pNotifData<>nil
end; // function NotifiCallback

Bei mir zeigt sich die Sache aber nicht so richtig zufriedenstellend:

1. Wird ohne verbundenes Wlan gescannt, so wird die Callback-Prozedur aufgerufen.
Ich erwarte aber für pNotifData^.NotificationCode:
wlan_notification_acm_scan_complete
Nur leider sehe ich beim Debug den Code 21, das ist wlan_notification_acm_disconnected.
Disconnected ist ja auch richtig, aber darauf habe ich nicht gewartet
und Scancomplete sehe ich nicht.

2. Wird mit verbundenem Wlan gescannt, so wird die Callback-Prozedur bei mir nicht aufgerufen.
Das ist meines Erachtens nicht ok. Im Microsoft-Forum habe ich darüber gefunden,
das häufiges Scannen die Netzwerkübertragungsleistung mindert.
Wenn das so ist, ist der Client ja mit dem Wlan verbunden.
Nur ich sehe das Ereignis wlan_notification_acm_scan_complete nicht, da die
Callback-Prozedur gar nicht aufgerufen wird.

Was meinst Du dazu?

Grüße jogging_cat
  Mit Zitat antworten Zitat