InstallPrinterDriverFromPackage 函数

从打印服务器的驱动程序存储中的驱动程序包安装打印机驱动程序。

语法

HRESULT InstallPrinterDriverFromPackage(
  _In_ LPCTSTR pszServer,
  _In_ LPCTSTR pszInfPath,
  _In_ LPCTSTR pszDriverName,
  _In_ LPCTSTR pszEnvironment,
  _In_ DWORD   dwFlags
);

参数

pszServer [in]

指向以 null 结尾的常量字符串的指针,该字符串指定打印服务器的名称。 NULL 表示本地计算机。

pszInfPath [in]

指向以 null 结尾的常量字符串的指针,该字符串指定打印驱动程序的 .inf 文件的驱动程序存储路径。 NULL 表示驱动程序位于 Windows 附带的 inf 文件中。

pszDriverName [in]

指向以 null 结尾的常量字符串的指针,该字符串指定驱动程序的名称。

pszEnvironment [in]

指向以 null 结尾的常量字符串的指针,该字符串指定处理器体系结构 (例如,Windows NT x86) 。 这可以为 NULL

dwFlags [in]

这只能是 0 或 IPDFP_COPY_ALL_FILES。 值 0 表示必须添加打印机驱动程序,并且必须复制打印机驱动程序目录中比当前正在使用的相应文件更新的任何文件。 值 IPDFP_COPY_ALL_FILES 表示必须添加打印机驱动程序和打印机驱动程序目录中的所有文件。 当 dwFlags 的值为 IPDFP_COPY_ALL_FILES 时,将忽略文件时间戳。

返回值

如果操作成功,则返回值S_OK,否则 HRESULT 将包含错误代码。

有关 COM 错误代码的详细信息,请参阅 错误处理

备注

注意

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

驱动程序存储通常是 %windir%\inf 或 %windir%\System32\DriverStore\FileRepository。

InstallPrinterDriverFromPackage 还会安装包中的其他文件,例如颜色配置文件和打印处理器。

当用户使用终端服务登录时,用户必须具有打印机管理权限才能安装到远程计算机或本地计算机上。

远程计算机上只能安装已签名的包。

要求

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

Winspool.lib
DLL
Spoolss.dll
Unicode 和 ANSI 名称
InstallPrinterDriverFromPackageW (Unicode) 和 InstallPrinterDriverFromPackageA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数