DRIVER_INFO_8A structure (winspool.h)

The DRIVER_INFO_8 structure contains printer driver information.

Syntax

typedef struct _DRIVER_INFO_8A {
  DWORD     cVersion;
  LPSTR     pName;
  LPSTR     pEnvironment;
  LPSTR     pDriverPath;
  LPSTR     pDataFile;
  LPSTR     pConfigFile;
  LPSTR     pHelpFile;
  LPSTR     pDependentFiles;
  LPSTR     pMonitorName;
  LPSTR     pDefaultDataType;
  LPSTR     pszzPreviousNames;
  FILETIME  ftDriverDate;
  DWORDLONG dwlDriverVersion;
  LPSTR     pszMfgName;
  LPSTR     pszOEMUrl;
  LPSTR     pszHardwareID;
  LPSTR     pszProvider;
  LPSTR     pszPrintProcessor;
  LPSTR     pszVendorSetup;
  LPSTR     pszzColorProfiles;
  LPSTR     pszInfPath;
  DWORD     dwPrinterDriverAttributes;
  LPSTR     pszzCoreDriverDependencies;
  FILETIME  ftMinInboxDriverVerDate;
  DWORDLONG dwlMinInboxDriverVerVersion;
} DRIVER_INFO_8A, *PDRIVER_INFO_8A, *LPDRIVER_INFO_8A;

Members

cVersion

This member specifies the operating system version for which the driver was written. Currently it can be the following.

Value Meaning
3 Driver for Microsoft Windows 2000, XP, or Windows Vista.

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, Microsoft Windows 7, 8, or Windows ServerĀ 2012).

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

Pointer to a Multi-SZ string that contains the names of the files on which the driver depends. The file names are stored as a contiguous series of zero-terminated strings followed by an empty string. For example, Pscript.dll\0QMS810.ppd\0Pscriptui.dll\0Pscriptui.hlp\0Pstest.txt\0\0, where \0 represents the terminating null character.

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 any 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 out of 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 8").

pszPrintProcessor

A pointer to a null-terminated string that specifies the name of the print processor associated with the printer driver.

pszVendorSetup

A pointer to a null-terminated string that specifies the vendor setup DLL and entry point for vendor setup that is associated with the printer driver.

pszzColorProfiles

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

pszInfPath

A pointer to a null-terminated string that specifies the path of the INF file inside the driver store from which the printer driver was installed. Must be NULL if using the AddPrinterDriver or AddPrinterDriverEx functions with DRIVER_INFO_8.

dwPrinterDriverAttributes

This member specifies printer driver related properties. Must be zero if using the AddPrinterDriver or AddPrinterDriverEx functions with DRIVER_INFO_8. The following table shows the flags that have been defined for the dwPrinterDriverAttributes parameter.

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 USB Device Class Definition. For more information, see Product Behavior, section <36> Windows 8

Windows Server 2012
PRINTER_DRIVER_CATEGORY_3D

0x00001000
The printer driver is intended for use with 3D printers. Windows 8

Windows Server 2012

pszzCoreDriverDependencies

A pointer to a null-terminated string that contains all the core printer driver dependencies for the driver package that are defined by pszInfPath. Must be NULL if using the AddPrinterDriver or AddPrinterDriverEx functions with DRIVER_INFO_8.

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.

If you call AddPrinterDriver or AddPrinterDriverEx with Level not equal to 6 or 8, and then you call GetPrinterDriver or EnumPrinterDrivers with Level equal to 6 or 8, the DRIVER_INFO_8 structure is returned with pszMfgName, pszOEMUrl, pszHardwareID, and pszProvider set to NULL, dwlDriverVersion set to zero, and ftDriverDate set to (0,0).

Requirements

Requirement Value
Header winspool.h (include Winspool.h)