UploadPrinterDriverPackage 函数

将打印机驱动程序上传到打印服务器的驱动程序存储,以便可以通过调用 InstallPrinterDriverFromPackage 来安装它。

语法

HRESULT UploadPrinterDriverPackage(
  _In_    LPCTSTR pszServer,
  _In_    LPCTSTR pszInfPath,
  _In_    LPCTSTR pszEnvironment,
  _In_    DWORD   dwFlags,
  _In_    HWND    hwnd,
  _Out_   LPTSTR  pszDestInfPath,
  _Inout_ PULONG  pcchDestInfPath
);

参数

pszServer [in]

指向以 null 结尾的常量字符串的指针,该字符串指定打印服务器的名称。 如果服务器是本地计算机,请使用 NULL

pszInfPath [in]

指向常量 、null 结尾字符串的指针,该字符串指定驱动程序的 .inf 文件的源路径。

pszEnvironment [in]

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

dwFlags [in]

这可以是以下任何值:

含义
UPDP_SILENT_UPLOAD
在上传过程中不会显示 UI。
UPDP_UPLOAD_ALWAYS
即使包已位于服务器的驱动程序存储中,也会上传文件。
UPDP_CHECK_DRIVERSTORE
在上传之前,将检查服务器的驱动程序存储,以查看包是否已存在。 如果设置了UPDP_UPLOAD_ALWAYS,则忽略此设置。

hwnd [in]

复制用户界面的句柄。

pszDestInfPath [out]

指向驱动程序存储中的目标路径的指针,驱动程序的 .inf 文件已复制到该路径。

pcchDestInfPath [in, out]

输入时,指定 pszDestInfPath 缓冲区的大小(以字符为单位)。 在输出时,接收路径字符串的大小(以字符为单位),包括终止 null 字符。

返回值

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

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

备注

注意

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

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

一次只能上传一个包。 如果包依赖于其他包,则必须单独上传它们。

只能上传已签名的驱动程序包。

要求

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

Winspool.lib
DLL
Spoolss.dll
Unicode 和 ANSI 名称
UploadPrinterDriverPackageW (Unicode) 和 UploadPrinterDriverPackageA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数