PRB: PrintDlg Function Returns PDERR_NODEVICES w/ HP DeskJet

ID Number: Q83998

3.10

WINDOWS

Summary:

SYMPTOMS

In an application that uses the Print dialog box provided by the

common dialog boxes dynamic-link library (DLL), when the user

selects HP DeskJet Printers in the Specific Printer combo box, the

value PDERR_NODEVICES (0x1007) is returned to the application.

CAUSE

The Hewlett-Packard (HP) DeskJet 500C printer driver was installed

incorrectly. The HP DeskJet driver provided with Windows 3.1 does

not support the HP DeskJet 500C.

RESOLUTION

Reinstall the HP DeskJet 500C printer driver through the Control

Panel. When the Install Driver dialog box prompts for a vendor-

supplied printer driver disk, insert the driver disk provided with

the printer. For additional information on this procedure, query on

the following words in the Microsoft Knowledge Base:

install and deskjet and 500c

More Information:

The PrintDlg function displays the Print dialog box. After the user

selects a printer and dismisses the dialog box, PrintDlg sets the

fields of a PRINTDLG data structure to reflect the selections.

In the case described above, the hDevMode field points to a DEVMODE

data structure in which the dmDeviceName field is set to "HP DeskJet."

However, the printer name is listed in the [devices] section of the

WIN.INI file as "HP DeskJet Printers." Because the two entries do not

match, PrintDlg returns the PDERR_NODEVICES error to the application.

Additional reference words: 3.10