Funktionreferenz


DllStructGetSize

Beschreibung anzeigen in

Gibt die Grösse der Struktur in Bytes zurück.

DllStructGetSize ( Struct )

Parameter

Struct Struktur, zurückgegeben von DllStructCreate().

Rückgabewert

Erfolg: Die Grösse der Struktur in Bytes.
Fehler: 0.
@Error: 1 = Struct ist keine korrekte Struktur wie von DllStructCreate() zurückgegeben.

Bemerkungen

Wird gebraucht, wenn ein Element in der Struktur die Grösse der Struktur enthalten soll.

Verwandte Funktionen

DllStructCreate, DllStructSetData

Beispiel

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Weist einer lokalen Konstante die Definition der Struktur zu.
    Local Const $tagSTRUCT1 = "struct;int var1;byte var2;uint var3;char var4[128];endstruct"

    ; Weist einer lokalen Variable die Struktur zu.
    Local $tSTRUCT1 = DllStructCreate($tagSTRUCT1)

    ; Wenn ein Fehler aufgetaucht ist, so wird dieser angezeigt und False zurückgegeben.
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Error in DllStructCreate, Code: " & @error)
        Return False
    EndIf

    #cs Kommentare:
    -Die standardmäßige Ausrichtung für die Daten sind 4 Bytes. Das bedeutet, dass jedes Element mindestens 4 Bytes benötigt.
    -Die minimale Größe erhalten werden wenn man am Anfang der Struct-Definition eine Ausrichtung (alignment) von 1 angibt: "align 1;struct; ..."

    -Detaillierte Informationen über die Structgröße:
    var1: int - 4 bytes
    var2: byte - 1 byte + 3 bytes Ausrichtung = 4 bytes
    var3: uint - 4 bytes
    var4: char[128] - 1 * 128 bytes
    #ce

    MsgBox($MB_SYSTEMMODAL, "", "Größe des Structs: " & DllStructGetSize($tSTRUCT1))
EndFunc   ;==>Example