The information in this article applies to:
SUMMARYThis article contains information on possible causes for an immediate "Cannot Print" error message when trying to print from a Windows application under Microsoft Windows 3.0. MORE INFORMATIONThe following problems can cause this error message. Where available, steps for correcting each problem are provided. Invalid Temporary File DirectoryThe error occurs if the temporary file directory pointed to by the DOS TEMP variable is invalid.To correct the problem, verify that a SET TEMP statement exists and points to a directory with sufficient space (and access privileges if a network is being used). Printer Doesn't Provide Proper HandshakingIf you are using a serial port, make sure the printer is connected directly to the computer, not through a switch box or print-sharing device. Try a different cable.If you are using a parallel port, the same considerations apply. Additionally, the printer should maintain the Centronics parallel "Paper Out" signal in an OFF position and the "Select In" signal in an ON position for printing to begin. Corrupted Printer DriverCheck the files size of the printer driver to see if it has been corrupted. If it doesn't match the original file size, reinstall the driver.Windows Does Not Recognize the Printer PortIf you are on a network, make sure the appropriate port is redirected properly; use either an MS-DOS command or the Windows 3.0 Control Panel Network section to make any required corrections. If you are not on a network, this may indicate a hardware port configuration problem.Ports should be configured with the following hardware interrupt and base I/O port addresses:
You can use the MS-DOS Debug command to verify the existing base I/O
address (see below).
If you are using a parallel port and are able to print from MS-DOS, a temporary workaround for testing purposes may be to use the Windows 3.0 Control Panel to connect the printer driver to a port of LPTx.OS2 rather than LPTx: (where x is the appropriate port number). This allows Windows to print through MS-DOS rather than directly to the port hardware. Verifying the Base I/O Port AddressUse the following procedure to verify the base I/O port address settings for printer ports.Information on the I/O port starting address for each of the installed serial and parallel ports is contained in the ROM BIOS data segment at memory location 0040:0000. Each entry is a 16-bit port address stored in two hexadecimal bytes. As with all 16-bit addresses, each pair of bytes should be reversed to read correctly. For example, the entry "F8 03" yields an address of 3F8 hexadecimal (the standard starting address for COM1). You can easily examine the contents of the ROM BIOS data segment yourself, using the DOS DEBUG utility. The Debug command to display a range of memory is "D" for "Dump." Run DEBUG and enter the command d40:0 at the C:\> prompt, as follows: C:\>debugThe notations on the last two lines were included for clarity and are not part of the DEBUG output. The first eight bytes show the addresses for COM1 through COM4. The last eight bytes show LPT1 through LPT3, followed by two unused bytes. This particular output shows a machine with two COM ports at addresses 3F8h and 2F8h, and one LPT port at address 378h. Zeros indicate nonexistent ports. After examining the segment, enter Q to quit DEBUG. Additional query words: 3.0 3.00 3.00a
Keywords : |
Last Reviewed: November 25, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |