#912 winspool.h:Missing declaration of DRIVER_INFO_3 (with patch)

Known_bugs
closed
nobody
2006-04-03
2006-03-08
No

Hi...

In winspool.h DRIVER_INFO_1 and DRIVER_INFO_3 are
declared as Ascii and Widecharacter version but there
is no version that autodetects Ascii oder Widecharacter
version depending on the definition of _UNICODE
(as defined in MSDN).

Attached you find a patch containing a fix for this.
I also added DRIVER_INFO_[4-6] and PRINTER_INFO_[7-9]
structures (along with some needed defines) which are
available with Win2000 and up but where missing in w32api.

Hope you can apply it,

Roland

Discussion

  • Roland Schwingel

    Patch to fix problems in winspool.h

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    The DSPRINT_* macros are documented here as included on
    Windows 2000 and better:
    http://msdn.microsoft.com/library/en-us/gdi/prntspol_7nqq.asp
    Fixed in CVS.

    But what about the DRIVER_KERNELMODE and DRIVER_USERMODE
    macros? Where do they come from?

    Otherwise I see no version that autodetects Ascii or
    Widecharacter version depending on the definition of
    _UNICODE in this patch. Am I missing something?

     
  • Roland Schwingel

    Logged In: YES
    user_id=710704

    Hi...

    If you look into CVS you will find declarations of
    DRIVER_INFO_1A, DRIVER_INFO_1A, DRIVER_INFO_3Aand
    DRIVER_INFO_3W. But no declaration of DRIVER_INFO_1 and
    DRIVER_INFO3 like it is done for DRIVER_INFO_2 as
    ASCII/Unicode variant in line 682 and 747.

    My patch fixes that. Additionally in current winspool.h
    DRIVER_INFO_4,DRIVER_INFO_5,DRIVER_INFO_6 and
    PRINTER_INFO_7, PRINTER_INFO_8 and PRINTER_INFO_9 are
    completely missing. My patch also adds these.

    DRIVER_KERNELMODE and DRIVER_USERMODE are used in
    DRIVER_INFO_5 (as argument called dwDriverAttributes). See
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_66lu.asp

    There DRIVER_KERNELMODE and DRIVER_USERMODE is described as
    KMPD (KernelModePrinterDriver) and UMPD
    (UserModePrinterDriver). In Microsofts winspool.h these are
    defined as DRIVER_KERNELMODE and DRIVER_USERMODE.

    Maybe the download of my patch was broken and you were just
    seeing the first lines? I downloaded it some minutes ago and
    it was ok. The patch file in the tarball should be 6876 bytes.

    Roland

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    DRIVER_*MODE macros have been added as well.

     
  • Dimitri Papadopoulos

    Logged In: YES
    user_id=52414

    The problem you report has caused modification in some fashion in the official CVS for the given package. The w32api and
    mingw-runtime official CVS reside in the winsup CVS directory tree for Cygwin. Those package CVS trees are periodically
    merged into the MinGW CVS tree. If you still find problems then please open a new report.

     
  • Dimitri Papadopoulos

    • status: open --> closed
     

Log in to post a comment.