Funzione AddPrinterDriver

La funzione AddPrinterDriver installa un driver della stampante locale o remota e associa i file di configurazione, dati e driver.

Per una maggiore flessibilità nell'installazione o nell'aggiornamento dei driver della stampante, usare la funzione AddPrinterDriverEx perché consente un aggiornamento rigoroso, un downgrade rigoroso, la copia solo dei file più recenti e la copia di tutti i file (indipendentemente dai timestamp dei file).

Nota

L'installazione di un driver della stampante senza un pacchetto driver non è più consigliata. Usare invece InstallPrinterDriverFromPackage .

Sintassi

BOOL AddPrinterDriver(
  _In_ LPTSTR pName,
  _In_ DWORD  Level,
  _In_ LPBYTE pDriverInfo
);

Parametri

pName [in]

Puntatore a una stringa con terminazione Null che specifica il nome del server in cui deve essere installato il driver.

Se pName è NULL, il driver verrà installato in locale.

Livello [in]

Versione della struttura a cui punta pDriverInfo .

Questo valore può essere 2, 3, 4, 6 o 8.

pDriverInfo [in]

Puntatore a una struttura contenente informazioni sul driver della stampante. Dipende dal valore di Level.

Valore Struttura unità stampante
2 DRIVER_INFO_2
3 DRIVER_INFO_3
4 DRIVER_INFO_4
6 DRIVER_INFO_6
8 DRIVER_INFO_8

Se il membro pEnvironment della struttura a cui punta pDriverInfo è NULL, viene usato l'ambiente corrente del chiamante/client (non della destinazione/server).

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.

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.

Il chiamante deve avere SeLoadDriverPrivilege.

Prima che un'applicazione chiami la funzione AddPrinterDriver , tutti i file richiesti dal driver devono essere copiati nella directory del driver della stampante del sistema. Un'applicazione può recuperare il nome di questa directory chiamando la funzione GetPrinterDriverDirectory .

Un'applicazione può determinare quali driver della stampante sono attualmente installati chiamando la funzione EnumPrinterDrivers .

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Winspool.h (include Windows.h)
Libreria
Winspool.lib
DLL
Winspool.drv
Nomi Unicode e ANSI
AddPrinterDriverW (Unicode) e AddPrinterDriverA (ANSI)

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

AddPrinterDriverEx

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_6

EnumPrinterDrivers

Getprinterdriverdirectory