Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: Hilfe mit der Windows Wlan Api

  Alt 1. Dez 2011, 18:59
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:
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;
Nun kann es sein, dass der Record "zu stark gepackt" wird.
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;
Andreas
  Mit Zitat antworten Zitat