windows-nt/Source/XPSP1/NT/public/oak/inc/pdrvver.h
2020-09-26 16:20:57 +08:00

124 lines
4.4 KiB
C

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
pdrvver.h
Abstract:
Printer Driver Version Resource File
Environment:
Windows NT printer drivers
Revision History:
--*/
//
// Printer Driver Version Resource File
// This file describes a template for the versioning scheme for printer drivers.
// It is recommended that this file be modified and included in every
// printer driver DLL resource file, even for monolithic printer drivers,
// which are not Unidrv-based minidrivers.
//
// The versioning scheme:
// The versioning scheme is defined in detail in the DDK documentation.
// Please refer to it for more information.
//
#include <ntverp.h>
//
// The following field sets the type of DLL. For printer drivers it should
// always be set to VFT_DRV. Don't change this field.
//
#define VER_FILETYPE VFT_DRV
//
// If the DLL is of type VFT_DRV then the following field contains a more
// specific description of the driver. For versioned printer drivers it should
// always be set to VFT2_DRV_VERSIONED_PRINTER. Don't change this field.
//
#define VER_FILESUBTYPE VFT2_DRV_VERSIONED_PRINTER
//
// For a versioned printer driver, the following field indicates the File
// Version of the DLL. The file version consists of four 16-bit (WORD) numbers.
// The description of each of them is as follows. From left to right,
//
// First WORD : Reserved. Should be set to 0.
// Second WORD : Major version of the driver. For user-mode drivers, set
// this to 3. For kernel-mode drivers, set this to 2.
// Third WORD : Feature set number.
// The high byte of this number represents the major
// feature set and should always be incremented with the
// next major release. A newer release is assumed to
// have a superset of the functionality of the previous
// release.
// The low byte represents minor releases -
// new releases from the same code base or the
// same architecture. The low byte should be
// incremented with each new minor release.
// Fourth WORD : Bug fix number or service pack number. This field
// represents the releases of major feature set
// binaries for bugs or service packs and should always
// be incremented with each minor release.
//
// Example : 0, 3, 0x0100, 0x0000
// In the above example the third number shows that the DLL belongs to the first
// major release of the driver. After fixing some bugs in this binary the
// version should be changed to 0, 3, 0x0100, 0x0001. For the next minor
// release of the driver, which is a superset of the previous release, the
// version should be changed to 0, 3, 0x0101, 0x0001. In this case the low
// byte of the feature set was changed instead of the high byte. This allows
// more control on the versions. It is recommended that the high byte be used
// to describe different code bases or major architecture changes and the low
// byte be used for new releases from the same code base or from the same
// architecture.
//
// Basically the Feature set and Bug Fix numbers should be used in such a way
// that when they are combined (Feature set = HIWORD, Bug fix = LOWORD) in a
// 32-bit quantity (DWORD), the new number represents all the features of the
// DLL. A larger number represents newer versions, which are supersets of
// functionality and bug fixes with respect to all previous releases.
//
// This field needs to be changed per the description above.
//
//
#define VER_FILEVERSION 0, 3, 0, 0
//
// The following field describes the driver. It should include a specific name,
// which identifies the driver.
//
// This field needs to be changed.
//
#define VER_FILEDESCRIPTION_STR "Sample Printer Driver Resource DLL"
//
// The following field specifies the internal name of the file. For more
// information, refer to the SDK documentation.
//
// This field needs to be changed.
//
#define VER_INTERNALNAME_STR "SAMPLERES.DLL"
//
// The following field specifies the original name of the file, not including a
// path. For more information refer to the SDK documentation.
//
// This field needs to be changed.
//
#define VER_ORIGINALFILENAME_STR "SAMPLERES.DLL"