Condividi tramite


Funzioni definite dai provider di stampa

Avviso

A partire da Windows 10, le API che supportano provider di stampa di terze parti sono deprecate. Microsoft non consiglia alcun investimento nei provider di stampa di terze parti. Inoltre, nei Windows 8 e nei prodotti più recenti in cui è disponibile il modello di driver di stampa v4, i provider di stampa di terze parti potrebbero non creare o gestire code che usano i driver di stampa v4.

Questo argomento elenca tutte le funzioni che un provider di stampa può fornire. La maggior parte di queste funzioni è descritta nella documentazione di Microsoft Windows SDK. Se la funzione è descritta in Windows Driver Kit (WDK), il nome della funzione fornisce un collegamento alla pagina di riferimento associata.

Tutti i provider di stampa devono fornire puntatori per tutte le funzioni elencate. Tuttavia, la maggior parte dei provider di stampa forniti dal fornitore è "provider parziali" che non devono supportare molte delle operazioni definite dalle funzioni. Pertanto, molti puntatori di funzione possono essere NULL. Per altre informazioni sui provider di stampa parziali, vedere Scrittura di un provider di stampa di rete.

Negli elenchi di funzioni seguenti le funzioni che devono essere supportate sono etichettate come "Obbligatorio".

Tutti i provider di stampa devono esportare la funzione di inizializzazione, InitializePrintProvidor. I puntatori a tutte le altre funzioni devono essere forniti in una struttura PRINTPROVIDOR . Si noti che questi due nomi vengono ignorati, ma sono coerenti con i nomi visualizzati nel file di intestazione, Winsplp.h.

Le funzioni sono suddivise in gruppi e presentate nelle sezioni seguenti:

  • Funzione di inizializzazione

  • Funzioni di gestione della coda di stampa

  • Funzioni di gestione dei driver della stampante

  • Funzioni di creazione di processi di stampa

  • Funzioni di pianificazione dei processi di stampa

  • Funzioni di gestione dei moduli

  • Funzioni di gestione del processore di stampa

  • Funzioni di gestione del monitoraggio di stampa

  • Funzioni di gestione delle porte

  • Funzioni di gestione del Registro di sistema

  • Altre funzioni

Funzione di inizializzazione

Funzione Descrizione
InitializePrintProvidor (Obbligatorio) Inizializza il provider di stampa e restituisce puntatori alle funzioni fornite.
Funzione Descrizione
Addprinter Aggiunge una coda di stampa all'elenco di quelli gestiti dal provider di stampa e associa un processore di stampa alla coda di stampa.
AddPrinterConnection Crea una connessione alla coda di stampa specificata.
ClosePrinter (obbligatorio) Disabilita l'accesso del chiamante a una coda di stampa specificata.
DeletePrinter Elimina una coda di stampa dall'elenco di quelli gestiti dal provider di stampa.
DeletePrinterConnection Rimuove una connessione alla coda di stampa specificata.
EnumPrinters (obbligatorio) Enumera l'elenco delle code di stampa attualmente gestite dal provider di stampa.
FindClosePrinterChangeNotification Disabilita le notifiche di modifica della stampante abilitate da FindFirstPrinterChangeNotification.
FindFirstPrinterChangeNotification Restituisce un handle a un oggetto wait che il chiamante può usare per attendere gli eventi della stampante specificati.
GetPrinter (obbligatorio) Restituisce i valori dei parametri correnti per una coda di stampa specificata.
OpenPrinter (obbligatorio) Abilita l'accesso del chiamante a una coda di stampa specificata.
RefreshPrinterChangeNotification Chiamato dal router se il client chiama FindNextPrinterChangeNotification con il flag di PRINTER_NOTIFY_OPTIONS_REFRESH impostato.
ResetPrinter Modifica il tipo di dati di una coda di stampa o la struttura DEVMODEW .
SetPrinter (obbligatorio) Imposta i parametri per una coda di stampa specificata.
WaitForPrinterChange Obsoleta.

Funzioni di gestione dei driver della stampante

