We're creating three printers (PDFDriverInit and DriverInit, v3.0), and then running them simultaneously from three different threads. With the default printer settings (in Advanced) of "Print directly to the printer", strange errors keep happening. When we change the printer settings to "Start printing after last page is spooled" and "Print spooled documents first", it works like a champ.
Is there a way we can change these settings programatically? We're going to try SetPrinterDataEx, but thought you might have a simpler approach.
We looked at the Lock functionality, but it appeared to only make sense when multiple users access the same printer, and therefor not applicable in our situation.