Print Driver version recognition

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

Jim -

> From: "Vopni, Jim" <JimV at>
> To: samba-technical at
> 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
> 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 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
> are versioned , 2000 drivers are  and the 9x drivers are
> (or not versioned)

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

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

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
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
MSDN, but it was perhaps not enough.

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


jreilly at | jreilly at                 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