Funzione Descrizione
Addprinterdriver Aggiunge i file driver della stampante specificati a un server specificato.
AddPrinterDriverEx Uguale a AddPrinterDriver, con parametri aggiuntivi.
DeletePrinterDriver Elimina l'accesso ai file driver della stampante specificati in un server specificato.
DeletePrinterDriverEx Uguale a DeletePrinterDriver, con parametri aggiuntivi.
EnumPrinterDrivers Restituisce un elenco di driver di stampante aggiunti a un server specificato chiamando AddPrinterDriver o AddPrinterDriverEx.
Getprinterdriver Restituisce informazioni su un driver della stampante, che il chiamante può quindi passare a AddPrinterDriver. Le informazioni restituite vengono in genere ottenute da un file INF.
[GetPrinterDriverEx Uguale a GetPrinterDriver, con parametri aggiuntivi.
Getprinterdriverdirectory Restituisce il nome della directory del driver della stampante del server.
Funzione Descrizione
AbortPrinter (obbligatorio) Tenta di eliminare il processo corrente dalla coda di stampa specificata.
AddJob (obbligatorio) Restituisce un identificatore del processo e un percorso di file di spool. Il chiamante usa CreateFile e WriteFile per inviare dati al file di spool.
EndDocPrinter (obbligatorio) Esegue operazioni di completamento del processo.
EndPagePrinter Esegue operazioni di completamento pagina.
ReadPrinter Ottiene informazioni sullo stato da una stampante bidirezionale.
ScheduleJob (obbligatorio) Informa il provider che un processo specificato può essere pianificato. Il processo viene specificato da un identificatore di processo restituito in precedenza da AddJob.
StartDocPrinter (obbligatorio) Prepara il provider di stampa per iniziare a spooling di un processo di stampa.
StartPagePrinter Prepara il provider di stampa per ricevere una pagina del processo di stampa.
WritePrinter (obbligatorio) Riceve una parte del flusso di dati del processo di stampa.

Nota

AddJob... La sequenza ScheduleJob è un'alternativa a StartDocPrinter... Sequenza EndDocPrinter.

Funzione Descrizione
EnumJobs (obbligatorio) Restituisce un elenco di processi di stampa pianificati.
GetJob (obbligatorio) Restituisce i parametri del processo.
SetJob (obbligatorio) Annulla, sospende, riprende o riavvia un processo di stampa o imposta i parametri del processo.

Funzioni di gestione dei moduli

Funzione Descrizione
AddForm Aggiunge un modulo specificato all'elenco di quelli disponibili per una stampante specificata.
DeleteForm Rimuove un modulo specificato dall'elenco di quelli disponibili per una stampante specificata.
EnumForms Restituisce un elenco di moduli disponibili per una stampante specificata.
GetForm Restituisce le caratteristiche di un modulo specificato.
SetForm Modifica le caratteristiche di un modulo specificato.
Funzione Descrizione
AddPrintProcessor Installa un processore di stampa nel server specificato e lo aggiunge all'elenco di quelli che il provider di stampa può chiamare.
DeletePrintProcessor Elimina un processore di stampa dall'elenco di quelli che il provider di stampa può chiamare.
EnumPrintProcessorDataTypes Restituisce un elenco dei tipi di dati supportati dai processori di stampa chiamabili dal provider di stampa.
EnumPrintProcessors Restituisce l'elenco dei processori di stampa che il provider di stampa può chiamare.
GetPrintProcessorDirectory Restituisce il percorso della directory in cui devono essere archiviati i file del processore di stampa.
Funzione Descrizione
AddMonitor Aggiunge un monitoraggio di stampa all'elenco di quelli che il provider di stampa può chiamare.
DeleteMonitor Elimina un monitor di stampa dall'elenco di quelli che il provider di stampa può chiamare.
EnumMonitors Restituisce l'elenco dei monitoraggi di stampa che il provider di stampa può chiamare.

Funzioni di gestione delle porte

Funzione Descrizione
AddPort Aggiunge una porta della stampante all'elenco di quelli disponibili, in genere chiamando la funzione AddPortUI del monitoraggio della porta specificata.
AddPortEx(/previous-version/ff545025(v%3dvs.85)) Uguale a AddPort, con parametri aggiuntivi.
ConfigurePort (obbligatorio) Configura una porta della stampante, in genere chiamando la funzione ConfigurePortUI del monitor della porta specificata.
DeletePort (obbligatorio) Elimina una porta della stampante dall'elenco di quelli disponibili, in genere chiamando la funzione DeletePortUI del monitor della porta specificata.
EnumPorts (obbligatorio) Restituisce un elenco delle porte della stampante disponibili.
SetPort Imposta i parametri per una porta della stampante specificata.

Funzioni di gestione del Registro di sistema

Funzione Descrizione
DeletePrinterData Elimina il valore attualmente assegnato a un nome valore specificato, nella chiave PrinterDriverData della stampante specificata.
DeletePrinterDataEx Uguale a DeletePrinterData, con parametri aggiuntivi.
DeletePrinterKey Elimina una chiave specificata e le relative sottochiavi, se attualmente vengono archiviate nel Registro di sistema nella chiave PrinterDriverData della stampante specificata.
EnumPrinterData Restituisce ognuno dei nomi dei valori e i valori attualmente assegnati archiviati nel Registro di sistema sotto la chiave PrinterDriverData della stampante specificata.
EnumPrinterDataEx Uguale a EnumPrinterData, con parametri aggiuntivi.
EnumPrinterKey Restituisce un elenco di sottochiavi attualmente contenuti nel Registro di sistema con un nome di chiave specificato.
GetPrinterData Restituisce il valore attualmente assegnato a un nome valore specificato, archiviato nel Registro di sistema nella chiave PrinterDriverData della stampante specificata.
GetPrinterDataEx Uguale a GetPrinterData, con parametri aggiuntivi.
SetPrinterData Archivia un nome di valore e un valore specificato nel Registro di sistema, nella chiave PrinterDriverData della stampante specificata.
SetPrinterDataEx Uguale a SetPrinterData, con parametri aggiuntivi.

Altre funzioni

Funzione Descrizione
XcvData Fornisce un percorso di comunicazione tra una DLL dell'interfaccia utente di monitoraggio della porta e una DLL del server di monitoraggio delle porte.