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 |
|
Libreria |
|
DLL |
|
Nomi Unicode e ANSI |
AddPrinterConnection2W (Unicode) |