Condividi tramite


Funzione AddPrinterConnection2

Aggiunge una connessione alla stampante specificata per l'utente corrente e specifica i dettagli di connessione.

Sintassi

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

Parametri

hWnd [in]

Handle per la finestra padre in cui verrà visualizzata la finestra di dialogo se il sistema di stampa deve scaricare un driver della stampante dal server di stampa per questa connessione.

pszName [in]

Puntatore a una stringa costante con terminazione Null che specifica il nome della stampante a cui l'utente corrente desidera connettersi.

dwLevel

Versione della struttura a cui punta pConnectionInfo. Attualmente, viene definito solo il livello 1, quindi il valore di dwLevel deve essere 1.

pConnectionInfo [in]

Puntatore a una struttura PRINTER_CONNECTION_INFO_1 . Per altre informazioni su questo parametro, vedere la sezione Osservazioni.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni sugli errori estesi, chiamare GetLastError.

Commenti

Nota

Si tratta di una funzione di blocco o sincrona e potrebbe non restituire immediatamente. La velocità di restituzione di questa funzione dipende da fattori di runtime come lo stato della rete, la configurazione del server di stampa e i fattori di implementazione del driver della stampante difficili da prevedere durante la scrittura di un'applicazione. Chiamando questa funzione da un thread che gestisce l'interazione con l'interfaccia utente, l'applicazione potrebbe sembrare non rispondente.

Quando Windows Vista stabilisce una connessione a una stampante, potrebbe essere necessario copiare i file del driver della stampante dal server a cui è collegata la stampante. Se l'utente non dispone dell'autorizzazione per copiare i file nel percorso appropriato, la funzione AddPrinterConnection2 ha esito negativo e GetLastError restituisce ERROR_ACCESS_DENIED.

Se i file del driver della stampante devono essere copiati dal server di stampa ma non possono essere copiati automaticamente a causa dei criteri di gruppo attivi e PRINTER_CONNECTION_NO_UI è impostato in pConnectionInfo-dwFlags>, non verranno visualizzate finestre di dialogo e la chiamata avrà esito negativo.

Se è possibile usare il driver della stampante locale per eseguire il rendering dei processi di stampa per questa stampante e la versione del driver locale non deve corrispondere alla versione del driver della stampante nel server, impostare PRINTER_CONNECTION_MISMATCH in pConnectionInfo-dwFlags> e assegnare il puntatore a una variabile stringa contenente il percorso del driver della stampante locale a pConnectionInfo-pszDriverName>.

Una connessione alla stampante stabilita chiamando AddPrinterConnection2 verrà enumerata quando viene chiamato EnumPrinters con dwType impostato su PRINTER_ENUM_CONNECTION.

La versione ANSI di questa funzione , AddPrinterConnection2A, non è supportata e restituisce ERROR_NOT_SUPPORTED.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2008 [solo app desktop]
Intestazione
Winspool.h (include Windows.h)
Libreria
Winspool.lib
DLL
Winspool.drv
Nomi Unicode e ANSI
AddPrinterConnection2W (Unicode)

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

ConnectToPrinterDlg

Enumprinters

DeletePrinterConnection