Printing

From ReactOS Wiki
Revision as of 04:45, 7 August 2005 by Peter (talk | contribs)
Jump to: navigation, search

I am beginning work on implementing printing support in ReactOS. If you have any ideas or want to help, it would be very much appreciated. Please leave your name and some way of getting hold of you.

There are a number of components to have code written for them in order to maintain compatibility with the existing Windows 2000/XP architecture. Although NT4.0 compatibility is a stated aim, I don't have access to it and information on 2000 and XP seems more abundant. For this reason, the implementation I am currently planning will follow that of the latter systems. Unfortunately we can use precious little from WINE.

Some things we need

  • Print spooler (driver winspool.drv, service spoolsv.exe, router spoolss.dll)
  • Print processor ("WinPrint.dll" 'integrated into localspl.dll from win2k onwards')
  • Local print provider (localspl.dll) - we can worry about the remote print provider later
  • Port monitors
  • Language monitor
  • PrintUI.dll (possibly at some point)

My initial plan is that the router will always route directly to localspl.dll (the local spooler) and the initial version may not use RPC between winspool.drv(client) and spoolsv.exe(server) as it still seems to be in it's infancy in ReactOS. However, I see that there is code in svn for RPC though I haven't had chance to play yet.

The DDK has some nice diagrams to illustrate what goes on.

Some Resources