http://bugs.winehq.org/show_bug.cgi?id=36636
--- Comment #10 from Henri Verbeet hverbeet@gmail.com --- (In reply to Bruno Jesus from comment #9)
Actually there is no cbSize inside the command.abd struct.
39 struct appbar_data_msg /* platform-independent data */ 40 { 41 ULONG hWnd; 42 UINT uCallbackMessage; 43 UINT uEdge; 44 RECT rc; 45 ULONGLONG lParam; 46 };
...
And all existing fields are already being written. The problem may be somewhere else then.
I really didn't read the bug very closely, but notice that there's a 4 byte hole between "rc" and "lParam", because "lParam" is a 64-bit value and will be aligned on an 8 byte boundary. If this structure is not visible to applications you can trivially avoid the hole by reordering the fields, otherwise you could perhaps add an explicit "padding" field.