[Wine] Re: Need some feedback on this Printing Solution

oiaohm wineforum-user at winehq.org
Wed Feb 17 03:56:03 CST 2010


It is your companies policies.  James.  A particular flag is not on your user that allows driver installation.    http://support.microsoft.com/kb/297780/en-us  Load/Unload Device Drivers right is required to load userspace or kernel space drivers.   You don't need to be admin to use this right just has to be on your user.

Simple point here Vista will not install printer drivers that are kernel space by default because it will not install non certified drivers by default.   Even better OS provides those drivers with port access to talk to there printer.

Any driver printer driver that says Microsoft Certified XP or latter has a requirement for Certification is the use of no ring 0 parts.   Since MS classes this as unnecessary secuirty risk to give a print que access to ring 0.

There is no ring 0 drivers parts for printers to work on Vista + since the spool userspace drivers cannot connect access kernel space drivers at all only access they have is the virtual port that has been provided to them guess what virtual ports are user space as well.

This is how MS wants it.  Printer drivers don't need parts in kernel space.   Again this is windows internal permissions.

http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/DEV095_WH06.ppt  From 2006 is also a good read.   

There are a lot of device drivers for windows now that are UMDF.  IE userspace.   Even better most maker port drivers for printers are UMDF.  So not a kernel mode driver either.   

This is you complete problem you presume Admin rights to load drivers ment they were ring 0.  Sorry printer drivers are not.  The port mapping for printer drivers to connect to is userspace as well.

Basically you have a very big myth James McKenzie.

Of course to provide DDI and UMDF frameworks inside wine would be a lot of work.  DDI can work with raw network provided ports.  DDI is the printer drivers.  UMDF is basically used to find printer locally if it does not show up as a normal port by some brand printers ie virtual ports.  Virtual ports cannot be done in kernel space. 

UMDF usb access information is basically the same as what you can get by libusb under linux.

Also you don't listen James McKenzie.  Wine already runs some Kernel Mode drivers of Windows in userspace.  Ie some safedisk drivers.  If the driver does not do any operations particular to ring 0 it can be run in usermode.  Just because windows runs something in ring 0 does not mean we have to.







More information about the wine-users mailing list