Print Driver version recognition

REILLY,JOHN R (HP-Roseville,ex1) jreilly at hp.com
Mon Jul 16 15:53:41 GMT 2001


Jim -

> From: "Vopni, Jim" <JimV at metrics.com>
> To: samba-technical at samba.org
> Subject: Print Driver version recognition
> Date: Fri, 13 Jul 2001 08:33:58 -0400
> 
> I have a question regarding how samba determines the OS version of a
driver
> being installed. It is using a function called get_correct_cversion() in
> nt_printing.c

I put this code in last year, and it seemed to be working fine...

> We have run across a number of drivers that are installed incorrectly.
> Samba is recognizing the driver as 2000 when if fact it is a NT4 driver.
> In all cases the version of the Driver file is 0.2.0.0 but the code in
> get_correct_cversion()  does not look for this version string.

Recently (about two weeks ago) I have revived a message with the same
complaint, but I didn't have a reproducible case... or the time for that
matter. Could you send me the names of the drivers that have the problem.

> It seems, at least with the drivers we have been using, that the NT4
drivers
> are versioned 0.2.0.0 , 2000 drivers are 0.3.0.0  and the 9x drivers are
> 0.0.0.0 (or not versioned)

Where are you getting the version from? I know of two different bits of
version
information:

  * the uint32 MajorOperatingSystemVersion and MinorSubsystemVersion in the
    _IMAGE_OPTIONAL_HEADER of the PE file format, which indicates the
version
    of the Windows NT operating system. This information is also available
in
    the NE file format (although it harder to get at :)
  * the 'text' version info. This is what the Rt Click/Properties/VersionTab
    displays.

Note: there is no forced sync between these two sets of version information.
I found many driver files with inconsistent values... not surprising since
they are generated by different compiler section/commands.

> What is/was the reason for the current version determination?  Is the
> version number of the driver file not sufficient to determine what type it
> is?

Good question. I assumed (whoa big gap in reasoning there!) that because the
Major/MinorOperatingSystemVersion info is necessary (don't let the
'optional'
in _IMAGE_OPTIONAL_HEADER fool you, it is required) for the OS to figure out
if a particular file is useable. Perhaps this is not the case.

> We are putting together a patch to install based on this version number
> but there may be issues that we are not aware of.

There may well be. I admit I used all the info I could find on the web, and
in
MSDN, but it was perhaps not enough.

> ...Jim
> ----------------
> Jim Vopni		Software Metrics
> jimv at metrics.com	450 Philips St
> (519) 885-2458 x222	Waterloo Ont. N2L 5J2

Cheers
JohnR

jreilly at hp.com | jreilly at samba.org                 916-785-4532
iIPS - internet Imaging & Printing Systems, Hewlett-Packard Co.
8000 Foothills Blvd. Roseville, CA 95747-5659  M/S: 5659




More information about the samba-technical mailing list