Funzione DeletePrinterDriverEx

La funzione DeletePrinterDriverEx rimuove il nome del driver della stampante specificato dall'elenco dei nomi dei driver supportati in un server ed elimina i file associati al driver. Questa funzione può anche eliminare versioni specifiche del driver.

Sintassi

BOOL DeletePrinterDriverEx(
  _In_ LPTSTR pName,
  _In_ LPTSTR pEnvironment,
  _In_ LPTSTR pDriverName,
  _In_ DWORD  dwDeleteFlag,
  _In_ DWORD  dwVersionFlag
);

Parametri

pName [in]

Puntatore a una stringa con terminazione Null che specifica il nome del server da cui eliminare il driver. Se questo parametro è NULL, la funzione elimina il driver della stampante dal computer locale.

pEnvironment [in]

Puntatore a una stringa con terminazione Null che specifica l'ambiente da cui eliminare il driver, ad esempio Windows NT x86, Windows IA64 o Windows x64. Se questo parametro è NULL, il nome del driver viene eliminato dall'ambiente corrente dell'applicazione chiamante e del computer client (non dell'applicazione di destinazione e del server di stampa).

pDriverName [in]

Puntatore a una stringa con terminazione Null che specifica il nome del driver da eliminare.

dwDeleteFlag [in]

Opzioni per l'eliminazione di file e versioni del driver. Questo parametro può essere uno o più dei valori seguenti.

Valore Significato
DPD_DELETE_SPECIFIC_VERSION
Elimina la versione specificata in dwVersionFlag. Ciò non garantisce che il driver venga rimosso dall'elenco dei driver supportati per il server.
DPD_DELETE_UNUSED_FILES
Rimuove tutti i file di driver inutilizzati.
DPD_DELETE_ALL_FILES
Elimina il driver solo se è possibile rimuovere tutti i file associati. L'operazione di eliminazione ha esito negativo se uno dei file del driver viene usato da un altro driver installato.

Se non viene specificato DPD_DELETE_SPECIFIC_VERSION, la funzione elimina tutte le versioni del driver se nessuna di esse è in uso. Se non viene specificato né DPD_DELETE_UNUSED_FILES né DPD_DELETE_ALL_FILES, la funzione non elimina i file del driver.

dwVersionFlag [in]

Versione del driver da eliminare. Questo parametro può essere 0, 1, 2 o 3. Questo parametro viene usato solo se dwDeleteFlag include il flag DPD_DELETE_SPECIFIC_VERSION.

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.

Prima che la funzione elimini i file del driver, chiama la funzione DrvDriverEvent del driver, consentendo al driver di rimuovere tutti i file privati che non vengono usati. Per altre informazioni su DrvDriverEvent, vedere Microsoft Windows Driver Development Kit (DDK).

Se i file del driver sono attualmente caricati, la funzione li sposta in una directory temporanea e li contrassegna per l'eliminazione al riavvio.

Prima di chiamare DeletePrinterDriverEx, è necessario eliminare tutti gli oggetti stampante che usano il driver della stampante.

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
DeletePrinterDriverExW (Unicode) e DeletePrinterDriverExA (ANSI)

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

AddPrinterDriverEx