https://bugs.winehq.org/show_bug.cgi?id=40311
--- Comment #3 from Sebastian Lackner sebastian@fds-team.de --- I wasn't aware of this patch, but actually it looks like your solution is not really that much different from my one. My proposed patch also transfers both the input and output buffer as a big chunk of data. In my opinion, all other alternative (for example transferring only the addresses, and then implement mapping on top of ReadProcessMemory) would require a much bigger overhead. Wine is also planning to use the driver framework for input devices, so multiple wineserver calls back and forth would be bad.
Regarding your project, please note that there is actually ongoing effort to implement Plug&Play support, HID support, and later also USB support. I'm not sure if your code is too much specialized for one specific USB Oscilloscope, but probably some parts (for example libusb handling) could also be useful for Wine. ;)