cohabiting Windows and OS/2 printer driver download

Jim McDonough jmcd at us.ibm.com
Mon Mar 12 22:55:57 GMT 2001


>> I've got an interesting situation here.  We're wanting
>> the ability to have a single printer have drivers for both
>> OS/2 and Windows.  OS/2 downloads drivers from the PRINTDRV
>> share, and if you use the "printer driver =" parameter to
>> give the file name within that share, all (well, most of
>> it) works fine for OS/2.  The problem is...Windows and OS/2
>> might not have the same printer driver file name.
>
>Jim,
>Have you run through the notes on the driver namespace problem
>between Windows 9x and Windows NT/2000 (PRINTER_DRIVER2.txt or the
>"Printing Support in Samba 2.2.x" chapter in the
>Samba-HOWTO-Collection).
>It sounds very similar to what you are describing.  Also be
>aware that the 'printer driver' parameter will be considerd
>depreciated in Samba 2.2 (as will 'printer driver location'
>and 'printer driver file')

Yup, exactly what I am describing.  Thanks for the pointer.  Gives me a
good starting point.

>> The printer driver name seems to be passed around in
>> windows structures, like NT_PRINTER_DRIVER_INFO_3, which
>> don't have any extra room for another field for an OS/2
>> driver.  However, we can detect if the client is
>> OS/2, so theoretically, it should be possible to do
>> this...but I haven't yet figured out a reasonable way to
>> do retrieve the desired printer driver.  Any pointers
>> would be greatly appreciated...
>
>How does this compare to how a Windows 9x client gets
>the driver information?  Come to think of it, how does
>an OS/2 client do this with a Windows NT print server?

OS/2 uses a DosPrintQGetInfo call, and gets its info in a PRQINFO_3 struct,
like windows.  The driver file itself has to be in the PRINTDRV share on
the server.  So, like, NT/95, if the OS/2 driver has the same name (on
OS/2, the pszDriverName field of PRQINFO_3 is parsed as <driver file
name>.<device name>, where <device name> can be blank), the driver download
should work fine.  You just have to manually copy the files from the OS/2
driver into whatever directory you share as PRINTDRV.  Problem is, just
like NT/95, the driver often has a different name...  Oh well...

Also, driver upload doesn't work from OS/2->NT, so you have to just
manually copy the files.  The OS/2 client does the work searching in the
PRINTDRV share.

Jim






More information about the samba-technical mailing list