Obtient la taille d'une structure, en octets.
DllStructGetSize ( Struct )
Struct | La structure retournée par DllStructCreate(). |
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(). |
Fonction utilisée lorsque les données de la structure doivent contenir la taille structure.
DllStructCreate, DllStructSetData
#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