Re: WLanManager WLanAPI
Ich muss das WLANTool der Uni Regensburg mal auf meinem Notebook testen, weil dort nicht die API-DLL installiert ist. Ich denke, Windows ist von Haus aus mit bestimmten Standard-API Funktionen ausgestattet, über die bspw. die Netzwerkumgebung WLAN-Infos abfragen kann. Und diese API's scheint das Tool wohl zu nutzen. Auf der Homepage steht nichts von der speziellen API DLL.
Leider gibts das Programm nicht als Source. Hier herrscht also noch Nachholbedarf. |
Re: WLanManager WLanAPI
Toll das basiert auf NDIS Objekt .... und dieses geht dann auch auf den Schnittstelle wie die WLAnAPI ... das macht für mich keinen unterschied :gruebel: dasmit dem NDIS sieht ehr schwieriger aus :angel2:
|
Re: WLanManager WLanAPI
Der Unterschied ist erstens, dass kein separates MS Update installiert werden muss und zweitens, dass diese Schnittstelle auch unter Vista funktioniert. Die bisherige WLAN API-DLL existiert nur für XP.
Das sind in meinen Augen 2 Vorteile, die sicherlich mit etwas mehr Arbeit daherkommen. Aber dafür erreicht man mehr Zielsysteme und eine MS Update-unabhängige API-Ansteuerung... :zwinker: |
Re: WLanManager WLanAPI
Also die WlanAPI ist bei Vista standart (steht so im MSDN) und ab SP3 für XP wirst du so oder so die WLanAPI haben :lol:
Aber ich spiele mit den Gedanken beides in Kombination zubenutzen .... beides hat vor und nachteile ;-) |
Re: WLanManager WLanAPI
Ich denke, sobald die 2. Variante steht, hat man einen technischen Überblick und kann die Vor- sowie Nachteile miteinander abwägen.
|
Re: WLanManager WLanAPI
Zitat:
Ich werde auch 2 möglichkeit mit aufnehmen ! (NDIS) |
Re: WLanManager WLanAPI
Also ich weiss zwar net, von welchem Post Du das Zitat gtenommen hast, aber ich bin dabei.
Mein Ziel wäre zwar vorrangig die Ansteuerung ohne API-DLL, man könnte aber beide Varianten aufnehmen. Wichtig ist auch Vista und eine Art WLAN-Verbindungstest. |
Re: WLanManager WLanAPI
Oh hab dich verwechselt :oops: aber trotzdem cool das du mit machst ^^. Ich schau dann mal die NDIS zuübersetzen :coder: .
|
Re: WLanManager WLanAPI
Hi nitschchedu,
ich würde da auch gerne mitmachen. Bei mir hängt es aber derzeit. Jetzt habe ich erst mal mitbekommen, dass WlanGetNetworkBssList unter XP SP2 nicht funktioniert. OK. Dann hapert es noch bei WlanScan. Das klappt bei mir überhaupt nicht. Weder mit noch ohne gestartetes Wlan. Klappt bei deiner Project1.exe aber auch nicht so 100%ig. Gerade einmal habe ich im unteren Teil Einträge gesehen. Ich benötige erst mal Hilfe für WlanScan. Als erstes wird diese registrierte CallBack-Prozedur nie aufgerufen. Der Aufruf passierte nur manchmal in einer Umgebung mit schwachem Funk, da sah ich aber nur so was wie wlan_notification_acm_disconnected Ich hänge mal etwas Code von mir an. Wäre dankbar über eine Antwort.
Delphi-Quellcode:
Die CallBack-Prozedur:
//=========== Prozedur NotifiCallback ========================================== 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^)); end; end; // case pNotifData^.NotificationCode of end; // if pNotifData^.NotificationSource of end // if pNotifData<>nil end; // function NotifiCallback Die Funktion WlanScan: //=========== Funktion WlanScan ================================================ function TWlanClass.WlanScan(InterfaceIndex:integer): DWORD; var mGUID:TGUID; ergebnis:DWORD; hScanCompleteEvent: THandle; hClientHandle:THandle; dwNegotiatedVersion: WORD; begin ergebnis:=WlanOpenHandle(WLAN_API_VERSION,nil,@dwNegotiatedVersion,@hClientHandle); mGUID:=InterfaceInfoArr[InterfaceIndex].InterfaceGuid; hScanCompleteEvent:=CreateEvent(nil, False, False, nil); result:=WlanRegisterNotification(hClientHandle,WLAN_NOTIFICATION_SOURCE_ALL ,true,@NotifiCallback,@hScanCompleteEvent,nil,@dwPrevNotifSource); ergebnis:=nduWlanAPI.WlanScan(hClientHandle,@mGUID,nil,nil,nil); result:=ergebnis; if ergebnis=ERROR_SUCCESS then begin WaitForSingleObject(hScanCompleteEvent, 20*1000); //ShowMessage('Scan complete.'); end; // UnregisterNotification WlanRegisterNotification(hClientHandle,WLAN_NOTIFICATION_SOURCE_NONE ,true,nil,nil,nil,@dwPrevNotifSource); WlanCloseHandle(hClientHandle,nil); end; // function WlanScan(InterfaceIndex:integer): boolean; Ich bin dabei eine ActiveX-DLL für Wlan zu erstellen zur Nutzung in weiteren Programmiersprachen (z. B. Visual Basic, Delphi). Daher habe ich das bisher in einer Klasse. Grüße jogging_cat |
Re: WLanManager WLanAPI
Hi,
ich habe gerade einen kleinen Fehler entdeckt:
Delphi-Quellcode:
Die CallBack-Prozedur ist zwischendurch mal aufgerufen worden,
dwNegotiatedVersion: DWORD;
aber nicht für wlan_notification_acm_scan_complete, sondern für wlan_notification_acm_disconnected und wlan_notification_acm_connection_complete. Also ist an der Prozedur bzw. am Registrieren kein Fehler (oder?) Wie kann ich denn an dem Projekt mitmachen? Bisher hat doch fast die ganze Arbeit nitschchedu gemacht. Grüße jogging_cat |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz