描述
添加与当前用户的指定打印机的连接,并指定连接详细信息。
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)