![]() |
WLAN API Problem mit getProfile
Hallo zusammen,
Ich würde gerne über die Microsoft Native WIFI API mein Lokales WLAN Profil auslesen und speichern, so dass ich es ohne großen Aufwand auf anderen Rechnern einfach importieren kann. Dank der großartigen Übersetzung der C HeaderDatei von Nitschedu klappen so sachen wie das Auslesen der WLAN Adapter und der dazugehörigen Profilnamen wunderbar.. allerdings wenn ich die funktion WlanGetProfile aufrufe wird mir dort nie das Profil zurückgegeben. Mein bisheriger Code sieht so aus:
Delphi-Quellcode:
Wobei ich Profile schon in allen mir bekannten möglichkeiten deklariert haben, bzw angegeben habe.
var
hHandle : THandle; return : DWORD; dwVersion : DWORD; begin return := WLANOpenHandle(1, nil, @dwVersion, @hHandle); return := WlanEnumInterfaces(hHandle, nil, @pInterface); getlist := WlanAllocateMemory(SizeOf(Tndu_WLAN_PROFILE_INFO_LIST)); return := WlanGetProfileList(hHandle, @pInterface^.InterfaceInfo[i1].InterfaceGuid, nil, @getList); return := WlanGetProfile(hHandle, @pInterface^.InterfaceInfo[i1].InterfaceGuid, @getList.ProfileInfo[0].strProfileName, nil, @Profile, nil, nil); hHandle := WlanCloseHandle(hHandle, nil); Muss ich den Speicher für die Variable Profile vorher mit WLANAllocateMemory zuweisen, wenn ja wie groß muss ich den Speicherbereich wählen? Oder sehe ich den Aufruf dieser Prozedur gänzlich falsch und er gibt mir überhaupt nicht das Profil des WLAN's zurück? Ich wäre für Hilfe wirklich dankbar, da ich nun echt nicht mehr weiter weiß woran es liegen könnte. Vielen Dank schonmal im vorraus, Gruß Lucy |
Re: WLAN API Problem mit getProfile
Ja, ich weiß, daß es etwas spät ist, aber ich hab's grad zufällig gesehn :stupid:
Wenn sich dieser Nitschedu halbwegs an die Definitionen aus'm MSDN gehalten hat, dann klappt es vermutlich an einigen Stellen nicht mit der Speicherreservierung zu WlanAllocateMemory: SizeOf(Tndu_WLAN_PROFILE_INFO_LIST) wäre demnach zu klein, da dort in diesem Typ kein speicher für die Liste vorgesehn ist und man muß diesen selber hinten dranhängen. Es sei denn man definiert seine Typen etwas anders, als die MSDN-Vorlage sagt und legt schon im Typen den Speicher an. Auch für pInterface (WlanEnumInterfaces) müßte man wohl noch Speicher reservieren. Und bei Profile in WlanGetProfile wird es wohl das selbe Problem sein. Falls du da noch weiter machen möchtest: Hättest du zufällig eine kleine Testanwendungen, samt der Definitionen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz