Hi Huw,
Currenty wineps.dll is one of the worse offenders in terms of using non-standard, 16-bit entry points. Namely, wineps makes use of the following 16-bit functions: CloseJob16() DrvGetPrinterData16() DrvSetPrinterData16() OpenJob16() SelectVisRgn16() WriteSpool16()
I was wondering if there's anything that holds us back from using 32-bit APIs instead of the 16-bit ones like so: CloseJob16() --> ClosePrinter() DrvGetPrinterData16() --> GetPrinterDataEx() DrvSetPrinterData16() --> SetPrinterDataEx() OpenJob16() --> OpenPrinter() SelectVisRgn16() --> ? WriteSpool16() --> WritePrinter()
I haven't looked too deeply into the problem, but given that you probably know the code inside out, maybe you can help me put this into perspective...