For example if you want to be spooling in EMF, usually what works is ticking "Advanced printing features". However, I've noticed that on some printer drivers this does not work (which is not unexpected, it's not mandatory for v3 drivers to support it). Indeed, I've noticed on one driver that a device-dependent setting (i.e. in the extra end chunk of the DEVMODE structure) was what determined whether the spool file came out in EMF. So how does the print spooler determine which datatype to pass down?
I've looked through the print driver DDI functions and structures and can't find anything pertaining to this. In
After much searching I have found a sufficient (but perhaps not necessary) condition for the driver to force the spooler to use RAW. If
DrvEscape is called querying support for
METAFILE_DRIVER and the driver returns 0, then the spooler will spool straight to raw no matter what. This is the case for the driver I had found that does this.