勇芳软件工作室.汉化:  Printing > Print Spooler API > Print Spooler API Reference > Print Spooler API Functions >

AddPrinterConnection2 (Vista)

Previous pageReturn to chapter overviewNext page

描述

 

添加与当前用户的指定打印机的连接,并指定连接详细信息。

 

C++ 语法

 

BOOL AddPrinterConnection2(

__in HWND hWnd,

__in LPCTSTR pszName,

__in DWORD dwLevel,

__in PVOID pConnectionInfo

);

 

PowerBASIC 语法

 

FUNCTION AddPrinterConnection2A ( _

BYVAL hWnd AS DWORD, _

BYREF pszName AS ASCIIZ, _

BYVAL dwLevel AS DWORD, _

BYREF pConnectionInfo AS ANY _

) AS LONG

 

Unicode版本:

 

FUNCTION AddPrinterConnection2W ( _

BYVAL hWnd AS DWORD, _

BYREF pszName AS WSTRINGZ, _

BYVAL dwLevel AS DWORD, _

BYREF pConnectionInfo AS ANY _

) AS LONG

 

参数

 

hWnd

 

[in]如果打印系统必须从用于此连接的打印服务器下载打印机驱动程序,则父窗口的句柄将显示对话框。

 

pszName

 

[in]一个指向常量空值终止字符串的指针,指定当前用户希望连接的打印机的名称。

 

dwLevel

 

[in]指定pConnectionInfo指向的结构的版本。目前,只定义1级,因此dwLevel的值必须为1。

 

pConnectionInfo

 

[in]指向PRINTER_CONNECTION_INFO_1结构的指针。有关此参数的更多信息,请参阅备注部分。

 

返回值

 

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

 

如果函数失败,返回值为零。有关扩展错误信息,请调用GetLastError.

 

备注

 

当Windows Vista连接到打印机时,可能需要从打印机所连接的服务器复制打印机驱动程序文件。如果用户没有将文件复制到相应位置的权限,则AddPrinterConnection2功能失败,GetLastError返回ERROR_ACCESS_DENIED。

 

如果打印机驱动程序文件必须从打印服务器复制,但由于在pConnectionInfo.dwFlags中设置了PRINTER_CONNECTION_NO_UI的组策略而无法静默地复制打印机驱动程序文件,则不会显示对话框,并且调用将失败。

 

如果可以使用本地打印机驱动程序来为此打印机呈现打印作业,并且本地驱动程序的版本与服务器上的打印机驱动程序版本不匹配,请将pConnectionInfo.dwFlags中的PRINTER_CONNECTION_MISMATCH设置为一个字符串变量,包含本地打印机驱动程序的路径pConnectionInfo.pszDriverName.

 

当使用dwType设置为PRINTER_ENUM_CONNECTION调用EnumPrinters时调用AddPrinterConnection2建立的打印机连接将被枚举。

 

此函数的ANSI版本AddPrinterConnection2A不受支持,并返回ERROR_NOT_SUPPORTED。

 

引用文件 #INCLUDE Once

 

WinSpool.inc(包括Windows.inc)