AddPrinterDriver 函数

AddPrinterDriver 函数安装本地或远程打印机驱动程序,并关联配置、数据和驱动程序文件。

若要在安装或升级打印机驱动程序时获得更大的灵活性,请使用 AddPrinterDriverEx 函数,因为它允许严格升级、严格降级、仅复制较新的文件,以及复制所有文件 (而不考虑文件时间戳) 。

注意

不再建议在没有驱动程序包的情况下安装打印机驱动程序。 请改用 InstallPrinterDriverFromPackage

语法

BOOL AddPrinterDriver(
  _In_ LPTSTR pName,
  _In_ DWORD  Level,
  _In_ LPBYTE pDriverInfo
);

参数

pName [in]

指向以 null 结尾的字符串的指针,该字符串指定应安装驱动程序的服务器的名称。

如果 pNameNULL,则将在本地安装驱动程序。

级别 [in]

pDriverInfo 指向的结构的版本。

此值可以是 2、3、4、6 或 8。

pDriverInfo [in]

指向包含打印机驱动程序信息的 结构的指针。 这取决于 Level 的值。

打印机驱动器结构
2 DRIVER_INFO_2
3 DRIVER_INFO_3
4 DRIVER_INFO_4
6 DRIVER_INFO_6
8 DRIVER_INFO_8

如果 pDriverInfo 指向的结构的 pEnvironment 成员为 NULL,则使用调用方/客户端 (的当前环境,而不是目标/服务器) 。

返回值

如果函数成功,则返回值为非零值。

如果函数失败,则返回值为零。

注解

注意

这是一个阻塞或同步函数,可能不会立即返回。 此函数的返回速度取决于运行时因素,例如网络状态、打印服务器配置以及编写应用程序时难以预测的打印机驱动程序实现因素。 从管理与用户界面交互的线程调用此函数可能会使应用程序看起来无响应。

调用方必须具有 SeLoadDriverPrivilege

在应用程序调用 AddPrinterDriver 函数之前,必须将驱动程序所需的所有文件复制到系统的打印机驱动程序目录。 应用程序可以通过调用 GetPrinterDriverDirectory 函数来检索此目录的名称。

应用程序可以通过调用 EnumPrinterDrivers 函数来确定当前安装的打印机驱动程序。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winspool.h (包括 Windows.h)

Winspool.lib
DLL
Winspool.drv
Unicode 和 ANSI 名称
AddPrinterDriverW (Unicode) 和 AddPrinterDriverA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数

AddPrinterDriverEx

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_6

EnumPrinterDrivers

GetPrinterDriverDirectory