![]() |
Hilfe mit der Windows Wlan Api
Hallo,
ich habe mich in die Wlan-Api eingearbeitet. Jedoch stehe ich vor 2 Problemen. Ich habe die ndu-Units nach Unicode übersetzte. 1. Problem: Ich bekomme alle WLAN-Netze aufgelistet. Aber wie kriege ich das raus, zu dem eine Verbindung besteht? 2. Problem: Anscheine habe ich einen Fehler beim Übersetzten gemacht: Dies ist mein Record (soll diese Struktur darstellen: ![]()
Delphi-Quellcode:
Denn beim auslesen sind alle Werte bis einschließlich dot11Bssid korrekt. Jedoch die Werte danach nicht mehr.
Pndu_WLAN_BSS_ENTRY = ^Tndu_WLAN_BSS_ENTRY;
Tndu_WLAN_BSS_ENTRY = record dot11Ssid: Tndu_DOT11_SSID; uPhyId: ulong; dot11Bssid: Tndu_DOT11_MAC_ADDRESS; dot11BssType: Tndu_DOT11_BSS_TYPE; dot11BssPhyType: Tndu_DOT11_PHY_TYPE; lRssi: Longint; uLinkQuality: longword; bInRegDomain: Boolean; usBeaconPeriod: ushort; ullTimestamp: ulonglong; ullHostTimestamp: ulonglong; usCapabilityInformation: ushort; ulChCenterFrequency: ulong; wlanRateSet: Tndu_WLAN_RATE_SET; ulIeOffset: ulong; ulIeSize: ulong; end; Könnte mir jemand helfen? ( ![]() MfG schlagzu PS: ich habe die gleiche Frage auch hier ![]() |
AW: Hilfe mit der Windows Wlan Api
Bei solchen Datenstrukturen ist es manchmal notwendig das Keyword "Packed" zu benützen,
weil nicht alle Elemente auf 4-Byte-Grenzen ausgerichtet sind.
Delphi-Quellcode:
Nun kann es sein, dass der Record "zu stark gepackt" wird.
Pndu_WLAN_BSS_ENTRY = ^Tndu_WLAN_BSS_ENTRY;
Tndu_WLAN_BSS_ENTRY = packed record dot11Ssid: Tndu_DOT11_SSID; uPhyId: ulong; dot11Bssid: Tndu_DOT11_MAC_ADDRESS; dot11BssType: Tndu_DOT11_BSS_TYPE; Dann hilft es zusätzliche Füllerbyte in den Record zu packen. Das folgende Beispiel soll nur das Prinzip zeigen, es bedeutet nicht, dass die Füllbytes an der richtigen Stelle sind.
Delphi-Quellcode:
Pndu_WLAN_BSS_ENTRY = ^Tndu_WLAN_BSS_ENTRY;
Tndu_WLAN_BSS_ENTRY = packed record dot11Ssid: Tndu_DOT11_SSID; _filler1:array[0..1] of Byte; uPhyId: ulong; dot11Bssid: Tndu_DOT11_MAC_ADDRESS; _filler2:array[0..1] of Byte; dot11BssType: Tndu_DOT11_BSS_TYPE; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 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