DEVNAMES? What are you talking about. We were discussing DocumentProperties and PrintDlgEx DEVMODE struct, which has the binary form of printer settings, specific to the printer, especially in DocumentProperties. You can always determine the name a printer gets in its driver installation and printer setup and then you can change varchar(50), it's not set in stone, is it?
All ingredients are on the table and have been dicussed 2-3 times each and you still seem to forget most of what's already been thought of.
To just talk about the major ideea: DEVMODE as binary priter settings you can store for each individual report, it's combinable with expr1 set to something like COPIES=3, if necessary, but all in all you can g without and expr1 settings, especially not very specific ones.
Besides all that, even the DEVMODE struct can be used in nondestructuve ways. For example,
https://learn.microsoft.com/en-us/t...32/modify-printer-settings-documentproperties shows how to merge DEVMODE with current settings, too. And you can store the current DEVMODE struct and reset it after your print job.