https://bugs.winehq.org/show_bug.cgi?id=19160
--- Comment #10 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Sebastian Lackner from comment #9)
Did you check if the ->Size field contains a valid value? If it also contains some unusual value, Wine should probably ignore the whole struct.
err:gdi:CreateDC16 dmSize 1209, dmDriverExtra 62208, sizeof(DEVMODEA) 156
All values are in decimal. So, it seems you are right, and dmSize is way too large. But that doesn't mean that whole DEVMODE should be ignored because of that, in win16 days is wasn't unusual to leave some fields not initialized.
On the other hand the driver being requested is "DIRDIB" and CreateDC() would fail anyway since it doesn't exist, and ignoring the passed in DEVMODE woudln't change much.