GetPrinterDriverPackagePath 函数

检索打印服务器上指定打印机驱动程序包的路径。

语法

HRESULT GetPrinterDriverPackagePath(
  _In_    LPCTSTR pszServer,
  _In_    LPCTSTR pszEnvironment,
  _In_    LPCTSTR pszLanguage,
  _In_    LPCTSTR pszPackageID,
  _Inout_ LPTSTR  pszDriverPackageCab,
  _In_    DWORD   cchDriverPackageCab,
  _Out_   LPDWORD pcchRequiredSize
);

参数

pszServer [in]

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

pszEnvironment [in]

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

pszLanguage [in]

指向常量、以 null 结尾的字符串的指针,该字符串指定所安装的驱动程序的 多语言用户界面 语言。 这可以是 NULL

pszPackageID [in]

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

pszDriverPackageCab [in, out]

指向以 null 结尾的字符串的指针,该字符串指定驱动程序包的内阁文件的路径。 这可以是 NULL。 请参阅“备注”。

cchDriverPackageCab [in]

pszDriverPackageCab 缓冲区的大小(以字符为单位)。 这可以是 NULL

pcchRequiredSize [out]

指向 pszDriverPackageCab 缓冲区所需大小的指针。

返回值

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

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

备注

注意

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

若要获取 cchDriverPackageCab 的值,请使用 NULL 调用 函数作为 pszDriverPackageCab 的值。 使用 pcchRequiredSize 中返回的值作为 cchDriverPackageCab 的值,然后再次调用函数。

pszPackageID 通常是从调用 GetCorePrinterDrivers 获取的

要求

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

Winspool.lib
DLL
Spoolss.dll
Unicode 和 ANSI 名称
GetPrinterDriverPackagePathW (Unicode) 和 GetPrinterDriverPackagePathA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数