Nikolay Sivov (@nsivov) commented about dlls/combase/usrmarshal.c:
+{
- ULONG context;
- union {
struct {
ULONG size;
WCHAR data[];
} buf;
struct {
+#ifdef _WIN64
ULONG pad;
+#endif
HSTRING str;
};
- };
+}; +#pragma pack(pop)
There should a simpler way to define this. Padding I suspect is due to pointer field alignment on 64-bit. Does it not properly right away?