DRIVER_INFO_8 structure

Contains printer driver information.

Syntax

typedef struct _DRIVER_INFO_8 {
  DWORD     cVersion;
  LPTSTR    pName;
  LPTSTR    pEnvironment;
  LPTSTR    pDriverPath;
  LPTSTR    pDataFile;
  LPTSTR    pConfigFile;
  LPTSTR    pHelpFile;
  LPTSTR    pDependentFiles;
  LPTSTR    pMonitorName;
  LPTSTR    pDefaultDataType;
  LPTSTR    pszzPreviousNames;
  FILETIME  ftDriverDate;
  DWORDLONG dwlDriverVersion;
  LPTSTR    pszMfgName;
  LPTSTR    pszOEMUrl;
  LPTSTR    pszHardwareID;
  LPTSTR    pszProvider;
  LPTSTR    pszPrintProcessor;
  LPTSTR    pszVendorSetup;
  LPTSTR    pszzColorProfiles;
  LPTSTR    pszInfPath;
  DWORD     dwPrinterDriverAttributes;
  LPTSTR    pszzCoreDriverDependencies;
  FILETIME  ftMinInboxDriverVerDate;
  DWORDLONG dwlMinInboxDriverVerVersion;
} DRIVER_INFO_8, *PDRIVER_INFO_8, *LPDRIVER_INFO_8;

Members

cVersion

The operating system version for which the driver was written. The supported value is 3.

pName

A pointer to a null-terminated string that specifies the name of the driver (for example, QMS 810).

pEnvironment

A pointer to a null-terminated string that specifies the environment for which the driver was written (for example, Windows x86, Windows IA64, and Windows x64.

pDriverPath

A pointer to a null-terminated string that specifies a file name or a full path and file name for the file that contains the device driver (for example, C:\DRIVERS\Pscript.dll).

pDataFile

A pointer to a null-terminated string that specifies a file name or a full path and file name for the file that contains driver data (for example, C:\DRIVERS\Qms810.ppd).

pConfigFile

A pointer to a null-terminated string that specifies a file name or a full path and file name for the device driver's configuration dynamic-link library (for example, C:\DRIVERS\Pscrptui.dll).

pHelpFile

A pointer to a null-terminated string that specifies a file name or a full path and file name for the device driver's help file (for example, C:\DRIVERS\Pscrptui.hlp).

pDependentFiles

A pointer to a MultiSZ buffer that contains a sequence of null-terminated strings. Each null-terminated string in the buffer contains the name of a file the driver depends on. The sequence of strings is terminated by an empty, zero-length string. If pDependentFiles is not NULL and does not contain any file names, it will point to a buffer that contains two empty strings.

pMonitorName

A pointer to a null-terminated string that specifies a language monitor (for example, "PJL monitor"). This member can be NULL and should be specified only for printers capable of bidirectional communication.

pDefaultDataType

A pointer to a null-terminated string that specifies the default data type of the print job (for example, "EMF").

pszzPreviousNames

A pointer to a null-terminated string that specifies previous printer driver names that are compatible with this driver. For example, OldName1\0OldName2\0\0.

ftDriverDate

The date of the driver package, as coded in the driver files.

dwlDriverVersion

The version number of the driver. This comes from the version structure of the driver.

pszMfgName

A pointer to a null-terminated string that specifies the manufacturer's name.

pszOEMUrl

A pointer to a null-terminated string that specifies the URL for the manufacturer.

pszHardwareID

A pointer to a null-terminated string that specifies the hardware ID for the printer driver.

pszProvider

A pointer to a null-terminated string that specifies the provider of the printer driver (for example, "Microsoft Windows 2000").

pszPrintProcessor

A pointer to a null-terminated string that specifies the print processor (for example, "WinPrint").

pszVendorSetup

A pointer to a null-terminated string that specifies the vendor's driver setup DLL and entry point.

pszzColorProfiles

A pointer to a null-terminated string that specifies the color profiles associated with the driver.

pszInfPath

A pointer to a null-terminated string that specifies the path to the driver's .inf file in the driver store. (See Remarks.) This must be NULL if the DRIVER_INFO_8 is being passed to AddPrinterDriver or AddPrinterDriverEx.

dwPrinterDriverAttributes

Attribute flags for printer drivers. This must be 0 if the DRIVER_INFO_8 is being passed to AddPrinterDriver or AddPrinterDriverEx. Otherwise, it can be any combination of the following flags:

Flag name/value Meaning Minimum OS
PRINTER_DRIVER_PACKAGE_AWARE
0x00000001
The printer driver is part of a driver package. Windows Vista
PRINTER_DRIVER_XPS
0x00000002
The printer driver supports the Microsoft XPS format described in the XML Paper Specification: Overview, and also in Product Behavior, section <27>. Windows 8
Windows Server 2012
PRINTER_DRIVER_SANDBOX_ENABLED
0x00000004
The printer driver is compatible with printer driver isolation. For more information, see Product Behavior, section <28>. Windows 7
Windows Server 2008 R2
PRINTER_DRIVER_CLASS
0x00000008
The printer driver is a class printer driver. Windows 8
Windows Server 2012
PRINTER_DRIVER_DERIVED
0x00000010
The printer driver is a derived printer driver. Windows 8
Windows Server 2012
PRINTER_DRIVER_NOT_SHAREABLE
0x00000020
Printers using this printer driver cannot be shared. Windows 8
Windows Server 2012
PRINTER_DRIVER_CATEGORY_FAX
0x00000040
The printer driver is intended for use with fax printers. Windows 8
Windows Server 2012
PRINTER_DRIVER_CATEGORY_FILE
0x00000080
The printer driver is intended for use with file printers. Windows 8
Windows Server 2012
PRINTER_DRIVER_CATEGORY_VIRTUAL
0x00000100
The printer driver is intended for use with virtual printers. Windows 8
Windows Server 2012
PRINTER_DRIVER_CATEGORY_SERVICE
0x00000200
The printer driver is intended for use with service printers. Windows 8
Windows Server 2012
PRINTER_DRIVER_SOFT_RESET_REQUIRED
0x00000400
Printers that use this printer driver should follow the guidelines outlined in the USB Device Class Definition. For more information, see Product Behavior, section <36> Windows 8
Windows Server 2012

pszzCoreDriverDependencies

A pointer to a null-terminated multi-string that specifies all the core printer drivers that the driver depends on. This must be NULL if the DRIVER_INFO_8 is being passed to AddPrinterDriver or AddPrinterDriverEx.

ftMinInboxDriverVerDate

The earliest allowed date of any drivers that shipped with Windows and on which this driver depends.

dwlMinInboxDriverVerVersion

The earliest allowed version of any drivers that shipped with Windows and on which this driver depends.

Remarks

The strings for these members are contained in the .inf file that is used to add the driver.

Requirements

Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2008 [desktop apps only]
Header
Winspool.h (include Windows.h)
Unicode and ANSI names
_DRIVER_INFO_8W (Unicode) and _DRIVER_INFO_8A (ANSI)

See also

Printing

Print Spooler API Structures

AddPrinterDriver

AddPrinterDriverEx