Microsoft Windows Driver Development

Printers@

Device Driver Monitor in DDJ March 1992

http://www.microsoft.com/ddk/ddkdocs/win98ddk/default.htm MS Windows printer driver documentation

PFM file format

PCM file format

SPL File Format

INF file format for printer driver installation

NT Printer Drivers

Windows 2000 Printing Summary

To access a Windows printer from a DOS window, you have to have an LPT alias for it. In Win95, you can set up an MS-DOS alias from the control panel. In all the systems, you can say:

 net use lpt1 \\myserver\printername

This is a raw pipe. If the printer expects PostScript, you'd better deliver PostScript.

There are many things that can be accomplished with the printui.dll. Type:
rundll32 printui.dll,PrintUIEntry /? to see a list of options and examples. Some very nice examples are Add printer driver using inf:
rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m "AGFA-AccuSet v52.3" /h "Windows NT x86" /v 3
and Run inf install:
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%\inf\ntprint.inf /r "lpt1:" /m "AGFA-AccuSet v52.3"

Patricia Tejeda says:

I have a Dos application which need to send fax to a printer. I only find a workaround. I installed a Generic text printer on a Windows 95 PC. I shared this printer and put it in a suspend mode. I captured this printer on LPT port on my client. Then I wrote a batch file which move the spl file create by my print in windows\spool\printer to the file scan directory. My Dos application write the @@number@@ command in the print to specify the fax number. But all the faxes go to the administrator box and I have no way to specify the @@ownername@@ by my Dos application. So I'll write a macro to take the owner of the fax in the shd file store in the windows\spool\printers directory and replace it in the fax.

Totally uninstalling printer drivers:

5. System Information shows I have a problem with my Printer Drivers. The first step is to uninstall your printer either by the uninstall software it may have came with or by right clicking the icon in control panel then clicking remove. Do this for any and all printers you have or may had installed.

The second step is to open the Registry......Start_Run and type in regedit Navigate down to this branch...

HKEY_LOCAL_MACHINE\Enum\LPTENUM

Beside the LPTENUM branch you will see a + sign, click that to expand the branch. You will want to delete everything listed under the LPTENUM. You should see something like Cannon BJC and a + sign beside that, just right click the branch Cannon BJC then left click delete. You will want to do this for all printers you may have listed. When you're done, the last item will be LPTNUM--there should be no entries under it.

Close out the Registry and reboot your machine. It should find the printer and install the drivers for it. Go back to sysinfo and see if everything is correct now... it should be.

See also:

See also:

Interested:

Questions:

ohad Says:

WinDriver PCI for Windows WinDriver PCI for Windows automates and simplifies the development of user mode Windows device drivers for PCI / PCI Express / CardBus / ISA / PCI-104 / PCMCIA / PMC / PCI-X and CompactPCI. No DDK knowledge or kernel level programming required.

Comments: