La taille de la structure est de 9,avec l'alignement elle devient douze.Ou sont mis les trois bytes ?.
En pseudo code je voudrais faire.
adresse de AdditionalParameters - adresse de chose(STORAGE_PROPERTY_ID)
Help.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 sept. 2012 à 09:25
Il n'y a aucun besoin de macro cachée dans un fichier h.
Tout simplement:
offsetField = addrField - addrBase;
En l'absence de tout #pragma pack(xxx), un compilo C/C++ correct aligne les membres d'une structure selon leur taille.
J'espère n'étonner personne en rappelant qu'un:
mov eax, [rcx]
est très couteux si RCX non aligné sur 4. Si OS réglé pour ne pas rattraper ces erreurs, c'est une exception qui est générée.
Un simple regard permet de savoir combien et où seront les eventuels octets de cadrage.
Je mets les offsets en comment de chaque membre.