共用方式為


AddPrinterConnection2 函式

將連線新增至目前使用者的指定印表機,並指定連線詳細資料。

語法

BOOL AddPrinterConnection2(
  _In_ HWND    hWnd,
  _In_ LPCTSTR pszName,
       DWORD   dwLevel,
  _In_ PVOID   pConnectionInfo
);

參數

hWnd [in]

如果列印系統必須從列印伺服器下載印表機驅動程式以進行此連線,則會顯示對話方塊的父視窗控制碼。

pszName [in]

常數 Null 終止字串的指標,指定目前使用者想要連接的印表機名稱。

dwLevel

pConnectionInfo所指向的結構版本。 目前只會定義層級 1,因此 dwLevel 的值必須是 1。

pConnectionInfo [in]

PRINTER_CONNECTION_INFO_1結構的指標。 如需此參數的詳細資訊,請參閱一節。

傳回值

如果函式成功,則傳回值是非零值。

如果此函式失敗,則傳回值為零。 如需擴充錯誤資訊,請呼叫 GetLastError

備註

注意

這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於執行時間因素,例如網路狀態、列印伺服器組態,以及難以在撰寫應用程式時預測的印表機驅動程式實作因素。 從管理與使用者介面互動的執行緒呼叫此函式,可能會讓應用程式看起來沒有回應。

當 Windows Vista 連接到印表機時,可能需要從印表機連接的伺服器複製印表機驅動程式檔案。 如果使用者沒有將檔案複製到適當位置的許可權, AddPrinterConnection2 函式會失敗, GetLastError 會傳回ERROR_ACCESS_DENIED。

如果印表機驅動程式檔案必須從列印伺服器複製,但無法以無訊息方式複製,因為群組原則生效,且PRINTER_CONNECTION_NO_UI是在 pConnectionInfo-dwFlags >中設定,則不會顯示任何對話方塊,而且呼叫將會失敗。

如果本機印表機驅動程式可用來轉譯此印表機的列印工作,且本機驅動程式的版本必須與伺服器上的印表機驅動程式版本不符,請在 pConnectionInfo-dwFlags > 中設定PRINTER_CONNECTION_MISMATCH,並將指標指派給字串變數,其中包含本機印表機驅動程式的路徑至 pConnectionInfo-pszDriverName >

呼叫 AddPrinterConnection2 所建立的印表機連線會在呼叫 enumPrinters 時列舉,並將 dwType 設定為 PRINTER_ENUM_CONNECTION。

不支援此函式的 ANSI 版本 AddPrinterConnection2A,並傳回 ERROR_NOT_SUPPORTED

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
標頭
Winspool.h (包含 Windows.h)
程式庫
Winspool.lib
DLL
Winspool.drv
Unicode 與 ANSI 名稱
AddPrinterConnection2W (Unicode)

另請參閱

列印

列印多工緩衝處理器 API 函式

ConnectToPrinterDlg

EnumPrinters

DeletePrinterConnection