Updated and Reviewed April 2012
xcall MIAMEX, MX_WINPTR, status, printer {port, driver, orientation, length, width, formname, duplex, bin, color, resolution}
(Windows/ATE) MX_WINPTR displays a standard Windows printer selection dialog and returns information about the printer selected. This might be useful for building printer initialization files (see Defining Spoolers) based on the selected printer. Or, you can take it one step farther and just use the full Windows printer name (as returned in the printer parameter) directly when sending files to the printer. For more information, see EZSPL and PRINT.LIT.
Note that this operation can only take place on a GUI-enabled client, either ATE or some form of A-Shell/Windows.
Parameters
Parameter |
Type |
I/O |
Description |
status |
out |
0: User cancelled out of the printer
selection dialog | |
printer |
out |
the descriptive printer name of the printer selected by the user. This is normally the name which appears under the icon in the printer selection window. | |
port |
out |
port name. This could be a traditional physical port (like LPT1:), or a logical network port (like NET01: or IP_192.158.200.250). | |
driver |
out |
name of the driver. In most cases with newer versions of Windows, this will be the universal spooler driver "winspool" (which in turn calls the hardware-specific driver). | |
orientation |
out |
1=portrait, 2=landscape | |
length |
out |
paper length in tenths of millimeters | |
width |
out |
paper width in tenths of millimeters | |
formname |
out |
name of form (e.g. "Letter", "Legal", etc.) | |
duplex |
out |
1=simplex, 2=duplex (vert), 3=duplex (horz) | |
bin |
out |
bin number | |
color |
out |
1=monochrome (B & W), 2=color | |
quality |
out |
If greater than zero, indicates the resolution in DPI. Otherwise: -1 = draft, -2 = low, -3 = medium, -4 = high. |
History
2012 April, A-Shell 6.0.1248: Switch to a more modern version of the printer selection dialog for better compatibility with Windows 8. Main visual difference is the addition of the "Apply" button. At the application level, you can now retrieve several additional parameters about the current printer selection: orientation, paper length, width, form name, duplex option, bin, color versus mono, and the quality (resolution). In addition to the new parameters, the status parameter now indicates whether the user hit the "Print" button (1) or the "Apply" and then the "Cancel" (2). Note that this is only for information purposes, since neither "Print" nor "Apply" actually changes the internal default settings in the printer. But the application might choose to interpret the two cases differently.
2006 July, A-Shell 4.9.960: This function now supports ATE. Thus, the application on the server can now prompt the user to choose a windows printer, and then, using AG_SPOOLCFG, send this information to the ATE client prior to printing to it via the DEVICE=AUXLOC: option. Note that to be effective, this requires that a printer init file exist for the specified printer name in the ASHCFG: directory of the ATE client (aka %MIAME%\dsk0\001007).