Functions > Process >


DllStructGetSize

Obtient la taille d'une structure, en octets.

DllStructGetSize ( Struct )

Paramètre

Struct La structure retournée par DllStructCreate().

Valeur de retour

Succès: Retourne la taille de la structure en octets.
Échec: Retourne 0.
@error: 1 = La structure n'est pas une structure correcte retournée par DllStructCreate().

Remarque

Fonction utilisée lorsque les données de la structure doivent contenir la taille structure.

En relation

DllStructCreate, DllStructSetData

Exemple

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Assigne une constante locale avec la définition d'une structure.
    Local Const $tagSTRUCT1 = "struct;int var1;byte var2;uint var3;char var4[128];endstruct"

    ; Assigne une variable locale avec la structure.
    Local $tSTRUCT1 = DllStructCreate($tagSTRUCT1)

    ; Si une erreur s'est produite affiche le code d'erreur et retourne False.
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Erreur dans DllStructCreate, Code: " & @error)
        Return False
    EndIf

    #cs Commentaires:
    -L'alignement par défaut pour les données est 4 octets, aussi chaque élément occupera au moins 4 octets.
    -La taille minimale peut être obtenue en définissant un alignement de 1 au début de la définition de la structure: "align 1;struct;..."

    -Informations détaillées sur la taille de la structure:
    var1: int - 4 bytes
    var2: byte - 1 byte + 3 bytes alignment = 4 bytes
    var3: uint - 4 bytes
    var4: char[128] - 1 * 128 bytes
    #ce

    MsgBox($MB_SYSTEMMODAL, "", "Taille Structure: " & DllStructGetSize($tSTRUCT1))
EndFunc   ;==>Example