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;