DRIVER_UPGRADE_INFO_2 结构 (winddiui.h)

DRIVER_UPGRADE_INFO_2 结构用作打印机接口 DLL 的 DrvUpgradePrinter 函数的输入。

语法

typedef struct _DRIVER_UPGRADE_INFO_2 {
  LPTSTR pPrinterName;
  LPTSTR pOldDriverDirectory;
  DWORD  cVersion;
  LPTSTR pName;
  LPTSTR pEnvironment;
  LPTSTR pDriverPath;
  LPTSTR pDataFile;
  LPTSTR pConfigFile;
  LPTSTR pHelpFile;
  LPTSTR pDependentFiles;
  LPTSTR pMonitorName;
  LPTSTR pDefaultDataType;
  LPTSTR pszzPreviousNames;
} DRIVER_UPGRADE_INFO_2, *PDRIVER_UPGRADE_INFO_2;

成员

pPrinterName

指向以 NULL 结尾的字符串的指针,该字符串指定打印机的名称。 有关详细信息,请参见“备注”部分。

pOldDriverDirectory

指向以 NULL 结尾的字符串的指针,该字符串指定可在其中找到旧打印机驱动程序文件的本地目录。

cVersion

指定为其编写驱动程序的操作系统版本。

操作系统
0 Windows 95/98/Me
1 Windows NT 3.1 到 Windows NT 3.51
2 Windows NT 4.0
3 Windows 2000 及更高版本

pName

指向以 NULL 结尾的字符串的指针,该字符串指定驱动程序的名称 (例如“QMS 810”) 。 有关详细信息,请参见“备注”部分。

pEnvironment

指向以 NULL 结尾的字符串的指针,该字符串指定 (为其编写驱动程序的环境,例如“Windows NT x86”或“Windows Itanium”) 。

pDriverPath

指向以 NULL 结尾的字符串的指针,该字符串指定包含设备驱动程序 (的文件的文件名或完整路径,例如“pscript.dll”) 。

pDataFile

指向以 NULL 结尾的字符串的指针,该字符串指定文件名或包含驱动程序数据的文件的完整路径和文件名 (例如“qms810.ppd”) 。

pConfigFile

指向以 NULL 结尾的字符串的指针,该字符串指定设备驱动程序的配置动态链接库 (的文件名或完整路径和文件名,例如“pscrptui.dll”) 。

pHelpFile

指向以 null 结尾的字符串的指针,该字符串指定设备驱动程序的帮助文件的文件名或完整路径和文件名。

pDependentFiles

指向以 NULL 结尾的字符串的指针,该字符串指定驱动程序所依赖的文件。 字符串中的每个文件名也以 null 字符 (结尾,例如“pscript.dll\0qms810.ppd\0pscrptui.dll\0pscrptui.hlp\0pstest.txt\0\0”) 。

pMonitorName

指向以 NULL 结尾的字符串的指针,该字符串指定语言监视器 (例如“PJL 监视器”) 。 此成员可以为 NULL ,应仅针对能够进行双向通信的打印机指定为非 NULL

pDefaultDataType

指向以 NULL 结尾的字符串的指针,该字符串指定打印作业的默认数据类型 (例如“EMF”) 。

pszzPreviousNames

指向以 NULL 结尾的字符串的指针,该字符串指定与此驱动程序兼容的任何以前的打印机驱动程序名称, (例如“OldName1\0OldName2\0\0”) 。

注解

当使用其 pDriverUpgradeInfo 参数指向DRIVER_UPGRADE_INFO_2结构调用 DrvUpgradePrinter 时, pPrinterName 成员指向包含要更新的打印机名称的字符串。 pName 成员指向包含要更新的打印机驱动程序名称的字符串,该名称不一定是 pPrinterName 成员指向其名称的打印机的驱动程序。

若要了解这种情况如何发生,假设一台计算机连接到两台打印机,一台打印机的驱动程序名为“Acme 绘图器”,另一台的驱动程序名为“Acme RasterMaster”。 还假设两个驱动程序共享一个通用驱动程序文件,plotui.dll。 通过调用 Microsoft Windows SDK 文档) 中所述的 AddPrinterDriverEx 函数 (更新“Acme 绘图器”驱动程序时,两个打印机都会调用 DrvUpgradePrinter,因为两个驱动程序都使用受升级影响的文件。 在这两个调用中, pName 成员指向“Acme Plotter”,即调用 AddPrinterDriverEx 中使用的打印机驱动程序的名称。 但是, pPrinterName 成员指向的字符串在对 DrvUpgradePrinter 的两次调用中都不同。 在每次调用中, pPrinterName 指向要更新的打印机的名称。

要求

要求
Header winddiui.h (包括 Winddiui.h)

另请参阅

DRIVER_UPGRADE_INFO_1

DrvUpgradePrinter