Ich bin gerade dabei einige meiner Strukturen auf das neue
Align #PB_Structure_AlignC umzustellen. Wie ich die Strukturen ursprünglich erstellt habe, habe ich diese aufgefüllt und mit einem C++ Programm das SizeOf und Offset überprüft. Bei der Struktur PARAMDESCEX hatte ich damals schon Probleme, weil mir mein C++ Programm was anderes gesagt hat als es logisch war. Leider kann ich dieses C++ Programm nicht mehr finden und ich selbst kenne mich damit nicht aus.
Code: Alles auswählen
typedef struct tagPARAMDESCEX {
ULONG cBytes;
VARIANTARG varDefaultValue;
} PARAMDESCEX, *LPPARAMDESCEX;
Die Struktur ist in OaIdl.h beschrieben. Bei Microsoft findet ihr die Beschreibung
hier.
Ich bin damals nach Überprüfung mit meinem C++ Programm auf folgende Pb Struktur gekommen:
Code: Alles auswählen
Structure PARAMDESCEX
cBytes.l
padding.b[4] ; warum bei x32 ???
DefaultValue.VARIANT
EndStructure
Bei x64 ist ja noch alles logisch, aber warum auch bei x32 ist mir unklar und auch unlogisch. Wäre nett, wenn einer der C++ Gurus das nochmals checken könnte.
Danke
Josh